This document indicates how to add new hardware targets
Document v0.1
Conforms to Policy v0.1
Since this library is largely hands-off for hardware specifity, targeting new MCU/peripherals has only a few steps. Primarily involved are specialiations pertaining to CAN bus:
transport
classframe_traits
specialization
NOTE: This document is a WIP and may be missing information
This class is a rudimentary HAL around CAN capabilities. The following instance methods are required:
bool send(frame)
receive
bool good()
There are two kinds of frame_traits
:
embr::can::frame_traits
embr::j1939::frame_traits
Only #1 is discussed here. #2 behaves well as is with no further attention
The following static methods are required:
uint32_t id(frame)
void id(frame, uint32_t)
uint8_t* payload(frame)
void length(frame, uint8_t)
uint8_t length(frame)
void extended(frame, bool)