pub use embedded_can::{ExtendedId, Id, StandardId};
pub fn raw_u32(id: Id) -> u32 {
match id {
Id::Standard(id) => id.as_raw() as u32,
Id::Extended(id) => id.as_raw(),
}
}
pub fn new_standard(id: u16) -> Option<Id> {
StandardId::new(id).map(|i| Id::Standard(i))
}
pub fn new_extended(id: u32) -> Option<Id> {
ExtendedId::new(id).map(|i| Id::Extended(i))
}
#[cfg(test)]
mod test {
use super::*;
#[test]
fn id_validation() {
assert!(new_standard(0x800).is_none());
assert!(new_extended(0x2000_0000).is_none());
}
}