pub enum Id {
Standard(StandardId),
Extended(ExtendedId),
}Expand description
A CAN Identifier (standard or extended).
Variants§
Standard(StandardId)
Standard 11-bit Identifier (0..=0x7FF).
Extended(ExtendedId)
Extended 29-bit Identifier (0..=0x1FFF_FFFF).
Trait Implementations§
Source§impl From<ExtendedId> for Id
impl From<ExtendedId> for Id
Source§fn from(id: ExtendedId) -> Id
fn from(id: ExtendedId) -> Id
Source§impl From<StandardId> for Id
impl From<StandardId> for Id
Source§fn from(id: StandardId) -> Id
fn from(id: StandardId) -> Id
Source§impl Ord for Id
Implement Ord according to the CAN arbitration rules
impl Ord for Id
Implement Ord according to the CAN arbitration rules
When performing arbitration, frames are looked at bit for bit starting from the beginning. A bit with the value 0 is dominant and a bit with value of 1 is recessive.
When two devices are sending frames at the same time, as soon as the first bit is found which differs, the frame with the corresponding dominant 0 bit will win and get to send the rest of the frame.
This implementation of Ord for Id will take this into consideration
and when comparing two different instances of Id the “smallest” will
always be the ID which would form the most dominant frame, all other
things being equal.