@@ -52,6 +52,139 @@ pay attention to. Medium impact changes are also worth looking at.
52
52
53
53
<!-- releases-->
54
54
55
+ ## 2025-01-01: 2024q4 release
56
+
57
+ This release covers everything from 2024-10-01 and has been tested with avr-gcc
58
+ v13.2.0 from Upstream and arm-none-eabi-gcc v13.2.1 from xpack.
59
+
60
+ Breaking changes:
61
+
62
+ ** Protothreads and Resumables are deprecated! Please use Fibers instead!**
63
+ Note that you can disable the deprecation by resetting the option
64
+ ` modm:processing:protothread:use_fiber ` to ` false ` , however, you will be limited
65
+ to using GCC12 as GCC13 and newer does not compile our implementation anymore.
66
+
67
+ A shim is provided to allow the use of Protothreads and Resumables with Fibers
68
+ without any significant modification of the existing code. However you must
69
+ replace the main loop calling all protothreads with the fiber scheduler:
70
+
71
+ ``` cpp
72
+ int main ()
73
+ {
74
+ /*
75
+ while(true)
76
+ {
77
+ protothread1.update();
78
+ protothread2.update();
79
+ }
80
+ */
81
+ modm::fiber::Scheduler::run ();
82
+ return 0;
83
+ }
84
+ ```
85
+
86
+ The ` modm:processing:protothread ` and ` modm:processing:resumable ` modules will
87
+ be removed by the end of 2025. Please port your code to use fibers instead.
88
+ Consult the ` modm:processing:fiber ` module docs for more information.
89
+
90
+ Features:
91
+
92
+ - Add efficient stack overflow check in fiber yield function.
93
+ - Enable D-Cache for Cortex-M7 if DMA is not used.
94
+ - Support for GCC13 which was blocked on deprecating Resumables and Protothreads.
95
+ - Add RTC driver for STM32.
96
+ - Enable low speed clock input on all STM32 boards.
97
+
98
+ Integrated Projects:
99
+
100
+ - CMSIS-Core upgraded to v6.1.0.
101
+ - CMSIS-DSP upgraded to v1.16.2.
102
+ - STM32L4 headers upgraded to v1.7.4.
103
+ - STM32F1 headers upgraded to v4.3.5.
104
+ - LVGL upgraded to v9.2.0.
105
+ - TinyUSB upgraded to v0.17.
106
+ - printf upgraded to v6.2.0.
107
+ - ETL upgraded to v20.39.4.
108
+ - nanopb upgraded to v0.4.9.
109
+
110
+ Fixes:
111
+
112
+ - Make AMNB usable in Fibers.
113
+ - Reset AVRs on abandonment.
114
+ - Prevent RX FIFO overflow in STM32 SPI master.
115
+ - Fix ` Timeout::wait() ` implementation not waiting.
116
+ - Fix IWDG prescaler computation on STM32.
117
+ - Support Python 3.13 in modm_tools.
118
+
119
+ New device drivers:
120
+
121
+ - DW3310 Ultra-Wide Band driver as [ ` modm:driver:dw3110 ` ] [ ] .
122
+
123
+ New development boards:
124
+
125
+ - WeAct Studio STM32C011F6 as [ ` modm:board:weact-c011f6 ` ] [ ] .
126
+
127
+ Known bugs:
128
+
129
+ - STM32F723 is missing support to use built-in USB HS PHY. See [ #1171 ] [ ] .
130
+ - OpenOCD cannot enable SWO on STM32H7 targets. See [ #1079 ] [ ] .
131
+ - ` arm-none-eabi-gdb ` TUI and GDBGUI interfaces are not supported on Windows.
132
+ See [ #591 ] [ ] .
133
+ - Generating modm on Windows creates paths with ` \ ` that are not compatible with
134
+ Unix. See [ #310 ] [ ] .
135
+ - ` lbuild build ` and ` lbuild clean ` do not remove all previously generated files
136
+ when the configuration changes. See [ #285 ] [ ] .
137
+
138
+ Many thanks to all our contributors.
139
+ A special shoutout to first timers 🎉:
140
+
141
+ - Andrey Kunitsyn ([ @andryblack ] [ ] )
142
+ - Christopher Durand ([ @chris-durand ] [ ] )
143
+ - Elias H. 🎉
144
+ - Frank Altheim ([ @frnktank ] [ ] ) 🎉
145
+ - Jan-Gerd Meß ([ @jgmess-dlr ] [ ] ) 🎉
146
+ - Kaelin Laundry ([ @WasabiFan ] [ ] )
147
+ - Michael Jossen ([ @Javask ] [ ] )
148
+ - Niklas Hauser ([ @salkinium ] [ ] )
149
+ - Raphael Lehmann ([ @rleh ] [ ] )
150
+ - Rasmus Kleist ([ @rasmuskleist ] [ ] )
151
+ - Vishwanath Martur ([ @vishwamartur ] [ ] ) 🎉
152
+
153
+ PR [ #1248 ] [ ] -> [ 2024q4] [ ] .
154
+
155
+ <details >
156
+ <summary >Detailed changelog</summary >
157
+
158
+ #### 2025-01-01: Add WeAct Studio STM32C011F6 board
159
+
160
+ PR [ #1249 ] [ ] -> [ 7ba2fbb] [ ] .
161
+ Tested in hardware by [ @salkinium ] [ ] .
162
+
163
+ #### 2024-12-30: Add RTC peripheral driver for STM32
164
+
165
+ PR [ #1242 ] [ ] -> [ f402893] [ ] .
166
+ Tested in hardware by [ @salkinium ] [ ] .
167
+
168
+ #### 2024-12-01: Deprecate Protothreads and Resumable Functions
169
+
170
+ PR [ #1232 ] [ ] -> [ e92dc1d] [ ] .
171
+ Tested in hardware by [ @salkinium ] [ ] .
172
+
173
+ #### 2024-11-10: Add stack overflow check to fibers
174
+
175
+ Stack overflows lead to abandonment with the ` fbr.stkof ` assertion.
176
+
177
+ PR [ #1219 ] [ ] -> [ ae74049] [ ] .
178
+ Tested in hardware by [ @salkinium ] [ ] .
179
+
180
+ #### 2024-11-05: Add driver for DW3110
181
+
182
+ PR [ #1210 ] [ ] -> [ e579250] [ ] .
183
+ Tested in hardware by [ @Javask ] [ ] and [ @rleh ] [ ] .
184
+
185
+ </details >
186
+
187
+
55
188
## 2024-10-01: 2024q3 release
56
189
57
190
This release covers everything from 2024-07-01 and has been tested with avr-gcc
@@ -3270,6 +3403,7 @@ Please note that contributions from xpcc were continuously ported to modm.
3270
3403
[2024q1]: https://github.com/modm-io/modm/releases/tag/2024q1
3271
3404
[2024q2]: https://github.com/modm-io/modm/releases/tag/2024q2
3272
3405
[2024q3]: https://github.com/modm-io/modm/releases/tag/2024q3
3406
+ [2024q4]: https://github.com/modm-io/modm/releases/tag/2024q4
3273
3407
3274
3408
[@19joho66]: https://github.com/19joho66
3275
3409
[@ASMfreaK]: https://github.com/ASMfreaK
@@ -3302,11 +3436,13 @@ Please note that contributions from xpcc were continuously ported to modm.
3302
3436
[@dergraaf]: https://github.com/dergraaf
3303
3437
[@dhebbeker]: https://github.com/dhebbeker
3304
3438
[@el-han]: https://github.com/el-han
3439
+ [@frnktank]: https://github.com/frnktank
3305
3440
[@gueldenstone]: https://github.com/gueldenstone
3306
3441
[@henrikssn]: https://github.com/henrikssn
3307
3442
[@hshose]: https://github.com/hshose
3308
3443
[@jasa]: https://github.com/jasa
3309
3444
[@jensboe]: https://github.com/jensboe
3445
+ [@jgmess-dlr]: https://github.com/jgmess-dlr
3310
3446
[@kapacuk]: https://github.com/kapacuk
3311
3447
[@klsc-zeat]: https://github.com/klsc-zeat
3312
3448
[@lgili]: https://github.com/lgili
@@ -3335,6 +3471,7 @@ Please note that contributions from xpcc were continuously ported to modm.
3335
3471
[@twasilczyk]: https://github.com/twasilczyk
3336
3472
[@twast92]: https://github.com/twast92
3337
3473
[@victorandrehc]: https://github.com/victorandrehc
3474
+ [@vishwamartur]: https://github.com/vishwamartur
3338
3475
[@xgzeng]: https://github.com/xgzeng
3339
3476
3340
3477
[`modm:board:arduino-nano`]: https://modm.io/reference/module/modm-board-arduino-nano
@@ -3374,6 +3511,7 @@ Please note that contributions from xpcc were continuously ported to modm.
3374
3511
[`modm:board:srxe`]: https://modm.io/reference/module/modm-board-srxe
3375
3512
[`modm:board:stm32_f32ve`]: https://modm.io/reference/module/modm-board-stm32_f32ve
3376
3513
[`modm:board:thingplus-rp2040`]: https://modm.io/reference/module/modm-board-thingplus-rp2040
3514
+ [`modm:board:weact-c011f6`]: https://modm.io/reference/module/modm-board-weact-c011f6
3377
3515
[`modm:disco-f401vc`]: https://modm.io/reference/module/modm-disco-f401vc
3378
3516
[`modm:disco-f411ve`]: https://modm.io/reference/module/modm-disco-f411ve
3379
3517
[`modm:disco-f469ni:b-03`]: https://modm.io/reference/module/modm-disco-f469ni-b-03
@@ -3389,6 +3527,7 @@ Please note that contributions from xpcc were continuously ported to modm.
3389
3527
[`modm:driver:bno055`]: https://modm.io/reference/module/modm-driver-bno055
3390
3528
[`modm:driver:cat24aa`]: https://modm.io/reference/module/modm-driver-cat24aa
3391
3529
[`modm:driver:cycle_counter`]: https://modm.io/reference/module/modm-driver-cycle_counter
3530
+ [`modm:driver:dw3110`]: https://modm.io/reference/module/modm-driver-dw3110
3392
3531
[`modm:driver:encoder.output`]: https://modm.io/reference/module/modm-driver-encoder-output
3393
3532
[`modm:driver:encoder_input.bitbang`]: https://modm.io/reference/module/modm-driver-encoder_input-bitbang
3394
3533
[`modm:driver:encoder_input`]: https://modm.io/reference/module/modm-driver-encoder_input
@@ -3489,7 +3628,13 @@ Please note that contributions from xpcc were continuously ported to modm.
3489
3628
[#1204]: https://github.com/modm-io/modm/pull/1204
3490
3629
[#1206]: https://github.com/modm-io/modm/pull/1206
3491
3630
[#1209]: https://github.com/modm-io/modm/pull/1209
3631
+ [#1210]: https://github.com/modm-io/modm/pull/1210
3632
+ [#1219]: https://github.com/modm-io/modm/pull/1219
3492
3633
[#122]: https://github.com/modm-io/modm/pull/122
3634
+ [#1232]: https://github.com/modm-io/modm/pull/1232
3635
+ [#1242]: https://github.com/modm-io/modm/pull/1242
3636
+ [#1248]: https://github.com/modm-io/modm/pull/1248
3637
+ [#1249]: https://github.com/modm-io/modm/pull/1249
3493
3638
[#132]: https://github.com/modm-io/modm/pull/132
3494
3639
[#136]: https://github.com/modm-io/modm/pull/136
3495
3640
[#153]: https://github.com/modm-io/modm/pull/153
@@ -3818,6 +3963,7 @@ Please note that contributions from xpcc were continuously ported to modm.
3818
3963
[77ae899]: https://github.com/modm-io/modm/commit/77ae899
3819
3964
[78d18f6]: https://github.com/modm-io/modm/commit/78d18f6
3820
3965
[7b5827f]: https://github.com/modm-io/modm/commit/7b5827f
3966
+ [7ba2fbb]: https://github.com/modm-io/modm/commit/7ba2fbb
3821
3967
[7d1f7cc]: https://github.com/modm-io/modm/commit/7d1f7cc
3822
3968
[7d7490d]: https://github.com/modm-io/modm/commit/7d7490d
3823
3969
[7df2e7d]: https://github.com/modm-io/modm/commit/7df2e7d
@@ -3874,6 +4020,7 @@ Please note that contributions from xpcc were continuously ported to modm.
3874
4020
[a8edbe8]: https://github.com/modm-io/modm/commit/a8edbe8
3875
4021
[ab9bcee]: https://github.com/modm-io/modm/commit/ab9bcee
3876
4022
[ac46099]: https://github.com/modm-io/modm/commit/ac46099
4023
+ [ae74049]: https://github.com/modm-io/modm/commit/ae74049
3877
4024
[af2b352]: https://github.com/modm-io/modm/commit/af2b352
3878
4025
[afaea7f]: https://github.com/modm-io/modm/commit/afaea7f
3879
4026
[afbd533]: https://github.com/modm-io/modm/commit/afbd533
@@ -3929,9 +4076,12 @@ Please note that contributions from xpcc were continuously ported to modm.
3929
4076
[e3c0321]: https://github.com/modm-io/modm/commit/e3c0321
3930
4077
[e46e7df]: https://github.com/modm-io/modm/commit/e46e7df
3931
4078
[e4b1a4a]: https://github.com/modm-io/modm/commit/e4b1a4a
4079
+ [e579250]: https://github.com/modm-io/modm/commit/e579250
4080
+ [e92dc1d]: https://github.com/modm-io/modm/commit/e92dc1d
3932
4081
[eb2748e]: https://github.com/modm-io/modm/commit/eb2748e
3933
4082
[eba68a4]: https://github.com/modm-io/modm/commit/eba68a4
3934
4083
[eda224e]: https://github.com/modm-io/modm/commit/eda224e
4084
+ [f402893]: https://github.com/modm-io/modm/commit/f402893
3935
4085
[f4c7492]: https://github.com/modm-io/modm/commit/f4c7492
3936
4086
[f4d5d6c]: https://github.com/modm-io/modm/commit/f4d5d6c
3937
4087
[f5cdf6a]: https://github.com/modm-io/modm/commit/f5cdf6a
0 commit comments