This post is overdue, as it is about the McuOnEclipse components which have been released already a few days ago. The highlights are (beside smaller updates and bug fixes):
- Nordic Semiconductor nRF24L01+ component extended for shared SPI bus usage
- SD_Card component can use AsynchroSerial component for Kinetis
- FatFS has added v0.10c patches
- FSL_USB_Stack: Host support for Kinetis K20D72 and support for FRDM-K22F (K22FN512)
- FreeRTOS has added Timer API support
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:
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:
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:
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:
💡 Future releases will depreciate the usage of the LDD components and only use the non-LDD components.
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.
The USB stack includes a fix to support the K20D72 in host mode:
Additionally, support for the FRDM-K22F (K22FN120) has been added (see “USB with the Freescale FRDM-K22F Board“).
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:
The new components are available for download on SourceForge: https://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/
The release notes are available on SourceForge: https://sourceforge.net/projects/mcuoneclipse/files/PEx Components/readme.txt
Sources are available on GitHub: https://github.com/ErichStyger/McuOnEclipse_PEx
Happy Upgrading 🙂