From d2052a76a2a1a3fd2f551a8e97089428f6f93b28 Mon Sep 17 00:00:00 2001
From: Stephen D <webmaster@scd31.com>
Date: Sat, 6 Apr 2024 13:21:46 -0300
Subject: [PATCH] forgot to wire up max_deviation setting

---
 src/codec2/mod.rs  | 6 +++---
 src/decoder/mod.rs | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/codec2/mod.rs b/src/codec2/mod.rs
index 9276caf..1f7f0fe 100644
--- a/src/codec2/mod.rs
+++ b/src/codec2/mod.rs
@@ -145,7 +145,7 @@ pub struct Fsk<I: Iterator<Item = Complex>> {
 }
 
 impl<I: Iterator<Item = Complex>> Fsk<I> {
-    pub fn new(iq_iter: I) -> Self {
+    pub fn new(iq_iter: I, max_deviation: i32) -> Self {
         const P: i32 = 5;
         const FS: i32 = 9600 * P;
 
@@ -153,8 +153,8 @@ impl<I: Iterator<Item = Complex>> Fsk<I> {
 
         // Set upper/lower bound on the FSK peaks, from center
         // (Hz)
-        let fsk_lower = -15_000;
-        let fsk_upper = 15_000;
+        let fsk_lower = -max_deviation;
+        let fsk_upper = max_deviation;
 
         unsafe {
             fsk_set_freq_est_limits(internal, fsk_lower, fsk_upper);
diff --git a/src/decoder/mod.rs b/src/decoder/mod.rs
index 5f5e858..a49eae3 100644
--- a/src/decoder/mod.rs
+++ b/src/decoder/mod.rs
@@ -47,7 +47,7 @@ pub fn decode_forever(felinet_send: mpsc::Sender<SemiPacketIn>, config: &Config,
             Complex { real, imag }
         });
     let iq_no_dc = RemoveDcBias::new(iq);
-    let soft_bits = Fsk::new(iq_no_dc);
+    let soft_bits = Fsk::new(iq_no_dc, config.max_deviation);
     let demod = Demod::new(soft_bits);
 
     demod.demod(|mut p| {
-- 
GitLab