aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/can/bxcan
Commit message (Collapse)AuthorAgeFilesLines
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-061-6/+6
|
* stm32/afio: make af_num() unavailable in afio chips.Dario Nieuwenhuis2025-09-061-6/+4
|
* stm32/afio: make the A generic param only appear in chips with AFIO.Dario Nieuwenhuis2025-09-051-3/+3
|
* Add STM32F1 AFIO remapFabian Wolter2025-09-051-5/+7
|
* FDCAN/BXCAN: Finish implementation of RAII instance counters.Corey Schuhen2025-06-211-96/+95
| | | | | | - Use DeRef in all types - Change Name of internal_operation and its enum - move into Info to avoid macro code dup
* BXCAN: Put State inside a critical section mutex of RefCell. This removed ↵Corey Schuhen2025-06-211-127/+113
| | | | | | | unsound code that was giving out mut& to State This change is equiverlent to f5658d6833cb140296a0b6f25b7eb6d16f06c520 that was already done for the FDCAN driver.
* STM32: Fix CAN transmit on bxcan targetsAdam Greig2025-04-181-2/+2
|
* Remove Peripheral trait, rename PeripheralRef->Peri.Dario Nieuwenhuis2025-03-271-7/+6
|
* Reference count senders and receivers so that we don't close down early.Corey Schuhen2025-03-091-16/+48
|
* Allow split CAN Rx to modify the filtersTamme Dittrich2025-01-071-3/+27
|
* chore: fix buildelagil2025-01-031-4/+4
|
* Merge pull request #3468 from korken89/fix-can-hangDario Nieuwenhuis2024-10-271-3/+7
|\ | | | | | | This fixes 2 issues where STM32 BXCAN would hang
| * This fixes 2 issues where STM32 BXCAN would hangEmil Fresk2024-10-271-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* | add RTR flag if it is remote frameTu Nguyen2024-10-161-1/+4
|/
* stm32: Fix log storm when no CAN is connectedEmil Fresk2024-08-251-3/+1
| | | | | | | 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.
* Swat some other occurrences of .unwrap() that pull in panicing infraDavid Flemström2024-06-281-12/+8
|
* stm32/gpio: refactor AfTypeJan Špaček2024-06-161-5/+5
|
* Remove more BXCAN generics.Corey Schuhen2024-06-023-71/+96
|
* Emit cargo:rustc-check-cfg instructions from build.rsJan Špaček2024-05-301-2/+2
|
* Merge pull request #3020 from cschuhen/feature/bxcan_no_genericsDario Nieuwenhuis2024-05-302-110/+196
|\ | | | | | | Remove generics for BXCAN.
| * Use phantom for lifetime holder instead of not used pointer to pointer.Corey Schuhen2024-05-301-9/+7
| |
| * Remove generics for BXCAN.Corey Schuhen2024-05-302-110/+198
| |
* | Merge pull request #3002 from honzasp/rcc-infoDario Nieuwenhuis2024-05-301-3/+3
|\ \ | |/ |/| | | stm32/rcc: replace generated enable/disable code with runtime info
| * stm32/rcc: replace generated enable/disable code with runtime infoJan Špaček2024-05-251-3/+3
| |
* | embassy_stm32: allow scheduling lower priority frames in bxcan driverMaarten de Vries2024-05-272-8/+18
| |
* | embassy_stm32: implement optional FIFO scheduling for outgoing framesMaarten de Vries2024-05-272-15/+81
|/
* rustfmt fixesEric Yanush2024-04-221-5/+6
|
* Add sleep/wakeup handling for bxCAN peripheralsEric Yanush2024-04-221-1/+47
|
* rustfmt whitespace fixesEric Yanush2024-04-222-3/+3
|
* Enable LEC interrupt as wellEric Yanush2024-04-221-0/+1
|
* Ensure bus errors are forwarded only once, enable bus off/passive/warning ↵Eric Yanush2024-04-222-3/+28
| | | | interrupts
* stm32/can: simplify bxcan api, merging bx::* into the main structs.Dario Nieuwenhuis2024-04-023-0/+1974
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.