#[allow(unused_imports)]
use super::*;
#[allow(dead_code)] #[derive(Debug, Clone)]
pub struct MessageInfo {
pub id: u32,
pub name: alloc::string::String,
pub dlc: u8,
pub sender: alloc::string::String,
pub signals: alloc::vec::Vec<SignalInfo>,
pub is_extended: bool,
}
#[allow(dead_code)] impl MessageInfo {
pub fn from_message(message: &dbc_rs::Message) -> Self {
let id = message.id();
let is_extended = (id & 0x8000_0000) != 0;
let raw_id = if is_extended { id & 0x1FFF_FFFF } else { id };
Self {
id: raw_id,
name: alloc::string::String::from(message.name()),
dlc: message.dlc(),
sender: alloc::string::String::from(message.sender()),
signals: message
.signals()
.iter()
.map(SignalInfo::from_signal)
.collect(),
is_extended,
}
}
pub fn signal_count(&self) -> usize {
self.signals.len()
}
}