1use std::{collections::HashMap, fs::File, io::Read};
2
3use can_dbc::Message;
4
5pub mod payload;
6
7
8
9pub fn read_dbc(f: &mut File) -> HashMap<u32, Message> {
10 let mut buffer = Vec::<u8>::new();
11 f.read_to_end(&mut buffer).unwrap();
12
13 let dbc = can_dbc::DBC::from_slice(&buffer).expect("Failed to parse dbc file");
14 let mut db = HashMap::<u32, Message>::new();
15 for message in dbc.messages() {
16 db.insert(message.message_id().0, message.clone());
17 }
18 return db;
19}
20
21#[cfg(test)]
22mod tests {
23 use super::*;
24
25 #[test]
26 fn it_works() {
27
28 }
29}