diff options
author | Angus Gratton <angus@redyak.com.au> | 2024-10-09 15:55:46 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2025-03-14 14:52:09 +1100 |
commit | 9db2398009ebb156fc6790f87be337c29f83b5d0 (patch) | |
tree | 8c32795b3a7ca59b8cfdd7781512ed135c5c317b /shared/runtime/sys_stdio_mphal.c | |
parent | 96ce08e498a2c62b38aad78f84f2a8f438dc7e3d (diff) | |
download | micropython-9db2398009ebb156fc6790f87be337c29f83b5d0.tar.gz micropython-9db2398009ebb156fc6790f87be337c29f83b5d0.zip |
stm32/can: Refactor can.h API to not depend on pyboard can types.
This is necessary for the machine.CAN implementation to use the same
low-level functions.
Includes some refactoring around FIFO selection as there was a footgun
where CAN_FIFO0/1 are 0/1 but FDCAN_RX_FIFO0/1 are not. Added an explicit
type for non-hardware-specific FIFO numbering.
Also moved responsibility for re-enabling CAN receive interrupts into the
higher layer (pyb_can.c layer) after calling can_receive().
Also includes this behaviour change for FDCAN boards:
- Fix for boards with FDCAN not updating error status
counters (num_error_warning, num_error_passive, num_bus_off). These are
now updated the same as on boards with CAN Classic controllers, as
documented.
- Previously FDCAN boards would trigger the RX callback function on error
events instead (passing undocumented irq numbers 3, 4, 5).
This behaviour has been removed in favour of the documented behaviour of
updating the status counters.
This work was funded through GitHub Sponsors.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
Diffstat (limited to 'shared/runtime/sys_stdio_mphal.c')
0 files changed, 0 insertions, 0 deletions