Alexandros Liarokapis
c991ddb766
use request_pause instead of request_stop at adc shutdown
2024-10-15 12:29:12 +03:00
Alexandros Liarokapis
9c7b296432
overrun at invalid diffs, rename clear to reset, simplify dma_sync method
2024-10-15 12:29:12 +03:00
Alexandros Liarokapis
8271225216
make len method take mut self and remove sync index calls
2024-10-15 12:29:12 +03:00
Alexandros Liarokapis
85fb890b00
add auto-clear functionality to ringbuffer
2024-10-15 12:29:12 +03:00
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
Grant Miller
f2646b29a6
Make clone_unchecked work
2024-09-21 07:52:54 -05: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
Grant Miller
df06c2bbfe
wip: split by value
2024-09-07 11:17:13 -05:00
Grant Miller
b8beaba6df
last oops I promise
2024-09-06 15:08:58 -05:00
Grant Miller
d24c47a3ff
Missing docs
2024-09-06 14:08:22 -05:00
Grant Miller
f571ab9d60
oops again
2024-09-06 14:04:58 -05:00
Grant Miller
71e49839fc
oops
2024-09-06 14:01:10 -05:00
Grant Miller
cfc76cec71
Match embedded-hal api
2024-09-06 13:29:54 -05: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
Grant Miller
f7f062e0a3
Deduplicate SimplePwm's channel methods
2024-09-06 10:25:29 -05:00
Grant Miller
8ac758bdee
embassy-stm32: Add SimplePwmChannel
2024-09-06 09:09:09 -05: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
Daniel Trnka
22f4459ae2
stm32/usart: sending break character in buffered usart
2024-08-28 21:55:08 +02:00
Scott Mabin
f0a8607051
Add block-device-driver impl for use with embedded-fatfs ( #2607 )
2024-08-26 20:45:57 +02:00
Daniel Trnka
bea1f34440
stm32/usart: sending break character
2024-08-25 21:49:43 +02:00
Ulf Lilleengen
1ff1f00d5a
Merge pull request #3282 from elagil/add_sai_is_muted
...
feat: add function to check if SAI is muted
2024-08-25 13:59:27 +00:00
Ulf Lilleengen
1cfd5370ac
Merge pull request #3281 from elagil/ulpi_add_fs_support
...
feat: Add support for a full-speed ULPI mode
2024-08-25 06:05:41 +00:00
Emil Fresk
41e162541a
stm32: Fix log storm when no CAN is connected
...
Running the bxcan driver without having it connected
to a CAN bus causes the `info` logs to bombard.
This removes the logging statements as they looked
like remnants from the development of the driver.
2024-08-25 07:14:19 +02:00
elagil
557cff7085
feat: Add support for a full-speed ULPI mode
2024-08-24 20:23:10 +02:00
elagil
87e97fb69d
feat: add function to check if SAI is muted
2024-08-24 20:16:00 +02:00
Dario Nieuwenhuis
1c466b81e6
Merge pull request #3233 from nautd/uart_half_duplex_fix
...
Convert uart half_duplex to use user configurable IO
2024-08-19 20:20:20 +00:00
Karun
bbc06035c1
make half duplex fn private
2024-08-19 12:15:39 -04:00
Karun
fcf9b3239e
remove duplication
2024-08-19 11:27:18 -04:00
Sjoerd Simons
1b0661ebb1
[UCPD] Add support for non-SOP packets
...
Allow capturing (and distinguishing) non-SOP packets as well. The
default configuration will just configure SOP packets. For ease of use
the default receive function signature is unchanged as for PD sinks
(which is likely the common usage) just SOP is enough so no need to
differentiate.
2024-08-18 21:19:16 +02:00
Dario Nieuwenhuis
8884766450
stm32: update metapac
2024-08-17 21:57:40 +02:00
Alexandros Liarokapis
2b7e76efe9
Fix dma nvic issues on dual core lines
...
This commit addresses #3256 by disabling dma NVIC interrupt enablement at startup.
Instead, per-channel NVIC interrupt enablement is now done with the rest of the dma channel configuration.
This ensures that each core will only handle the interrupts of the DMA channels that it uses.
2024-08-17 16:54:41 +03:00
Dario Nieuwenhuis
55c01818cf
Merge pull request #3213 from embedded-rust-iml/stm32l4-low-power
...
Implement low-power feature for STM32L4 MCUs
2024-08-13 16:43:23 +00:00
Karun
446169b2c1
Add gpio version dependency
...
Add configurable output type for half-duplex
2024-08-06 11:52:16 -04:00
Karun
a725892720
Convert uart half_duplex to use open-drain pull-up
2024-08-05 15:37:03 -04:00
Dion Dokter
ab4d378dda
Merge branch 'master' into stm-dualcore
2024-08-05 11:21:21 +02:00
Dion Dokter
2a7fe16ceb
Improve shared data placement, require less atomic support and use unsafecell for the clocks
2024-08-05 11:18:16 +02:00
Ulf Lilleengen
37d7b0cd06
prepare release embassy-executor
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
44282b18fa
Prepare embassy-time release
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
fb0ab1e42a
Prepare release of embassy-hal-internal
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
5767c003cc
Prepare release of embassy-embedded-hal 0.2.0
2024-08-05 08:56:29 +02:00
Ulf Lilleengen
91f135e25b
Merge pull request #3161 from diondokter/hsem
...
Add function to get the active HSEM interrupt
2024-07-31 14:34:11 +00:00
Samuel Tardieu
8680c86894
embassy-stm32: wait for BSY flag to clear before flashing
...
While not waiting for the BSY flag to clear works on STM32F103C8T6, it
does not on APM32F103C8T6. Only one half-word gets written while the
other one gets lost.
2024-07-27 15:07:04 +02:00
Tobias Naumann
60aa9c15a8
Implement low-power feature for stm32l4 MCUs
2024-07-26 14:25:10 +02:00
Dario Nieuwenhuis
8c4f044ae7
Merge pull request #3207 from diondokter/fix-opamp-lifetimes
...
Add extra lifetime to opamp-using structs
2024-07-25 15:14:10 +00:00
Dion Dokter
4a8abe8028
Relax lifetimes again
2024-07-25 16:01:27 +02:00
Dario Nieuwenhuis
2d678d6956
Update to Rust 1.80, make check-cfg unconditional.
2024-07-25 15:53:00 +02:00
Dion Dokter
6ef9e564ca
Add extra lifetime to opamp-using structs
2024-07-25 12:22:55 +02:00
Dario Nieuwenhuis
2537fc6f4f
Merge pull request #3188 from ninjasource/sdmmc-dma-buffers
...
embassy-stm32: Allow cmd block to be passed in for sdmmc dma transfers
2024-07-22 19:44:00 +00:00
David Haig
e7270e00f6
Added set_cmd_block for dma memory compatibility
2024-07-19 02:03:53 +01:00
Dario Nieuwenhuis
024097d833
Merge pull request #3163 from michelrandahl/f303-tsc-example
...
add TSC examples
2024-07-18 12:10:02 +00:00
Dario Nieuwenhuis
2e4374df1b
Merge pull request #3189 from kalkyl/fmc-a13
...
stm32: Add 13bit address sdram constructors
2024-07-18 11:38:19 +00:00
Tarun Singh
a716a3f006
Reduced define for 'unreachable!' to a single macro rule
2024-07-17 17:05:52 -04:00
kalkyl
a4ca71bc23
stm32: Add 13bit address sdram constructors
2024-07-17 18:16:56 +02:00
David Haig
32019ed9b7
Allow cmd buffer to be passed in for dma memory
2024-07-17 17:12:37 +01:00