rsiot/components_config/can_general/can_id.rs
1// ANCHOR: CanId
2/// Идентификатор CAN-кадра
3#[derive(Clone, Copy, Debug)]
4pub enum CanId {
5 /// Стандартный идентификатор 11-битный
6 Standard(u16),
7 /// Расширенный идентификатор 29-битный
8 Extended(u32),
9}
10// ANCHOR: CanId
11
12impl CanId {
13 /// Возвращает идентификатор в виде 32-битного числа
14 pub fn as_raw(&self) -> u32 {
15 match self {
16 CanId::Standard(v) => *v as u32,
17 CanId::Extended(v) => *v,
18 }
19 }
20}