1pub const CAN_FLAG_EXTENDED: u8 = 1 << 0;
2pub const CAN_FLAG_FD: u8 = 1 << 1;
3pub const CAN_FLAG_BRS: u8 = 1 << 2;
4pub const CAN_FLAG_ESI: u8 = 1 << 3;
5pub const CAN_FLAG_RTR: u8 = 1 << 4;
6pub const CAN_FLAG_RESERVED_MASK: u8 = 0b1110_0000;
7
8#[derive(Debug, Clone, PartialEq, Eq)]
9pub struct SimCanFrame {
10 pub arb_id: u32,
11 pub len: u8,
12 pub flags: u8,
13 pub data: [u8; 64],
14}
15
16impl SimCanFrame {
17 pub fn payload(&self) -> &[u8] {
18 let len = usize::from(self.len.min(64));
19 &self.data[..len]
20 }
21}