89 Commits

Author SHA1 Message Date
Corey Schuhen
b693ab9b34 Restore init order to restore H7.
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.
2024-03-02 14:18:12 +10:00
Corey Schuhen
bf06d10534 Delay setting TX buffer mode until user had a chance to configure it. 2024-03-02 14:00:56 +10:00
Torin Cooper-Bennun
9e403fa89a stm32: can: fd: rename abort_pending_mailbox, rm pub qualifier 2024-03-02 10:08:20 +10:00
Torin Cooper-Bennun
befbb2845a stm32: can: fd: write: if in TX FIFO mode & bufs full, then abort 2024-03-02 10:08:20 +10:00
Torin Cooper-Bennun
30606f9782 stm32: can: fd: allow TX buffers in FIFO mode 2024-03-02 10:08:20 +10:00
Corey Schuhen
df8f508ffa Writing to TX buffer also needs to fire an interrupt to kick off transmission if it is idle.
Formatting
2024-03-02 09:09:27 +10:00
Siebe Claes
96af20cf5b stm32: can: fd: Fix Frame is_extended() function 2024-03-01 19:21:01 +01:00
Dario Nieuwenhuis
263d1b024c
Merge pull request #2637 from cschuhen/feature/fix_buf_size
Buffer is not big enough for FD frames.
2024-02-28 17:33:58 +00:00
eZio Pan
47c579eba2 update metapac 2024-02-29 00:11:40 +08:00
Corey Schuhen
1353a343b8 Buffer is not big enough for FD frames. 2024-02-28 18:03:53 +10:00
Torin Cooper-Bennun
a8da42943f stm32: can: fd: rm some irrelevant commented code and dead code 2024-02-27 23:47:41 +00:00
Torin Cooper-Bennun
0ed402fd79 stm32: can: fd: refactor out some duplicate code 2024-02-27 23:47:25 +00:00
Torin Cooper-Bennun
9a4f58fe15 stm32: can: fd: only TX with BRS if also TXing with FDF 2024-02-27 10:38:40 +00:00
Torin Cooper-Bennun
e63b0d7a2f stm32: can: fd: fix SID read/write from buf elems 2024-02-27 10:38:07 +00:00
Corey Schuhen
a737a7350e FDCAN: Remove history from comments. 2024-02-25 10:14:12 +10:00
Corey Schuhen
1327a644b6 FDCAN: Don't require internal module for public API. 2024-02-25 10:14:12 +10:00
Corey Schuhen
0565098b06 FDCAN: Fix some indenting in macros 2024-02-25 10:14:12 +10:00
Corey Schuhen
a061cf3133 FDCAN: Allow access to buffered senders and receivers. 2024-02-25 10:14:12 +10:00
Corey Schuhen
779898c0e7 FDCAN: Expose some pub types in API 2024-02-25 10:14:12 +10:00
Corey Schuhen
2d634d07e0 FDCAN: Remove extra traits from.
Comments

Fix.
2024-02-25 10:13:58 +10:00
Corey Schuhen
eafa90cd07 Remove the OperatingMode typestates
Instead have two explcit types(without the mode generic arg)types:
- One for config
- One for all operating modes
2024-02-18 13:09:37 +10:00
Corey Schuhen
5ad291b708 Add a buffered mode. 2024-02-17 18:26:57 +10:00
Corey Schuhen
91c75c92a0 Clean up and prep for buffered IRQ mode.
- Reduce code duplicaiton in read/write methods
- General clean-up
- Prepare for buffered mode
2024-02-17 18:26:57 +10:00
Corey Schuhen
5d8c54fdea Move error conversion to peripheral.rs 2024-02-17 18:25:58 +10:00
Corey Schuhen
200ace566f Don't use word Standard for frame format because it can be confused with ID format. Use Classic instead to mean CAN 2.0B frames. 2024-02-17 18:25:58 +10:00
Corey Schuhen
70b3c4374d Port FDCAN HAL to use PAC directly instead of fdcan crate.
- Provide separate FDCAN capable and Classic CAN API's
- Don't use fdcan crate dep anymore
- Provide embedded-can traits.
2024-02-17 18:25:58 +10:00
Corey Schuhen
1de78d0490 Initial FDCAN driver implementation.
Original author:
    Torin Cooper-Bennun <tcbennun@maxiluxsystems.com>

Cleanup and documentaion by:
    Tomasz bla Fortuna <bla@reactor.local>
    Corey Schuhen <cschuhen@gmail.com>

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
2024-01-31 05:40:05 +10:00
Tomasz bla Fortuna
03ba45065e Add FDCAN clock registers to G4 RCC.
Author: Adam Morgan <adam@luci.com>

Break definitions out of bxcan that can be used innm fdcan.

Typo
2024-01-31 05:40:05 +10:00
eZio Pan
d90a97aa4c update metapac after stm32-data PR323
and refactor a few code with cargo clippy
2023-12-25 22:03:32 +08:00
Dario Nieuwenhuis
49534cd405 stm32: more docs. 2023-12-19 00:10:36 +01:00
Dario Nieuwenhuis
87c8d9df94 stm32/can: docs. 2023-12-18 18:44:51 +01:00
Dario Nieuwenhuis
21fce1e195 stm32/can: cleanup interrupt traits. 2023-12-18 18:44:51 +01:00
Dario Nieuwenhuis
80c9d04bbd stm32: add some docs. 2023-12-18 00:53:18 +01:00
Dario Nieuwenhuis
c27459c052 Update stm32-metapac. 2023-12-08 20:07:59 +01:00
Mick van Gelderen
88f893da45
Format 2023-11-21 15:40:07 +01:00
Mick van Gelderen
19ba7da3fd
Rename _flush* methods 2023-11-21 15:37:38 +01:00
Tommas Bakker
06a83c0f89
Refactor bxcan split. 2023-11-21 15:34:34 +01:00
pbert
ecdd7c0e2f enable clock first 2023-10-12 11:04:44 +02:00
pbert
f65a96c541 STM32: combine RccPeripherals reset() and enable() to reset_and_enable() 2023-10-12 11:04:19 +02:00
Ruben De Smet
c39671266e
Deprecate *recv* in favor of *receive* 2023-08-22 16:58:31 +02:00
Ruben De Smet
f9d251cd5c
Channel poll methods return Poll instead of bool 2023-08-11 12:13:46 +02:00
Grant Miller
d49f40dd5c embassy-stm32: Misc clippy fixes 2023-08-06 15:00:39 -05:00
chemicstry
ad85beb677 stm32/can: Add more derives for CAN Envelope 2023-07-31 10:32:17 +03:00
chemicstry
780569c08a Merge remote-tracking branch 'origin/main' into bxcan_timestamp 2023-07-31 10:29:20 +03:00
Dario Nieuwenhuis
8d8c642845
Merge pull request #1701 from chemicstry/bxcan_methods2
stm32/can: implement more convenience methods
2023-07-28 11:44:30 +00:00
Dario Nieuwenhuis
036e6ae30c
Rename embassy-hal-common to embassy-hal-internal, document it's for internal use only. (#1700) 2023-07-28 13:23:22 +02:00
chemicstry
38b5d1ee2b stm32/can: implement more convenience methods 2023-07-28 14:22:24 +03:00
chemicstry
62ab0bf2e7 stm32/can: implement proper RX timestamps 2023-07-25 12:12:45 +03:00
chemicstry
2a0fe73045 stm32/can: bxcan async enable 2023-07-24 17:53:23 +03:00
xoviat
5693ed1178 stm32: add minimal fdcan impl 2023-07-22 11:50:30 -05:00