pub trait Frame: Sized {
// Required methods
fn new(id: impl Into<Id>, data: &[u8]) -> Option<Self>;
fn new_remote(id: impl Into<Id>, dlc: usize) -> Option<Self>;
fn is_extended(&self) -> bool;
fn is_remote_frame(&self) -> bool;
fn id(&self) -> Id;
fn dlc(&self) -> usize;
fn data(&self) -> &[u8];
// Provided methods
fn is_standard(&self) -> bool { ... }
fn is_data_frame(&self) -> bool { ... }
}
Expand description
A CAN2.0 Frame
Required Methods§
sourcefn new(id: impl Into<Id>, data: &[u8]) -> Option<Self>
fn new(id: impl Into<Id>, data: &[u8]) -> Option<Self>
Creates a new frame.
This will return None
if the data slice is too long.
sourcefn new_remote(id: impl Into<Id>, dlc: usize) -> Option<Self>
fn new_remote(id: impl Into<Id>, dlc: usize) -> Option<Self>
Creates a new remote frame (RTR bit set).
This will return None
if the data length code (DLC) is not valid.
sourcefn is_extended(&self) -> bool
fn is_extended(&self) -> bool
Returns true if this frame is a extended frame.
sourcefn is_remote_frame(&self) -> bool
fn is_remote_frame(&self) -> bool
Returns true if this frame is a remote frame.
Provided Methods§
sourcefn is_standard(&self) -> bool
fn is_standard(&self) -> bool
Returns true if this frame is a standard frame.
sourcefn is_data_frame(&self) -> bool
fn is_data_frame(&self) -> bool
Returns true if this frame is a data frame.
Object Safety§
This trait is not object safe.