Commit Graph

7523 Commits

Author SHA1 Message Date
Ulf Lilleengen
027a1e6f32
Merge pull request #2765 from davidzwa/patch-1
Update faq.adoc with memory.x definition helping hand
2024-04-04 05:05:25 +00:00
Ulf Lilleengen
f873e5944e
Merge pull request #2766 from alexmoon/semaphore-fix
Fix `FairSemaphore` bugs
2024-04-04 05:04:19 +00:00
Alex Moon
c9acebf783 Fix FairSemaphore bugs
- `acquire` and `acquire_all` futures were `!Send`, even for `M: RawMutex + Send` due to the captured `Cell`.
- If multiple `acquire` tasks were queued, waking the first would not wake the second, even if there were permits remaining after the first `acquire` completed.
2024-04-03 19:13:57 -04:00
David Zwart
446965a903
Update faq.adoc 2024-04-03 22:33:21 +02:00
David Zwart
7aef047def
Update faq.adoc
github link
2024-04-03 22:32:28 +02:00
David Zwart
54be08afe4
Update faq.adoc with memory.x definition helping hand 2024-04-03 22:24:09 +02:00
Dario Nieuwenhuis
1fd260e4b1
Merge pull request #2764 from borisfaure/stm32-typo-in-doc
stm32: fix typo in doc
2024-04-02 20:21:56 +00:00
Boris Faure
1e399fbf9d stm32: fix typo in doc 2024-04-02 22:16:11 +02:00
Ulf Lilleengen
990f271767
Merge pull request #2755 from alexmoon/sync-semaphore
Semaphore synchronization primitive
2024-04-02 19:15:36 +00:00
Dario Nieuwenhuis
0e709ab0ea
Merge pull request #2763 from UPB-FILS-MA/rp_rename_pwm_channel_to_slice
rp2040: rename all usages of pwm channel to pwm slices
2024-04-02 17:10:27 +00:00
Alexandru RADOVICI
7c36e8dbc7 rename pins data type and the macro 2024-04-02 20:05:46 +03:00
Alexandru RADOVICI
d35572c11f rename pwm channels to pwm slices, including in documentation 2024-04-02 19:50:30 +03:00
Alexandru RADOVICI
7b9546c9c8 rename the Channel trait to Slice and the PwmPin to PwmChannel 2024-04-02 19:42:37 +03:00
Dario Nieuwenhuis
e29b5619d1
Merge pull request #2762 from UPB-FILS-MA/rp_rename_pwm
rp2040: Rename PWM_CH to PWM_SLICE
2024-04-02 14:37:46 +00:00
Alexandru RADOVICI
aa9eb2ab01 rename PWM_CH to PWM_SLICE 2024-04-02 17:20:35 +03:00
Dario Nieuwenhuis
016d552d1a
Merge pull request #2760 from embassy-rs/stm32-bxcan-flatten
stm32/can: simplify bxcan api, merging bx::* into the main structs.
2024-04-02 10:32:19 +00:00
Dario Nieuwenhuis
c8936edb6c stm32/can: simplify bxcan api, merging bx::* into the main structs.
The bx::* separate structs (Can, Rx, Tx) and separate `Instance` trait
are a relic from the `bxcan` crate. Remove them, move the functionality
into the main structs.
2024-04-02 11:08:03 +02:00
Dario Nieuwenhuis
e0f0430e2c
Merge pull request #2757 from tyler-gilbert/add-async-stop-stm32-dma_bdma
Add async stop() function to stm32 bdma_dma
2024-04-01 16:29:53 +00:00
Tyler Gilbert
cb01d03835 Add async stop() function to stm32 bdma_dma 2024-03-31 16:31:47 -05:00
Dario Nieuwenhuis
0549dd5fd7
Merge pull request #2756 from Frostie314159/ticker_send_sync
Made `Ticker::next` `Send+Sync`.
2024-03-31 20:23:30 +00:00
Frostie314159
67c9cc2c4b
Merge branch 'embassy-rs:main' into ticker_send_sync 2024-03-31 20:48:05 +02:00
Frostie314159
a2f9aa592e
Made Ticker::next Send+Sync. 2024-03-31 15:07:01 +02:00
Alex Moon
f8a6007e1c Semaphore synchronization primitive
This provides both a "greedy" and "fair" async semaphore implementation.
2024-03-30 22:25:41 -04:00
Dario Nieuwenhuis
6634cc90bc
Merge pull request #2754 from UPB-FILS-MA/alexandruradovici-patch-1
Fix a typo in embassy-sync
2024-03-30 21:41:03 +00:00
Alexandru Radovici
a38cbbdc59
fix typo 2024-03-30 22:36:30 +02:00
Dario Nieuwenhuis
81cf9d1143
Merge pull request #2295 from Frostie314159/reset-at-after
Introduce `reset_{at|after}` functions for ticker.
2024-03-28 19:04:26 +00:00
Frostie314159
2ea1040e07
Adjusted behavior. 2024-03-28 19:41:50 +01:00
Dario Nieuwenhuis
393de9e19f
Merge pull request #2744 from cschuhen/feature/bxcan_use_fdcan_api
Synchronise the feature sets and API between BXCAN and FDCAN.
2024-03-28 00:10:11 +00:00
Corey Schuhen
25618cd93d RTR fix. 2024-03-28 09:53:30 +10:00
Corey Schuhen
a9f0c8c3a9 Fixes for no-time. 2024-03-28 09:32:13 +10:00
Corey Schuhen
8d43fb4da4 CAN: Use the same testing code for BXCAN and FDCAN h/w. 2024-03-28 09:32:13 +10:00
Corey Schuhen
2217b80278 CAN: Unify API's between BXCAN and FDCAN. Use Envelope for all read methods instead of a tuple sometimes. 2024-03-28 09:32:13 +10:00
Corey Schuhen
f5daa50a7b BXCAN: Add struct that combines Buffered RX and Buffered TX. 2024-03-28 09:32:13 +10:00
Corey Schuhen
41b7e4a434 BXCAN: Create TxMode in order to support buffered TX. 2024-03-28 09:32:13 +10:00
Corey Schuhen
26c739c2f9 BXCAN: Create RxMode enum and move reader methods into it, laying foundations for different Rx buffering modes. 2024-03-28 09:32:13 +10:00
Corey Schuhen
3bdaad39e8 BXCAN: Register access into new Registers struct. 2024-03-28 09:32:13 +10:00
Corey Schuhen
32065d7719 BXCAN: Cut out more that wasn't required from BXCAN crate. 2024-03-28 09:32:08 +10:00
Corey Schuhen
fcfcfce400 CAN: Move some FDCAN definitions into a module to share with BXCAN. 2024-03-28 09:30:58 +10:00
Dario Nieuwenhuis
8f6c07c775
Merge pull request #2745 from de-vri-es/bxcan-keep-rtr-flag
embassy_stm32: Preseve the RTR flag in messages.
2024-03-27 22:35:43 +00:00
Maarten de Vries
c059062627 embassy_stm32: Preseve the RTR flag in messages. 2024-03-27 16:10:37 +01:00
Dario Nieuwenhuis
a678b4850c
Merge pull request #2739 from adri326/adri326/nodma-embedded-io
Provide embedded_io impls for Uart with and without Dma
2024-03-27 14:47:19 +00:00
Dario Nieuwenhuis
289c5edb9b
Merge pull request #2738 from eZioPan/h5-lse-low-drive
stm32 H5: LSE low drive mode is not functional
2024-03-27 14:34:22 +00:00
Emilie Burgun
e3ef7cd99f Document why embedded_io::Read cannot be implemented for the base Uart 2024-03-27 11:10:16 +01:00
eZio Pan
cf11d28d62 stm32 H5: LSE low drive mode is not functional 2024-03-27 00:55:44 +08:00
Emilie Burgun
1acc34bfaa Remove the need for TxDma to be a DMA channel in the blocking UartTx impl 2024-03-26 17:45:38 +01:00
Dario Nieuwenhuis
f3a0bcb15e
Merge pull request #2737 from adri326/adri326/add-iosv-option
Add a config option to make the VDDIO2 supply line valid
2024-03-26 16:29:45 +00:00
Emilie Burgun
402def86ee Remove ad-hoc fixes for setting the IOSV bit to true 2024-03-26 17:27:02 +01:00
Emilie Burgun
ca998c170f Missing half of the implementation detail comment 2024-03-26 16:33:41 +01:00
Emilie Burgun
64964bd614 Add a config option to make the VDDIO2 supply line valid
On STM32L4[7-A]xx, STM32L5xxx and STM32U5xxx chips, the GPIOG[2..15] pins are only available
once the IOSV bit has been set in PWR->CR2 (U5 chips have the bit in a funkier register).

This is meant to allow the user to have control over this power supply, so the GPIOG pins
are initially insulated, until the user wishes to un-insulate them (or something like that?).
For most applications, though, the VDDIO2 is connected to the VDD line, and this behavior only
gets in the way and causes confusing issues.

This submission adds an option in `embassy_stm32::Config`, called `enable_independent_io_supply`,
which simply enables the IOSV bit. It is only available on chips for which I could find a mention
of IOSV (STM32L4 and STM32L5) or IO2SV (STM32U5).
2024-03-26 16:22:05 +01:00
Dario Nieuwenhuis
cdd1c671e9
Merge pull request #2707 from barafael/barafael/minor_clippy_lints_rp
fix minor clippy lints in embassy_rp
2024-03-25 14:31:52 +00:00