aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/can/fdcan.rs
Commit message (Collapse)AuthorAgeFilesLines
* Ability to control automatic bus off recovery #4816RichardWGNR2025-11-021-4/+11
|
* Rustfmt for edition 2024.Dario Nieuwenhuis2025-10-061-6/+6
|
* stm32/afio: make af_num() unavailable in afio chips.Dario Nieuwenhuis2025-09-061-2/+2
|
* FDCAN/BXCAN: Finish implementation of RAII instance counters.Corey Schuhen2025-06-211-95/+68
| | | | | | - 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-211-58/+27
|
* Remove duplicate calc_timestamp and move to 'Registers' struct.Corey Schuhen2025-05-311-43/+6
|
* 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
* 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
* Remove Peripheral trait, rename PeripheralRef->Peri.Dario Nieuwenhuis2025-03-271-9/+7
|
* Reference count senders and receivers so that we don't close down early.Corey Schuhen2025-03-091-46/+58
|
* stm32/gpio: refactor AfTypeJan Špaček2024-06-161-5/+5
|
* Remove generic argument from CanBuilder.Corey Schuhen2024-06-021-30/+20
|
* Merge pull request #3002 from honzasp/rcc-infoDario Nieuwenhuis2024-05-301-2/+2
|\ | | | | | | stm32/rcc: replace generated enable/disable code with runtime info
| * stm32/rcc: replace generated enable/disable code with runtime infoJan Špaček2024-05-251-2/+2
| |
* | stm32: remove pointer-to-pointer-to-registers.Dario Nieuwenhuis2024-05-301-10/+20
| | | | | | | | | | in chiptool pacs the register block struct is already a pointer, so using pointers to it is redundant.
* | Remove generic argument for STM32 FDCAN.Corey Schuhen2024-05-291-167/+246
|/
* stm32: add support for STM32H7[RS] "bootflash line", add HIL tests.Dario Nieuwenhuis2024-05-011-2/+2
|
* stm32: can: fd: Properties: simplify reg accessesTorin Cooper-Bennun2024-04-231-2/+2
|
* stm32: can: fd: introduce BusErrorMode with docs and Properties getterTorin Cooper-Bennun2024-04-231-3/+11
|
* stm32: can: fd: fix a couple doc commentsTorin Cooper-Bennun2024-04-231-2/+2
|
* stm32: can: fd: Properties: rm &mut refs; make !Sync; rename gettersTorin Cooper-Bennun2024-04-221-32/+15
|
* stm32: can: fd: Properties for common runtime get/set operationsTorin Cooper-Bennun2024-04-221-27/+105
|
* stm32: can: fd: implement bus-off recoveryTorin Cooper-Bennun2024-04-171-0/+8
| | | | | | as per RM0492 and other relevant RMs, bus-off recovery is not automatic. CCCR.INIT is set by the device upon bus-off; the CPU must reset CCCR.INIT to initiate the recovery.
* stm32: can: fd: on_interrupt: simplify, rm redundant codeTorin Cooper-Bennun2024-04-171-31/+21
| | | | | PED, PEA are never enabled in the interrupt enable code in peripheral.rs; no need to process the flags here
* stm32/can: simplify bxcan api, merging bx::* into the main structs.Dario Nieuwenhuis2024-04-021-19/+15
| | | | | | 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.
* CAN: Unify API's between BXCAN and FDCAN. Use Envelope for all read methods ↵Corey Schuhen2024-03-281-52/+88
| | | | instead of a tuple sometimes.
* BXCAN: Create TxMode in order to support buffered TX.Corey Schuhen2024-03-281-3/+2
|
* BXCAN: Register access into new Registers struct.Corey Schuhen2024-03-281-2/+2
|
* CAN: Move some FDCAN definitions into a module to share with BXCAN.Corey Schuhen2024-03-281-52/+10
|
* stm32: use private_bounds for sealed traits.Dario Nieuwenhuis2024-03-231-172/+158
|
* Fix warnings in recent nightly.Dario Nieuwenhuis2024-03-201-2/+2
|
* stm32: can:fd: merge read impls; buffered RX returns Result<_, BusError>Torin Cooper-Bennun2024-03-041-28/+37
|
* Restore init order to restore H7.Corey Schuhen2024-03-021-90/+2
| | | | | | Previous commit broke H7 support in HIL farm. Restore previous order by moving a bunch of config from new and into_config_mode to apply_config. This is a cleanup that I had considered to move more register access into peripheral.rs.
* Writing to TX buffer also needs to fire an interrupt to kick off ↵Corey Schuhen2024-03-021-4/+58
| | | | | | transmission if it is idle. Formatting
* stm32: can: fd: refactor out some duplicate codeTorin Cooper-Bennun2024-02-271-40/+26
|
* FDCAN: Don't require internal module for public API.Corey Schuhen2024-02-251-5/+6
|
* FDCAN: Fix some indenting in macrosCorey Schuhen2024-02-251-15/+15
|
* FDCAN: Allow access to buffered senders and receivers.Corey Schuhen2024-02-251-0/+32
|
* FDCAN: Expose some pub types in APICorey Schuhen2024-02-251-4/+8
|
* FDCAN: Remove extra traits from.Corey Schuhen2024-02-251-29/+20
| | | | | | Comments Fix.
* Remove the OperatingMode typestatesCorey Schuhen2024-02-181-153/+112
| | | | | | Instead have two explcit types(without the mode generic arg)types: - One for config - One for all operating modes
* Add a buffered mode.Corey Schuhen2024-02-171-0/+233
|
* Clean up and prep for buffered IRQ mode.Corey Schuhen2024-02-171-159/+188
| | | | | | - Reduce code duplicaiton in read/write methods - General clean-up - Prepare for buffered mode
* Move error conversion to peripheral.rsCorey Schuhen2024-02-171-28/+4
|
* Port FDCAN HAL to use PAC directly instead of fdcan crate.Corey Schuhen2024-02-171-296/+315
| | | | | | - Provide separate FDCAN capable and Classic CAN API's - Don't use fdcan crate dep anymore - Provide embedded-can traits.
* Initial FDCAN driver implementation.Corey Schuhen2024-01-311-11/+703
| | | | | | | | | | | | | | | | | | | | | Original author: Torin Cooper-Bennun <[email protected]> Cleanup and documentaion by: Tomasz bla Fortuna <[email protected]> Corey Schuhen <[email protected]> Use new PAC method now that the names are common. Use broken out definitions that can be shared with bxcan Populate Rx struct with an embassy timestamp. Remove use of RefCell. As per review comment. - THis will probably get squashed down. Fix
* stm32: add some docs.Dario Nieuwenhuis2023-12-181-13/+2
|
* Rename embassy-hal-common to embassy-hal-internal, document it's for ↵Dario Nieuwenhuis2023-07-281-1/+1
| | | | internal use only. (#1700)
* stm32: add minimal fdcan implxoviat2023-07-221-0/+66