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
Eekle
2655426cd8
Add async wait to TSC
2024-06-23 16:43:12 +02:00
Alexandros Liarokapis
3883a5b2de
Enables adc v4 averaging support.
...
The Adc v4 peripheral includes a hardware oversampler.
This PR adds an averaging interface that keeps most of the current
interface backwards compatible while allowing for the common use-case
of hardware-averaging. A more comprehensive oversampler interface may
be exposed in the future.
2024-06-23 12:43:24 +03:00
Alexandros Liarokapis
00ff1409cd
Enables half transfer ir when constructing a ReadableDmaRingBuffer
...
The half transfer irq needs to be enabled in order for the hardware to
notify the waker when the transfer is at half. This is needed to ensure
no overuns occur when using `ReadableDmaRingBuffer`'s `read_exact`.
Otherwise we are only notified when the DMA has completed its cycle and
is on its way to start overwriting the data. The docs in the dma_bdma
buf module also seem to imply that the half transfer irq must be enabled for
proper operation. The only consumers of the `ReadableDmaRingBuffer` api
are the sai module and the `RingBufferedUartRx`. The former enables the
irq manually when constructing the transfer options while the
latter does not. This may also be the cause for #1441 .
2024-06-23 11:43:50 +03:00
Jamie Bird
18ba56534b
Fix Formatting Issues
2024-06-21 15:29:02 +01:00
Jamie Bird
060d1f6e6f
Fix: Ensure I2C bus is free before master-write operation
...
The I2C master-write function was failing when executed immediately after an I2C read operation, requiring manual delays to function correctly. This fix introduces a check to ensure the I2C bus is free before initiating the write operation.
According to the RM0399 manual for STM32H7 chips, the BUSY bit (Bit 15 in the I2C ISR register) indicates whether a communication is in progress on the bus. The BUSY bit is set by hardware when a START condition is detected and cleared when a STOP condition is detected or when PE = 0.
This fix prevents the write operation from starting until the BUSY bit is cleared.
2024-06-21 15:09:57 +01:00
ROMemories
4b0615957f
docs(gpio): fix a typo regarding GPIO speed
2024-06-20 12:09:30 +00:00
Fan Jiang
478cbc6a41
Update Cargo.toml to latest stm32-metapac
2024-06-17 14:09:53 -04:00
Dario Nieuwenhuis
6a4ac5bd60
Add collapse_debuginfo to fmt.rs macros.
...
This makes location info in defmt logs point to the code calling the macro,
instead of always to fmt.rs as before. Fix works with nightlies
starting with today's, and stable 1.81+.
2024-06-17 01:38:57 +02:00
Dario Nieuwenhuis
1e268a4d3d
Merge pull request #3084 from sjoerdsimons/ucpd-missing-packets
...
Improve stm32 ucpd packet reception
2024-06-16 19:57:14 +00:00
Jan Špaček
94007ce6e0
stm32/gpio: refactor AfType
2024-06-16 21:11:55 +02:00
Sjoerd Simons
9e8035cfb9
[USPD] clear interrupt flags right after reception
...
Clearing the interrupt flags at beginning of reception will masks
overruns and cause corrupted packets to be received. Instead clear the
flags right after disabling the interrupt/after reception, so overruns
on the next receive can be caught.
Tested by forcing overruns due to explicit sleeps
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2024-06-16 11:00:56 +02:00
Sjoerd Simons
84cbf1d198
[UCPD] Don't disable ucpd rx after each reception
...
When disabling the UCPD RX after every reception it's relatively easy to
drop packets. This seems to happen in particular with GoodCRC packets
which can be sent very quickly by a receiver. To avoid this enable
reception as soon as the pd phy get split out (preparing for packet
processing) and only disable again when the pd phy gets dropped.
2024-06-16 10:59:21 +02:00
Mark Szente
3cf94958c6
Add Format derive
2024-06-15 14:21:15 +02:00
Eekle
b64b555bbf
Update stm32 to latest generated data
2024-06-14 18:58:01 +02:00
Dario Nieuwenhuis
7ad76f5f60
Use raw slices .len() method instead of unsafe hacks.
...
Stabilized in 1.79.
2024-06-13 20:41:08 +02:00
Dario Nieuwenhuis
4d9115b3fb
Update stable to Rust 1.79.
2024-06-13 20:40:04 +02:00
Dario Nieuwenhuis
72029ca0c6
stm32: update stm32-metapac, fixes memory.x for many families.
2024-06-12 21:39:39 +02:00
Dario Nieuwenhuis
ad7d739ddc
Merge pull request #3062 from kkrolczyk/kk/bootloader-typos
...
fix docu typos, linker addr example
2024-06-10 20:48:41 +00:00
Krzysztof Królczyk
268430bd9f
stm32/docs: correct typos, links
...
Signed-off-by: Krzysztof Królczyk <Krzysztof.Krolczyk@o2.pl>
2024-06-10 11:25:43 +02:00
Dario Nieuwenhuis
3e2b015dc4
Merge pull request #3054 from dvdsk/clonable-errors
...
Add Clone and Copy to Error types
2024-06-09 09:47:26 +00:00
dvdsk
871fe3a549
Add Clone and Copy to Error types
...
None of them are `non-exaustative`, they are all small enough to be copy
(I estimate none are larger than 4 bytes).
2024-06-06 23:19:07 +02:00
Ulf Lilleengen
30918c355b
prepare for embassy-time 0.3.1 release
2024-06-04 09:02:41 +02:00
Dario Nieuwenhuis
9856d21693
Merge pull request #3006 from honzasp/harmonize-new
...
stm32: Make initialization of I2C and USART consistent with SPI
2024-06-03 21:26:43 +00:00
Jan Špaček
f3703ff6bf
stm32/usart: set refcount even if initialization failed
2024-06-03 20:12:33 +02:00
Dario Nieuwenhuis
348c87fc2f
stm32/spi: fix blocking_write on nosck spi.
...
Fixes #2902 .
2024-06-03 00:57:53 +02:00
Corey Schuhen
900b104860
Remove generic argument from CanBuilder.
2024-06-02 21:47:14 +10:00
Corey Schuhen
367a22cc0e
Remove more BXCAN generics.
2024-06-02 20:11:56 +10:00
Jan Špaček
664e4a5c03
stm32/usart: move init code to function that's not generic in T
2024-06-01 19:46:39 +02:00
Jan Špaček
44e4a2c9e9
stm32/buffered-usart: use new_pin! and disconnect pins on drop
2024-06-01 19:46:39 +02:00
Jan Špaček
ade27b7f21
stm32/usart: disconnect pins of RingBufferedUartRx on drop
2024-06-01 19:46:39 +02:00
Jan Špaček
41711195e3
stm32/i2c: use new_pin! macro
2024-06-01 19:46:39 +02:00
Jan Špaček
ca3c15658d
stm32/spi: move init code to function that's not generic in T
2024-06-01 19:46:39 +02:00
Dario Nieuwenhuis
339dd85968
stm32/spi: restrict txonly_nosck to SPIv1, it hangs in other versions.
2024-05-31 22:58:53 +02:00
Dario Nieuwenhuis
da197b6016
stm32/spi: fix spiv1 rxonly hanging.
2024-05-31 21:54:42 +02:00
Dario Nieuwenhuis
ba940017ee
Merge pull request #3014 from brunob45/pwm_input
...
Add PWM Input for STM32
2024-05-31 18:09:27 +00:00
Jan Špaček
bfb380e8ca
Copy build_common.rs into each crate, to make cargo publish happy
2024-05-31 08:07:51 +02:00
Bruno Bousquet
7d86919257
rust fmt really does not want blank space there
2024-05-30 17:54:49 -04:00
Bruno Bousquet
83b5797b8d
fix fmt (again)
2024-05-30 17:53:38 -04:00
Bruno Bousquet
713d84f778
fix fmt
2024-05-30 17:51:48 -04:00
Bruno Bousquet
4d307b5a77
undo changes in input_capture
2024-05-30 17:49:20 -04:00
Bruno Bousquet
84707af5d7
create functions in inner to handle register modification
2024-05-30 17:43:53 -04:00
Jan Špaček
368893c9cb
Emit cargo:rustc-check-cfg instructions from build.rs
2024-05-30 18:28:29 +02:00
Dario Nieuwenhuis
694ac3a515
Merge pull request #2992 from liarokapisv/i2s-spi_v3
...
Add spi v3 & Full-duplex support to the I2S driver.
2024-05-30 12:31:59 +00:00
Dario Nieuwenhuis
d21e9caa80
Merge pull request #3021 from mat-kie/follower-opamp
...
Make OpAmp usable in follower configuration for internal DAC channel
2024-05-30 12:23:53 +00:00
Dario Nieuwenhuis
b378ec4558
Merge pull request #3020 from cschuhen/feature/bxcan_no_generics
...
Remove generics for BXCAN.
2024-05-30 12:16:17 +00:00
Corey Schuhen
b4a2f7fb70
Use phantom for lifetime holder instead of not used pointer to pointer.
2024-05-30 22:10:46 +10:00
Mattis Kieffer
28f5f0baba
add dac buffer function
2024-05-30 14:07:47 +02:00
Dario Nieuwenhuis
39c5a6c3f7
Merge pull request #3002 from honzasp/rcc-info
...
stm32/rcc: replace generated enable/disable code with runtime info
2024-05-30 11:50:40 +00:00
Corey Schuhen
245c895d09
Remove generics for BXCAN.
2024-05-30 21:39:11 +10:00
Dario Nieuwenhuis
7bc71a8262
Merge pull request #3019 from embassy-rs/rtc-lowpower-mod
...
stm32/rtc: move lowpower stuff to a separate mod.
2024-05-30 11:34:46 +00:00
Dario Nieuwenhuis
2c691baadd
stm32/rtc: move lowpower stuff to a separate mod.
2024-05-30 13:26:14 +02:00
Dario Nieuwenhuis
62f4b4ee1e
Merge pull request #3018 from embassy-rs/nopacpointer
...
stm32: remove pointer-to-pointer-to-registers.
2024-05-30 11:17:51 +00:00
Dario Nieuwenhuis
c46172acac
stm32: remove pointer-to-pointer-to-registers.
...
in chiptool pacs the register block struct is already a pointer, so
using pointers to it is redundant.
2024-05-30 13:07:18 +02:00
Dario Nieuwenhuis
7532a06f67
Merge pull request #3007 from liarokapisv/spi_v3-fix-rx
...
Add proper rxonly support for spi_v3 and force tx dma stream requirem…
2024-05-30 10:44:48 +00:00
Dario Nieuwenhuis
e9cb9badf7
Merge pull request #3012 from cschuhen/feature/fdcan_no_generics
...
Remove generic argument for STM32 FDCAN.
2024-05-30 10:42:53 +00:00
Bruno Bousquet
292c1dd0b8
rename get_width_ticks and add info!() in examples
2024-05-29 09:59:00 -04:00
Bruno Bousquet
a23fa8dcb2
Apply suggestions from code review
...
Co-authored-by: Romain Reignier <romainreignier@users.noreply.github.com>
2024-05-29 09:14:05 -04:00
Lucas Granberg
b282edcc6e
add set_as_analog to stm32 gpio Flex
2024-05-29 14:56:29 +03:00
Ulf Lilleengen
cf0d227cca
Prepare for embassy-sync 0.6.0 release
2024-05-29 12:09:55 +02:00
Corey Schuhen
35feb1bf23
Remove generic argument for STM32 FDCAN.
2024-05-29 20:07:17 +10:00
Bruno Bousquet
521332bdd1
pwm_input is working on F446
2024-05-29 00:28:26 -04:00
Bruno Bousquet
f1d5f4ca21
undo minor changes
2024-05-28 22:43:23 -04:00
Bruno Bousquet
a52841041d
use timer LL
2024-05-28 22:38:08 -04:00
Bruno Bousquet
7c1e1ee288
example is working now
2024-05-28 22:30:10 -04:00
Dario Nieuwenhuis
000b022ae2
Merge pull request #2988 from de-vri-es/bxcan-tx-fifo-scheduling
...
embassy_stm32: implement optional FIFO scheduling for outgoing frames
2024-05-28 11:12:37 +00:00
Alexandros Liarokapis
4d1fbcd9cd
address review comments
2024-05-28 13:38:27 +03:00
Alexandros Liarokapis
46fc15783d
add spi_v4 and spi_v5 support but block i2scfg rx-only configuration
2024-05-28 12:50:24 +03:00
Alexandros Liarokapis
9a6ed79ad1
remove rx-only support for new spi versions with missing I2SCFGR register
2024-05-27 20:51:50 +03:00
Alexandros Liarokapis
1d05015a1c
broaden tsize read support to other spi versions
2024-05-27 20:47:24 +03:00
Alexandros Liarokapis
76fbec74da
fix spi panic on read due to i2s configuration conversion check
2024-05-27 20:43:24 +03:00
Aurélien Jacobs
ec6cfc1f21
stm32: ensure the core runs on HSI clock while setting up rcc
2024-05-27 17:31:29 +02:00
Alexandros Liarokapis
25cc5241b1
Add i2s support for spi_v3.
2024-05-27 18:06:20 +03:00
Alexandros Liarokapis
f9324201b1
add proper rxonly support for spi_v3 and force tx dma stream requirement on others
2024-05-27 17:49:47 +03:00
Maarten de Vries
807e573994
embassy_stm32: allow scheduling lower priority frames in bxcan driver
2024-05-27 16:10:08 +02:00
Maarten de Vries
854ae5da8f
embassy_stm32: implement optional FIFO scheduling for outgoing frames
2024-05-27 16:10:08 +02:00
Jan Špaček
081afca3f0
stm32/rcc: replace generated enable/disable code with runtime info
2024-05-25 18:44:55 +02:00
Dario Nieuwenhuis
a5763b4df4
Merge pull request #2943 from joelsa/add-miso-pullup
...
Add miso pullup to spi configuration
2024-05-24 15:01:18 +00:00
Joël Schulz-Andres
ac76a713e1
Remove wrong modulo
2024-05-24 16:54:04 +02:00
Joël Schulz-Andres
e1d2ba07a7
Formatting
2024-05-24 14:15:10 +02:00
Joël Schulz-Andres
c4b3488f7f
Add body to match statement
2024-05-24 14:12:01 +02:00
Joël Schulz-Andres
fab434ae84
Use match instead of if
2024-05-24 14:09:29 +02:00
Joël Schulz-Andres
32a75cb764
Fix naming
2024-05-24 13:53:19 +02:00
Joël Schulz-Andres
bfc5929f50
gpiov1: Do not call set_speed for AFType::Input
...
Co-authored-by: Toby Fleming <tobywf@users.noreply.github.com>
2024-05-24 13:46:55 +02:00
Joël Schulz-Ansres
5cba97821f
Naming: Change pullup to pull
2024-05-24 01:05:56 +02:00
Joël Schulz-Ansres
f285a545be
Change bool to Pull
2024-05-23 23:52:59 +02:00
Jan Špaček
183f2f6913
stm32/usart: remove instance generic params
2024-05-23 16:32:15 +02:00
Joel Schulz-Andres
0a5820e3ed
Merge branch 'embassy-rs:main' into add-miso-pullup
2024-05-23 15:34:16 +02:00
Dario Nieuwenhuis
ded1f9d335
Merge pull request #2989 from MabezDev/ringbuf-reconfigure
...
stm32 ringbuffered usart: don't teardown during reconfigure
2024-05-23 10:10:57 +00:00
Dario Nieuwenhuis
e5c579d9fb
Merge pull request #2985 from rumcake-rs/stm32-adc-anyadcchannel
...
stm32/adc: add AnyAdcChannel type
2024-05-23 10:09:45 +00:00
Univa
4e9206efb8
remove InternalChannel and AdcPin
2024-05-22 19:00:48 -04:00
Joël Schulz-Ansres
27e8ef6e7e
Remove Speed::Input in order to move it into separate PR
2024-05-22 23:49:48 +02:00
Joël Schulz-Ansres
89017d338f
Cargo format
2024-05-22 23:45:26 +02:00
Joël Schulz-Ansres
2f7bba4668
Use ODR register for Pull::Up or Down
2024-05-22 23:44:34 +02:00
Scott Mabin
94e559eba7
Don't teardown during reconfigure
2024-05-22 22:28:03 +01:00
Univa
41e11d86b9
make AdcChannel required for InternalChannel
2024-05-21 19:08:01 -04:00
Univa
ddbb6c8c31
add back InternalChannel and implement it where its missing
2024-05-21 19:03:14 -04:00
Dario Nieuwenhuis
e7161aa085
stm32/qspi: remove DMA generic param.
2024-05-22 00:23:42 +02:00
Dario Nieuwenhuis
6fa608f516
Merge pull request #2941 from nautd/kkoppul2/update_ospi
...
Remove OSPI generic DMA
2024-05-21 22:09:44 +00:00
Dario Nieuwenhuis
7a26cc3764
Merge pull request #2786 from andelf/fix/stm32wl-msi-crash
...
Fix crash caused by using higher MSI range as sysclk on STM32WL
2024-05-21 22:07:50 +00:00
Dario Nieuwenhuis
5ecc9b805d
Merge pull request #2829 from aurelj/stm32-rcc-hsi
...
stm32: ensure the core runs on HSI clock while setting up rcc
2024-05-21 22:06:24 +00:00
Dario Nieuwenhuis
ae49e58993
Merge pull request #2777 from taunusflieger/feature/HSEM
...
HSEM support for embassy-stm32
2024-05-21 21:34:50 +00:00
Dario Nieuwenhuis
4b5026e197
Merge pull request #2895 from qwerty19106/fix_uart_half_fifo_flush
...
Fix uart::flush with FIFO at Half-Duplex mode
2024-05-21 21:26:04 +00:00
Dario Nieuwenhuis
afd61ed610
stm32/hsem: misc fixes.
2024-05-21 23:22:47 +02:00
Michael Zill
7d350fb4c8
HSEM support for embassy-stm32
2024-05-21 23:08:44 +02:00
Dario Nieuwenhuis
2d8ec70f71
Merge pull request #2853 from nautd/kkoppul2/tsc
...
TSC implementation
2024-05-21 20:55:41 +00:00
Univa
7cdbae2a5d
add AnyAdcChannel
2024-05-20 21:29:20 -04:00
Dario Nieuwenhuis
45a12fd41f
stm32/i2c: remove peripheral generic param.
2024-05-21 01:25:49 +02:00
Dario Nieuwenhuis
6a508b3210
stm32: use funcs for info/state, const for ENABLE_BIT.
2024-05-21 01:24:10 +02:00
Dario Nieuwenhuis
ca2eef5387
stm32/spi: remove peripheral generic param.
2024-05-20 23:43:10 +02:00
Dario Nieuwenhuis
eeb6ffce4c
stm32/rcc: add ClockEnableBit struct.
2024-05-20 23:37:20 +02:00
Dario Nieuwenhuis
7f3872ab98
Merge pull request #2903 from joelsa/add-dsihost
...
Add stm32 dsihost driver
2024-05-20 10:49:27 +00:00
Dario Nieuwenhuis
621dbeceda
Merge pull request #2912 from brunob45/simple_capture
...
STM32 Input Capture
2024-05-20 08:49:12 +00:00
Joël Schulz-Ansres
cc6998be30
Cargo format
2024-05-15 14:12:44 +02:00
Joël Schulz-Ansres
db56c4fe6f
Add miso pullup to spi configuration, add input as field for speed
2024-05-15 12:54:30 +02:00
Karun
3e399a9690
update to remove dma generics
2024-05-14 12:45:07 -04:00
Joël Schulz-Ansres
620d182c5a
Use read_busy function
2024-05-14 13:53:02 +02:00
Joël Schulz-Ansres
663b5b094d
Add helper functions
2024-05-14 13:45:37 +02:00
Joël Schulz-Ansres
48719d742c
Add unwrap to write
2024-05-14 12:22:27 +02:00
Joël Schulz-Ansres
94cf606892
Improve write_cmd parameters
2024-05-14 12:16:43 +02:00
Joël Schulz-Ansres
9005d26fca
Remove comments, add some comments, minor fixes to dsihost.rs
2024-05-14 12:14:34 +02:00
Dario Nieuwenhuis
a14319f51e
stm32: allow some unused.
2024-05-13 00:00:36 +02:00
Dario Nieuwenhuis
623d3ec306
stm32/ospi: remove unused trait.
2024-05-12 23:41:46 +02:00
Timo Kröger
5c93e9dadd
[UCPD] Use ChannelAndRequest
helper
2024-05-10 10:37:56 +02:00
Dario Nieuwenhuis
b13ad7e80b
Fix PeripheralRef soundness issue allowing &T.
...
Fix soundness issue introduced in a previous soundness fix https://github.com/embassy-rs/embassy/pull/2602 .
PeripheralRef must not implement DerefMut itself, but the blanket impl must still require DerefMut. Otherwise
you can create two instances of a driver on the same uart by using `&my_uart`.
2024-05-07 23:26:15 +02:00
Bruno Bousquet
969933cb7b
fix fmt for ci
2024-05-06 02:52:22 -04:00
Bruno Bousquet
55c8d3f474
add async capture
2024-05-06 02:47:42 -04:00
Bruno Bousquet
b662dfb183
format timer/mod.rs
2024-05-05 23:15:00 -04:00
Bruno Bousquet
29d6fa0a4a
add get_input_interrupt
2024-05-05 23:00:48 -04:00
Bruno Bousquet
431a60ca63
formatting
2024-05-05 22:30:16 -04:00
Bruno Bousquet
ad66dc3aab
create input_capture
2024-05-05 21:58:54 -04:00
Jan Špaček
7b3939ca80
stm32/timer: add low_level::Timer::get_clock_frequency()
2024-05-04 19:44:03 +02:00
Karun
07c2f169f5
Add versioning for group checks
2024-05-03 19:47:42 -04:00
Karun
a91f686544
Check group configuration validity
2024-05-03 19:45:26 -04:00
Karun
8e92e8718d
Add example documentation
2024-05-03 19:45:26 -04:00
Karun
0f8b3b8c65
Functional touch sensing
2024-05-02 17:19:08 -04:00
Karun
3cd6232d43
update num groups definition
2024-05-02 17:19:08 -04:00
Karun
4bf2178de7
remove remaining warnings
2024-05-02 17:17:39 -04:00
Karun
253f6c42ee
Address versioning and format issues raised by CI
2024-05-02 17:17:39 -04:00
Karun
fd69247d70
hyperspecific constructor
2024-05-02 17:17:39 -04:00
Karun
af357d2ad0
Prevent invalid config sets
2024-05-02 17:17:39 -04:00
Karun
87d2c66ef4
Add io pin masking
2024-05-02 17:17:39 -04:00
Karun
0b606b57f1
Add crate documentation
2024-05-02 17:17:39 -04:00
Karun
bcd923a4b0
fix create build pin traits
2024-05-02 17:17:39 -04:00
Karun
bef76ee057
initial set of io changes
2024-05-02 17:17:38 -04:00
Karun
0febc24de7
Initial fill out of driver without IO considerations
2024-05-02 17:17:38 -04:00
Joël Schulz-Ansres
bcbb486311
Feature-gate u5
2024-05-02 15:57:52 +02:00
Joël Schulz-Ansres
f29deb2488
Add feature gate for f7
2024-05-02 15:39:53 +02:00
Joël Schulz-Ansres
4c55931b6a
Remove redundant dsi_phy: None from rcc
2024-05-02 14:58:38 +02:00
Роман Кривенков
d5f0bceb7c
Clear Receiver enable flag before write in Half-Duplex mode
2024-05-02 15:59:42 +04:00
Joël Schulz-Ansres
f468d84a5b
Cargo format
2024-05-02 13:50:07 +02:00
Joël Schulz-Ansres
9fe50a7639
Add stm32 dsihost driver
2024-05-02 13:43:42 +02:00
Dario Nieuwenhuis
366f6215c3
stm32/i2c: actually add h7rs support.
2024-05-01 17:00:02 +02:00
Dario Nieuwenhuis
b3ca42f8f9
stm32/i2c: add h7rs support.
2024-05-01 16:33:34 +02:00
Dario Nieuwenhuis
fb67fe0a6c
stm32: add support for STM32H7[RS] "bootflash line", add HIL tests.
2024-05-01 02:24:45 +02:00
Dario Nieuwenhuis
b3d94160b4
stm32: add support for H5[23], U5[FG], WBA5[045].
2024-04-30 00:09:49 +02:00
Dario Nieuwenhuis
1ed2a0504a
stm32/dma: add support for same channel with different req in different DMAs/DMAMUXes.
2024-04-29 23:56:15 +02:00
Dario Nieuwenhuis
7fb74ff756
stm32: rustfmt generated files in build.rs
2024-04-29 23:51:33 +02:00
Dario Nieuwenhuis
6f44d7a9df
stm32: update metapac. Adds U5 LPDMA, fixes ADC_COMMONs.
2024-04-29 20:52:27 +02:00
Dario Nieuwenhuis
679160a1c5
Merge pull request #2887 from jamesmunns/james/stm32-i2cv1-errata
...
stm32: Add workaround for STM32 i2cv1 errata
2024-04-29 12:06:08 +00:00
James Munns
5ce3a6b61e
Add workaround for STM32 i2cv1 errata
2024-04-29 12:32:33 +02:00
Adam Greig
cb60f06594
stm32: dac: fix new_internal not setting mode as documented
2024-04-29 02:28:20 +01:00
Dario Nieuwenhuis
14225eb3a0
Merge pull request #2876 from ftk/timer32fix
...
stm32 timer: fix 32bit timer off by one ARR error
2024-04-28 21:24:14 +02:00
Dario Nieuwenhuis
f60c094891
Merge pull request #2877 from eZioPan/h5-low-power
...
low power for h5
2024-04-28 18:39:35 +00:00
Dario Nieuwenhuis
bbedcf9b0b
Merge pull request #2874 from qwerty19106/patch-1
...
Improve Uart::new_half_duplex docs
2024-04-28 18:37:14 +00:00
eZio Pan
d9e59e8e42
low power for h5
2024-04-28 00:33:02 +08:00
Dániel Buga
887d7e1430
Configure MAX_EP_COUNT via const generics
2024-04-27 18:01:45 +02:00
ftk
e7bfd7bac9
stm32 timer: fix 32bit timer off by 1 ARR error
2024-04-27 15:49:30 +03:00
qwerty19106
c929ad226b
Improve Uart::new_half_duplex docs
2024-04-27 12:22:35 +04:00
Dario Nieuwenhuis
5732ee7ca9
Reduce use of the full futures
crate.
2024-04-26 23:22:25 +02:00
Dario Nieuwenhuis
a8401ec94e
stm32/usart: remove wildcard import.
2024-04-26 22:59:11 +02:00
Dario Nieuwenhuis
49b143ec6d
Merge pull request #2871 from bugadani/synopsys
...
Extract Synopsys USB OTG driver from embassy-stm32
2024-04-26 20:23:09 +00:00
Dániel Buga
bc0408dc4b
Remove extra disable call
2024-04-26 22:16:45 +02:00
Dániel Buga
7ce2594eb7
Reset inited flag to allow re-enabling
2024-04-26 18:18:08 +02:00
Dániel Buga
50aefb4174
Hide the Dir trait
2024-04-26 18:13:15 +02:00
Dániel Buga
91c42e0b9e
Extract synopsys otg driver
2024-04-26 17:58:23 +02:00
Michael de Silva
02bb85a791
Add trace logging for USART
2024-04-24 01:59:00 +05:30
Dario Nieuwenhuis
1de44e7086
Merge pull request #2840 from MaxiluxSystems/feature/fdcan-runtime-cfg
...
stm32: can: fd: Properties for common runtime get/set operations
2024-04-23 13:46:09 +00:00
Torin Cooper-Bennun
e15fd5895f
stm32: can: fd: Properties: simplify reg accesses
2024-04-23 12:46:42 +01:00
Torin Cooper-Bennun
521c132e34
stm32: can: fd: introduce BusErrorMode with docs and Properties getter
2024-04-23 12:34:17 +01:00
Torin Cooper-Bennun
6ca7e0feab
stm32: can: fd: fix a couple doc comments
2024-04-23 12:34:02 +01:00
Dario Nieuwenhuis
511bee7230
Merge pull request #2854 from ericyanush/feat/add-bxcan-sleep-wakeup
...
Add stm32 bxCAN sleep/wakeup functionality
2024-04-22 22:57:22 +00:00
Eric Yanush
5c56aff9c2
rustfmt fixes
2024-04-22 14:05:28 -06:00
Eric Yanush
e65503e255
Add sleep/wakeup handling for bxCAN peripherals
2024-04-22 14:04:39 -06:00
Eric Yanush
3e00c1ac52
rustfmt whitespace fixes
2024-04-22 14:01:48 -06:00
Torin Cooper-Bennun
263071d016
stm32: can: fd: Properties: rm &mut refs; make !Sync; rename getters
2024-04-22 13:14:32 +01:00
Torin Cooper-Bennun
7f55a28a50
stm32: can: fd: Properties for common runtime get/set operations
2024-04-22 13:14:32 +01:00
Eric Yanush
68a4fd8f4a
Enable LEC interrupt as well
2024-04-22 01:52:10 -06:00
Eric Yanush
6e1290b3f1
Ensure bus errors are forwarded only once, enable bus off/passive/warning interrupts
2024-04-22 01:46:24 -06:00
Joël Schulz-Ansres
152d514f52
Fix spelling in vbus_detection doc comment
2024-04-22 00:39:59 +02:00
Dario Nieuwenhuis
00708d8c27
Merge pull request #2833 from qwerty19106/stm32_fix_half_duplex_uart
...
Allow Uart::new_half_duplex for any usart version
2024-04-18 14:49:11 +00:00
qwerty19106
ce58cd0f1c
Allow Uart::new_half_duplex for all usart_vx
2024-04-18 10:34:52 +04:00
Torin Cooper-Bennun
80b3db4ea6
stm32: can: fd: implement bus-off recovery
...
as per RM0492 and other relevant RMs, bus-off recovery is not automatic.
CCCR.INIT is set by the device upon bus-off; the CPU must reset
CCCR.INIT to initiate the recovery.
2024-04-17 14:58:08 +01:00
Torin Cooper-Bennun
901bdfc7b8
stm32: can: fd: on_interrupt: simplify, rm redundant code
...
PED, PEA are never enabled in the interrupt enable code in
peripheral.rs; no need to process the flags here
2024-04-17 14:57:58 +01:00
Aurélien Jacobs
10ee1c1ae8
stm32: ensure the core runs on HSI clock while setting up rcc
2024-04-16 23:36:47 +02:00
Dario Nieuwenhuis
bab4affe7c
Merge pull request #2813 from diondokter/u0-dion
...
More U0 support
2024-04-16 18:45:09 +00:00
Dario Nieuwenhuis
2bd5095991
stm32/usb: enable USV for U0.
2024-04-16 20:37:42 +02:00
Dario Nieuwenhuis
e5e9fb78af
update stm32-metapac.
2024-04-16 20:37:10 +02:00
Daniel Igaz
32b1b4067f
Bug: There are at most 18 channels for the ADC.
2024-04-16 20:27:12 +02:00
Dario Nieuwenhuis
b3710a31f0
Merge pull request #2825 from MaxiluxSystems/fix/adc-blocking-delay-overflow
...
stm32: adc: fix blocking_delay_us() overflowing when sys freq is high
2024-04-16 14:22:39 +00:00
Torin Cooper-Bennun
d928663bae
stm32: adc: fix blocking_delay_us() overflowing when sys freq is high
...
e.g. H503 running at 250 MHz resulted in an upper bound of 17 us here.
casting up to u64 for intermediate calc allows the upper bound to be
increased by a factor of 1e6
2024-04-16 15:13:31 +01:00
Dion Dokter
c8c7c718f3
Merge branch 'master' into u0-dion
2024-04-16 13:48:18 +02:00
James Munns
2315a39293
Remove nested CS
2024-04-16 13:39:00 +02:00
James Munns
75352d181c
Add critical sections to avoid USB OTG Errata
2024-04-16 12:07:40 +02:00
Dario Nieuwenhuis
d6b1233f16
stm32/usart: remove DMA generic params.
2024-04-16 02:00:55 +02:00
Dario Nieuwenhuis
524c24c8b3
Merge pull request #2808 from MaxiluxSystems/feature/stm32h50-flash-swap-banks
...
stm32: flash: h50: implement bank swapping
2024-04-15 22:35:07 +00:00
Dario Nieuwenhuis
6d122c274f
Merge pull request #2792 from wagcampbell/wgc/u5-flash-non-secure
...
Support non-secure flash operations on STM32U5
2024-04-15 22:28:34 +00:00
Warren Campbell
c5119c6318
Add support for using secure registers
2024-04-15 18:02:29 -04:00
Dario Nieuwenhuis
913bb19a34
stm32/i2c: remove DMA generic params.
2024-04-15 23:40:12 +02:00
Dario Nieuwenhuis
2eab099b85
stm32/spi: rename rxdma, txdma -> rx_dma, tx_dma.
2024-04-15 21:56:08 +02:00
Dario Nieuwenhuis
09a284e959
stm32: rename mod traits to macros.
2024-04-15 21:52:40 +02:00
Dario Nieuwenhuis
02da66aec8
stm32/dma: add ChannelAndRequest helper.
2024-04-15 21:52:40 +02:00
Dario Nieuwenhuis
be087e5d43
stm32/spi: remove DMA generic params.
2024-04-15 21:23:49 +02:00
Warren Campbell
2fa0bb7d6e
Use non-secure registers for u5 flash
2024-04-15 14:59:31 -04:00
Torin Cooper-Bennun
f66b63017c
stm32: flash: h50: implement bank swapping
2024-04-15 11:37:40 +01:00
Dario Nieuwenhuis
fcaa7de87e
stm32/rcc: make ClockMux non_exhasutive.
2024-04-15 01:12:28 +02:00
Dario Nieuwenhuis
65c085ce91
Add stm32u0 support.
2024-04-14 22:29:07 +02:00
Dario Nieuwenhuis
87b79d4499
Merge pull request #2807 from chemicstry/rcc_methods
...
Expose RCC enable and disable methods
2024-04-14 20:14:46 +00:00
Dario Nieuwenhuis
4079a8acf8
stm32/adc: update g4 for new pac.
2024-04-14 22:06:41 +02:00
Dario Nieuwenhuis
1f3b690f76
stm32/flash: remove otp flash regions (removed in newer metapacs).
2024-04-14 22:06:41 +02:00
Michael Zill
ffc61f78b0
stm32/spi,crc: update for new PAC
2024-04-14 22:06:41 +02:00
Dion Dokter
e224e6cef4
Add CRC
2024-04-14 01:10:20 +02:00
Dion Dokter
ca84be80bc
Add wdt and flash
2024-04-14 00:45:53 +02:00
Dion Dokter
b659e3d529
Add ADC
2024-04-14 00:04:13 +02:00
Dion Dokter
5f23e39052
Add some examples.
...
- usart works
- dac works
- rng gets stuck on while loop
- usb_serial works, but cannot test due to lack of user usb port
- adc needs work and does not work yet
2024-04-13 18:40:46 +02:00
Dario Nieuwenhuis
ec6ff217ca
Add stm32u0 support.
2024-04-13 03:57:21 +02:00
Dario Nieuwenhuis
52bd24499c
stm32/adc: update g4 for new pac.
2024-04-13 03:34:28 +02:00
Dario Nieuwenhuis
d9426549c3
stm32/flash: remove otp flash regions (removed in newer metapacs).
2024-04-13 03:33:16 +02:00
Michael Zill
9f4d320d67
stm32/spi,crc: update for new PAC
2024-04-13 03:33:04 +02:00
chemicstry
64b806db0b
Expose RCC enable and disable methods
2024-04-12 18:07:44 +03:00
Dario Nieuwenhuis
499c6e84a3
stm32/otg: fix OTG_HS in FS mode.
2024-04-12 03:33:20 +02:00
Boris Faure
98b4eb4491
stm32: fix typo in doc
2024-04-11 22:51:34 +02:00
Andres Vahter
6e24dc58c6
stm32 adc: use fn blocking_delay_us(us: u32)
2024-04-10 22:23:49 +03:00
Andres Vahter
68b1a840c6
stm32 adc: remove DelayNs
2024-04-10 10:33:15 +03:00
Andres Vahter
fd802ffdfd
stm32: use embedded_hal_1::delay::DelayNs
...
This makes delay compatible with https://lib.rs/crates/rtic-monotonics .
2024-04-09 22:32:09 +03:00
Andelf
803b76df86
Fix crash caused by using higher MSI on STM32WL
2024-04-08 01:23:49 +08:00
Dillon McEwan
2ad82c2adf
Fix 'clocok' typo in RCC docs
2024-04-05 10:07:15 -07:00
Torin Cooper-Bennun
c953b9045b
stm32: adc: v3: [h5] set OR.OP0 to 1 when ADCx_INP0 is selected, per RM
2024-04-05 13:00:33 +01:00
Dario Nieuwenhuis
c2b8ddaa83
stm32/qspi: autodeduce transfer len from buffer len.
...
mirrors change made in #2672 .
2024-04-05 01:41:47 +02:00
Dario Nieuwenhuis
3d7d3e0286
stm32/time-driver: always use CC interrupt.
...
This avoids cfg's, because it works both for timers that have a a dedicated CC interrupt
line, and timers where all interrupts go to a single interrupt line.
2024-04-05 00:56:21 +02:00
eZio Pan
5dc3738bc2
add missing interrupt for timer
2024-04-05 00:51:20 +02:00
eZio Pan
78b9cb98d4
"separate CC interrupt" is for AdvCh4 only
2024-04-05 00:51:20 +02:00
eZio Pan
348a46b110
move enable_outputs
to private trait ...
...
... to avoid API leaking.
2024-04-05 00:51:20 +02:00
Dario Nieuwenhuis
d597815c9a
stm32: remove last few mod sealed's.
2024-04-05 00:48:46 +02:00
Dario Nieuwenhuis
a0439479f7
Merge pull request #2742 from sgoll/i2c-async-transaction
...
stm32/i2c(v1): Implement asynchronous transactions
2024-04-04 21:43:21 +00:00
Dario Nieuwenhuis
921fa9af80
Merge pull request #2672 from nautd/karun/main_octospi_implementation
...
Octospi implementation
2024-04-04 21:41:34 +00:00
Dario Nieuwenhuis
6c35a1769d
Merge pull request #2697 from eZioPan/stm32-cordic
...
stm32 CORDIC driver
2024-04-04 21:32:27 +00:00
Karun
330a3b0488
Fix passing of dual quad param to inner constructor
2024-04-03 16:42:16 -04:00