circuitpython/ports
Angus Gratton 9db2398009 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>
2025-03-14 14:52:09 +11:00
..
bare-arm shared/libc/string0: Don't deref args for n==0 case. 2023-11-07 16:01:50 +11:00
cc3200 cc3200/mods/pybpin: Implement Pin.toggle() method. 2025-02-28 16:50:45 +11:00
embed all: Prune trailing whitespace. 2024-03-07 16:25:17 +11:00
esp32 esp32/machine_pin: Fix availability of USB Serial/JTAG pins on ESP32-C6. 2025-03-13 13:08:05 +11:00
esp8266 esp8266: Rename ROMFS partition config variables to include "part0". 2025-03-13 18:30:21 +11:00
mimxrt lib/cyw43-driver: Update driver to latest version v1.1.0. 2025-03-12 13:17:02 +11:00
minimal minimal: Use printf instead of echo -e. 2024-02-15 16:36:22 +11:00
nrf nrf/modules: Fix access of read-only buffer in Flash.writeblocks. 2025-03-06 12:48:22 +11:00
pic16bit pic16bit: Make it build with recent XC16 versions. 2024-10-30 17:21:30 +11:00
powerpc py/mpconfig: Disable qstr hashing at minimum feature level. 2024-01-25 16:38:17 +11:00
qemu extmod/modvfs: Add vfs.rom_ioctl function and its ioctl constants. 2025-03-06 12:52:35 +11:00
renesas-ra renesas-ra/modrenesas: Expose the Flash block device to Python code. 2025-02-28 17:08:56 +11:00
rp2 rp2/boards/SEEED_XIAO_RP2350: Add new Seeed XIAO board definition. 2025-03-13 18:24:44 +11:00
samd samd/boards: Provide default IDs for UART, I2C and SPI. 2025-03-03 10:59:26 +11:00
stm32 stm32/can: Refactor can.h API to not depend on pyboard can types. 2025-03-14 14:52:09 +11:00
unix unix/main: Add coverage test for mounting ROMFS filesystem at startup. 2025-03-06 12:52:35 +11:00
webassembly tests/run-tests.py: Change --target/--device options to --test-instance. 2024-11-04 12:47:47 +11:00
windows all: Upgrade codespell to v2.4.1. 2025-02-25 16:11:33 +11:00
zephyr zephyr/machine_timer: Add machine.Timer class implementation. 2025-03-07 21:32:22 +11:00