host_can/
id.rs

1pub use embedded_can::{ExtendedId, Id, StandardId};
2
3pub fn raw_u32(id: Id) -> u32 {
4    match id {
5        Id::Standard(id) => id.as_raw() as u32,
6        Id::Extended(id) => id.as_raw(),
7    }
8}
9
10pub fn new_standard(id: u16) -> Option<Id> {
11    StandardId::new(id).map(|i| Id::Standard(i))
12}
13
14pub fn new_extended(id: u32) -> Option<Id> {
15    ExtendedId::new(id).map(|i| Id::Extended(i))
16}
17
18#[cfg(test)]
19mod test {
20    use super::*;
21
22    #[test]
23    fn id_validation() {
24        // standard IDs are <= 0x7FF
25        assert!(new_standard(0x800).is_none());
26        // extended IDs are <= 0x1FFF_FFFF
27        assert!(new_extended(0x2000_0000).is_none());
28    }
29}