Skip to content

2023q2 release

Compare
Choose a tag to compare
@salkinium salkinium released this 01 Jul 22:54
· 253 commits to develop since this release

This release covers everything from 2023-04-05 and has been tested with avr-gcc
v12.2.0 from Upstream and arm-none-eabi-gcc v12.2.1 from xpack.

Breaking changes:

  • GCC12 requirement for C++23.
  • -fsingle-precision-constant default compile flag has been removed.
  • Removed deprecated Timer::setPeriod(uint32_t) in favor ofstd::chrono units.

Features:

  • SAMx7x DAC, ADC, DMA, and CAN drivers.
  • Enabled C++23 and C23.
  • STM32 IWDG driver.
  • Fibers are now backward compatible with protothreads and resumable functions.
  • Support for STM32G0B/C devices with shared interrupts.

Integrated Projects:

  • LVGL upgraded to v8.3.7.
  • Pico-SDK upgraded to v1.5.1.
  • STM32F1 headers upgraded to v4.3.4.
  • STM32F2 headers upgraded to v2.2.6.
  • STM32L1 headers upgraded to v2.3.3.
  • CMSIS-DSP upgraded to v1.14.4.
  • SAMx7x upgraded to v3.0.
  • TinyUSB upgraded to v0.15.0.

Fixes:

  • Moving average type selection.
  • SysTick clock access from both cores on RP2040.
  • FDCAN driver on STM32 tx message queue.
  • STM32 I2C NACK flag is acknowledged for instances >1.
  • Fix arithmetic overflow in Timer::setPeriod on STM32.
  • Validate calculated CRC on MS5611 driver.

New development boards:

  • Adafruit Feather-M4 as modm:feather-m4.

New device drivers:

  • MAX31865 temperature sensor as modm:driver:max31865.
  • Internal cycle counter as modm:driver:cycle_counter.
  • MCP3008 ADC driver as modm:driver:mcp3008.

Known bugs:

  • STM32F7: D-Cache not enabled by default. See #485.
  • lbuild build and lbuild clean do not remove all previously generated files
    when the configuration changes. See #285.
  • Generating modm on Windows creates paths with \ that are not compatible with
    Unix. See #310.
  • arm-none-eabi-gdb TUI and GDBGUI interfaces are not supported on Windows.
    See #591.

Many thanks to all our contributors.
A special shoutout to first timers 🎉:

PR #1044 -> 2023q2.

Detailed changelog

2023-06-20: Extend support for ELF2UF2 tool to STM32 and SAM

PR #1038 -> b05df3e.
Tested in hardware by @tarush53.

2023-06-09: Remove -fsingle-precision-constant compile flag

PR #1037 -> 2384756 with medium-impact in floating point variables.
Tested in hardware by @salkinium.

2023-06-08: Add Adafruit Feather-M4 board support

PR #1032 -> 81b86be.
Tested in hardware by @tarush53.

2023-06-07: Add support for STM32G0B/C devices

PR #1036 -> 768d749.
Tested in hardware by @chris-durand.

2023-06-01: Add MCP3008 ADC driver

PR #1028 -> eda224e.
Tested in hardware by @chris-durand.

2023-05-19: Add complementary channels to TIM driver on STM32

PR #1018 -> 45ae68a.
Tested in hardware by @ser-plu.

2023-05-15: Implement Protothreads/Resumables using Fibers

PR #1001 -> 45ae68a.
Tested in hardware by @salkinium.

2023-05-13: Fix FDCAN transmission queue on STM32

PR #1017 -> 9d33843.
Tested in hardware by @ser-plu, @chris-durand, and @rleh.

2023-05-09: Add MCAN driver for SAMx7x

PR #955 -> bfafcd3.
Tested in hardware by @rleh.

2023-05-05: Add IWDG driver for STM32

PR #1009 -> d772940.
Tested in hardware by Daniel Waldhäusl.

2023-05-03: Fix RP2040 multicore access to modm::Clock

PR #1010 -> 389a9c3.
Tested in hardware by @salkinium.

2023-05-02: Add MAX31865 temperature sensor

PR #993 -> 65bbccf.
Tested in hardware by @hshose.

2023-04-19: Add ADC driver for SAMx7x

PR #998 -> c7c4c57.
Tested in hardware by @chris-durand.

2023-04-12: Add DAC and DMA driver for SAMx7x

PR #987 -> 94580b4.
Tested in hardware by @chris-durand.

2023-04-08: Fix STM32 SPI configuration while running

PR #994 -> 972b74b.
Tested in hardware by @chris-durand.