diff --git a/CHANGELOG.md b/CHANGELOG.md index ef7038210e..bc703a9331 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,163 @@ pay attention to. Medium impact changes are also worth looking at. +## 2023-07-01: 2023q2 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 of`std::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 🎉: + +- Christopher Durand ([@chris-durand][]) +- Daniel Waldhäusl 🎉 +- Henrik Hose ([@hshose][]) +- Niklas Hauser ([@salkinium][]) +- Raphael Lehmann ([@rleh][]) +- Rasmus Kleist ([@rasmuskleist][]) +- Sascha Schade ([@strongly-typed][]) +- Sergey Pluzhnikov ([@ser-plu][]) +- Thomas Rush ([@tarush53][]) +- Victor Costa ([@victorandrehc][]) +- Vivien Henry ([@lukh][]) + +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][]. + +
+ + ## 2023-04-06: 2023q1 release This release covers everything from 2023-01-01 and has been tested with avr-gcc @@ -2502,6 +2659,7 @@ Please note that contributions from xpcc were continuously ported to modm. [2022q3]: https://github.com/modm-io/modm/releases/tag/2022q3 [2022q4]: https://github.com/modm-io/modm/releases/tag/2022q4 [2023q1]: https://github.com/modm-io/modm/releases/tag/2023q1 +[2023q2]: https://github.com/modm-io/modm/releases/tag/2023q2 [@19joho66]: https://github.com/19joho66 [@ASMfreaK]: https://github.com/ASMfreaK @@ -2601,6 +2759,7 @@ Please note that contributions from xpcc were continuously ported to modm. [`modm:driver:at24mac402`]: https://modm.io/reference/module/modm-driver-at24mac402 [`modm:driver:bno055`]: https://modm.io/reference/module/modm-driver-bno055 [`modm:driver:cat24aa`]: https://modm.io/reference/module/modm-driver-cat24aa +[`modm:driver:cycle_counter`]: https://modm.io/reference/module/modm-driver-cycle_counter [`modm:driver:encoder.output`]: https://modm.io/reference/module/modm-driver-encoder-output [`modm:driver:encoder_input.bitbang`]: https://modm.io/reference/module/modm-driver-encoder_input-bitbang [`modm:driver:encoder_input`]: https://modm.io/reference/module/modm-driver-encoder_input @@ -2612,7 +2771,9 @@ Please note that contributions from xpcc were continuously ported to modm. [`modm:driver:lp503x`]: https://modm.io/reference/module/modm-driver-lp503x [`modm:driver:lsm6ds33`]: https://modm.io/reference/module/modm-driver-lsm6ds33 [`modm:driver:lsm6dso`]: https://modm.io/reference/module/modm-driver-lsm6dso +[`modm:driver:max31865`]: https://modm.io/reference/module/modm-driver-max31865 [`modm:driver:max7219`]: https://modm.io/reference/module/modm-driver-max7219 +[`modm:driver:mcp3008`]: https://modm.io/reference/module/modm-driver-mcp3008 [`modm:driver:mcp7941x`]: https://modm.io/reference/module/modm-driver-mcp7941x [`modm:driver:mcp990x`]: https://modm.io/reference/module/modm-driver-mcp990x [`modm:driver:mmc5603`]: https://modm.io/reference/module/modm-driver-mmc5603 @@ -2631,9 +2792,21 @@ Please note that contributions from xpcc were continuously ported to modm. [`modm:driver:tmp12x`]: https://modm.io/reference/module/modm-driver-tmp12x [`modm:driver:touch2046`]: https://modm.io/reference/module/modm-driver-touch2046 [`modm:driver:ws2812`]: https://modm.io/reference/module/modm-driver-ws2812 +[`modm:feather-m4`]: https://modm.io/reference/module/modm-feather-m4 [`modm:nucleo-u575zi-q`]: https://modm.io/reference/module/modm-nucleo-u575zi-q +[#1001]: https://github.com/modm-io/modm/pull/1001 +[#1009]: https://github.com/modm-io/modm/pull/1009 +[#1010]: https://github.com/modm-io/modm/pull/1010 +[#1017]: https://github.com/modm-io/modm/pull/1017 +[#1018]: https://github.com/modm-io/modm/pull/1018 +[#1028]: https://github.com/modm-io/modm/pull/1028 [#102]: https://github.com/modm-io/modm/pull/102 +[#1032]: https://github.com/modm-io/modm/pull/1032 +[#1036]: https://github.com/modm-io/modm/pull/1036 +[#1037]: https://github.com/modm-io/modm/pull/1037 +[#1038]: https://github.com/modm-io/modm/pull/1038 +[#1044]: https://github.com/modm-io/modm/pull/1044 [#118]: https://github.com/modm-io/modm/pull/118 [#122]: https://github.com/modm-io/modm/pull/122 [#132]: https://github.com/modm-io/modm/pull/132 @@ -2822,6 +2995,7 @@ Please note that contributions from xpcc were continuously ported to modm. [#951]: https://github.com/modm-io/modm/pull/951 [#952]: https://github.com/modm-io/modm/pull/952 [#954]: https://github.com/modm-io/modm/pull/954 +[#955]: https://github.com/modm-io/modm/pull/955 [#956]: https://github.com/modm-io/modm/pull/956 [#957]: https://github.com/modm-io/modm/pull/957 [#960]: https://github.com/modm-io/modm/pull/960 @@ -2836,7 +3010,11 @@ Please note that contributions from xpcc were continuously ported to modm. [#981]: https://github.com/modm-io/modm/pull/981 [#982]: https://github.com/modm-io/modm/pull/982 [#986]: https://github.com/modm-io/modm/pull/986 +[#987]: https://github.com/modm-io/modm/pull/987 +[#993]: https://github.com/modm-io/modm/pull/993 +[#994]: https://github.com/modm-io/modm/pull/994 [#995]: https://github.com/modm-io/modm/pull/995 +[#998]: https://github.com/modm-io/modm/pull/998 [00471ca]: https://github.com/modm-io/modm/commit/00471ca [0217a19]: https://github.com/modm-io/modm/commit/0217a19 @@ -2872,6 +3050,7 @@ Please note that contributions from xpcc were continuously ported to modm. [21ba120]: https://github.com/modm-io/modm/commit/21ba120 [2273bae]: https://github.com/modm-io/modm/commit/2273bae [22867e0]: https://github.com/modm-io/modm/commit/22867e0 +[2384756]: https://github.com/modm-io/modm/commit/2384756 [23ec952]: https://github.com/modm-io/modm/commit/23ec952 [241b0d1]: https://github.com/modm-io/modm/commit/241b0d1 [276f5b3]: https://github.com/modm-io/modm/commit/276f5b3 @@ -2883,6 +3062,7 @@ Please note that contributions from xpcc were continuously ported to modm. [3072005]: https://github.com/modm-io/modm/commit/3072005 [30e24e6]: https://github.com/modm-io/modm/commit/30e24e6 [387a625]: https://github.com/modm-io/modm/commit/387a625 +[389a9c3]: https://github.com/modm-io/modm/commit/389a9c3 [3936a28]: https://github.com/modm-io/modm/commit/3936a28 [399a533]: https://github.com/modm-io/modm/commit/399a533 [3ba71c9]: https://github.com/modm-io/modm/commit/3ba71c9 @@ -2891,6 +3071,7 @@ Please note that contributions from xpcc were continuously ported to modm. [3f3ff3d]: https://github.com/modm-io/modm/commit/3f3ff3d [416ced6]: https://github.com/modm-io/modm/commit/416ced6 [43f32e6]: https://github.com/modm-io/modm/commit/43f32e6 +[45ae68a]: https://github.com/modm-io/modm/commit/45ae68a [47adfd6]: https://github.com/modm-io/modm/commit/47adfd6 [4885c53]: https://github.com/modm-io/modm/commit/4885c53 [48d73dc]: https://github.com/modm-io/modm/commit/48d73dc @@ -2917,6 +3098,7 @@ Please note that contributions from xpcc were continuously ported to modm. [62b63f5]: https://github.com/modm-io/modm/commit/62b63f5 [62ccc26]: https://github.com/modm-io/modm/commit/62ccc26 [64d177a]: https://github.com/modm-io/modm/commit/64d177a +[65bbccf]: https://github.com/modm-io/modm/commit/65bbccf [66c0868]: https://github.com/modm-io/modm/commit/66c0868 [6b4d656]: https://github.com/modm-io/modm/commit/6b4d656 [6b5b4ce]: https://github.com/modm-io/modm/commit/6b5b4ce @@ -2926,6 +3108,7 @@ Please note that contributions from xpcc were continuously ported to modm. [72d5ae9]: https://github.com/modm-io/modm/commit/72d5ae9 [7330500]: https://github.com/modm-io/modm/commit/7330500 [740fd51]: https://github.com/modm-io/modm/commit/740fd51 +[768d749]: https://github.com/modm-io/modm/commit/768d749 [77ae899]: https://github.com/modm-io/modm/commit/77ae899 [78d18f6]: https://github.com/modm-io/modm/commit/78d18f6 [7b5827f]: https://github.com/modm-io/modm/commit/7b5827f @@ -2936,6 +3119,7 @@ Please note that contributions from xpcc were continuously ported to modm. [80a9c66]: https://github.com/modm-io/modm/commit/80a9c66 [80ed738]: https://github.com/modm-io/modm/commit/80ed738 [8179e6b]: https://github.com/modm-io/modm/commit/8179e6b +[81b86be]: https://github.com/modm-io/modm/commit/81b86be [821677b]: https://github.com/modm-io/modm/commit/821677b [8230fef]: https://github.com/modm-io/modm/commit/8230fef [82bc4a9]: https://github.com/modm-io/modm/commit/82bc4a9 @@ -2955,11 +3139,14 @@ Please note that contributions from xpcc were continuously ported to modm. [923f9c1]: https://github.com/modm-io/modm/commit/923f9c1 [9381fd0]: https://github.com/modm-io/modm/commit/9381fd0 [93bba13]: https://github.com/modm-io/modm/commit/93bba13 +[94580b4]: https://github.com/modm-io/modm/commit/94580b4 [95713ee]: https://github.com/modm-io/modm/commit/95713ee +[972b74b]: https://github.com/modm-io/modm/commit/972b74b [98a2483]: https://github.com/modm-io/modm/commit/98a2483 [98b1337]: https://github.com/modm-io/modm/commit/98b1337 [9b6aeee]: https://github.com/modm-io/modm/commit/9b6aeee [9cbea26]: https://github.com/modm-io/modm/commit/9cbea26 +[9d33843]: https://github.com/modm-io/modm/commit/9d33843 [9d8bbfa]: https://github.com/modm-io/modm/commit/9d8bbfa [9e285db]: https://github.com/modm-io/modm/commit/9e285db [9e50a16]: https://github.com/modm-io/modm/commit/9e50a16 @@ -2977,6 +3164,7 @@ Please note that contributions from xpcc were continuously ported to modm. [afbd533]: https://github.com/modm-io/modm/commit/afbd533 [afdb5ba]: https://github.com/modm-io/modm/commit/afdb5ba [b010775]: https://github.com/modm-io/modm/commit/b010775 +[b05df3e]: https://github.com/modm-io/modm/commit/b05df3e [b153186]: https://github.com/modm-io/modm/commit/b153186 [b18385c]: https://github.com/modm-io/modm/commit/b18385c [b1e5588]: https://github.com/modm-io/modm/commit/b1e5588 @@ -2986,6 +3174,7 @@ Please note that contributions from xpcc were continuously ported to modm. [b78acd5]: https://github.com/modm-io/modm/commit/b78acd5 [b8648be]: https://github.com/modm-io/modm/commit/b8648be [ba61a34]: https://github.com/modm-io/modm/commit/ba61a34 +[bfafcd3]: https://github.com/modm-io/modm/commit/bfafcd3 [c0a8c51]: https://github.com/modm-io/modm/commit/c0a8c51 [c148bf8]: https://github.com/modm-io/modm/commit/c148bf8 [c347f00]: https://github.com/modm-io/modm/commit/c347f00 @@ -2993,6 +3182,7 @@ Please note that contributions from xpcc were continuously ported to modm. [c63a536]: https://github.com/modm-io/modm/commit/c63a536 [c7b35ca]: https://github.com/modm-io/modm/commit/c7b35ca [c7bd876]: https://github.com/modm-io/modm/commit/c7bd876 +[c7c4c57]: https://github.com/modm-io/modm/commit/c7c4c57 [c868f59]: https://github.com/modm-io/modm/commit/c868f59 [c93dd2c]: https://github.com/modm-io/modm/commit/c93dd2c [c949daf]: https://github.com/modm-io/modm/commit/c949daf @@ -3006,6 +3196,7 @@ Please note that contributions from xpcc were continuously ported to modm. [d2d38a0]: https://github.com/modm-io/modm/commit/d2d38a0 [d3496a3]: https://github.com/modm-io/modm/commit/d3496a3 [d46c09d]: https://github.com/modm-io/modm/commit/d46c09d +[d772940]: https://github.com/modm-io/modm/commit/d772940 [d8be0a2]: https://github.com/modm-io/modm/commit/d8be0a2 [d982a85]: https://github.com/modm-io/modm/commit/d982a85 [dab6c79]: https://github.com/modm-io/modm/commit/dab6c79 @@ -3020,6 +3211,7 @@ Please note that contributions from xpcc were continuously ported to modm. [e4b1a4a]: https://github.com/modm-io/modm/commit/e4b1a4a [eb2748e]: https://github.com/modm-io/modm/commit/eb2748e [eba68a4]: https://github.com/modm-io/modm/commit/eba68a4 +[eda224e]: https://github.com/modm-io/modm/commit/eda224e [f4c7492]: https://github.com/modm-io/modm/commit/f4c7492 [f4d5d6c]: https://github.com/modm-io/modm/commit/f4d5d6c [f5cdf6a]: https://github.com/modm-io/modm/commit/f5cdf6a diff --git a/docs/release/2023q2.md b/docs/release/2023q2.md new file mode 100644 index 0000000000..e595ed0921 --- /dev/null +++ b/docs/release/2023q2.md @@ -0,0 +1,155 @@ +## 2023-07-01: 2023q2 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 of`std::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 🎉: + +- Christopher Durand (@chris-durand) +- Daniel Waldhäusl 🎉 +- Henrik Hose (@hshose) +- Niklas Hauser (@salkinium) +- Raphael Lehmann (@rleh) +- Rasmus Kleist (@rasmuskleist) +- Sascha Schade (@strongly-typed) +- Sergey Pluzhnikov (@ser-plu) +- Thomas Rush (@tarush53) +- Victor Costa (@victorandrehc) +- Vivien Henry (@lukh) + +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. + +