@@ -52,6 +52,187 @@ pay attention to. Medium impact changes are also worth looking at.
5252
5353<!-- releases-->
5454
55+ ## 2024-04-01: 2024q1 release
56+
57+ This release covers everything from 2024-01-01 and has been tested with avr-gcc
58+ v12.2.0 from Upstream and arm-none-eabi-gcc v12.2.1 from xpack.
59+
60+ Breaking changes:
61+
62+ - TinyUSB v0.16 implements a DFU class in addition to a DFU * runtime* class.
63+ Therefore the ` modm:tinyusb:config:device.dfu ` option was renamed to
64+ ` device.dfu_rt ` to align with the TinyUSB naming.
65+ - TinyUSB v0.16 improves support for using two USB ports at the same time. A
66+ differnt port can now be chosen for device and host classes. In addition, the
67+ HS peripheral may be operated in FS mode, therefore the ` modm:tinyusb:speed `
68+ option was renamed to ` modm:tinyusb:max-speed ` since it now has a different
69+ meaning.
70+ - Remove the separate ` hosted-rpi ` Raspberry Pi target in favor of plain
71+ ` hosted-linux ` . Its GPIO implementation based on wiringPi is removed.
72+
73+ Features:
74+
75+ - Add USB High-Speed support to all development boards with ULPI interface.
76+ - Catch accidental use of Newlib's printf implementation.
77+ - Fibers are now implemented for ARM64, albeit only on Linux and macOS.
78+ - Add BDMA driver for STM32H7.
79+ - DMA support for ADC driver on STM32F3 and STM32G4.
80+ - Support for ADC conversion sequences on STM32F3 and STM32G4.
81+ - Add Prescaler+Counter constexpr algorithm and use it in ` Iwdg::initialize() ` .
82+ - Add PWM modes, break input and comparator to Timer driver on STM32.
83+ - CMake generator now works with multiple lbuild repositories.
84+ - Allow setting I2C interrupt priority for STM32 and SAMx7x.
85+
86+ Integrated Projects:
87+
88+ - TinyUSB upgraded to v0.16.0.
89+ - STM32G0 headers upgraded to v1.4.4.
90+ - STM32G4 headers upgraded to v1.2.3.
91+ - STM32H5 headers upgraded to v1.2.0.
92+ - STM32H7 headers upgraded to v1.10.4.
93+ - STM32L5 headers upgraded to v1.0.6.
94+ - STM32U5 headers upgraded to v1.4.0.
95+ - STM32WB headers upgraded to v1.12.1.
96+
97+ Fixes:
98+
99+ - Fix ` Rcc::enable() ` for STM32H7 comparator.
100+ - Fix Timer 23 and 24 counter size on STM32H7.
101+ - Fix ADC asynchronous clock on STM32H7.
102+ - Fix DMA enable on STM32G0.
103+ - Fix reconfiguring DMAMUX requests.
104+ - Fix ADC sampling time configuration on STM32F3.
105+ - Separate ULPI clock from USB clock on STM32 to allow using OTGHS in FS mode.
106+ - Stack alignment underneath promise in fiber tasks.
107+ - Move ` Iwdg ` driver to ` modm::platform::Iwdg ` namespace.
108+ - Fix flash page size for large F103, F105 and F107 devices.
109+
110+ New development boards:
111+
112+ - DISCO-F401VC as [ ` modm:disco-f401vc ` ] [ ] .
113+ - NUCLEO-G070RB as [ ` modm:nucleo-g070rb ` ] [ ] .
114+ - DISCO-F411VE as [ ` modm:disco-f411ve ` ] [ ] .
115+
116+ New device drivers:
117+
118+ - AS5047 absolute encoder driver as [ ` modm:driver:as5047 ` ] [ ] .
119+
120+ Known bugs:
121+
122+ - OpenOCD cannot enable SWO on STM32H7 targets. See [ #1079 ] [ ] .
123+ - Compiling Protothreads and Resumable Functions is broken on GCC13. See [ #1012 ] [ ] .
124+ - ` arm-none-eabi-gdb ` TUI and GDBGUI interfaces are not supported on Windows.
125+ See [ #591 ] [ ] .
126+ - STM32F7: D-Cache not enabled by default. See [ #485 ] [ ] .
127+ - Generating modm on Windows creates paths with ` \ ` that are not compatible with
128+ Unix. See [ #310 ] [ ] .
129+ - ` lbuild build ` and ` lbuild clean ` do not remove all previously generated files
130+ when the configuration changes. See [ #285 ] [ ] .
131+
132+ Many thanks to all our contributors.
133+ A special shoutout to first timers 🎉:
134+
135+ - Carl Treudler ([ @cajt ] [ ] )
136+ - Christopher Durand ([ @chris-durand ] [ ] )
137+ - Daniel Waldhäusl
138+ - Dima Barsky ([ @kapacuk ] [ ] ) 🎉
139+ - Henrik Hose ([ @hshose ] [ ] )
140+ - Michael Jossen ([ @Javask ] [ ] ) 🎉
141+ - Niklas Hauser ([ @salkinium ] [ ] )
142+ - Raphael Lehmann ([ @rleh ] [ ] )
143+ - Thomas Sommer ([ @TomSaw ] [ ] )
144+ - Victor Costa ([ @victorandrehc ] [ ] )
145+
146+ PR [ #1153 ] [ ] -> [ 2024q1] [ ] .
147+
148+ <details >
149+ <summary >Detailed changelog</summary >
150+
151+ #### 2024-03-15: Allow I2C interrupt priority to be set
152+
153+ PR [ #1143 ] [ ] -> [ 734de07] [ ] and PR [ #1148 ] [ ] -> [ e1d8a17] [ ] .
154+
155+ #### 2024-03-09: Adapt CMake generator to multiple lbuild repositories
156+
157+ PR [ #1140 ] [ ] -> [ 1a89fbe] [ ] .
158+ Tested in hardware by [ @Javask ] [ ] .
159+
160+ #### 2024-03-08: Extend Timer features for STM32G0
161+
162+ PR [ #1134 ] [ ] -> [ a371df6] [ ] .
163+ Tested in hardware by [ @victorandrehc ] [ ] .
164+
165+ #### 2024-03-08: Add AS5047 absolute encoder driver
166+
167+ PR [ #1138 ] [ ] -> [ dbfd93b] [ ] .
168+ Tested in hardware by [ @hshose ] [ ] .
169+
170+ #### 2024-03-06: Add DISCO-F411VE board support
171+
172+ PR [ #1135 ] [ ] -> [ 009bb06] [ ] .
173+ Tested in hardware by [ @tomsaw ] [ ] .
174+
175+ #### 2024-02-06: Use Prescaler+Counter algorithm for ` Iwdg::initialize() `
176+
177+ PR [ #1127 ] [ ] -> [ 23036e3] [ ] .
178+ Tested in hardware by [ @salkinium ] [ ] .
179+
180+ #### 2024-02-05: Add DMA and conversion sequence support to STM32F3/G4 ADC
181+
182+ PR [ #1126 ] [ ] -> [ fe4cbc5] [ ] .
183+ Tested in hardware by [ @chris-durand ] [ ] .
184+
185+ #### 2024-02-02: Add NUCLEO-G070RB board support
186+
187+ PR [ #1125 ] [ ] -> [ 6de70ba] [ ] .
188+ Tested in hardware by [ @chris-durand ] [ ] .
189+
190+ #### 2024-02-01: Add BDMA driver for STM32H7
191+
192+ PR [ #1115 ] [ ] -> [ 2e40ab4] [ ] .
193+ Tested in hardware by [ @chris-durand ] [ ] .
194+
195+ #### 2024-01-21: Implement Fibers for ARM64
196+
197+ New targets with ` -arm64 ` suffix, ` -x86_64 ` is implicit for backwards
198+ compatibility:
199+
200+ - ` hosted-linux-arm64 `
201+ - ` hosted-darwin-arm64 `
202+
203+ Removed ` hosted-rpi ` target, as wiringPi is deprecated and thus the target lost
204+ its only peripheral.
205+
206+ PR [ #1113 ] [ ] -> [ 623a13b] [ ] .
207+ Tested in hardware by [ @salkinium ] [ ] (Apple Silicon M2) and [ @rleh ] [ ] (Raspberry Pi).
208+
209+ #### 2024-01-14: Catch Newlib's printf usage
210+
211+ This previously lead to cryptic linking failures due to a missing heap
212+ implementation. Now any use of ` printf ` without including the ` modm:printf `
213+ module will lead to a linking failure with a proper error description.
214+
215+ PR [ #1120 ] [ ] -> [ 7318c28] [ ] .
216+ Tested by [ @salkinium ] [ ] .
217+
218+ #### 2024-01-05: Upgrade TinyUSB to v0.16.0
219+
220+ PR [ #1116 ] [ ] -> [ 1f210c1] [ ] .
221+ Tested in hardware by [ @salkinium ] [ ] with ** high** impact on TinyUSB configuration.
222+
223+ #### 2024-01-05: Add DISCO-F401VC board support
224+
225+ PR [ #1117 ] [ ] -> [ 2381c61] [ ] .
226+ Tested in hardware by [ @cajt ] [ ] .
227+
228+ #### 2024-01-04: Miscellaneous fixes for STM32H7 and STM32G0
229+
230+ PR [ #1114 ] [ ] -> [ 8bcbe25] [ ] .
231+ Tested in hardware by [ @chris-durand ] [ ] .
232+
233+ </details >
234+
235+
55236## 2024-01-01: 2023q4 release
56237
57238This release covers everything from 2023-10-01 and has been tested with avr-gcc
@@ -2836,12 +3017,14 @@ Please note that contributions from xpcc were continuously ported to modm.
28363017[ 2023q2 ] : https://github.com/modm-io/modm/releases/tag/2023q2
28373018[ 2023q3 ] : https://github.com/modm-io/modm/releases/tag/2023q3
28383019[ 2023q4 ] : https://github.com/modm-io/modm/releases/tag/2023q4
3020+ [ 2024q1 ] : https://github.com/modm-io/modm/releases/tag/2024q1
28393021
28403022[ @19joho66 ] : https://github.com/19joho66
28413023[ @ASMfreaK ] : https://github.com/ASMfreaK
28423024[ @Artiom9 ] : https://github.com/Artiom9
28433025[ @FelixPetriconi ] : https://github.com/FelixPetriconi
28443026[ @JKazem ] : https://github.com/JKazem
3027+ [ @Javask ] : https://github.com/Javask
28453028[ @OperativeF ] : https://github.com/OperativeF
28463029[ @PDR5 ] : https://github.com/PDR5
28473030[ @SgtPepperFTW ] : https://github.com/SgtPepperFTW
@@ -2867,6 +3050,7 @@ Please note that contributions from xpcc were continuously ported to modm.
28673050[ @hshose ] : https://github.com/hshose
28683051[ @jasa ] : https://github.com/jasa
28693052[ @jensboe ] : https://github.com/jensboe
3053+ [ @kapacuk ] : https://github.com/kapacuk
28703054[ @klsc-zeat ] : https://github.com/klsc-zeat
28713055[ @lgili ] : https://github.com/lgili
28723056[ @linasnikis ] : https://github.com/linasnikis
@@ -2889,6 +3073,7 @@ Please note that contributions from xpcc were continuously ported to modm.
28893073[ @ser-plu ] : https://github.com/ser-plu
28903074[ @strongly-typed ] : https://github.com/strongly-typed
28913075[ @tarush53 ] : https://github.com/tarush53
3076+ [ @tomsaw ] : https://github.com/tomsaw
28923077[ @twasilczyk ] : https://github.com/twasilczyk
28933078[ @twast92 ] : https://github.com/twast92
28943079[ @victorandrehc ] : https://github.com/victorandrehc
@@ -2930,11 +3115,14 @@ Please note that contributions from xpcc were continuously ported to modm.
29303115[ `modm:board:srxe` ] : https://modm.io/reference/module/modm-board-srxe
29313116[ `modm:board:stm32_f32ve` ] : https://modm.io/reference/module/modm-board-stm32_f32ve
29323117[ `modm:board:thingplus-rp2040` ] : https://modm.io/reference/module/modm-board-thingplus-rp2040
3118+ [ `modm:disco-f401vc` ] : https://modm.io/reference/module/modm-disco-f401vc
3119+ [ `modm:disco-f411ve` ] : https://modm.io/reference/module/modm-disco-f411ve
29333120[ `modm:disco-f469ni:b-03` ] : https://modm.io/reference/module/modm-disco-f469ni-b-03
29343121[ `modm:driver:adis16470` ] : https://modm.io/reference/module/modm-driver-adis16470
29353122[ `modm:driver:ads7828` ] : https://modm.io/reference/module/modm-driver-ads7828
29363123[ `modm:driver:ads816x` ] : https://modm.io/reference/module/modm-driver-ads816x
29373124[ `modm:driver:apa102` ] : https://modm.io/reference/module/modm-driver-apa102
3125+ [ `modm:driver:as5047` ] : https://modm.io/reference/module/modm-driver-as5047
29383126[ `modm:driver:at24mac402` ] : https://modm.io/reference/module/modm-driver-at24mac402
29393127[ `modm:driver:block.device:spi.stack.flash` ] : https://modm.io/reference/module/modm-driver-block-device-spi-stack-flash
29403128[ `modm:driver:bmi088` ] : https://modm.io/reference/module/modm-driver-bmi088
@@ -2977,11 +3165,13 @@ Please note that contributions from xpcc were continuously ported to modm.
29773165[ `modm:driver:touch2046` ] : https://modm.io/reference/module/modm-driver-touch2046
29783166[ `modm:driver:ws2812` ] : https://modm.io/reference/module/modm-driver-ws2812
29793167[ `modm:feather-m4` ] : https://modm.io/reference/module/modm-feather-m4
3168+ [ `modm:nucleo-g070rb` ] : https://modm.io/reference/module/modm-nucleo-g070rb
29803169[ `modm:nucleo-u575zi-q` ] : https://modm.io/reference/module/modm-nucleo-u575zi-q
29813170
29823171[ #1001 ] : https://github.com/modm-io/modm/pull/1001
29833172[ #1009 ] : https://github.com/modm-io/modm/pull/1009
29843173[ #1010 ] : https://github.com/modm-io/modm/pull/1010
3174+ [ #1012 ] : https://github.com/modm-io/modm/pull/1012
29853175[ #1017 ] : https://github.com/modm-io/modm/pull/1017
29863176[ #1018 ] : https://github.com/modm-io/modm/pull/1018
29873177[ #1028 ] : https://github.com/modm-io/modm/pull/1028
@@ -3005,6 +3195,22 @@ Please note that contributions from xpcc were continuously ported to modm.
30053195[ #1088 ] : https://github.com/modm-io/modm/pull/1088
30063196[ #1111 ] : https://github.com/modm-io/modm/pull/1111
30073197[ #1112 ] : https://github.com/modm-io/modm/pull/1112
3198+ [ #1113 ] : https://github.com/modm-io/modm/pull/1113
3199+ [ #1114 ] : https://github.com/modm-io/modm/pull/1114
3200+ [ #1115 ] : https://github.com/modm-io/modm/pull/1115
3201+ [ #1116 ] : https://github.com/modm-io/modm/pull/1116
3202+ [ #1117 ] : https://github.com/modm-io/modm/pull/1117
3203+ [ #1120 ] : https://github.com/modm-io/modm/pull/1120
3204+ [ #1125 ] : https://github.com/modm-io/modm/pull/1125
3205+ [ #1126 ] : https://github.com/modm-io/modm/pull/1126
3206+ [ #1127 ] : https://github.com/modm-io/modm/pull/1127
3207+ [ #1134 ] : https://github.com/modm-io/modm/pull/1134
3208+ [ #1135 ] : https://github.com/modm-io/modm/pull/1135
3209+ [ #1138 ] : https://github.com/modm-io/modm/pull/1138
3210+ [ #1140 ] : https://github.com/modm-io/modm/pull/1140
3211+ [ #1143 ] : https://github.com/modm-io/modm/pull/1143
3212+ [ #1148 ] : https://github.com/modm-io/modm/pull/1148
3213+ [ #1153 ] : https://github.com/modm-io/modm/pull/1153
30083214[ #118 ] : https://github.com/modm-io/modm/pull/118
30093215[ #122 ] : https://github.com/modm-io/modm/pull/122
30103216[ #132 ] : https://github.com/modm-io/modm/pull/132
@@ -3215,6 +3421,7 @@ Please note that contributions from xpcc were continuously ported to modm.
32153421[ #998 ] : https://github.com/modm-io/modm/pull/998
32163422
32173423[ 00471ca ] : https://github.com/modm-io/modm/commit/00471ca
3424+ [ 009bb06 ] : https://github.com/modm-io/modm/commit/009bb06
32183425[ 0217a19 ] : https://github.com/modm-io/modm/commit/0217a19
32193426[ 022a60a ] : https://github.com/modm-io/modm/commit/022a60a
32203427[ 0259ad2 ] : https://github.com/modm-io/modm/commit/0259ad2
@@ -3242,13 +3449,17 @@ Please note that contributions from xpcc were continuously ported to modm.
32423449[ 190bc78 ] : https://github.com/modm-io/modm/commit/190bc78
32433450[ 195f7e1 ] : https://github.com/modm-io/modm/commit/195f7e1
32443451[ 1a11b08 ] : https://github.com/modm-io/modm/commit/1a11b08
3452+ [ 1a89fbe ] : https://github.com/modm-io/modm/commit/1a89fbe
32453453[ 1c9c0b6 ] : https://github.com/modm-io/modm/commit/1c9c0b6
3454+ [ 1f210c1 ] : https://github.com/modm-io/modm/commit/1f210c1
32463455[ 1f5d06e ] : https://github.com/modm-io/modm/commit/1f5d06e
32473456[ 1fc3805 ] : https://github.com/modm-io/modm/commit/1fc3805
32483457[ 21af57b ] : https://github.com/modm-io/modm/commit/21af57b
32493458[ 21ba120 ] : https://github.com/modm-io/modm/commit/21ba120
32503459[ 2273bae ] : https://github.com/modm-io/modm/commit/2273bae
32513460[ 22867e0 ] : https://github.com/modm-io/modm/commit/22867e0
3461+ [ 23036e3 ] : https://github.com/modm-io/modm/commit/23036e3
3462+ [ 2381c61 ] : https://github.com/modm-io/modm/commit/2381c61
32523463[ 2384756 ] : https://github.com/modm-io/modm/commit/2384756
32533464[ 23ec952 ] : https://github.com/modm-io/modm/commit/23ec952
32543465[ 241b0d1 ] : https://github.com/modm-io/modm/commit/241b0d1
@@ -3257,6 +3468,7 @@ Please note that contributions from xpcc were continuously ported to modm.
32573468[ 2c22fae ] : https://github.com/modm-io/modm/commit/2c22fae
32583469[ 2d2199b ] : https://github.com/modm-io/modm/commit/2d2199b
32593470[ 2e34b11 ] : https://github.com/modm-io/modm/commit/2e34b11
3471+ [ 2e40ab4 ] : https://github.com/modm-io/modm/commit/2e40ab4
32603472[ 2ef7a29 ] : https://github.com/modm-io/modm/commit/2ef7a29
32613473[ 3072005 ] : https://github.com/modm-io/modm/commit/3072005
32623474[ 30e24e6 ] : https://github.com/modm-io/modm/commit/30e24e6
@@ -3297,6 +3509,7 @@ Please note that contributions from xpcc were continuously ported to modm.
32973509[ 5dcdf1d ] : https://github.com/modm-io/modm/commit/5dcdf1d
32983510[ 5dd598c ] : https://github.com/modm-io/modm/commit/5dd598c
32993511[ 6057873 ] : https://github.com/modm-io/modm/commit/6057873
3512+ [ 623a13b ] : https://github.com/modm-io/modm/commit/623a13b
33003513[ 624ce10 ] : https://github.com/modm-io/modm/commit/624ce10
33013514[ 62b63f5 ] : https://github.com/modm-io/modm/commit/62b63f5
33023515[ 62ccc26 ] : https://github.com/modm-io/modm/commit/62ccc26
@@ -3305,11 +3518,14 @@ Please note that contributions from xpcc were continuously ported to modm.
33053518[ 66c0868 ] : https://github.com/modm-io/modm/commit/66c0868
33063519[ 6b4d656 ] : https://github.com/modm-io/modm/commit/6b4d656
33073520[ 6b5b4ce ] : https://github.com/modm-io/modm/commit/6b5b4ce
3521+ [ 6de70ba ] : https://github.com/modm-io/modm/commit/6de70ba
33083522[ 6e5ebf4 ] : https://github.com/modm-io/modm/commit/6e5ebf4
33093523[ 6e7c12f ] : https://github.com/modm-io/modm/commit/6e7c12f
33103524[ 6e9f000 ] : https://github.com/modm-io/modm/commit/6e9f000
33113525[ 72d5ae9 ] : https://github.com/modm-io/modm/commit/72d5ae9
3526+ [ 7318c28 ] : https://github.com/modm-io/modm/commit/7318c28
33123527[ 7330500 ] : https://github.com/modm-io/modm/commit/7330500
3528+ [ 734de07 ] : https://github.com/modm-io/modm/commit/734de07
33133529[ 740fd51 ] : https://github.com/modm-io/modm/commit/740fd51
33143530[ 768d749 ] : https://github.com/modm-io/modm/commit/768d749
33153531[ 77ae899 ] : https://github.com/modm-io/modm/commit/77ae899
@@ -3337,6 +3553,7 @@ Please note that contributions from xpcc were continuously ported to modm.
33373553[ 8896b5b ] : https://github.com/modm-io/modm/commit/8896b5b
33383554[ 897579e ] : https://github.com/modm-io/modm/commit/897579e
33393555[ 8a3a20b ] : https://github.com/modm-io/modm/commit/8a3a20b
3556+ [ 8bcbe25 ] : https://github.com/modm-io/modm/commit/8bcbe25
33403557[ 8c322a2 ] : https://github.com/modm-io/modm/commit/8c322a2
33413558[ 8ca2f35 ] : https://github.com/modm-io/modm/commit/8ca2f35
33423559[ 9036666 ] : https://github.com/modm-io/modm/commit/9036666
@@ -3359,6 +3576,7 @@ Please note that contributions from xpcc were continuously ported to modm.
33593576[ a05cc62 ] : https://github.com/modm-io/modm/commit/a05cc62
33603577[ a105072 ] : https://github.com/modm-io/modm/commit/a105072
33613578[ a173bde ] : https://github.com/modm-io/modm/commit/a173bde
3579+ [ a371df6 ] : https://github.com/modm-io/modm/commit/a371df6
33623580[ a38feca ] : https://github.com/modm-io/modm/commit/a38feca
33633581[ a607613 ] : https://github.com/modm-io/modm/commit/a607613
33643582[ a6b4186 ] : https://github.com/modm-io/modm/commit/a6b4186
@@ -3409,10 +3627,12 @@ Please note that contributions from xpcc were continuously ported to modm.
34093627[ d8be0a2 ] : https://github.com/modm-io/modm/commit/d8be0a2
34103628[ d982a85 ] : https://github.com/modm-io/modm/commit/d982a85
34113629[ dab6c79 ] : https://github.com/modm-io/modm/commit/dab6c79
3630+ [ dbfd93b ] : https://github.com/modm-io/modm/commit/dbfd93b
34123631[ dc56af2 ] : https://github.com/modm-io/modm/commit/dc56af2
34133632[ dee5ea2 ] : https://github.com/modm-io/modm/commit/dee5ea2
34143633[ df47974 ] : https://github.com/modm-io/modm/commit/df47974
34153634[ e0d1327 ] : https://github.com/modm-io/modm/commit/e0d1327
3635+ [ e1d8a17 ] : https://github.com/modm-io/modm/commit/e1d8a17
34163636[ e233708 ] : https://github.com/modm-io/modm/commit/e233708
34173637[ e3ba913 ] : https://github.com/modm-io/modm/commit/e3ba913
34183638[ e3c0321 ] : https://github.com/modm-io/modm/commit/e3c0321
@@ -3429,6 +3649,7 @@ Please note that contributions from xpcc were continuously ported to modm.
34293649[ fb2ff58 ] : https://github.com/modm-io/modm/commit/fb2ff58
34303650[ fd7b7a3 ] : https://github.com/modm-io/modm/commit/fd7b7a3
34313651[ fdbb45b ] : https://github.com/modm-io/modm/commit/fdbb45b
3652+ [ fe4cbc5 ] : https://github.com/modm-io/modm/commit/fe4cbc5
34323653[ feb1f3c ] : https://github.com/modm-io/modm/commit/feb1f3c
34333654
34343655<!-- /links-->
0 commit comments