@@ -10,10 +10,6 @@ use crate::{
1010pub const MAX30102_NUM_SAMPLES : usize = 100 ;
1111pub const MAX30102_SAMPLE_RATE : Hertz = Hertz ( 25 ) ;
1212
13- // const FIR_COEFFS: [u16; 12] = [
14- // 172, 321, 579, 927, 1360, 1858, 2390, 2916, 3391, 3768, 4012, 4096,
15- // ];
16-
1713pub struct Max3012SampleData {
1814 /// "AC" component of R/IR signal sample
1915 /// (sensor value - DC mean subtracted)
@@ -56,30 +52,26 @@ impl Max3012SampleData {
5652 }
5753
5854 pub fn update_from_samples ( & mut self , data : impl Iterator < Item = f32 > ) {
59- self . data_to_skip = data
60- . enumerate ( )
61- . fold ( ( 0 , None :: < f32 > ) , |( res, prev) , ( i, x) | {
62- self . ac [ i] = x;
63- if let Some ( prev) = prev {
64- if ( x - prev) . abs ( ) > 100_000.0 {
65- ( i + 1 , None )
66- } else {
67- ( res, Some ( x) )
68- }
69- } else {
70- ( res, Some ( x) )
71- }
72- } )
73- . 0 ;
74-
75- self . data_to_skip = min (
76- if self . data_to_skip > 0 {
77- self . data_to_skip + 50
78- } else {
79- self . data_to_skip
80- } ,
81- MAX30102_NUM_SAMPLES ,
82- ) ;
55+ // self.data_to_skip = data
56+ // .enumerate()
57+ // .fold((0, None::<f32>), |(res, prev), (i, x)| {
58+ // self.ac[i] = x;
59+ // if let Some(prev) = prev {
60+ // if (x - prev).abs() > 100_000.0 {
61+ // (i + 1, Some(prev))
62+ // } else {
63+ // (res, Some(x))
64+ // }
65+ // } else {
66+ // (res, Some(x))
67+ // }
68+ // })
69+ // .0;
70+
71+ // self.data_to_skip = 0;
72+ for ( i, x) in data. enumerate ( ) {
73+ self . ac [ i] = x;
74+ }
8375 }
8476
8577 pub fn process_signal ( & mut self ) {
@@ -134,12 +126,4 @@ impl Max3012SampleData {
134126 }
135127 }
136128 }
137-
138- // fn low_pass_FIR_filter(&mut self, data: &[f32], filter: &[f32]) -> f32 {
139- // let mut result = 0.0;
140- // for (i, &f) in filter.iter().enumerate() {
141- // result += f * data[i];
142- // }
143- // result
144- // }
145129}
0 commit comments