canadensis
canadensis copied to clipboard
Add example that runs on a microcontroller
Follow-up from https://github.com/samcrow/canadensis/issues/33
Choose hardware
The hardware should be reasonably low-cost and common. The ideal board would have a microcontroller with CAN FD built in, and a CAN FD transceiver on the board. If that doesn't exist, we could use a CAN FD transceiver expansion board that plugs in to the base board. A separate transceiver board with discrete wires would be too slow and error-prone to set up every time I need to run a test.
Hardware ideas:
| Brand | Part number | Price | Microcontroller | CAN | Other features | Existing Rust support |
|---|---|---|---|---|---|---|
| NXP | MR-CANHUBK344 | $188 | NXP S32K344 | 6x CAN FD | 100BASE-T1 Ethernet | Nothing, but at least it's Cortex-M and has an SVD file |
| NXP | UCANS32K1SIC | $16 | NXP S32K146 | 2x CAN FD | Nothing, but at least it's Cortex-M and has an SVD file | |
| ST | STM32G0C1E-EV | $296 | STM32G0C1 | 2x CAN (not FD) | HAL | |
| LXRobotics | CyphalPicoBase/CAN | €40 | RP2040 with MCP2515 CAN controller | 1x CAN (not FD) | HAL | |
| RaccoonLab | uNODE | €70 | STM32F103 | 1x CAN (not FD) | HAL | |
| LXRobotics | Pika Spark | €840 | NXP® i.MX 8M Mini (Linux) | 2x CAN FD | 10BASE-T1S Ethernet | Good (it's Linux) |
Make an application
To start, this probably just needs to have heartbeats, node information, and space to add more functionality.