FSL_USB_Stack: Host support for Kinetis K20D72 and support for FRDM-K22F (K22FN512)

FreeRTOS has added Timer API support

SourceForge 2014-12-27 Release

nRF24L01+

To share different devices on the same SPI bus, it is necessary to switch between different SPI modes (speed, SPI settings). For example, in my Darth Vader Robot the SPI bus is shared between nRF24L01+, SD Card and VS1053 codec device. To support this, a new optional ‘Switch Bus’ property has been added to the component:

nRF24L01+ Switch Bus Property

The ‘Baud Rate Mode’ is an index into the SPI (SynchroSerial) settings. If enabled, it will switch the bus and applies new settings before accessing the bus. That ‘Baud Rate Mode‘ points to the mode in the SPI ‘list of values‘ settings:

SPI Bus Mode

Additionally, the component features two optional user events (OnActivate() and OnDeactivate()) which are called before and after accessing the bus. They can be used e.g. to block access to the bus with a semaphore or similar:

OnActivate Events

SD_Card

The SD card component is going through a major refactoring. The LDD components (see “There is a Time and Date for both Worlds“) are a pain to use, so I replace them with the easier to use non-LDD components. As a further step into that direction, it is not possible to use the SynchroSerial component for Kinetis too. Previously, for Kinetis only the ‘LDD HW SPI’ setting was allowed. Now I can disable it and enable the ‘non-LDD HW SPI’ setting:

SynchroSerial SPI Setting for FatFS

-

:idea: Future releases will depreciate the usage of the LDD components and only use the non-LDD components.

FatFS_FileSystem

Elm Chan has published two patches for R0.10c FatFS (http://elm-chan.org/fsw/ff/patches.html) which are now incorporated into the FatFS_FileSystem component. One of it fixes a problem that released clusters (f_unlink()) were not really released. The other patch fixes a problem with the internal date/time settings.

FreeRTOS

The FreeRTOS component has been extended with the Software Timer API: instead using multiple hardware timers, the FreeRTOS software timer API provides software timers which are very useful in low power applications, as it relies on the RTOS, and not on hardware timers: