aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32
diff options
context:
space:
mode:
authorPer Rosengren <[email protected]>2025-09-16 18:46:25 +0200
committerPer Rosengren <[email protected]>2025-09-16 18:46:25 +0200
commitceec07fc9459f5e11ba4dbb3531ac555a3fcdab6 (patch)
tree9e57e381deeb65536204f0a14006e757460b40b2 /embassy-stm32
parent575b27f9f4412cf4d0aa18d77895117092e8c3b6 (diff)
changelog entry
Diffstat (limited to 'embassy-stm32')
-rw-r--r--embassy-stm32/CHANGELOG.md108
1 files changed, 66 insertions, 42 deletions
diff --git a/embassy-stm32/CHANGELOG.md b/embassy-stm32/CHANGELOG.md
index ba565f663..aa979e9b8 100644
--- a/embassy-stm32/CHANGELOG.md
+++ b/embassy-stm32/CHANGELOG.md
@@ -15,10 +15,11 @@ 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
18 19
19## 0.4.0 - 2025-08-26 20## 0.4.0 - 2025-08-26
20 21
21- feat: stm32/sai: make NODIV independent of MCKDIV 22- feat: stm32/sai: make NODIV independent of MCKDIV
22- fix: stm32/sai: fix WB MCKDIV 23- fix: stm32/sai: fix WB MCKDIV
23- fix: stm32/i2c: pull-down was enabled instead of pull-none when no internal pull-up was needed. 24- fix: stm32/i2c: pull-down was enabled instead of pull-none when no internal pull-up was needed.
24- feat: Improve blocking hash speed 25- feat: Improve blocking hash speed
@@ -97,24 +98,25 @@ For peripherals, both pins and DMA channels have been eliminated. Peripherals no
97### More complete and consistent RCC 98### More complete and consistent RCC
98 99
99RCC support has been vastly expanded and improved. 100RCC support has been vastly expanded and improved.
101
100- 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)). 102- 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)).
101- 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)). 103- 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)).
102- 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)) 104- 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))
103- Some new nice features: 105- Some new nice features:
104 - Expose RCC enable and disable in public API. ([#2807](https://github.com/embassy-rs/embassy/pull/2807)) 106 - Expose RCC enable and disable in public API. ([#2807](https://github.com/embassy-rs/embassy/pull/2807))
105 - Add `unchecked-overclocking` feature that disables all asserts, allowing running RCC out of spec. ([#3574](https://github.com/embassy-rs/embassy/pull/3574)) 107 - Add `unchecked-overclocking` feature that disables all asserts, allowing running RCC out of spec. ([#3574](https://github.com/embassy-rs/embassy/pull/3574))
106- Many fixes: 108- Many fixes:
107 - Workaround H5 errata that accidentally clears RAM on backup domain reset. ([#2616](https://github.com/embassy-rs/embassy/pull/2616)) 109 - Workaround H5 errata that accidentally clears RAM on backup domain reset. ([#2616](https://github.com/embassy-rs/embassy/pull/2616))
108 - Reset RTC on L0 ([#2597](https://github.com/embassy-rs/embassy/pull/2597)) 110 - Reset RTC on L0 ([#2597](https://github.com/embassy-rs/embassy/pull/2597))
109 - Fix H7 to use correct unit in vco clock check ([#2537](https://github.com/embassy-rs/embassy/pull/2537)) 111 - Fix H7 to use correct unit in vco clock check ([#2537](https://github.com/embassy-rs/embassy/pull/2537))
110 - Fix incorrect D1CPRE max for STM32H7 RM0468 ([#2518](https://github.com/embassy-rs/embassy/pull/2518)) 112 - Fix incorrect D1CPRE max for STM32H7 RM0468 ([#2518](https://github.com/embassy-rs/embassy/pull/2518))
111 - WBA's high speed external clock has to run at 32 MHz ([#2511](https://github.com/embassy-rs/embassy/pull/2511)) 113 - WBA's high speed external clock has to run at 32 MHz ([#2511](https://github.com/embassy-rs/embassy/pull/2511))
112 - Take into account clock propagation delay to peripherals after enabling a clock. ([#2677](https://github.com/embassy-rs/embassy/pull/2677)) 114 - Take into account clock propagation delay to peripherals after enabling a clock. ([#2677](https://github.com/embassy-rs/embassy/pull/2677))
113 - Fix crash caused by using higher MSI range as sysclk on STM32WL ([#2786](https://github.com/embassy-rs/embassy/pull/2786)) 115 - Fix crash caused by using higher MSI range as sysclk on STM32WL ([#2786](https://github.com/embassy-rs/embassy/pull/2786))
114 - fix using HSI48 as SYSCLK on F0 devices with CRS ([#3652](https://github.com/embassy-rs/embassy/pull/3652)) 116 - fix using HSI48 as SYSCLK on F0 devices with CRS ([#3652](https://github.com/embassy-rs/embassy/pull/3652))
115 - compute LSE and LSI frequency for STM32L and STM32U0 series ([#3554](https://github.com/embassy-rs/embassy/pull/3554)) 117 - compute LSE and LSI frequency for STM32L and STM32U0 series ([#3554](https://github.com/embassy-rs/embassy/pull/3554))
116 - Add support for LSESYS, used to pass LSE clock to peripherals ([#3518](https://github.com/embassy-rs/embassy/pull/3518)) 118 - Add support for LSESYS, used to pass LSE clock to peripherals ([#3518](https://github.com/embassy-rs/embassy/pull/3518))
117 - H5: LSE low drive mode is not functional ([#2738](https://github.com/embassy-rs/embassy/pull/2738)) 119 - H5: LSE low drive mode is not functional ([#2738](https://github.com/embassy-rs/embassy/pull/2738))
118 120
119### New peripheral drivers 121### New peripheral drivers
120 122
@@ -134,6 +136,7 @@ RCC support has been vastly expanded and improved.
134### Improvements to existing drivers 136### Improvements to existing drivers
135 137
136GPIO: 138GPIO:
139
137- Generate singletons only for pins that actually exist. ([#3738](https://github.com/embassy-rs/embassy/pull/3738)) 140- Generate singletons only for pins that actually exist. ([#3738](https://github.com/embassy-rs/embassy/pull/3738))
138- Add `set_as_analog` to Flex ([#3017](https://github.com/embassy-rs/embassy/pull/3017)) 141- Add `set_as_analog` to Flex ([#3017](https://github.com/embassy-rs/embassy/pull/3017))
139- Add `embedded-hal` v0.2 `InputPin` impls for `OutputOpenDrain`. ([#2716](https://github.com/embassy-rs/embassy/pull/2716)) 142- Add `embedded-hal` v0.2 `InputPin` impls for `OutputOpenDrain`. ([#2716](https://github.com/embassy-rs/embassy/pull/2716))
@@ -142,6 +145,7 @@ GPIO:
142- Gpiov1: Do not call set_speed for AFType::Input ([#2996](https://github.com/embassy-rs/embassy/pull/2996)) 145- Gpiov1: Do not call set_speed for AFType::Input ([#2996](https://github.com/embassy-rs/embassy/pull/2996))
143 146
144UART: 147UART:
148
145- Add embedded-io impls ([#2739](https://github.com/embassy-rs/embassy/pull/2739)) 149- Add embedded-io impls ([#2739](https://github.com/embassy-rs/embassy/pull/2739))
146- Add support for changing baud rate ([#3512](https://github.com/embassy-rs/embassy/pull/3512)) 150- Add support for changing baud rate ([#3512](https://github.com/embassy-rs/embassy/pull/3512))
147- Add split_ref ([#3500](https://github.com/embassy-rs/embassy/pull/3500)) 151- Add split_ref ([#3500](https://github.com/embassy-rs/embassy/pull/3500))
@@ -151,21 +155,22 @@ UART:
151- Add support for sending breaks ([#3286](https://github.com/embassy-rs/embassy/pull/3286)) 155- Add support for sending breaks ([#3286](https://github.com/embassy-rs/embassy/pull/3286))
152- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006)) 156- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006))
153- Half-duplex improvements 157- Half-duplex improvements
154 - Add half-duplex for all USART versions ([#2833](https://github.com/embassy-rs/embassy/pull/2833)) 158 - Add half-duplex for all USART versions ([#2833](https://github.com/embassy-rs/embassy/pull/2833))
155 - configurable readback for half-duplex. ([#3679](https://github.com/embassy-rs/embassy/pull/3679)) 159 - configurable readback for half-duplex. ([#3679](https://github.com/embassy-rs/embassy/pull/3679))
156 - Convert uart half_duplex to use user configurable IO ([#3233](https://github.com/embassy-rs/embassy/pull/3233)) 160 - Convert uart half_duplex to use user configurable IO ([#3233](https://github.com/embassy-rs/embassy/pull/3233))
157 - Fix uart::flush with FIFO at Half-Duplex mode ([#2895](https://github.com/embassy-rs/embassy/pull/2895)) 161 - Fix uart::flush with FIFO at Half-Duplex mode ([#2895](https://github.com/embassy-rs/embassy/pull/2895))
158 - Fix Half-Duplex sequential reads and writes ([#3089](https://github.com/embassy-rs/embassy/pull/3089)) 162 - Fix Half-Duplex sequential reads and writes ([#3089](https://github.com/embassy-rs/embassy/pull/3089))
159 - disable transmitter during during half-duplex flush ([#3299](https://github.com/embassy-rs/embassy/pull/3299)) 163 - disable transmitter during during half-duplex flush ([#3299](https://github.com/embassy-rs/embassy/pull/3299))
160- Buffered UART improvements 164- Buffered UART improvements
161 - Add embedded-io ReadReady impls ([#3179](https://github.com/embassy-rs/embassy/pull/3179), [#3451](https://github.com/embassy-rs/embassy/pull/3451)) 165 - Add embedded-io ReadReady impls ([#3179](https://github.com/embassy-rs/embassy/pull/3179), [#3451](https://github.com/embassy-rs/embassy/pull/3451))
162 - Add constructors for RS485 ([#3441](https://github.com/embassy-rs/embassy/pull/3441)) 166 - Add constructors for RS485 ([#3441](https://github.com/embassy-rs/embassy/pull/3441))
163 - Fix RingBufferedUartRx hard-resetting DMA after initial error ([#3356](https://github.com/embassy-rs/embassy/pull/3356)) 167 - Fix RingBufferedUartRx hard-resetting DMA after initial error ([#3356](https://github.com/embassy-rs/embassy/pull/3356))
164 - Don't teardown during reconfigure ([#2989](https://github.com/embassy-rs/embassy/pull/2989)) 168 - Don't teardown during reconfigure ([#2989](https://github.com/embassy-rs/embassy/pull/2989))
165 - Wake receive task for each received byte ([#2722](https://github.com/embassy-rs/embassy/pull/2722)) 169 - Wake receive task for each received byte ([#2722](https://github.com/embassy-rs/embassy/pull/2722))
166 - Fix dma and idle line detection in ringbuffereduartrx ([#3319](https://github.com/embassy-rs/embassy/pull/3319)) 170 - Fix dma and idle line detection in ringbuffereduartrx ([#3319](https://github.com/embassy-rs/embassy/pull/3319))
167 171
168SPI: 172SPI:
173
169- Add MISO pullup configuration option ([#2943](https://github.com/embassy-rs/embassy/pull/2943)) 174- Add MISO pullup configuration option ([#2943](https://github.com/embassy-rs/embassy/pull/2943))
170- Add slew rate configuration options ([#3669](https://github.com/embassy-rs/embassy/pull/3669)) 175- Add slew rate configuration options ([#3669](https://github.com/embassy-rs/embassy/pull/3669))
171- Fix blocking_write on nosck spi. ([#3035](https://github.com/embassy-rs/embassy/pull/3035)) 176- Fix blocking_write on nosck spi. ([#3035](https://github.com/embassy-rs/embassy/pull/3035))
@@ -175,6 +180,7 @@ SPI:
175- Add proper rxonly support for spi_v3 and force tx dma stream requirements. ([#3007](https://github.com/embassy-rs/embassy/pull/3007)) 180- Add proper rxonly support for spi_v3 and force tx dma stream requirements. ([#3007](https://github.com/embassy-rs/embassy/pull/3007))
176 181
177I2C: 182I2C:
183
178- Implement asynchronous transactions ([#2742](https://github.com/embassy-rs/embassy/pull/2742)) 184- Implement asynchronous transactions ([#2742](https://github.com/embassy-rs/embassy/pull/2742))
179- Implement blocking transactions ([#2713](https://github.com/embassy-rs/embassy/pull/2713)) 185- Implement blocking transactions ([#2713](https://github.com/embassy-rs/embassy/pull/2713))
180- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006)) 186- Disconnect pins on drop ([#3006](https://github.com/embassy-rs/embassy/pull/3006))
@@ -183,6 +189,7 @@ I2C:
183- Fix disabling pullup accidentally enabling pulldown ([#3410](https://github.com/embassy-rs/embassy/pull/3410)) 189- Fix disabling pullup accidentally enabling pulldown ([#3410](https://github.com/embassy-rs/embassy/pull/3410))
184 190
185Flash: 191Flash:
192
186- 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))
187- 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))
188- 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))
@@ -194,6 +201,7 @@ Flash:
194- 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))
195 202
196ADC: 203ADC:
204
197- 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)) 205- 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))
198- Add L0 support ([#2544](https://github.com/embassy-rs/embassy/pull/2544)) 206- Add L0 support ([#2544](https://github.com/embassy-rs/embassy/pull/2544))
199- Add U5 support ([#3688](https://github.com/embassy-rs/embassy/pull/3688)) 207- Add U5 support ([#3688](https://github.com/embassy-rs/embassy/pull/3688))
@@ -213,14 +221,17 @@ ADC:
213- F2 ADC fixes ([#2513](https://github.com/embassy-rs/embassy/pull/2513)) 221- F2 ADC fixes ([#2513](https://github.com/embassy-rs/embassy/pull/2513))
214 222
215DAC: 223DAC:
224
216- Fix new_internal not setting mode as documented ([#2886](https://github.com/embassy-rs/embassy/pull/2886)) 225- Fix new_internal not setting mode as documented ([#2886](https://github.com/embassy-rs/embassy/pull/2886))
217 226
218OPAMP: 227OPAMP:
228
219- Add missing opamp external outputs for STM32G4 ([#3636](https://github.com/embassy-rs/embassy/pull/3636)) 229- Add missing opamp external outputs for STM32G4 ([#3636](https://github.com/embassy-rs/embassy/pull/3636))
220- Add extra lifetime to opamp-using structs ([#3207](https://github.com/embassy-rs/embassy/pull/3207)) 230- Add extra lifetime to opamp-using structs ([#3207](https://github.com/embassy-rs/embassy/pull/3207))
221- Make OpAmp usable in follower configuration for internal DAC channel ([#3021](https://github.com/embassy-rs/embassy/pull/3021)) 231- Make OpAmp usable in follower configuration for internal DAC channel ([#3021](https://github.com/embassy-rs/embassy/pull/3021))
222 232
223CAN: 233CAN:
234
224- 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)) 235- 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))
225- 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)) 236- 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))
226- Add buffered mode support ([#2588](https://github.com/embassy-rs/embassy/pull/2588)) 237- Add buffered mode support ([#2588](https://github.com/embassy-rs/embassy/pull/2588))
@@ -237,9 +248,11 @@ CAN:
237- Preseve the RTR flag in messages. ([#2745](https://github.com/embassy-rs/embassy/pull/2745)) 248- Preseve the RTR flag in messages. ([#2745](https://github.com/embassy-rs/embassy/pull/2745))
238 249
239FMC: 250FMC:
251
240- Add 13bit address sdram constructors ([#3189](https://github.com/embassy-rs/embassy/pull/3189)) 252- Add 13bit address sdram constructors ([#3189](https://github.com/embassy-rs/embassy/pull/3189))
241 253
242xSPI: 254xSPI:
255
243- Add OCTOSPI support ([#2672](https://github.com/embassy-rs/embassy/pull/2672)) 256- Add OCTOSPI support ([#2672](https://github.com/embassy-rs/embassy/pull/2672))
244- Add OCTOSPIM support ([#3102](https://github.com/embassy-rs/embassy/pull/3102)) 257- Add OCTOSPIM support ([#3102](https://github.com/embassy-rs/embassy/pull/3102))
245- Add HEXADECASPI support ([#3667](https://github.com/embassy-rs/embassy/pull/3667)) 258- Add HEXADECASPI support ([#3667](https://github.com/embassy-rs/embassy/pull/3667))
@@ -250,39 +263,44 @@ xSPI:
250- Stick to `blocking_*` naming convention for QSPI, OSPI ([#3661](https://github.com/embassy-rs/embassy/pull/3661)) 263- Stick to `blocking_*` naming convention for QSPI, OSPI ([#3661](https://github.com/embassy-rs/embassy/pull/3661))
251 264
252SDMMC: 265SDMMC:
266
253- Add `block-device-driver` impl for use with `embedded-fatfs` ([#2607](https://github.com/embassy-rs/embassy/pull/2607)) 267- Add `block-device-driver` impl for use with `embedded-fatfs` ([#2607](https://github.com/embassy-rs/embassy/pull/2607))
254- Allow cmd block to be passed in for sdmmc dma transfers ([#3188](https://github.com/embassy-rs/embassy/pull/3188)) 268- Allow cmd block to be passed in for sdmmc dma transfers ([#3188](https://github.com/embassy-rs/embassy/pull/3188))
255 269
256ETH: 270ETH:
271
257- Fix reception of multicast packets ([#3488](https://github.com/embassy-rs/embassy/pull/3488), [#3707](https://github.com/embassy-rs/embassy/pull/3707)) 272- Fix reception of multicast packets ([#3488](https://github.com/embassy-rs/embassy/pull/3488), [#3707](https://github.com/embassy-rs/embassy/pull/3707))
258- Add support for executing custom SMI commands ([#3355](https://github.com/embassy-rs/embassy/pull/3355)) 273- Add support for executing custom SMI commands ([#3355](https://github.com/embassy-rs/embassy/pull/3355))
259- Add support for MII interface ([#2465](https://github.com/embassy-rs/embassy/pull/2465)) 274- Add support for MII interface ([#2465](https://github.com/embassy-rs/embassy/pull/2465))
260 275
261USB: 276USB:
277
262- Assert correct clock on init. ([#2711](https://github.com/embassy-rs/embassy/pull/2711)) 278- Assert correct clock on init. ([#2711](https://github.com/embassy-rs/embassy/pull/2711))
263- Set PWR_CR2 USV on STM32L4 ([#2605](https://github.com/embassy-rs/embassy/pull/2605)) 279- Set PWR_CR2 USV on STM32L4 ([#2605](https://github.com/embassy-rs/embassy/pull/2605))
264- USBD driver improvements: 280- USBD driver improvements:
265 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314)) 281 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314))
266 - Add support for L1. ([#2452](https://github.com/embassy-rs/embassy/pull/2452)) 282 - Add support for L1. ([#2452](https://github.com/embassy-rs/embassy/pull/2452))
267 - set USB initialization delay to 1µs ([#3700](https://github.com/embassy-rs/embassy/pull/3700)) 283 - set USB initialization delay to 1µs ([#3700](https://github.com/embassy-rs/embassy/pull/3700))
268- OTG driver improvements: 284- OTG driver improvements:
269 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314)) 285 - Add ISO endpoint support ([#3314](https://github.com/embassy-rs/embassy/pull/3314))
270 - Add support for U595, U5A5 ([#3613](https://github.com/embassy-rs/embassy/pull/3613)) 286 - Add support for U595, U5A5 ([#3613](https://github.com/embassy-rs/embassy/pull/3613))
271 - Add support for STM32H7R/S ([#3337](https://github.com/embassy-rs/embassy/pull/3337)) 287 - Add support for STM32H7R/S ([#3337](https://github.com/embassy-rs/embassy/pull/3337))
272 - Add support for full-speed ULPI mode ([#3281](https://github.com/embassy-rs/embassy/pull/3281)) 288 - Add support for full-speed ULPI mode ([#3281](https://github.com/embassy-rs/embassy/pull/3281))
273 - Make max EP count configurable ([#2881](https://github.com/embassy-rs/embassy/pull/2881)) 289 - Make max EP count configurable ([#2881](https://github.com/embassy-rs/embassy/pull/2881))
274 - fix corruption in CONTROL OUT transfers in stm32f4. ([#3565](https://github.com/embassy-rs/embassy/pull/3565)) 290 - fix corruption in CONTROL OUT transfers in stm32f4. ([#3565](https://github.com/embassy-rs/embassy/pull/3565))
275 - Extract Synopsys USB OTG driver to a separate crate ([#2871](https://github.com/embassy-rs/embassy/pull/2871)) 291 - Extract Synopsys USB OTG driver to a separate crate ([#2871](https://github.com/embassy-rs/embassy/pull/2871))
276 - Add critical sections to avoid USB OTG corruption Errata ([#2823](https://github.com/embassy-rs/embassy/pull/2823)) 292 - Add critical sections to avoid USB OTG corruption Errata ([#2823](https://github.com/embassy-rs/embassy/pull/2823))
277 - Fix support for OTG_HS in FS mode. ([#2805](https://github.com/embassy-rs/embassy/pull/2805)) 293 - Fix support for OTG_HS in FS mode. ([#2805](https://github.com/embassy-rs/embassy/pull/2805))
278 294
279I2S: 295I2S:
296
280- Add SPIv3 support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992)) 297- Add SPIv3 support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992))
281- Add full-duplex support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992)) 298- Add full-duplex support. ([#2992](https://github.com/embassy-rs/embassy/pull/2992))
282- Add I2S ringbuffered DMA support ([#3023](https://github.com/embassy-rs/embassy/pull/3023)) 299- Add I2S ringbuffered DMA support ([#3023](https://github.com/embassy-rs/embassy/pull/3023))
283- Fix STM32F4 I2S clock calculations ([#3716](https://github.com/embassy-rs/embassy/pull/3716)) 300- Fix STM32F4 I2S clock calculations ([#3716](https://github.com/embassy-rs/embassy/pull/3716))
284 301
285SAI: 302SAI:
303
286- Add a function that waits for any SAI/ringbuffer write error ([#3545](https://github.com/embassy-rs/embassy/pull/3545)) 304- Add a function that waits for any SAI/ringbuffer write error ([#3545](https://github.com/embassy-rs/embassy/pull/3545))
287- Disallow start without an initial write ([#3541](https://github.com/embassy-rs/embassy/pull/3541)) 305- Disallow start without an initial write ([#3541](https://github.com/embassy-rs/embassy/pull/3541))
288- Flush FIFO on init and disable ([#3538](https://github.com/embassy-rs/embassy/pull/3538)) 306- Flush FIFO on init and disable ([#3538](https://github.com/embassy-rs/embassy/pull/3538))
@@ -291,6 +309,7 @@ SAI:
291- Add function to check if SAI is muted ([#3282](https://github.com/embassy-rs/embassy/pull/3282)) 309- Add function to check if SAI is muted ([#3282](https://github.com/embassy-rs/embassy/pull/3282))
292 310
293Low-power support: 311Low-power support:
312
294- Update `embassy-executor` to v0.7. 313- Update `embassy-executor` to v0.7.
295- Add support for U0 ([#3556](https://github.com/embassy-rs/embassy/pull/3556)) 314- Add support for U0 ([#3556](https://github.com/embassy-rs/embassy/pull/3556))
296- Add support for U5 ([#3496](https://github.com/embassy-rs/embassy/pull/3496)) 315- Add support for U5 ([#3496](https://github.com/embassy-rs/embassy/pull/3496))
@@ -300,18 +319,20 @@ Low-power support:
300- Fix alarms not triggering in some cases ([#3592](https://github.com/embassy-rs/embassy/pull/3592)) 319- Fix alarms not triggering in some cases ([#3592](https://github.com/embassy-rs/embassy/pull/3592))
301 320
302Timer: 321Timer:
322
303- Add Input Capture high-level driver ([#2912](https://github.com/embassy-rs/embassy/pull/2912)) 323- Add Input Capture high-level driver ([#2912](https://github.com/embassy-rs/embassy/pull/2912))
304- Add PWM Input high-level driver ([#3014](https://github.com/embassy-rs/embassy/pull/3014)) 324- Add PWM Input high-level driver ([#3014](https://github.com/embassy-rs/embassy/pull/3014))
305- Add support for splitting `SimplePwm` into channels ([#3317](https://github.com/embassy-rs/embassy/pull/3317)) 325- Add support for splitting `SimplePwm` into channels ([#3317](https://github.com/embassy-rs/embassy/pull/3317))
306- Fix `SimplePwm` not enabling output pin in some stm32 families ([#2670](https://github.com/embassy-rs/embassy/pull/2670)) 326- Fix `SimplePwm` not enabling output pin in some stm32 families ([#2670](https://github.com/embassy-rs/embassy/pull/2670))
307- Add LPTIM low-level driver. ([#3310](https://github.com/embassy-rs/embassy/pull/3310)) 327- Add LPTIM low-level driver. ([#3310](https://github.com/embassy-rs/embassy/pull/3310))
308- Low-level TIM driver improvements: 328- Low-level TIM driver improvements:
309 - Simplify traits, convert from trait methods to struct. ([#2728](https://github.com/embassy-rs/embassy/pull/2728)) 329 - Simplify traits, convert from trait methods to struct. ([#2728](https://github.com/embassy-rs/embassy/pull/2728))
310 - Add `low_level::Timer::get_clock_frequency()` ([#2908](https://github.com/embassy-rs/embassy/pull/2908)) 330 - Add `low_level::Timer::get_clock_frequency()` ([#2908](https://github.com/embassy-rs/embassy/pull/2908))
311 - Fix 32bit timer off by one ARR error ([#2876](https://github.com/embassy-rs/embassy/pull/2876)) 331 - Fix 32bit timer off by one ARR error ([#2876](https://github.com/embassy-rs/embassy/pull/2876))
312 - Avoid max_compare_value >= u16::MAX ([#3549](https://github.com/embassy-rs/embassy/pull/3549)) 332 - Avoid max_compare_value >= u16::MAX ([#3549](https://github.com/embassy-rs/embassy/pull/3549))
313 333
314DMA: 334DMA:
335
315- 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)) 336- 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))
316, Add support for BDMA on H7 ([#2606](https://github.com/embassy-rs/embassy/pull/2606)) 337, Add support for BDMA on H7 ([#2606](https://github.com/embassy-rs/embassy/pull/2606))
317- Add async `stop()` function to BDMA, DMA ([#2757](https://github.com/embassy-rs/embassy/pull/2757)) 338- Add async `stop()` function to BDMA, DMA ([#2757](https://github.com/embassy-rs/embassy/pull/2757))
@@ -321,6 +342,7 @@ DMA:
321- Right-align `write_immediate()` in ring buffers ([#3588](https://github.com/embassy-rs/embassy/pull/3588)) 342- Right-align `write_immediate()` in ring buffers ([#3588](https://github.com/embassy-rs/embassy/pull/3588))
322 343
323`embassy-time` driver: 344`embassy-time` driver:
345
324- Update to `embassy-time` v0.4, `embassy-time-driver` v0.2. ([#3593](https://github.com/embassy-rs/embassy/pull/3593)) 346- Update to `embassy-time` v0.4, `embassy-time-driver` v0.2. ([#3593](https://github.com/embassy-rs/embassy/pull/3593))
325- Change preference order of `time-driver-any` to pick less-featureful timers first. ([#2570](https://github.com/embassy-rs/embassy/pull/2570)) 347- Change preference order of `time-driver-any` to pick less-featureful timers first. ([#2570](https://github.com/embassy-rs/embassy/pull/2570))
326- 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)) 348- 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))
@@ -328,9 +350,11 @@ DMA:
328- adds timer-driver for tim21 and tim22 (on L0) ([#2450](https://github.com/embassy-rs/embassy/pull/2450)) 350- adds timer-driver for tim21 and tim22 (on L0) ([#2450](https://github.com/embassy-rs/embassy/pull/2450))
329 351
330WDG: 352WDG:
353
331- Allow higher PSC value for iwdg_v3 ... ([#2628](https://github.com/embassy-rs/embassy/pull/2628)) 354- Allow higher PSC value for iwdg_v3 ... ([#2628](https://github.com/embassy-rs/embassy/pull/2628))
332 355
333Misc: 356Misc:
357
334- Allow `bind_interrupts!` to accept conditional compilation attrs ([#3444](https://github.com/embassy-rs/embassy/pull/3444)) 358- Allow `bind_interrupts!` to accept conditional compilation attrs ([#3444](https://github.com/embassy-rs/embassy/pull/3444))
335 359
336## 0.1.0 - 2024-01-12 360## 0.1.0 - 2024-01-12