Releases: Tympan/Tympan_Library
V3.1.1
Bug Fixes:
- None
New Features:
- Added ability to transfer files to the Tympan's SD card from the PC over the Serial link. Transferring from the Tympan's SD card was added in V3.1.0.
Updated Examples:
- Replaced SendFilesToPC with SDTransferToPC
Full Changelog: V3.1.0...V3.1.1
V3.1.0
Bug Fixes:
- SDWriter: fixed error bytes/sec value written to the WAV header
New Features:
- Transfer files from SD card to PC over the USB Serial Link
Updated Examples:
- Add SendFilesToPC to show how Tympan can send files from its SD card to the PC. Includes Python script for controlling the Tympan and receiving the file.
Full Changelog: V3.0.5...V3.1.0
V3.0.5
Bug Fixes:
- AudioSwitchMatrix_F32 can now send one input to multiple outputs
New Features:
- Add AudioForwarder_F32 as preparation for allowing composite AudioStream_F32 classes
Updated Examples:
- Add CalibrateInput
- Add CalibrateOutput
- Rename CalibrateAnalogIO and expand
Full Changelog: V3.0.3...V3.0.5
V3.0.3
Summary: Bug fixes and additional examples
Changes:
- No breaking changes. Great.
- Bug fixes for case-sensitive paths on Linux, for detecting falling behind in AudioFeedbackCancel, for running at sample rates below 9888 Hz
- Add new block: AudioSwitchMatrix
- Add examples for EarpieceTesting_wSD_wApp and for CalibrateAnalogIO
Toolchain: This release was developed on Windows with Arduino IDE 2.3.1 and Teensyduino 1.59.
V3.0.0
Summary: First release for Tympan Rev F, including its new Bluetooth module.
Background: The Tympan RevF is basically a Tympan RevE with a new bluetooth module.
- Commonality: Both units are built around a Teensy 4.1. So, both units must be compiled under the Arduino IDE as a Teensy 4.1. Also, the RevF continues to use the same audio codec (TI AIC3206) that we have used since Tympan RevA. The RevF continues to have an external interface for add-on shields that is identical to Tympan Rev D and Rev E.
- Differences: The main difference is the bluetooth module. In addition to the bluetooth module functioning differently (thereby requiring its own software support), the module is also wired back to the processor using different pins. The new nRF52840 module is more flexible with its BLE functions and we have direct control over the firmware that runs on the nRF52840. The only real loss is that the nRF52840 does not support Bluetooth Audio whereas our old module in the RevD and RevE did support Bluetooth Audio.
Major Changes to the Tympan_Library:
- All of the examples in the Tympan_Library have been updated to default to Tympan RevF. This does not break anything. If you are running a RevE or a RevD, simply change that line of code from
TympanRev::F
back to match the version of the Tympan that y have. - BREAKING CHANGES: There are changes in this release that could break your existing code. Specifically, the Bluetooth classes within the Tympan_Library have been reworked in order to enable a common interface to control both the old Bluetooth module as well as the new one. Introducing this generic interface layer causes this release to break any existing user code that employs BLE. To adapt to the new library, it is likely that only two changes will be needed to your code :
- Code Fix, Step 1: Previously, when you created your BLE instance, you used a line like
BLE ble;
. Now, you must doBLE &ble = myTympan.getBLE();
. Or, if you were using the UI version of the BLE class instead of the basic BLE class, it's a similar substitution:BLE_UI &ble = myTympan.getBLE_UI();
- Code Fix, Step 2: in your Arduino
setup()
function, you previously set up the BLE using a line likeble.setupBLE(firmware_rev);
. Replace this line withmyTympan.setupBLE();
- Code Fix, Step 1: Previously, when you created your BLE instance, you used a line like
Be aware that only basic BLE functions are available through this new generic "BLE" interface. For deeper, module-specific controls, you can instead instantiate a BLE_BC127
object or a BLE_nRF52
object and use it instead of a generic BLE object.
Toolchain: This release was developed on Windows with Arduino IDE 2.3.1 and Teensyduino 1.59.
v1.6.1 Prescription Saving, 16-channels, and Biquad Filterabanks
In this release, we added a new example: 05-FullSystems\WDRC_NBand_Stereo_Earpiece_Prescrip_wApp. This example illustrates four new capabilities not included in earlier releases:
- Up to 16 channels of WDRC per ear (and this example processes the left and right ear independently!)
- For the filterbank, you can use either FIR filters or an IIR (Biquad) filters
- You can save the filtering and WDRC prescriptions for each ear to the Tympan's on-board SD card
- This communication to the Bluetooth module is increased to 115200 for this example [* see warning below]
This is the largest, most capable hearing aid example that we have ever made. And, all of the functionality can be adjusted via the TympanRemote App (Android, iOS). I'm super excited about this newest and greatest "Full System". I look forward to getting feedback on what improvements are needed!
[* Warning: The increased communication speed enables the Tympan to transfer the setup data to the mobile app more quickly. The higher speed is helpful because the Tympan and the App need to exchange a lot of settings. The higher speed makes your experience better. But, we have found that iOS (Apple) devices do not respond well to the high-speed communication setting. So, if you use iOS and you want to use this example, you will have to find and comment out the line ble.setUseFasterBaudRateUponBegin(true);
. The data transfer will be slower, but it will then work with iOS.]
v1.6.0 Auto-Reset of Bluetooth Hardware
This release includes many small updates, but the primary change is that, upon starting the BC127 bluetooth module, the BC127 is now forced to do a hard reset back to its factory settings.
This applies to both Tympan RevD and Tympan RevE. It applies to all BC127 firmware revisions that we work with (ie, V5.5 upward).
This code also includes the optional ability to increase the baudrate of the BC127, though the default behavior is to leave the baudrate at the factory setting 9600.
If one were to change the baudrate, the fact that this update to our library causes a hard reset of the BC127 means that it gracefully returns to the expected 9600 baud.