aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/can
Commit message (Collapse)AuthorAgeFilesLines
* Fmt files, add changelog entryJomer.Dev2025-11-272-16/+22
|
* Add error messages to calc_can_timingsJomer.Dev2025-11-272-12/+52
|
* Ability to control automatic bus off recovery #4816RichardWGNR2025-11-022-4/+24
|
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-064-14/+14
|
* stm32/afio: make af_num() unavailable in afio chips.Dario Nieuwenhuis2025-09-062-8/+6
|
* 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
|
* Add mutable accessors for ID in Header and Frame structsMalte Brieske2025-07-291-0/+10
|
* Update Rust nightly, stable.Dario Nieuwenhuis2025-07-043-17/+17
|
* FDCAN/BXCAN: Finish implementation of RAII instance counters.Corey Schuhen2025-06-214-221/+243
| | | | | | - Use DeRef in all types - Change Name of internal_operation and its enum - move into Info to avoid macro code dup
* Add TxGuard and RxGuard which impl RAII for the STM32 CAN reference countingTobias Naumann2025-06-212-74/+64
|
* 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.
* Remove duplicate calc_timestamp and move to 'Registers' struct.Corey Schuhen2025-05-312-43/+23
|
* Put State inside a critical section mutex of RefCell. This removes the ↵Corey Schuhen2025-05-311-138/+108
| | | | unsound code that was giving out mut&. to State
* Switch to SendDynamicSender for FDCAN.Corey Schuhen2025-05-311-7/+7
|
* Count all users of a given CAN instance and cleanup pins and RCC when the ↵Tobias Naumann2025-05-191-9/+62
| | | | last user gets dropped
* Make raw_data public.Corey Schuhen2025-04-271-2/+2
|
* STM32: Fix CAN transmit on bxcan targetsAdam Greig2025-04-183-3/+8
|
* STM32: Change CAN data() to return slice with correct lengthAdam Greig2025-04-182-11/+9
|
* Fix rustfmt #4075RichardWGNR2025-04-111-4/+4
|
* Capability to modify CAN frame data without copying. #4075RichardWGNR2025-04-111-0/+20
|
* Fix #4062RichardWGNR2025-04-111-4/+8
|
* Remove Peripheral trait, rename PeripheralRef->Peri.Dario Nieuwenhuis2025-03-272-16/+13
|
* Reference count senders and receivers so that we don't close down early.Corey Schuhen2025-03-094-69/+199
|
* fix wrong negation of fdcan set_transmit_pause function parameterAndrii2025-01-171-1/+1
|
* 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
|/
* Currently the return value of `write` is broken, it never returns theHans Josephsen2024-09-221-1/+1
| | | | | | | | | | previous frame even when present. This happens because a slice of length 64 is always passed to Frame::new from within the `abort_pending_mailbox` function, causing `Frame::new` to return None. The fix is to take a subslice of length `data_length`.
* 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-162-10/+10
|
* Remove generic argument from CanBuilder.Corey Schuhen2024-06-022-57/+46
|
* 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-302-5/+5
|\ \ | |/ |/| | | stm32/rcc: replace generated enable/disable code with runtime info
| * stm32/rcc: replace generated enable/disable code with runtime infoJan Špaček2024-05-252-5/+5
| |
* | stm32: remove pointer-to-pointer-to-registers.Dario Nieuwenhuis2024-05-302-12/+23
| | | | | | | | | | in chiptool pacs the register block struct is already a pointer, so using pointers to it is redundant.
* | Merge pull request #3012 from cschuhen/feature/fdcan_no_genericsDario Nieuwenhuis2024-05-301-167/+246
|\ \ | | | | | | | | | Remove generic argument for STM32 FDCAN.
| * | Remove generic argument for STM32 FDCAN.Corey Schuhen2024-05-291-167/+246
| |/
* | 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
|/
* stm32: add support for STM32H7[RS] "bootflash line", add HIL tests.Dario Nieuwenhuis2024-05-012-17/+17
|
* Merge pull request #2840 from MaxiluxSystems/feature/fdcan-runtime-cfgDario Nieuwenhuis2024-04-232-28/+115
|\ | | | | | | stm32: can: fd: Properties for common runtime get/set operations
| * stm32: can: fd: Properties: simplify reg accessesTorin Cooper-Bennun2024-04-231-2/+2
| |