Skip to content

v5.1.0 - Callbacks and Bug Fixes

Compare
Choose a tag to compare
@stephenhensley stephenhensley released this 25 May 15:37
· 141 commits to master since this release
6ae066d

v5.1.0

Features

  • tim: TimerHandle now has callbacks each time the Period has elapsed. These can be enabled with TimerHandle::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.