Commit Graph

2704 Commits

Author SHA1 Message Date
Alexandros Liarokapis
f4ec0cb4d4 simplify and rename ringbuffer methods, make len available 2024-10-15 12:29:12 +03:00
Alexandros Liarokapis
2b10caafd4 stm32: initial support for alternative ringbuffer implementation 2024-10-15 12:29:12 +03:00
Роман Кривенков
6862ac56cb Stm32: implement async flush for UART 2024-10-14 13:28:35 +04:00
Dario Nieuwenhuis
9a45d776d8 rustfmt for new nightly. 2024-10-14 00:12:45 +02:00
Dario Nieuwenhuis
ee669ee5c5 Update nighlty, fix warnings.
Fixes #2599
2024-10-14 00:11:16 +02:00
HaoboGu
0222faa8a1
Add octospim support for octospi (#3102)
* feat: add octospim to ospi

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat: make octospim behind feature gate

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* refactor: fix fmt issue

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* refactor: fix ci failure

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat: add octospim reg writing code

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat(octospi): enable rcc for octospim at the initialization

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* fix: add octospim feature gate

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* fix: fix cfg flag

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* fix: fix rcc register on stm32l4 and stm32u5

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat(ospi): support OCTOSPI2 in build.rs

Signed-off-by: Haobo Gu <haobogu@outlook.com>

* feat(ospi): add OCTOSPI2 pin impls

Signed-off-by: HaoboGu <haobogu@outlook.com>

* feat(ospi): support both ospi instances in stm32 OCTOSPIM

Signed-off-by: Haobo Gu <haobogu@outlook.com>

---------

Signed-off-by: Haobo Gu <haobogu@outlook.com>
Signed-off-by: HaoboGu <haobogu@outlook.com>
2024-10-13 22:32:22 +02:00
Dario Nieuwenhuis
2f6273bb5d
Merge pull request #3299 from badrbouslikhin/main
fix(stm32): disable transmitter during during half-duplex flush
2024-10-13 20:10:16 +00:00
Beat Küng
0bf99820f3
stm32: add RX Pull configuration option to USART 2024-10-12 13:47:26 +02:00
Fabian Viöl
3870411a4a stm32/i2c: disable pullup instead of pulldown 2024-10-10 16:12:51 +02:00
Dario Nieuwenhuis
456c226b29
Merge pull request #3404 from farmblox/fix-stm32-exti-low-power
stm32: fix low-power EXTI IRQ handler dropped edges
2024-10-08 20:48:26 +00:00
Lena Berlin
df0fc04198
fix: stm32l0 low-power EXTI IRQ handler wiped pending bits before they were checked 2024-10-08 11:18:59 -04:00
Ulf Lilleengen
81573b1a6d
Merge pull request #3364 from hansihe/fix-fdcan-preemption-dequeued-frame-return
Fix return value of `fdcan` `write`
2024-09-23 08:09:17 +00:00
Dario Nieuwenhuis
fb0afa8a0f stm32: update metapac. Fixes SPI version on L0. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
68b783aedf stm32/spi: fix hang/corruption of word sizes other than 8bit. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
59dcffbc60 stm32/gpdma: clear tr3 just in case. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
f2f96a731c stm32/gpdma: ensure bndt in bytes doesn't overflow. 2024-09-23 02:06:58 +02:00
Dario Nieuwenhuis
9705f3332b
Merge pull request #3337 from doesnotcompete/feature/h7rs-usb
Add OTG_HS support for STM32H7R/S
2024-09-22 23:56:17 +00:00
Hans Josephsen
e2d2b0f362 Currently the return value of write is broken, it never returns the
previous frame even when present.

This happens because a slice of length 64 is always passed to Frame::new
from within the `abort_pending_mailbox` function, causing `Frame::new`
to return None.

The fix is to take a subslice of length `data_length`.
2024-09-22 12:40:46 +02:00
Shaw Drastin
db31e36485 stm32/spi: issue correct DMA word length when reading
Currently, when calling read() of the SPI bus, DMA always transmits u8,
which will cause hang if SPI transfer size > 8bit. Use matching word
size for TX DMA instead.
2024-09-22 11:13:10 +02:00
Dario Nieuwenhuis
233905e18c
Merge pull request #3356 from peterkrull/ringbuffered-uartrx-deadlock
stm32: Fix RingBufferedUartRx hard-resetting DMA after initial error
2024-09-22 08:56:46 +00:00
Kevin
85b7c8957c Add presence check for OTG_HS peripheral on STM32H7R/S series 2024-09-22 01:11:32 +02:00
Kevin
6d9af8304c Add USBPHYC clock configuration for H7RS series 2024-09-22 00:23:07 +02:00
Kevin
2f60d78ea3 Add OTG_HS support for STM32H7R/S 2024-09-22 00:23:07 +02:00
Reed
3328c5d656
Correctly gate time feature of embassy-embedded-hal in embassy-stm32 2024-09-21 12:31:38 +12:00
Gerhard de Clercq
5ea934d4ba embassy_stm32/eth: support compliance testing
This change adds the possibility to perform compliance testing with
STM32 systems by directly exposing SMI when needed. Users can
then use this to configure PHY registers for test modes.
2024-09-20 09:57:31 +02:00
Peter Krull
3aeeeb0d78 stm32: Start DMA before clearing, avoid panic in updater ringbuffer impl 2024-09-19 20:07:08 +02:00
Peter Krull
4fcc8e39d6 stm32: Only check errors on running RingBufferedUartRx, reduce number of small one-time functions 2024-09-19 19:21:34 +02:00
Peter Krull
2a9cdaabaa stm32: Moved comment to match request_stop 2024-09-19 18:25:08 +02:00
Peter Krull
907d55ea82 stm32: Added request_pause to DMA, and use it for RingBufferedUartRx 2024-09-19 18:14:09 +02:00
Dario Nieuwenhuis
ae8caf3f55
Merge pull request #3314 from elagil/add_iso_endpoint_support
Add ISO endpoint support
2024-09-16 19:51:52 +00:00
Dario Nieuwenhuis
c739091085 Update stm32-metapac. 2024-09-11 01:19:46 +02:00
Romain Goyet
d69f68b8c0 stm32: Use a GLOBAL interrupt for lptim 2024-09-11 01:18:52 +02:00
Romain Goyet
69208daf6d stm32: Fixing stupid typo (thanks @dirbaio) 2024-09-11 01:18:52 +02:00
Romain Goyet
ac319970b8 stm32: Work around LPTIM4 2024-09-11 01:18:52 +02:00
Romain Goyet
652133bce4 stm32: Support LPTIM v1 and v2 2024-09-11 01:18:52 +02:00
Romain Goyet
37130f45e4 stm32: Use the updated LPTIM pac 2024-09-11 01:18:52 +02:00
Romain Goyet
b449e04a88 stm32: Temporary fix around incomplete stm32-metapac 2024-09-11 01:18:52 +02:00
Romain Goyet
3b8859653e stm32: Clean up the lptim driver 2024-09-11 01:18:52 +02:00
Romain Goyet
a1c9a2e8bd First working draft of a lptim driver
This driver is able to PWM a pin
2024-09-11 01:18:52 +02:00
Dario Nieuwenhuis
1ea29f1d2e
Merge pull request #3169 from Adancurusul/g4_dev
Add adc oversampling and adc differential for g4
2024-09-10 23:07:11 +00:00
Dario Nieuwenhuis
fac71e594e
Merge pull request #3271 from sjoerdsimons/ucpd-sop-filters
[UCPD] Add support for non-SOP packets
2024-09-10 23:03:58 +00:00
Dario Nieuwenhuis
609b1b0355
Merge pull request #3286 from trnila/stm32_usart_break
stm32/usart: sending break character
2024-09-10 21:33:27 +00:00
Dario Nieuwenhuis
1058afd5fd
Merge pull request #3303 from maximevince/stm32f2-flash-support-blocking
stm32: add f2 flash support (blocking)
2024-09-10 21:30:54 +00:00
Dario Nieuwenhuis
d5e77f69c1
Merge pull request #3319 from badrbouslikhin/buffered-uart-rx-fix
fix(stm32): fix dma and idle line detection in ringbuffereduartrx
2024-09-10 21:30:22 +00:00
elagil
e698fbe598 fix: pull-down clock/data lines for receive 2024-09-10 21:38:05 +02:00
Badr Bouslikhin
0e477a4df5
fix(stm32): enable dma half transfer interrupt for buffereduart 2024-09-06 18:55:33 +02:00
Badr Bouslikhin
ee25f14b20
fix(stm32): reorder dma and idle futures 2024-09-06 18:55:33 +02:00
elagil
ccf68d7391 feat(usb): add support for ISO endpoints 2024-09-05 21:29:04 +02:00
Maxime Vincent
82f274ea09
stm32: add f2 flash support (blocking) 2024-09-02 12:25:42 +02:00
Badr Bouslikhin
f6d92b7611
fix(stm32): disable transmitter during half-duplex read 2024-08-30 18:52:23 +02:00