3219 Commits

Author SHA1 Message Date
Dion Dokter
04dd1d9e77 Add the ADC5 to the DMA codegen for the STM32g4x3 and g4x4 2025-04-14 14:57:28 +02:00
Ivan Li
bbfebf968e feat(embassy-stm32/opamp): Add some stm32g4 opamp usage
Signed-off-by: Ivan Li <ivanli2048@gmail.com>
2025-04-14 20:42:46 +08:00
Anton Pöhl
de06406899 Stm32 usart: Remove meaningless pin configurations 2025-04-12 20:56:00 +02:00
Anton Pöhl
eb73cc7cfe Format 2025-04-11 20:58:03 +02:00
Anton Pöhl
a544726be4 Stm32 usart: remove HalfDuplexConfig
The pin parameters of usart::Config are used instead.
2025-04-11 20:58:03 +02:00
Anton Pöhl
e3cec4a246 Stm32 usart: make pin modes of cts, tx, rts and de configurable 2025-04-11 20:58:03 +02:00
RichardWGNR
aae3f7fb70 Fix rustfmt #4075 2025-04-11 04:31:32 +05:00
RichardWGNR
4d903a713e Capability to modify CAN frame data without copying. #4075 2025-04-11 04:27:03 +05:00
RichardWGNR
8fb0186f87 Fix #4062 2025-04-11 00:36:00 +05:00
Dániel Buga
4239a43810
Hand-roll defmt::Format for Hertz 2025-04-08 16:21:41 +02:00
Steven Friedman
bbf2a641dd
remove Hz from log 2025-04-08 09:36:35 -04:00
Steven Friedman
3cb178e78e
Frequency display is now consistent 2025-04-08 09:17:54 -04:00
Dario Nieuwenhuis
9d83955fd5
Merge pull request #4056 from embassy-rs/f1-enable-adc-irq
stm32/adc: enable interrupt for stm32f1
2025-04-06 23:36:54 +00:00
Dario Nieuwenhuis
1074cc7eaf stm32/adc: enable interrupt for stm32f1
Co-Authored-By: Tnze <cjd001113@outlook.com>
2025-04-07 01:04:50 +02:00
Dario Nieuwenhuis
717fbc1cd9
Merge pull request #4016 from antonok-edm/emmc
Support eMMC devices via SDMMC (STM32)
2025-04-06 22:04:18 +00:00
Dario Nieuwenhuis
5bd610b0de
Merge pull request #4054 from embassy-rs/ringbuffer2
fix(stm32): handle half-duplex in ringbuffered read
2025-04-06 22:01:34 +00:00
Dario Nieuwenhuis
068b3c90d4
Merge pull request #3922 from antonellocontini/f413-fix-i2s-pll-source-selection
Fix I2S PLL source selection for F413/F423/F412
2025-04-06 21:58:26 +00:00
Badr Bouslikhin
b0ba604ba5 fix(stm32): handle half-duplex in ringbuffered read 2025-04-06 23:52:39 +02:00
Dario Nieuwenhuis
bdeeb388ff
Merge pull request #4045 from mkj/dev/matt/xspi
stm32h7rs xspi
2025-04-06 20:35:48 +00:00
Dario Nieuwenhuis
4fec76da28 stm32/timer: update OPM to Peri API. 2025-04-06 22:17:26 +02:00
Dario Nieuwenhuis
5b632e3d03
Merge pull request #4044 from yodaldevoid/stm32-opm-timer
STM32: One pulse mode timer
2025-04-06 22:09:45 +02:00
Ulf Lilleengen
b1179c5090
Merge pull request #3983 from mgomez0/topic/buffered-uart-take-pins-before-interrupts
BufferedUart initialization
2025-04-05 05:36:27 +00:00
Michael Gomez
f1feedf190 BufferedUart initialization
This change modifies UART initialization throughout Embassy to take pins
before interrupts.

Related to #1304.
2025-04-04 21:54:36 -07:00
Gabriel Smith
f8e5c90266 stm32/timer: Support one pulse mode
Currently does not support output pins so it really is only useful to
create delayed interrupts based on external signals.
2025-04-04 17:40:22 +00:00
Gabriel Smith
eee2d8c84d stm32/timer: Merge channel typestate structs 2025-04-04 17:40:15 +00:00
Matt Johnston
5f7da4cfc8 stm32: xspi fixes and consistency
Fix some incorrect DTR flags, fix _bit vs _Bit inconsistency (copied
from qspi and ospi).

Use the same NCS pullup for all constructors.

xspi is now enabled in PWR register
2025-04-04 17:41:53 +08:00
Matt Johnston
6b80f3bada stm32: xspi: rework switching between ncs1 and ncs2 2025-04-04 17:41:53 +08:00
Matt Johnston
e22fe7cbcf stm32: xspi wait for prescaler change
This is documented as being required (and is done by stm32cube),
hasn't been observed as a problem though.
2025-04-04 17:41:53 +08:00
Matt Johnston
65f849a589 stm32: xspi update for Peri 2025-04-04 17:41:53 +08:00
Matt Johnston
36a5b02774 stm32: Update xspi for stm32-metapac changes
This is now closer to the original ospi, using more idiomatic naming.

Some dead code is removed (previously was hidden by [allow(dead_code)]).
2025-04-04 17:41:52 +08:00
Rick Rogers
6d384a1a39 introduce stm32h7rs xspi 2025-04-04 15:36:33 +08:00
Matt Johnston
b2d9203af7 Bump stm32-data 2025-04-04 15:22:32 +08:00
Fredrik Reinholdsen
47869d122a fix: Fix for #3888 async I2C read bug for introduced in #3887 in STM32 I2C v2 driver
In fixing a different timing related bug, #3887, a new bug was introduced causing I2C reads longer than 255 bytes to timeout for some I2C devices, #3888.
The issue was caused by incorrect branch order, and poll function being called unnecessarily.

Async I2C read poll function now only looks for I2C transfer complete reload (TCR) interrupts, intead of TCR and transfer complete (TC) interrupts,
since TC interrupts are not raised when AUTOEND bit is set.
2025-04-01 21:28:07 +02:00
Anton Lazarev
dc31bfd829
refactor to reduce code duplication 2025-03-31 12:47:41 -07:00
Anton Lazarev
0a231505d8
support 8 lane data bus 2025-03-31 12:47:41 -07:00
Anton Lazarev
b92eb948b5
fix d6->d7 typo from build.rs 2025-03-31 12:47:41 -07:00
Anton Lazarev
57731a7896
support eMMC 2025-03-31 12:47:41 -07:00
Anton Lazarev
5325f1d911
scaffold eMMC support 2025-03-31 12:47:41 -07:00
Anton Lazarev
14bb4ee9e4
use ready_for_data status to determine when write has finished
`read_sd_status` works, but it's somewhat of a hack, but also won't work
on eMMC devices. The official spec for both SD and eMMC recommends using
this method.
2025-03-31 12:47:41 -07:00
Anton Lazarev
5d01712d84
use upstream command definitions 2025-03-31 12:47:41 -07:00
Anton Lazarev
d22a7a3a96
update sdio-host to 0.9 2025-03-31 12:47:41 -07:00
Anton Lazarev
280d21a6b4
update sdio-host to 0.6 2025-03-31 12:47:41 -07:00
Tobias Naumann
c29fc3532b Merge branch 'main' into fix/ringbuffered-error-handling to resolve merge conflicts 2025-03-31 16:48:13 +02:00
Ulf Lilleengen
aadd4e5513
Merge pull request #3968 from embedded-rust-iml/feature/ringbuffered-embedded-hal-nb
Add embedded_hal_nb::serial::Read impl for RingBufferedUartRx
2025-03-31 07:05:19 +00:00
elagil
ca8be1c976 fix: stm32g4 calibration delays 2025-03-29 22:01:54 +01:00
Dario Nieuwenhuis
3a3ab6cded
Merge pull request #3928 from agrif/stm32-i2c-set-config
Fix SetConfig implementation for STM32 I2C v2
2025-03-28 15:17:21 +00:00
techmccat
ce578b62b8 stm32: run cargo fmt 2025-03-28 10:45:14 +01:00
techmccat
0621087f6f stm32: allow using LSI/LSE as SYSCLK on g0/c0 2025-03-28 10:35:05 +01:00
Dario Nieuwenhuis
d41eeeae79 Remove Peripheral trait, rename PeripheralRef->Peri. 2025-03-27 15:18:06 +01:00
Tobias Naumann
14d079ae84 Cleanup stm32_metapac register usage in usart module 2025-03-27 12:03:52 +01:00