Commit Graph

2717 Commits

Author SHA1 Message Date
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
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
rafael
d9ea5cb015 stm after cargo fix 2024-07-14 17:56:56 +02:00
rafael
c7f775dc20 stm 2024-07-14 16:42:54 +02:00
Chen Yuheng
fd5501d455 delete unused "info!" and fmt 2024-07-11 15:34:34 +08:00
Chen Yuheng
f01ffbcc12 Add oversampling and differential for g4 2024-07-11 10:33:43 +08:00
michel
52f40b9c9d add blocking TSC examples 2024-07-10 13:26:18 +02:00
Dion Dokter
4972dbd91b Add function to get the active HSEM interrupt 2024-07-09 11:49:16 +02:00
Dion Dokter
e39e93ead4 Improve use of CS 2024-07-09 09:56:15 +02:00
Dion Dokter
6db0daf79b Fix errors 2024-07-09 09:53:01 +02:00
Dion Dokter
f6f312270f fmt 2024-07-09 09:37:49 +02:00
Dion Dokter
203297b569 Make clocks repr C.
Add shared data.
Modify freq functions to use shared data.
Modify examples to use new init/
2024-07-08 16:54:06 +02:00
Ulf Lilleengen
e2f9a48457
Merge pull request #3148 from andresv/stm32-adc-blocking_read
stm32 adc: introduce blocking_read
2024-07-03 12:45:58 +00:00
Andres Vahter
f851081e09 stm32 adc: introduce blocking_read 2024-07-03 15:20:31 +03:00
Dario Nieuwenhuis
ac5b7edb05
Merge pull request #3144 from Stupremee/better-clock-messages
Better panic message when peripheral clock is not enabled
2024-07-03 09:30:24 +00:00
Ulf Lilleengen
914d7c7919
Merge pull request #3128 from andresv/stm32-adc-dma-v3
STM32 ADC v3 and V4 DMA support
2024-07-03 08:13:26 +00:00
Ulf Lilleengen
ef78e3283b
Merge pull request #3143 from andresv/stm32-ringbuffered-adc-docs
stm32 ringbuffered adc docs
2024-07-03 07:33:10 +00:00
Ulf Lilleengen
b6f76b5ab2
Merge pull request #3110 from liarokapisv/adc_v4_averaging
stm32 - Adc v4 - Add averaging support.
2024-07-03 07:22:34 +00:00
Ulf Lilleengen
3e70601fc7
Merge pull request #3124 from Adancurusul/dev
Add adc oversampling support
2024-07-03 07:22:03 +00:00
Justus K
9e4e536769
Better panic message when peripheral clock is not enabled 2024-07-03 08:32:00 +02:00
Ulf Lilleengen
5223923bd2
Merge pull request #3111 from Eekle/feature/async_tsc
Add async API to TSC
2024-07-02 18:51:50 +00:00
Eekle
d3f8905e93 Use crate level PeriMode 2024-07-02 20:46:05 +02:00
Andres Vahter
d4ff7616f9 stm32 ringbuffered adc docs improvements 2024-07-02 17:35:15 +03:00
Andres Vahter
a4e62314af stm32: adc v3: fix for newest pac 2024-07-02 17:15:22 +03:00
Andres Vahter
c120efad5b stm32 adc read_async: add asserts for buf len 2024-07-02 17:07:18 +03:00
Andres Vahter
5e2fd8623a stm32 adc v3 read_async 2024-07-02 17:07:18 +03:00
Alexandros Liarokapis
02b096915f add asynchrous sequence read support to adc v4 2024-07-02 17:07:18 +03:00
Andres Vahter
dd69efe708 stm32 ringbuffered adc: add buf size assert 2024-07-02 16:56:19 +03:00
Andres Vahter
b88e1a5d71 stm32 ringbuffered adc docs 2024-07-02 16:53:49 +03:00
Andres Vahter
1f30ad595b stm32 ringbuffered adc: fix for metapac changes 2024-07-02 09:21:27 +03:00
Andres Vahter
8cbb64226b update stm32-metapac 2024-07-02 09:15:01 +03:00
Dario Nieuwenhuis
6f21d5e478
Merge pull request #3116 from sethkrie/adc-v2-ringbuf
ring buffered adc v2
2024-07-02 01:05:49 +00:00
Dario Nieuwenhuis
d6e4086a15
Merge pull request #3089 from qwerty19106/stm32_uart_half_fix_sequential_read_write
WIP: STM32 Half-Duplex: fix sequential reads and writes
2024-07-02 00:58:54 +00:00
Dario Nieuwenhuis
c0cd851fb9
Merge pull request #3093 from liarokapisv/circular_half_transfer_ir
Enables half transfer ir when constructing a ReadableDmaRingBuffer
2024-07-02 00:51:05 +00:00
Роман Кривенков
a862334dae STM32 Half-Duplex: fix sequential reads and writes 2024-07-02 02:45:06 +02:00
Dario Nieuwenhuis
976e9f7fba
Merge pull request #3104 from birdistheword96/main
Fix: Ensure I2C bus is free before master-write operation
2024-07-01 23:18:55 +00:00
Dario Nieuwenhuis
00babd2ec4
Merge pull request #3126 from ninjasource/stm32-ltdc
Add support for the stm32 LTDC display peripheral
2024-07-01 23:18:15 +00:00
seth
27652798c7 fix typo, add spaces after // 2024-07-01 06:44:47 -07:00
Eekle
1d1fc9afea Add async and blocking variants 2024-06-30 11:03:29 +02:00
David Flemström
662e97f7b5 Panic on index-out-of-bounds when releasing RCC node 2024-06-29 01:37:35 +02:00
David Flemström
114dda2fd1 Avoid accidental copy of static var before creating mut ref 2024-06-29 01:34:07 +02:00
David Flemström
2f750a82bf Swat some other occurrences of .unwrap() that pull in panicing infra 2024-06-28 22:52:21 +02:00
David Flemström
73d937dc33 Remove implicit bounds checking from rcc module 2024-06-28 22:52:10 +02:00
David Haig
6edf7b4688 Applied formatting 2024-06-28 18:17:17 +01:00
David Haig
79f00e54cc Moved ltdc example to its own crate 2024-06-28 18:11:34 +01:00
David Haig
1123e3fd41 Get dsi_bsp example to compile again 2024-06-28 15:12:17 +01:00
David Haig
47c7bb2bb5 Updated metapac dependency to latest for LTDC support 2024-06-28 11:35:38 +01:00
David Haig
0e84bd8a91 Add support for the stm32 ltdc display peripheral 2024-06-27 20:13:20 +01:00
Chen Yuheng
a0799bf270 Add adc oversampling support 2024-06-27 17:04:26 +08:00
seth
7056783fa2 second adc added to example + API todos completed 2024-06-24 17:53:59 -07:00
seth
f64dd8228b new PR, taking Dirbao's advice to make the DMA impl in a separate struct that consumes Adc<T> to make RingBufferedAdc<T>. Handling overrun similar to RingBufferedUart 2024-06-24 17:09:43 -07:00
Eekle
7eb605d116 fmt 2024-06-23 16:55:36 +02:00