10 months and a little bit over 900 commits have finally resulted in release of distortos 0.7.0, as well as snapshots of distortosExamples and distortosTemplateSubfolder – both with a 20190505 timestamp.
As hinted during release of previous version, this one brings a massive rework of configuration and build infrastructure. distortos no longer supports configuring with Kconfig and building with make – starting with this version CMake handles both of these tasks. I will soon update the articles on the website, for now see README.md
file in each package for more details.
distortos now supports two new boards with STM32F0 chip:
Version 0.7.0 has basic STM32 DMA drivers, which also made possible a DMA-based SPI master driver for these microcontrollers. Interrupt-based SPI master driver for STM32 received numerous fixes and improvements, so now it works reliably for any load and any frequency. The last low-level driver which appears in this release is the STM32 SDMMCv1, currently only for STM32F7 family of microcontrollers and only in DMA-based variant. High-level SPI master driver underwent a massive API rework. This was required for another new addition in this release – a driver for SD cards, which comes in two variants: one for native SDMMC card interface and another one for SPI-mode.
This release also brings an initial version of a framework for file systems, currently implemented only for littlefs-v1 file system.
distortos::Mutex
class got a few new wrapper functions, which make it more similar to std::mutex
. This allows it to be used with all mutex helpers from <mutex>
header: std::lock_guard
, std::unique_lock
, std::scoped_lock
, std::try_lock()
and std::lock()
.
You can find source packages in 7z and tar.xz formats in Downloads section or download them directly using the links below:
- distortos-0.7.0.7z, distortos-0.7.0.tar.xz
- distortosExamples-20190505.7z, distortosExamples-20190505.tar.xz
- distortosTemplateSubfolder-20190505.7z, distortosTemplateSubfolder-20190505.tar.xz
For a more in-depth list of changes, browse the changelogs of respective packages: