a121_rs/processing/
metadata.rs1use a121_sys::{acc_processing_metadata_t, ACC_MAX_NUM_SUBSWEEPS};
2
3pub struct ProcessingMetaData {
4 inner: acc_processing_metadata_t,
5}
6
7impl Default for ProcessingMetaData {
8 fn default() -> Self {
9 Self {
10 inner: acc_processing_metadata_t {
11 frame_data_length: 0,
12 sweep_data_length: 0,
13 subsweep_data_offset: [0; ACC_MAX_NUM_SUBSWEEPS as usize],
14 subsweep_data_length: [0; ACC_MAX_NUM_SUBSWEEPS as usize],
15 max_sweep_rate: 0.0,
16 high_speed_mode: false,
17 },
18 }
19 }
20}
21
22impl ProcessingMetaData {
23 pub fn new() -> Self {
24 Self::default()
25 }
26
27 pub unsafe fn mut_ptr(&mut self) -> *mut acc_processing_metadata_t {
31 &mut self.inner
32 }
33
34 pub fn ptr(&self) -> *const acc_processing_metadata_t {
35 &self.inner
36 }
37
38 pub fn frame_data_length(&self) -> usize {
39 self.inner.frame_data_length as usize
40 }
41
42 pub fn sweep_data_length(&self) -> usize {
43 self.inner.sweep_data_length as usize
44 }
45
46 pub fn subsweep_data_offset(&self, index: usize) -> usize {
47 self.inner.subsweep_data_offset[index] as usize
48 }
49
50 pub fn subsweep_data_length(&self, index: usize) -> usize {
51 self.inner.subsweep_data_length[index] as usize
52 }
53
54 pub fn max_sweep_rate(&self) -> f32 {
55 self.inner.max_sweep_rate
56 }
57}