You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support for periodic execution of software timers. All overloads of SoftwareTimer::start() were extended with
optional second argument with period. If the period is 0 (which is the default value), software timer's function is
executed only once. Otherwise it will be executed periodically until the software timer is stopped.
devices::UartBase interface class, which can be used as a private base for devices using UART interface.
devices::UartLowLevel interface class, which is a low-level interface to hardware-dependent UART driver.
chip::ChipUartLowLevel class - interrupt-driven implementation of devices::UartLowLevel interface for STM32F0, STM32F1 and STM32F4.
devices::SpiMasterBase interface class, which can be used as a private base for devices using SPI as bus master.
devices::SpiMasterLowLevel interface class, which is a low-level interface to hardware-dependent SPI bus master
driver.
chip::ChipSpiMasterLowLevel class - interrupt-driven implementation of devices::SpiMasterLowLevel interface for STM32F0, STM32F1 and STM32F4.
"Peripherals configuration" Kconfig menu, where low-level drivers for SPI bus master and U[S]ART can
be selected.
uarts.hpp header for STM32F0, STM32F1 and STM32F4 with declarations of all enabled low-level U[S]ART drivers.
spis.hpp header for STM32F0, STM32F1 and STM32F4 with declarations of all enabled low-level SPI master
drivers.
devices::SerialPort class - universal serial port device with an interface similar to standard files (open(), close(), read(), write()). read() and write() member functions of this class support both blocking (with
or without timeout) and non-blocking behaviour. Convenient wrappers for reading/writing with timeout are also provided: tryReadFor(), tryReadUntil(), tryWriteFor() and tryWriteUntil().
estd::ScopeGuard template class, which can be used to execute bound function on scope exit using RAII pattern.
devices::Rs485 class - RS-485 device with all features of devices::SerialPort and with automatic management
of "driver enable" output pin.
devices::SpiMaster and devices::SpiDevice classes, which enable easy communication with multiple SPI slave devices
connected to the same SPI bus master.
devices::SpiEeprom class which is a driver for common SPI EEPROM chips: Atmel AT25xxx, ON Semiconductor CAT25xxx, ST M95xxx, Microchip 25xxxxx or similar.
New package types for STM32F410CB and STM32F410RB chips.
Support for assert() - override of newlib's __assert_func(), weak assertHook() for application and option to
enable/disable assertions in Kconfig menus.
Extend estd::ContiguousRange with support for std::array, constructor for non-const -> const conversions and
various useful functions: cbegin(), cend(), rbegin(), rend(), crbegin(), crend().
Option in Kconfig menus for manual configuration of ROM's offset and size in generated linker script. This can be
useful when the device has a bootloader at the beginning of flash, when the application is a bootloader and/or when the
application uses a few last ROM pages for its own purposes (e.g. emulated EEPROM, storing configuration, logging, ...).
architecture::isInInterruptContext() which checks whether thread or interrupt context is currently active. An
example use is when the application needs to decide between blocking or non-blocking behaviour, as blocking is not
possible in interrupt context.
protectedChipInputPin::getInvertedMode(), ChipInputPin::setInvertedMode(), ChipOutputPin::getInvertedMode()
and ChipOutputPin::setInvertedMode() functions, which - if needed - can be made public by deriving from these
classes.
Missing tests of timers: basic operations of periodic timers, synchronous and asynchronous stops and restarts, reading
of state in timer's function.
New chips: STM32F071C8, STM32F101C4, 4 STM32F412xE chips, 3 STM32F469Vx chips, 3 STM32F469Zx chips, 2 STM32F479Vx chips and 2 STM32F479Zx chips.
New package types: UFQFPN48 for STM32F101C8, LQFP176 for STM32F469IG.
Changed
Replace generator of distortosConfiguration.h that uses AWK (makeDistortosConfiguration.awk) with the one using
shell, cat and sed (makeDistortosConfiguration.sh). With this change AWK is no longer needed to configure &
build this project.
Merge GPIO drivers for STM32.
Update CMSIS-STM32F0 to version 1.6.0.
Update CMSIS-STM32F1 to version 1.4.0.
Update CMSIS-STM32F4 to version 1.13.0.
Fixed
Fix generated linker scripts for older versions of ld (like 2.24.0.20141128), where hidden symbols cannot be used in
expressions.
Fix failure of test application for new versions of "official" ARM toolchain (5.x).
Fixes necessary for compilation and proper behaviour in GCC 6.2.0 - mainly related to reinterpret_cast<>() in
constant expressions.
ST's website no longer lists WLCSP49 as package type for STM32F401CB.