Skip to main content

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}