use crate::iq_reader::FileSource; use crate::pipeline::{AfterDemodPiplineExt, DspPipelineExt}; use std::error::Error; mod agc; mod dc_blocker; mod fir; mod fm_demod; mod iq_reader; mod low_pass; mod pipeline; mod utils; fn main() -> Result<(), Box> { let source = FileSource::new("test.iq", 32769)?; // Fir coefs let taps = [0.5; 64]; let pipeline = source .agc(20_000_000.0, 1.0, 0.001, 100.0) .fir::<64>(taps, 4) .demodulate() .dc_block(0.995) .lowpass(0.75); for s_r in pipeline { let s = s_r?; println!("phase : {}", s); } Ok(()) }