Commit Graph

2608 Commits

Author SHA1 Message Date
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