2862 Commits

Author SHA1 Message Date
Dion Dokter
9fdfe5e99b Fix typo 2024-10-29 17:50:46 +01:00
Dion Dokter
2d899a17e7 Add some sanity checks 2024-10-29 17:26:35 +01:00
Dion Dokter
5db6b4874d Expose async functions for QSPI 2024-10-29 17:13:09 +01:00
Dario Nieuwenhuis
10c9fbcc99
Merge pull request #3458 from williams-one/fix-ltdc-settings-for-stm32u5
Fix LTDC registry settings for STM32U5
2024-10-29 10:45:31 +00:00
Dario Nieuwenhuis
1457e4d1ac
Merge pull request #3456 from HaoboGu/feat/ospi_mm
Add memory mapped mode for stm32 ospi
2024-10-27 18:24:13 +00:00
Dario Nieuwenhuis
f0a2616dd6
Merge pull request #3468 from korken89/fix-can-hang
This fixes 2 issues where STM32 BXCAN would hang
2024-10-27 18:19:56 +00:00
Emil Fresk
917f1d1f4d This fixes 2 issues where STM32 BXCAN would hang
1. If one received frames under an `interrupt_free` section, in my case
   `init` in RTIC, the RX IRQ will fire and clear it's enable bit after
   `interrupt_free` is complete. There is no frame to read so RX is now
   unconditionally disabled forever.
2. On clearing of RX IRQ, TX stops silently. This happens due to the use
   of `write` instead of `modify` when modifying IRQ enable bits.

Solution 1: Enable RX IRQs on every call to `try_read` that return no
data. This solution also solves the issue of very delayed handling of
the RX IRQ which would cause the same issue.

Solution 2: Use `modify` instead of `write`.
2024-10-27 10:10:46 +01:00
Haobo Gu
ca6bcb4250 feat(ospi): add ospi example
Signed-off-by: Haobo Gu <haobogu@outlook.com>
2024-10-26 23:41:46 +08:00
dvdsk
edac7cc630
stm32/uart remove DmaUnsynced from public api
Its an internal error which should never be exposed. It should only
occur with wrong driver implementations. We log to the user and return
an Overrun error since handling DmaUnsynced as an Overrun will resolve it.
2024-10-26 12:38:10 +02:00
William
45e7a7a55a Update CFBLR configuration
As per section "43.7.23 LTDC layer x color frame buffer length register (LTDC_LxCFBLR)" of Reference manual for STM32U5 RM0456, CFBLL has to be set to the length of one pixel line plus 3 (instead of plus 7 as for H7)
2024-10-25 15:03:26 +02:00
Haobo Gu
7b62d70d18 feat(ospi): add memory mapped mode
Signed-off-by: Haobo Gu <haobogu@outlook.com>
2024-10-25 18:27:48 +08:00
dvdsk
be50b62677
stm32/uart impl ReadReady for RingbufferdUart 2024-10-23 21:06:58 +02:00
Ulf Lilleengen
8803128707
Merge pull request #3317 from GrantM11235/simplepwmchannel
embassy-stm32: Add SimplePwmChannel
2024-10-23 10:30:13 +00:00
Haobo Gu
e5bc266654 feat: set ospi memory mapped mode
Signed-off-by: Haobo Gu <haobogu@outlook.com>
2024-10-23 12:54:50 +08:00
Dario Nieuwenhuis
8eb80c6816
Merge pull request #3444 from dnbln/main
feat: allow `bind_interrupts!` to accept conditional compilation attrs
2024-10-22 15:18:35 +00:00
Dinu Blanovschi
c797915525 fix: review comments 2024-10-22 16:56:05 +02:00
Dinu Blanovschi
e9f2e63796 fix 2024-10-22 16:50:10 +02:00
Dinu Blanovschi
5c23c789ee fix 2024-10-22 16:23:17 +02:00
Dinu Blanovschi
82a438a037 fix 2024-10-22 15:51:05 +02:00
Dinu Blanovschi
ccd635f0dc fix + allow both conditions on the irq and the handlers 2024-10-22 15:43:28 +02:00
Dinu Blanovschi
3279c19eee feat(stm32): allow bind_interrupts! to accept conditional compilation attrs 2024-10-22 12:30:37 +02:00
Lucas Martins
82772e3a8f
📝 fix wrong comment 2024-10-21 17:50:05 -03:00
Lucas Martins
2c9b528edd
fmt 2024-10-21 15:06:06 -03:00
Lucas Martins
c0addc005b
add uart permutations usefull for rs485 2024-10-21 14:48:57 -03:00
Lucas Martins
1d395fc2b6 stm32/flash: add stm32f2, stm32h5 flash driver 2024-10-21 02:21:53 +02:00
Dario Nieuwenhuis
34eeaa0787
Merge pull request #3435 from embassy-rs/octospim-fix
stm32: Fix build for chips with octospim but not octospi2.
2024-10-20 23:37:47 +00:00
Dario Nieuwenhuis
ecac24a1c7 stm32: Fix build for chips with octospim but not octospi2. 2024-10-21 01:30:21 +02:00
Dario Nieuwenhuis
1a24b4f018 Release embassy-executor v0.6.1, embassy-executor-macros v0.6.1 2024-10-21 01:26:02 +02:00
Christian Enderle
9cf75d7eac stm32/flash: add support for l5 2024-10-17 20:17:01 +02:00
Alexandros Liarokapis
9f1b6b4791 Revise I2S interface to ring-buffered. 2024-10-16 18:45:27 +03:00
Tu Nguyen
8af52488e7 add RTR flag if it is remote frame 2024-10-16 17:45:40 +07:00
Ulf Lilleengen
bcfbaaab95
Merge pull request #3336 from liarokapisv/stm32-alternative-ringbuffer-impl
stm32: Ringbuffer rewrite
2024-10-16 08:01:58 +00:00
Dion Dokter
e350ca836a
STM32 QSPI typo (#3418) 2024-10-15 13:23:57 +02:00
Alexandros Liarokapis
28d03537e9 stm32: Automatically clear on WritableRingBuffer start 2024-10-15 12:29:12 +03:00
Alexandros Liarokapis
d280b23428 fix adc/ringbuffered_v2.rs 2024-10-15 12:29:12 +03:00
Alexandros Liarokapis
2ec05da5dd simplify if/else handling on ringbuffer 2024-10-15 12:29:12 +03:00
Alexandros Liarokapis
f0d2ebdc7e stm32: fix ringbugger overrun errors due to bad dma wrap-around behavior 2024-10-15 12:29:12 +03:00
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