This release covers everything from 2025-07-01 and has been tested with avr-gcc
v14.2.0 from upstream and arm-none-eabi-gcc v14.2.1 from xpack.
Breaking changes:
-
Protothreads and Resumables are removed!
They were announced as deprecated in 2024q4 and now all usage of them has
been removed from modm's code base. The modules are still available in the
source code, but nothing in modm uses them anymore. The modules will be
deleted in the future. Please port your code to use fibers instead. Consult
themodm:processing:fiber
module docs for more information. -
RTT IODevice has been re-implemented as a static template class:
Rtt rtt(0); modm::IODeviceObjectWrapper< Rtt, modm::IOBuffer::DiscardIfFull > rtt_device(rtt); // has been replaced with modm::IODeviceWrapper< Rtt<0>, modm::IOBuffer::DiscardIfFull > rtt_device;
-
The class
Qmc5883l
has been properly namespaced intomodm::Qmc5883l
. -
The MCP2515 driver has been re-implemented to be compatible with fibers.
The API has changed slightly. Please consult the module documentation for
details.
Features:
- Support for blocking IODevice in fibers.
- Use of RTT for boards without serial connections.
- Fiberize all UART drivers to yield in blocking calls.
- Add option to automatically watermark fiber stacks.
- Add external triggers and offset for the STM32F3/G4/L4/H7 ADC driver.
Integrated Projects:
- Segger RTT added at v8.54.
Fixes:
- Use HSE as RTC clock source instead of LSI for boards when possible.
New device drivers:
- ADS868x ADC as
modm:driver:ads868x
.
Known bugs:
- OpenOCD cannot enable SWO on STM32H7 targets. See #1079.
arm-none-eabi-gdb
TUI and GDBGUI interfaces are not supported on Windows.
See #591.- Generating modm on Windows creates paths with
\
that are not compatible with
Unix. See #310. lbuild build
andlbuild clean
do not remove all previously generated files
when the configuration changes. See #285.
Many thanks to all our contributors:
- Alex Evers (@Tecnologic) 🎉
- Nick Fiege (@kikass13) 🎉
- Niklas Hauser (@salkinium)
- Vivien Henry (@lukh)
PR #1293 -> 2025q3.
Detailed changelog
2025-09-27: Add external triggers and offsets to STM32 ADC driver
PR #1275 -> 9c6d656.
Tested in hardware by @Tecnologic and @chris-durand.
2025-09-08: Refactor MCP2515 driver
2025-09-07: Add ADS868x ADC driver
2025-09-03: Add automatic fiber stack watermarking
PR #1290 -> 5f8a558.
Tested in hardware by @salkinium.
2025-08-24: Remove all Protothread and Resumable code
PR #1285 -> 211f24e.
Tested in hardware by @salkinium.
2025-08-17: Fiberize all UART drivers
PR #1284 -> 93c4805.
Tested in hardware by @salkinium.
2025-08-15: Use HSE as RTC clock when possible
PR #1282 -> aeee675.
Tested in hardware by @salkinium.
2025-08-11: Integrate Segger RTT code
PR #1281 -> 89f387f.
Tested in hardware by @salkinium.
2025-08-03: Implement blocking IODevice for fibers
It blocks until a newline character has been sent.
PR #1279 -> 7d9070d.
Tested in hardware by @salkinium.