Hashmap for file:signals pairs, signal_data file

This commit is contained in:
Misha Vicha
2025-10-13 08:20:42 +02:00
parent 81f768a12a
commit f9777b124b
3 changed files with 100 additions and 49 deletions

View File

@@ -1,4 +1,4 @@
use std::{collections::HashMap, u64, vec};
use std::{collections::HashMap, hash::Hash, u64, vec};
use crate::SignalFormat;
@@ -153,7 +153,7 @@ enum AdcBlockKeys {
///
/// By minimum, only carries the `filename`, `format`, and `adc_zero` attributes
#[derive(Debug, Clone)]
struct SignalSpec {
pub struct SignalSpec {
filename: String,
format: SignalFormat,
samples_frame: Option<u64>,
@@ -425,6 +425,14 @@ impl Header {
None => true
}
}
pub fn signals_per_file(&self) -> HashMap<String, u64> {
let mut map: HashMap<String, u64> = HashMap::new();
for signal in &self.signal_specs {
map.entry(signal.filename.clone()).and_modify(|val: &mut u64| *val += 1 ).or_insert(1);
}
return map;
}
}
/// Attempts to parse the header file.