aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Rosengren <[email protected]>2025-09-16 19:24:00 +0200
committerPer Rosengren <[email protected]>2025-09-16 19:24:00 +0200
commit06a1eceaf12352075c3874c887b265cc71f2468f (patch)
treeb78ff681d01382b3819ddfd2e2ef1801c66a854d
parent42c21a24e590adbfc577ed8afea06abe3fc7b9e9 (diff)
Undo autoformat
-rw-r--r--embassy-stm32/CHANGELOG.md109
1 files changed, 43 insertions, 66 deletions
diff --git a/embassy-stm32/CHANGELOG.md b/embassy-stm32/CHANGELOG.md
index 59328404f..190e68d6d 100644
--- a/embassy-stm32/CHANGELOG.md
+++ b/embassy-stm32/CHANGELOG.md
@@ -15,17 +15,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
15- Add I2S support for STM32F1, STM32C0, STM32F0, STM32F3, STM32F7, STM32G0, STM32WL, STM32H5, STM32H7RS 15- Add I2S support for STM32F1, STM32C0, STM32F0, STM32F3, STM32F7, STM32G0, STM32WL, STM32H5, STM32H7RS
16- fix: STM32: Prevent dropped DacChannel from disabling Dac peripheral if another DacChannel is still in scope ([#4577](https://github.com/embassy-rs/embassy/pull/4577)) 16- fix: STM32: Prevent dropped DacChannel from disabling Dac peripheral if another DacChannel is still in scope ([#4577](https://github.com/embassy-rs/embassy/pull/4577))
17- feat: Added support for more OctoSPI configurations (e.g. APS6408 RAM) ([#4581](https://github.com/embassy-rs/embassy/pull/4581)) 17- feat: Added support for more OctoSPI configurations (e.g. APS6408 RAM) ([#4581](https://github.com/embassy-rs/embassy/pull/4581))
18- feat: More ADC enums for g0 PAC, API change for over sampling, allow separate sample times
19- fix: stm32/usart: fix bug with blocking flush in buffered uart ([#4648](https://github.com/embassy-rs/embassy/pull/4648)) 18- fix: stm32/usart: fix bug with blocking flush in buffered uart ([#4648](https://github.com/embassy-rs/embassy/pull/4648))
20- fix: stm32/(ospi/hspi/xspi): Fix the alternate bytes register config sticking around for subsequent writes 19- fix: stm32/(ospi/hspi/xspi): Fix the alternate bytes register config sticking around for subsequent writes
21- feat: Configurable gpio speed for QSPI 20- feat: Configurable gpio speed for QSPI
22- feat: derive Clone, Copy and defmt::Format for all *SPI-related configs 21- feat: derive Clone, Copy and defmt::Format for all *SPI-related configs
23- fix: handle address and data-length errors in OSPI 22- fix: handle address and data-length errors in OSPI
24- feat: Allow OSPI DMA writes larger than 64kB using chunking 23- feat: Allow OSPI DMA writes larger than 64kB using chunking
24- feat: More ADC enums for g0 PAC, API change for oversampling, allow separate sample times
25 25
26## 0.4.0 - 2025-08-26 26## 0.4.0 - 2025-08-26
27 27
28- feat: stm32/sai: make NODIV independent of MCKDIV 28- feat: stm32/sai: make NODIV independent of MCKDIV
29- fix: stm32/sai: fix WB MCKDIV 29- fix: stm32/sai: fix WB MCKDIV
30- fix: stm32/i2c: pull-down was enabled instead of pull-none when no internal pull-up was needed. 30- fix: stm32/i2c: pull-down was enabled instead of pull-none when no internal pull-up was needed.
31- feat: Improve blocking hash speed 31- feat: Improve blocking hash speed
@@ -104,25 +104,24 @@ For peripherals, both pins and DMA channels have been eliminated. Peripherals no
104### More complete and consistent RCC 104### More complete and consistent RCC
105 105
106RCC support has been vastly expanded and improved. 106RCC support has been vastly expanded and improved.
107
108- The API is now consistent across all STM32 families. Previously in some families you'd configure the desired target frequencies for `sysclk` and the buses and `embassy-stm32` would try to calculate dividers and muxes to hit them as close as possible. This has proved to be intractable in the general case and hard to extend to more exotic RCC configurations. So, we have standardized on an API where the user specifies the settings for dividers and muxes directly. It's lower level but gices more control to the user, supports all edge case exotic configurations, and makes it easier to translate a configuration from the STM32CubeMX tool. ([Tracking issue](https://github.com/embassy-rs/embassy/issues/2515). [#2624](https://github.com/embassy-rs/embassy/pull/2624). F0, F1 [#2564](https://github.com/embassy-rs/embassy/pull/2564), F3 [#2560](https://github.com/embassy-rs/embassy/pull/2560), U5 [#2617](https://github.com/embassy-rs/embassy/pull/2617), [#3514](https://github.com/embassy-rs/embassy/pull/3514), [#3513](https://github.com/embassy-rs/embassy/pull/3513), G4 [#2579](https://github.com/embassy-rs/embassy/pull/2579), [#2618](https://github.com/embassy-rs/embassy/pull/2618), WBA [#2520](https://github.com/embassy-rs/embassy/pull/2520), G0, C0 ([#2656](https://github.com/embassy-rs/embassy/pull/2656)). 107- The API is now consistent across all STM32 families. Previously in some families you'd configure the desired target frequencies for `sysclk` and the buses and `embassy-stm32` would try to calculate dividers and muxes to hit them as close as possible. This has proved to be intractable in the general case and hard to extend to more exotic RCC configurations. So, we have standardized on an API where the user specifies the settings for dividers and muxes directly. It's lower level but gices more control to the user, supports all edge case exotic configurations, and makes it easier to translate a configuration from the STM32CubeMX tool. ([Tracking issue](https://github.com/embassy-rs/embassy/issues/2515). [#2624](https://github.com/embassy-rs/embassy/pull/2624). F0, F1 [#2564](https://github.com/embassy-rs/embassy/pull/2564), F3 [#2560](https://github.com/embassy-rs/embassy/pull/2560), U5 [#2617](https://github.com/embassy-rs/embassy/pull/2617), [#3514](https://github.com/embassy-rs/embassy/pull/3514), [#3513](https://github.com/embassy-rs/embassy/pull/3513), G4 [#2579](https://github.com/embassy-rs/embassy/pull/2579), [#2618](https://github.com/embassy-rs/embassy/pull/2618), WBA [#2520](https://github.com/embassy-rs/embassy/pull/2520), G0, C0 ([#2656](https://github.com/embassy-rs/embassy/pull/2656)).
109- Added support for configuring all per-peripheral clock muxes (CCIPRx, DCKCFGRx registers) in `config.rcc.mux`. This was previously handled in an ad-hoc way in some drivers (e.g. USB) and not at all in others (causing e.g. wrong SPI frequency) ([#2521](https://github.com/embassy-rs/embassy/pull/2521), [#2583](https://github.com/embassy-rs/embassy/pull/2583), [#2634](https://github.com/embassy-rs/embassy/pull/2634), [#2626](https://github.com/embassy-rs/embassy/pull/2626), [#2815](https://github.com/embassy-rs/embassy/pull/2815), [#2517](https://github.com/embassy-rs/embassy/pull/2517)). 108- Added support for configuring all per-peripheral clock muxes (CCIPRx, DCKCFGRx registers) in `config.rcc.mux`. This was previously handled in an ad-hoc way in some drivers (e.g. USB) and not at all in others (causing e.g. wrong SPI frequency) ([#2521](https://github.com/embassy-rs/embassy/pull/2521), [#2583](https://github.com/embassy-rs/embassy/pull/2583), [#2634](https://github.com/embassy-rs/embassy/pull/2634), [#2626](https://github.com/embassy-rs/embassy/pull/2626), [#2815](https://github.com/embassy-rs/embassy/pull/2815), [#2517](https://github.com/embassy-rs/embassy/pull/2517)).
110- Switch to a safe configuration before configuring RCC. This helps avoid crashes when RCC has been already configured previously (for example by a bootloader). (F2, F4, F7 [#2829](https://github.com/embassy-rs/embassy/pull/2829), C0, F0, F1, F3, G0, G4, H5, H7[#3008](https://github.com/embassy-rs/embassy/pull/3008)) 109- Switch to a safe configuration before configuring RCC. This helps avoid crashes when RCC has been already configured previously (for example by a bootloader). (F2, F4, F7 [#2829](https://github.com/embassy-rs/embassy/pull/2829), C0, F0, F1, F3, G0, G4, H5, H7[#3008](https://github.com/embassy-rs/embassy/pull/3008))
111- Some new nice features: 110- Some new nice features:
112 - Expose RCC enable and disable in public API. ([#2807](https://github.com/embassy-rs/embassy/pull/2807)) 111 - Expose RCC enable and disable in public API. ([#2807](https://github.com/embassy-rs/embassy/pull/2807))
113 - Add `unchecked-overclocking` feature that disables all asserts, allowing running RCC out of spec. ([#3574](https://github.com/embassy-rs/embassy/pull/3574)) 112 - Add `unchecked-overclocking` feature that disables all asserts, allowing running RCC out of spec. ([#3574](https://github.com/embassy-rs/embassy/pull/3574))
114- Many fixes: 113- Many fixes:
115 - Workaround H5 errata that accidentally clears RAM on backup domain reset. ([#2616](https://github.com/embassy-rs/embassy/pull/2616)) 114 - Workaround H5 errata that accidentally clears RAM on backup domain reset. ([#2616](https://github.com/embassy-rs/embassy/pull/2616))
116 - Reset RTC on L0 ([#2597](https://github.com/embassy-rs/embassy/pull/2597)) 115 - Reset RTC on L0 ([#2597](https://github.com/embassy-rs/embassy/pull/2597))
117 - Fix H7 to use correct unit in vco clock check ([#2537](https://github.com/embassy-rs/embassy/pull/2537)) 116 - Fix H7 to use correct unit in vco clock check ([#2537](https://github.com/embassy-rs/embassy/pull/2537))
118 - Fix incorrect D1CPRE max for STM32H7 RM0468 ([#2518](https://github.com/embassy-rs/embassy/pull/2518)) 117 - Fix incorrect D1CPRE max for STM32H7 RM0468 ([#2518](https://github.com/embassy-rs/embassy/pull/2518))
119 - WBA's high speed external clock has to run at 32 MHz ([#2511](https://github.com/embassy-rs/embassy/pull/2511)) 118 - WBA's high speed external clock has to run at 32 MHz ([#2511](https://github.com/embassy-rs/embassy/pull/2511))
120 - Take into account clock propagation delay to peripherals after enabling a clock. ([#2677](https://github.com/embassy-rs/embassy/pull/2677)) 119 - Take into account clock propagation delay to peripherals after enabling a clock. ([#2677](https://github.com/embassy-rs/embassy/pull/2677))
121 - Fix crash caused by using higher MSI range as sysclk on STM32WL ([#2786](https://github.com/embassy-rs/embassy/pull/2786)) 120 - Fix crash caused by using higher MSI range as sysclk on STM32WL ([#2786](https://github.com/embassy-rs/embassy/pull/2786))
122 - fix using HSI48 as SYSCLK on F0 devices with CRS ([#3652](https://github.com/embassy-rs/embassy/pull/3652)) 121 - fix using HSI48 as SYSCLK on F0 devices with CRS ([#3652](https://github.com/embassy-rs/embassy/pull/3652))
123 - compute LSE and LSI frequency for STM32L and STM32U0 series ([#3554](https://github.com/embassy-rs/embassy/pull/3554)) 122 - compute LSE and LSI frequency for STM32L and STM32U0 series ([#3554](https://github.com/embassy-rs/embassy/pull/3554))
124 - Add support for LSESYS, used to pass LSE clock to peripherals ([#3518](https://github.com/embassy-rs/embassy/pull/3518)) 123 - Add support for LSESYS, used to pass LSE clock to peripherals ([#3518](https://github.com/embassy-rs/embassy/pull/3518))
125 - H5: LSE low drive mode is not functional ([#2738](https://github.com/embassy-rs/embassy/pull/2738)) 124 - H5: LSE low drive mode is not functional ([#2738](https://github.com/embassy-rs/embassy/pull/2738))
126 125
127### New peripheral drivers 126### New peripheral drivers
128 127
@@ -142,7 +141,6 @@ RCC support has been vastly expanded and improved.
142### Improvements to existing drivers 141### Improvements to existing drivers
143 142
144GPIO: 143GPIO:
145
146- Generate singletons only for pins that actually exist. ([#3738](https://github.com/embassy-rs/embassy/pull/3738)) 144- Generate singletons only for pins that actually exist. ([#3738](https://github.com/embassy-rs/embassy/pull/3738))
147- Add `set_as_analog` to Flex ([#3017](https://github.com/embassy-rs/embassy/pull/3017)) 145- Add `set_as_analog` to Flex ([#3017](https://github.com/embassy-rs/embassy/pull/3017))
148- Add `embedded-hal` v0.2 `InputPin` impls for `OutputOpenDrain`. ([#2716](https://github.com/embassy-rs/embassy/pull/2716)) 146- Add `embedded-hal` v0.2 `InputPin` impls for `OutputOpenDrain`. ([#2716](https://github.com/embassy-rs/embassy/pull/2716))
@@ -151,7 +149,6 @@ GPIO:
151- Gpiov1: Do not call set_speed for AFType::Input ([#2996](https://github.com/embassy-rs/embassy/pull/2996)) 149- Gpiov1: Do not call set_speed for AFType::Input ([#2996](https://github.com/embassy-rs/embassy/pull/2996))
152 150
153UART: 151UART:
154
155- Add embedded-io impls ([#2739](https://github.com/embassy-rs/embassy/pull/2739)) 152- Add embedded-io impls ([#2739](https://github.com/embassy-rs/embassy/pull/2739))
156- Add support for changing baud rate ([#3512](https://github.com/embassy-rs/embassy/pull/3512)) 153- Add support for changing baud rate ([#3512](https://github.com/embassy-rs/embassy/pull/3512))
157- Add split_ref ([#3500](https://github.com/embassy-rs/embassy/pull/3500)) 154- Add split_ref ([#3500](https://github.com/embassy-rs/embassy/pull/3500))
@@ -161,22 +158,21 @@ UART:
161- Add support for sending breaks ([#3286](https://github.com/embassy-rs/embassy/pull/3286)) 158- Add support for sending breaks ([#3286](https://github.com/embassy-rs/embassy/pull/3286))
162- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006)) 159- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006))
163- Half-duplex improvements 160- Half-duplex improvements
164 - Add half-duplex for all USART versions ([#2833](https://github.com/embassy-rs/embassy/pull/2833)) 161 - Add half-duplex for all USART versions ([#2833](https://github.com/embassy-rs/embassy/pull/2833))
165 - configurable readback for half-duplex. ([#3679](https://github.com/embassy-rs/embassy/pull/3679)) 162 - configurable readback for half-duplex. ([#3679](https://github.com/embassy-rs/embassy/pull/3679))
166 - Convert uart half_duplex to use user configurable IO ([#3233](https://github.com/embassy-rs/embassy/pull/3233)) 163 - Convert uart half_duplex to use user configurable IO ([#3233](https://github.com/embassy-rs/embassy/pull/3233))
167 - Fix uart::flush with FIFO at Half-Duplex mode ([#2895](https://github.com/embassy-rs/embassy/pull/2895)) 164 - Fix uart::flush with FIFO at Half-Duplex mode ([#2895](https://github.com/embassy-rs/embassy/pull/2895))
168 - Fix Half-Duplex sequential reads and writes ([#3089](https://github.com/embassy-rs/embassy/pull/3089)) 165 - Fix Half-Duplex sequential reads and writes ([#3089](https://github.com/embassy-rs/embassy/pull/3089))
169 - disable transmitter during during half-duplex flush ([#3299](https://github.com/embassy-rs/embassy/pull/3299)) 166 - disable transmitter during during half-duplex flush ([#3299](https://github.com/embassy-rs/embassy/pull/3299))
170- Buffered UART improvements 167- Buffered UART improvements
171 - Add embedded-io ReadReady impls ([#3179](https://github.com/embassy-rs/embassy/pull/3179), [#3451](https://github.com/embassy-rs/embassy/pull/3451)) 168 - Add embedded-io ReadReady impls ([#3179](https://github.com/embassy-rs/embassy/pull/3179), [#3451](https://github.com/embassy-rs/embassy/pull/3451))
172 - Add constructors for RS485 ([#3441](https://github.com/embassy-rs/embassy/pull/3441)) 169 - Add constructors for RS485 ([#3441](https://github.com/embassy-rs/embassy/pull/3441))
173 - Fix RingBufferedUartRx hard-resetting DMA after initial error ([#3356](https://github.com/embassy-rs/embassy/pull/3356)) 170 - Fix RingBufferedUartRx hard-resetting DMA after initial error ([#3356](https://github.com/embassy-rs/embassy/pull/3356))
174 - Don't teardown during reconfigure ([#2989](https://github.com/embassy-rs/embassy/pull/2989)) 171 - Don't teardown during reconfigure ([#2989](https://github.com/embassy-rs/embassy/pull/2989))
175 - Wake receive task for each received byte ([#2722](https://github.com/embassy-rs/embassy/pull/2722)) 172 - Wake receive task for each received byte ([#2722](https://github.com/embassy-rs/embassy/pull/2722))
176 - Fix dma and idle line detection in ringbuffereduartrx ([#3319](https://github.com/embassy-rs/embassy/pull/3319)) 173 - Fix dma and idle line detection in ringbuffereduartrx ([#3319](https://github.com/embassy-rs/embassy/pull/3319))
177 174
178SPI: 175SPI:
179
180- Add MISO pullup configuration option ([#2943](https://github.com/embassy-rs/embassy/pull/2943)) 176- Add MISO pullup configuration option ([#2943](https://github.com/embassy-rs/embassy/pull/2943))
181- Add slew rate configuration options ([#3669](https://github.com/embassy-rs/embassy/pull/3669)) 177- Add slew rate configuration options ([#3669](https://github.com/embassy-rs/embassy/pull/3669))
182- Fix blocking_write on nosck spi. ([#3035](https://github.com/embassy-rs/embassy/pull/3035)) 178- Fix blocking_write on nosck spi. ([#3035](https://github.com/embassy-rs/embassy/pull/3035))
@@ -186,7 +182,6 @@ SPI:
186- Add proper rxonly support for spi_v3 and force tx dma stream requirements. ([#3007](https://github.com/embassy-rs/embassy/pull/3007)) 182- Add proper rxonly support for spi_v3 and force tx dma stream requirements. ([#3007](https://github.com/embassy-rs/embassy/pull/3007))
187 183
188I2C: 184I2C:
189
190- Implement asynchronous transactions ([#2742](https://github.com/embassy-rs/embassy/pull/2742)) 185- Implement asynchronous transactions ([#2742](https://github.com/embassy-rs/embassy/pull/2742))
191- Implement blocking transactions ([#2713](https://github.com/embassy-rs/embassy/pull/2713)) 186- Implement blocking transactions ([#2713](https://github.com/embassy-rs/embassy/pull/2713))
192- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006)) 187- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006))
@@ -195,7 +190,6 @@ I2C:
195- Fix disabling pullup accidentally enabling pulldown ([#3410](https://github.com/embassy-rs/embassy/pull/3410)) 190- Fix disabling pullup accidentally enabling pulldown ([#3410](https://github.com/embassy-rs/embassy/pull/3410))
196 191
197Flash: 192Flash:
198
199- Add L5 support ([#3423](https://github.com/embassy-rs/embassy/pull/3423)) 193- Add L5 support ([#3423](https://github.com/embassy-rs/embassy/pull/3423))
200- Add H5 support ([#3305](https://github.com/embassy-rs/embassy/pull/3305)) 194- Add H5 support ([#3305](https://github.com/embassy-rs/embassy/pull/3305))
201- add F2 support ([#3303](https://github.com/embassy-rs/embassy/pull/3303)) 195- add F2 support ([#3303](https://github.com/embassy-rs/embassy/pull/3303))
@@ -207,7 +201,6 @@ Flash:
207- H7: enhance resilience to program sequence errors (pgserr) ([#2539](https://github.com/embassy-rs/embassy/pull/2539)) 201- H7: enhance resilience to program sequence errors (pgserr) ([#2539](https://github.com/embassy-rs/embassy/pull/2539))
208 202
209ADC: 203ADC:
210
211- Add `AnyAdcChannel` type. You can obtain it from a pin with `.degrade_adc()`. Useful for making arrays of ADC pins. ([#2985](https://github.com/embassy-rs/embassy/pull/2985)) 204- Add `AnyAdcChannel` type. You can obtain it from a pin with `.degrade_adc()`. Useful for making arrays of ADC pins. ([#2985](https://github.com/embassy-rs/embassy/pull/2985))
212- Add L0 support ([#2544](https://github.com/embassy-rs/embassy/pull/2544)) 205- Add L0 support ([#2544](https://github.com/embassy-rs/embassy/pull/2544))
213- Add U5 support ([#3688](https://github.com/embassy-rs/embassy/pull/3688)) 206- Add U5 support ([#3688](https://github.com/embassy-rs/embassy/pull/3688))
@@ -227,17 +220,14 @@ ADC:
227- F2 ADC fixes ([#2513](https://github.com/embassy-rs/embassy/pull/2513)) 220- F2 ADC fixes ([#2513](https://github.com/embassy-rs/embassy/pull/2513))
228 221
229DAC: 222DAC:
230
231- Fix new_internal not setting mode as documented ([#2886](https://github.com/embassy-rs/embassy/pull/2886)) 223- Fix new_internal not setting mode as documented ([#2886](https://github.com/embassy-rs/embassy/pull/2886))
232 224
233OPAMP: 225OPAMP:
234
235- Add missing opamp external outputs for STM32G4 ([#3636](https://github.com/embassy-rs/embassy/pull/3636)) 226- Add missing opamp external outputs for STM32G4 ([#3636](https://github.com/embassy-rs/embassy/pull/3636))
236- Add extra lifetime to opamp-using structs ([#3207](https://github.com/embassy-rs/embassy/pull/3207)) 227- Add extra lifetime to opamp-using structs ([#3207](https://github.com/embassy-rs/embassy/pull/3207))
237- Make OpAmp usable in follower configuration for internal DAC channel ([#3021](https://github.com/embassy-rs/embassy/pull/3021)) 228- Make OpAmp usable in follower configuration for internal DAC channel ([#3021](https://github.com/embassy-rs/embassy/pull/3021))
238 229
239CAN: 230CAN:
240
241- Add FDCAN support. ([#2475](https://github.com/embassy-rs/embassy/pull/2475), [#2571](https://github.com/embassy-rs/embassy/pull/2571), [#2623](https://github.com/embassy-rs/embassy/pull/2623), [#2631](https://github.com/embassy-rs/embassy/pull/2631), [#2635](https://github.com/embassy-rs/embassy/pull/2635), [#2637](https://github.com/embassy-rs/embassy/pull/2637), [#2645](https://github.com/embassy-rs/embassy/pull/2645), [#2647](https://github.com/embassy-rs/embassy/pull/2647), [#2658](https://github.com/embassy-rs/embassy/pull/2658), [#2703](https://github.com/embassy-rs/embassy/pull/2703), [#3364](https://github.com/embassy-rs/embassy/pull/3364)) 231- Add FDCAN support. ([#2475](https://github.com/embassy-rs/embassy/pull/2475), [#2571](https://github.com/embassy-rs/embassy/pull/2571), [#2623](https://github.com/embassy-rs/embassy/pull/2623), [#2631](https://github.com/embassy-rs/embassy/pull/2631), [#2635](https://github.com/embassy-rs/embassy/pull/2635), [#2637](https://github.com/embassy-rs/embassy/pull/2637), [#2645](https://github.com/embassy-rs/embassy/pull/2645), [#2647](https://github.com/embassy-rs/embassy/pull/2647), [#2658](https://github.com/embassy-rs/embassy/pull/2658), [#2703](https://github.com/embassy-rs/embassy/pull/2703), [#3364](https://github.com/embassy-rs/embassy/pull/3364))
242- Simplify BXCAN API, make BXCAN and FDCAN APIs consistent. ([#2760](https://github.com/embassy-rs/embassy/pull/2760), [#2693](https://github.com/embassy-rs/embassy/pull/2693), [#2744](https://github.com/embassy-rs/embassy/pull/2744)) 232- Simplify BXCAN API, make BXCAN and FDCAN APIs consistent. ([#2760](https://github.com/embassy-rs/embassy/pull/2760), [#2693](https://github.com/embassy-rs/embassy/pull/2693), [#2744](https://github.com/embassy-rs/embassy/pull/2744))
243- Add buffered mode support ([#2588](https://github.com/embassy-rs/embassy/pull/2588)) 233- Add buffered mode support ([#2588](https://github.com/embassy-rs/embassy/pull/2588))
@@ -254,11 +244,9 @@ CAN:
254- Preseve the RTR flag in messages. ([#2745](https://github.com/embassy-rs/embassy/pull/2745)) 244- Preseve the RTR flag in messages. ([#2745](https://github.com/embassy-rs/embassy/pull/2745))
255 245
256FMC: 246FMC:
257
258- Add 13bit address sdram constructors ([#3189](https://github.com/embassy-rs/embassy/pull/3189)) 247- Add 13bit address sdram constructors ([#3189](https://github.com/embassy-rs/embassy/pull/3189))
259 248
260xSPI: 249xSPI:
261
262- Add OCTOSPI support ([#2672](https://github.com/embassy-rs/embassy/pull/2672)) 250- Add OCTOSPI support ([#2672](https://github.com/embassy-rs/embassy/pull/2672))
263- Add OCTOSPIM support ([#3102](https://github.com/embassy-rs/embassy/pull/3102)) 251- Add OCTOSPIM support ([#3102](https://github.com/embassy-rs/embassy/pull/3102))
264- Add HEXADECASPI support ([#3667](https://github.com/embassy-rs/embassy/pull/3667)) 252- Add HEXADECASPI support ([#3667](https://github.com/embassy-rs/embassy/pull/3667))
@@ -269,44 +257,39 @@ xSPI:
269- Stick to `blocking_*` naming convention for QSPI, OSPI ([#3661](https://github.com/embassy-rs/embassy/pull/3661)) 257- Stick to `blocking_*` naming convention for QSPI, OSPI ([#3661](https://github.com/embassy-rs/embassy/pull/3661))
270 258
271SDMMC: 259SDMMC:
272
273- Add `block-device-driver` impl for use with `embedded-fatfs` ([#2607](https://github.com/embassy-rs/embassy/pull/2607)) 260- Add `block-device-driver` impl for use with `embedded-fatfs` ([#2607](https://github.com/embassy-rs/embassy/pull/2607))
274- Allow cmd block to be passed in for sdmmc dma transfers ([#3188](https://github.com/embassy-rs/embassy/pull/3188)) 261- Allow cmd block to be passed in for sdmmc dma transfers ([#3188](https://github.com/embassy-rs/embassy/pull/3188))
275 262
276ETH: 263ETH:
277
278- Fix reception of multicast packets ([#3488](https://github.com/embassy-rs/embassy/pull/3488), [#3707](https://github.com/embassy-rs/embassy/pull/3707)) 264- Fix reception of multicast packets ([#3488](https://github.com/embassy-rs/embassy/pull/3488), [#3707](https://github.com/embassy-rs/embassy/pull/3707))
279- Add support for executing custom SMI commands ([#3355](https://github.com/embassy-rs/embassy/pull/3355)) 265- Add support for executing custom SMI commands ([#3355](https://github.com/embassy-rs/embassy/pull/3355))
280- Add support for MII interface ([#2465](https://github.com/embassy-rs/embassy/pull/2465)) 266- Add support for MII interface ([#2465](https://github.com/embassy-rs/embassy/pull/2465))
281 267
282USB: 268USB:
283
284- Assert correct clock on init. ([#2711](https://github.com/embassy-rs/embassy/pull/2711)) 269- Assert correct clock on init. ([#2711](https://github.com/embassy-rs/embassy/pull/2711))
285- Set PWR_CR2 USV on STM32L4 ([#2605](https://github.com/embassy-rs/embassy/pull/2605)) 270- Set PWR_CR2 USV on STM32L4 ([#2605](https://github.com/embassy-rs/embassy/pull/2605))
286- USBD driver improvements: 271- USBD driver improvements:
287 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314)) 272 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314))
288 - Add support for L1. ([#2452](https://github.com/embassy-rs/embassy/pull/2452)) 273 - Add support for L1. ([#2452](https://github.com/embassy-rs/embassy/pull/2452))
289 - set USB initialization delay to 1µs ([#3700](https://github.com/embassy-rs/embassy/pull/3700)) 274 - set USB initialization delay to 1µs ([#3700](https://github.com/embassy-rs/embassy/pull/3700))
290- OTG driver improvements: 275- OTG driver improvements:
291 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314)) 276 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314))
292 - Add support for U595, U5A5 ([#3613](https://github.com/embassy-rs/embassy/pull/3613)) 277 - Add support for U595, U5A5 ([#3613](https://github.com/embassy-rs/embassy/pull/3613))
293 - Add support for STM32H7R/S ([#3337](https://github.com/embassy-rs/embassy/pull/3337)) 278 - Add support for STM32H7R/S ([#3337](https://github.com/embassy-rs/embassy/pull/3337))
294 - Add support for full-speed ULPI mode ([#3281](https://github.com/embassy-rs/embassy/pull/3281)) 279 - Add support for full-speed ULPI mode ([#3281](https://github.com/embassy-rs/embassy/pull/3281))
295 - Make max EP count configurable ([#2881](https://github.com/embassy-rs/embassy/pull/2881)) 280 - Make max EP count configurable ([#2881](https://github.com/embassy-rs/embassy/pull/2881))
296 - fix corruption in CONTROL OUT transfers in stm32f4. ([#3565](https://github.com/embassy-rs/embassy/pull/3565)) 281 - fix corruption in CONTROL OUT transfers in stm32f4. ([#3565](https://github.com/embassy-rs/embassy/pull/3565))
297 - Extract Synopsys USB OTG driver to a separate crate ([#2871](https://github.com/embassy-rs/embassy/pull/2871)) 282 - Extract Synopsys USB OTG driver to a separate crate ([#2871](https://github.com/embassy-rs/embassy/pull/2871))
298 - Add critical sections to avoid USB OTG corruption Errata ([#2823](https://github.com/embassy-rs/embassy/pull/2823)) 283 - Add critical sections to avoid USB OTG corruption Errata ([#2823](https://github.com/embassy-rs/embassy/pull/2823))
299 - Fix support for OTG_HS in FS mode. ([#2805](https://github.com/embassy-rs/embassy/pull/2805)) 284 - Fix support for OTG_HS in FS mode. ([#2805](https://github.com/embassy-rs/embassy/pull/2805))
300 285
301I2S: 286I2S:
302
303- Add SPIv3 support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992)) 287- Add SPIv3 support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992))
304- Add full-duplex support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992)) 288- Add full-duplex support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992))
305- Add I2S ringbuffered DMA support ([#3023](https://github.com/embassy-rs/embassy/pull/3023)) 289- Add I2S ringbuffered DMA support ([#3023](https://github.com/embassy-rs/embassy/pull/3023))
306- Fix STM32F4 I2S clock calculations ([#3716](https://github.com/embassy-rs/embassy/pull/3716)) 290- Fix STM32F4 I2S clock calculations ([#3716](https://github.com/embassy-rs/embassy/pull/3716))
307 291
308SAI: 292SAI:
309
310- Add a function that waits for any SAI/ringbuffer write error ([#3545](https://github.com/embassy-rs/embassy/pull/3545)) 293- Add a function that waits for any SAI/ringbuffer write error ([#3545](https://github.com/embassy-rs/embassy/pull/3545))
311- Disallow start without an initial write ([#3541](https://github.com/embassy-rs/embassy/pull/3541)) 294- Disallow start without an initial write ([#3541](https://github.com/embassy-rs/embassy/pull/3541))
312- Flush FIFO on init and disable ([#3538](https://github.com/embassy-rs/embassy/pull/3538)) 295- Flush FIFO on init and disable ([#3538](https://github.com/embassy-rs/embassy/pull/3538))
@@ -315,7 +298,6 @@ SAI:
315- Add function to check if SAI is muted ([#3282](https://github.com/embassy-rs/embassy/pull/3282)) 298- Add function to check if SAI is muted ([#3282](https://github.com/embassy-rs/embassy/pull/3282))
316 299
317Low-power support: 300Low-power support:
318
319- Update `embassy-executor` to v0.7. 301- Update `embassy-executor` to v0.7.
320- Add support for U0 ([#3556](https://github.com/embassy-rs/embassy/pull/3556)) 302- Add support for U0 ([#3556](https://github.com/embassy-rs/embassy/pull/3556))
321- Add support for U5 ([#3496](https://github.com/embassy-rs/embassy/pull/3496)) 303- Add support for U5 ([#3496](https://github.com/embassy-rs/embassy/pull/3496))
@@ -325,20 +307,18 @@ Low-power support:
325- Fix alarms not triggering in some cases ([#3592](https://github.com/embassy-rs/embassy/pull/3592)) 307- Fix alarms not triggering in some cases ([#3592](https://github.com/embassy-rs/embassy/pull/3592))
326 308
327Timer: 309Timer:
328
329- Add Input Capture high-level driver ([#2912](https://github.com/embassy-rs/embassy/pull/2912)) 310- Add Input Capture high-level driver ([#2912](https://github.com/embassy-rs/embassy/pull/2912))
330- Add PWM Input high-level driver ([#3014](https://github.com/embassy-rs/embassy/pull/3014)) 311- Add PWM Input high-level driver ([#3014](https://github.com/embassy-rs/embassy/pull/3014))
331- Add support for splitting `SimplePwm` into channels ([#3317](https://github.com/embassy-rs/embassy/pull/3317)) 312- Add support for splitting `SimplePwm` into channels ([#3317](https://github.com/embassy-rs/embassy/pull/3317))
332- Fix `SimplePwm` not enabling output pin in some stm32 families ([#2670](https://github.com/embassy-rs/embassy/pull/2670)) 313- Fix `SimplePwm` not enabling output pin in some stm32 families ([#2670](https://github.com/embassy-rs/embassy/pull/2670))
333- Add LPTIM low-level driver. ([#3310](https://github.com/embassy-rs/embassy/pull/3310)) 314- Add LPTIM low-level driver. ([#3310](https://github.com/embassy-rs/embassy/pull/3310))
334- Low-level TIM driver improvements: 315- Low-level TIM driver improvements:
335 - Simplify traits, convert from trait methods to struct. ([#2728](https://github.com/embassy-rs/embassy/pull/2728)) 316 - Simplify traits, convert from trait methods to struct. ([#2728](https://github.com/embassy-rs/embassy/pull/2728))
336 - Add `low_level::Timer::get_clock_frequency()` ([#2908](https://github.com/embassy-rs/embassy/pull/2908)) 317 - Add `low_level::Timer::get_clock_frequency()` ([#2908](https://github.com/embassy-rs/embassy/pull/2908))
337 - Fix 32bit timer off by one ARR error ([#2876](https://github.com/embassy-rs/embassy/pull/2876)) 318 - Fix 32bit timer off by one ARR error ([#2876](https://github.com/embassy-rs/embassy/pull/2876))
338 - Avoid max_compare_value >= u16::MAX ([#3549](https://github.com/embassy-rs/embassy/pull/3549)) 319 - Avoid max_compare_value >= u16::MAX ([#3549](https://github.com/embassy-rs/embassy/pull/3549))
339 320
340DMA: 321DMA:
341
342- Add `AnyChannel` type. Similar to `AnyPin`, it allows representing any DMA channel at runtime without needing generics. ([#2606](https://github.com/embassy-rs/embassy/pull/2606)) 322- Add `AnyChannel` type. Similar to `AnyPin`, it allows representing any DMA channel at runtime without needing generics. ([#2606](https://github.com/embassy-rs/embassy/pull/2606))
343, Add support for BDMA on H7 ([#2606](https://github.com/embassy-rs/embassy/pull/2606)) 323, Add support for BDMA on H7 ([#2606](https://github.com/embassy-rs/embassy/pull/2606))
344- Add async `stop()` function to BDMA, DMA ([#2757](https://github.com/embassy-rs/embassy/pull/2757)) 324- Add async `stop()` function to BDMA, DMA ([#2757](https://github.com/embassy-rs/embassy/pull/2757))
@@ -348,7 +328,6 @@ DMA:
348- Right-align `write_immediate()` in ring buffers ([#3588](https://github.com/embassy-rs/embassy/pull/3588)) 328- Right-align `write_immediate()` in ring buffers ([#3588](https://github.com/embassy-rs/embassy/pull/3588))
349 329
350`embassy-time` driver: 330`embassy-time` driver:
351
352- Update to `embassy-time` v0.4, `embassy-time-driver` v0.2. ([#3593](https://github.com/embassy-rs/embassy/pull/3593)) 331- Update to `embassy-time` v0.4, `embassy-time-driver` v0.2. ([#3593](https://github.com/embassy-rs/embassy/pull/3593))
353- Change preference order of `time-driver-any` to pick less-featureful timers first. ([#2570](https://github.com/embassy-rs/embassy/pull/2570)) 332- Change preference order of `time-driver-any` to pick less-featureful timers first. ([#2570](https://github.com/embassy-rs/embassy/pull/2570))
354- Allow using more TIMx timers for the time driver of TIM1 ([#2570](https://github.com/embassy-rs/embassy/pull/2570), [#2614](https://github.com/embassy-rs/embassy/pull/2614)) 333- Allow using more TIMx timers for the time driver of TIM1 ([#2570](https://github.com/embassy-rs/embassy/pull/2570), [#2614](https://github.com/embassy-rs/embassy/pull/2614))
@@ -356,11 +335,9 @@ DMA:
356- adds timer-driver for tim21 and tim22 (on L0) ([#2450](https://github.com/embassy-rs/embassy/pull/2450)) 335- adds timer-driver for tim21 and tim22 (on L0) ([#2450](https://github.com/embassy-rs/embassy/pull/2450))
357 336
358WDG: 337WDG:
359
360- Allow higher PSC value for iwdg_v3 ... ([#2628](https://github.com/embassy-rs/embassy/pull/2628)) 338- Allow higher PSC value for iwdg_v3 ... ([#2628](https://github.com/embassy-rs/embassy/pull/2628))
361 339
362Misc: 340Misc:
363
364- Allow `bind_interrupts!` to accept conditional compilation attrs ([#3444](https://github.com/embassy-rs/embassy/pull/3444)) 341- Allow `bind_interrupts!` to accept conditional compilation attrs ([#3444](https://github.com/embassy-rs/embassy/pull/3444))
365 342
366## 0.1.0 - 2024-01-12 343## 0.1.0 - 2024-01-12