]> code.octet-stream.net Git - m17rt/blobdiff - m17core/src/modem.rs
Reduce the number of samples being moved around for sync burst detection
[m17rt] / m17core / src / modem.rs
index 35a23a74d5eb650716719e062e6ccb0547a2cdb7..b45982668aa1a492d190a4f8cc926c68fbba2e37 100644 (file)
@@ -65,9 +65,9 @@ impl Demodulator for SoftDemodulator {
             return None;
         }
 
             return None;
         }
 
-        let mut burst_window = [0f32; 71];
-        for i in 0..71 {
-            let c = (self.rx_cursor + i) % 1920;
+        let mut burst_window = [0f32; 8];
+        for i in 0..8 {
+            let c = (self.rx_cursor + (i * 10)) % 1920;
             burst_window[i] = self.rx_win[c];
         }
 
             burst_window[i] = self.rx_win[c];
         }
 
@@ -419,7 +419,7 @@ impl Modulator for SoftModulator {
 
         // if we have pre-TX padding to accommodate TxDelay then expend that first
         if self.tx_delay_padding > 0 {
 
         // if we have pre-TX padding to accommodate TxDelay then expend that first
         if self.tx_delay_padding > 0 {
-            let len = out.len().max(self.tx_delay_padding);
+            let len = out.len().min(self.tx_delay_padding);
             self.tx_delay_padding -= len;
             for x in 0..len {
                 out[x] = 0;
             self.tx_delay_padding -= len;
             for x in 0..len {
                 out[x] = 0;