v5.1.0
Features
- tim:
TimerHandle
now has callbacks each time the Period has elapsed. These can be enabled withTimerHandle::Config::enable_irq
at Init time. - bootloader: Working with the bootloader has been simplified. See the new guide for updates on usage
- usb:
USBHost
class has added support for user callbacks on device connection, disconnection, and when the MSC class becomes active. - uart: Adds DMA RX and TX modes, similar to how they work on the I2C and SPI.
- uart: Update function names to be more in line with the new DMA / Blocking scheme.
- The old methods are wrappers for the new ones to preserve backwards compatibility, but will be removed in a future version.
- Affected functions:
PollReceive
,PollTx
,StartRx
,RxActive
,FlushRx
,PopRx
,Readable
Bug Fixes
- util: PersistentStorage class had a bug where calling the
RestoreDefaults
function would cause a crash - usb: LL HAL files for USB were updated to prevent timing issues when running with optimization
- spi: Add IRQ handlers for SPI2-5. These should work with DMA now.
- midi: bugs related to running status bytes for note off, and single data-byte messages have been resolved
Other
- build: core/Makefile has had the
-fnortti
flag added to match libDaisy's Makefile - bootloader: local version of daisy bootloader has been updated to improve stability
- spi: Added examples for blocking TX and DMA TX, added a writeup explaining how to use the SPI on the Daisy
- uart: Adds examples for common modes of communication, both DMA, blocking, FIFO, and mixed.