3175 Commits

Author SHA1 Message Date
Matt Allen
5e3cfc7b5c
Merge branch 'embassy-rs:main' into stm32-pwm-pin-config 2025-03-07 10:41:36 -05:00
Matt Allen
91d8175f62 Fixed documentation 2025-03-06 09:44:06 -05:00
Matt Allen
1646dc36f2 Added gpio version specific code 2025-03-06 09:41:07 -05:00
Ulf Lilleengen
d378dca352
Merge pull request #3930 from meowcakes/fix_uart
Fix STM32 UART: Add separate TX waker and only clear idle flag in RingBufferedUartRx
2025-03-06 07:21:08 +00:00
Matt Allen
f22649e008 Added function to channel_impl to allow full configuration of the pin 2025-03-05 22:10:00 -05:00
Hendrik v. Raven
4c01f033ea
stm32: do not use private constructor 2025-02-28 09:06:18 +01:00
Rogan Morrow
db44679e75 fix 2025-02-28 12:50:15 +11:00
Rogan Morrow
5512e3a540 fix 2025-02-28 12:49:28 +11:00
Rogan Morrow
32f6f1513d add missing module 2025-02-28 12:41:44 +11:00
Rogan Morrow
2cc21d4883 feature flag 2025-02-28 12:40:01 +11:00
Rogan Morrow
065071b467 add separate tx waker 2025-02-28 12:30:23 +11:00
Rogan Morrow
3b37c79331 only clear idle flag 2025-02-28 12:28:57 +11:00
Aaron Griffith
03f73ce339 stm32/i2c: disable peripheral when changing timings 2025-02-27 06:50:01 -05:00
Guy Marino
27709df94a
Implement core::error::Error for STM32 Serial Devices 2025-02-26 14:14:16 -08:00
antonello.contini
0c1601651b cargo fmt 2025-02-25 22:02:23 +01:00
antonello.contini
724e1a34e5 simpler configuration 2025-02-25 21:37:01 +01:00
antonello.contini
51085a5e94 let user set external i2s clock frequency 2025-02-25 21:21:23 +01:00
antonello.contini
f1c7e388e6 do not use pllsrc for i2s; added field for plli2ssrc selection 2025-02-25 19:59:57 +01:00
Dario Nieuwenhuis
00ef474b94
Merge pull request #3915 from embedded-rust-iml/fix/BufferedUartRx-nb-read
fix: BufferedUartRx embedded_hal_nb::serial::Read impl
2025-02-24 14:34:13 +00:00
Maximilian Rozwora
519bd86467 fix: Check buffer full before pop_done() 2025-02-24 15:11:14 +01:00
Maximilian Rozwora
c52f56785f Apply cargo format 2025-02-24 14:48:32 +01:00
Maximilian Rozwora
76756ee702 fix: BufferedUartRx embedded_hal_nb::serial::Read impl 2025-02-24 14:34:41 +01:00
Ronald Weber
7a2f038800 doc: Fix "the the" 2025-02-19 17:29:21 +01:00
Dario Nieuwenhuis
1780f8479e
Merge pull request #3878 from showier-drastic/i2c-v2-add-nack
stm32: i2c-v2: Add error handling
2025-02-17 19:52:41 +01:00
Dario Nieuwenhuis
897d42e012
Merge pull request #3880 from nikvoid/stm32-rtc-subsecond
STM32: RTC subsecond support
2025-02-16 23:22:50 +00:00
Fredrik Reinholdsen
7f4cce536a fix: Fix for async I2C v2 driver sequential read/write reads. Fixes #3887
For I2C devices that support variable length reads, sending chunks of data as long as the master keeps ACK:ing after each received byte, sequential reads will sometimes get out of sync, causing additional reads to return invalid data.

This was caused by a delay between awaiting the DMA read and sending the software STOP signal, which may result in the slave to have time to send a byte of data in between, causing potential miss-alignment. This would then cause subsequent reads to return invalid data.

Async write-reads now no longer send STOP after the initial write, matching the behaviour of the blocking version.
2025-02-15 12:06:49 +01:00
nikvoid
610804f138 stm32: read microsecond from RTC 2025-02-13 15:15:47 +02:00
Shaw Drastin
1c1aea62d0 stm32: i2c-v2: Add error handling
Currently when error occurres, we have to wait for timeout, which is
less than ideal. Enable related interrupts, and return Err when error
occurres.
2025-02-12 21:16:18 +08:00
elagil
38799c63fd fix: UCPD drop logic
Read rxpaysz immediately
2025-02-07 23:31:02 +01:00
vinsynth
6ec72c0af0 set PLLI2SM and plli2s_src f423 2025-02-02 18:53:06 -05:00
vinsynth
ce04cf8340 set PLLI2S M and SRC for f4 chips which support it 2025-02-02 18:12:34 -05:00
Dario Nieuwenhuis
b1245858f3 stm32/eth: rename PHY->Phy, GenericSMI -> GenericPhy. Remove unneeded unsafes.
We shouldn't use `unsafe` to mark merely "dangerous" actions, only actions that
actually cause UB.
2025-01-26 22:43:28 +01:00
Dario Nieuwenhuis
c8d29a1e2c
Merge pull request #3795 from nikvoid/stm32-phy-addr-detection
STM32: Option to detect Ethernet PHY address automatically
2025-01-26 21:21:06 +00:00
Dario Nieuwenhuis
7e0c70b1aa
Merge pull request #3812 from noracarmig/sai_v3_dma
Allow stm32 H7 and L5 families to use external SAI sync & allow recovering after dropping a DMA channel
2025-01-26 20:21:51 +00:00
elagil
d9026f06fe fix: STM32H5 UCPD reception 2025-01-26 17:33:26 +01:00
noracarmig
fcacbae233 Allow chips from L5 (sai_v3_2pdm) and H7 (sai_v3_4pdm) families to use external sai sync 2025-01-26 15:58:52 +00:00
noracarmig
72020fc012 Reset complete count global variable on Dma configure 2025-01-26 14:53:10 +00:00
Georges Palauqui
da0f6dbe08 derive defmt::Format on pub struct/enum of stm32::rtc 2025-01-24 11:58:33 +01:00
Dario Nieuwenhuis
4e3d066251
Merge pull request #3779 from algesten/fix/f107-rcc
Full RCC support for STM32F107
2025-01-24 09:13:45 +00:00
Martin Algesten
4743501172 Move PLL2/3 config to before PLL 2025-01-24 10:06:32 +01:00
Martin Algesten
3ba94c0ab3 Fix init order of set_prediv1src 2025-01-24 09:36:11 +01:00
Martin Algesten
c72d9ec859 Review fixes 2025-01-24 09:16:24 +01:00
nikvoid
afe6b9a192 split PHY constructor to new and new_auto 2025-01-23 13:34:54 +02:00
nikvoid
dff8be9bb6 run rustfmt 2025-01-22 18:11:32 +02:00
nikvoid
83ccbf48d7 remove cortex-m delay 2025-01-22 18:09:25 +02:00
nikvoid
2d7e0b6e0f use Delay from embassy-time to wait for PHY response 2025-01-22 13:43:45 +02:00
nikvoid
5885369f47 Option to detect Ethernet PHY address automatically 2025-01-22 13:23:29 +02:00
Dario Nieuwenhuis
195b1a593a
Merge pull request #3792 from adamgreig/stm32-clkmux-unreachable
stm32: Change unreachable panic to explicit error message when access…
2025-01-22 01:22:37 +00:00
Adam Greig
da8612e95b
stm32: Change unreachable panic to explicit error message when accessing clock-muxed peripherals set to invalid clocks 2025-01-22 01:17:20 +00:00
Dario Nieuwenhuis
010d4622f9
Merge pull request #3765 from dimpolo/hertz-display
stm32: impl Display for time::Hertz
2025-01-22 00:34:40 +01:00