diff --git a/src/codec2/mod.rs b/src/codec2/mod.rs index 23b75add5259c5c7b1c95bb829033970c5200225..e34f45f73df7535a40ac982de17fe895b8f3f70d 100644 --- a/src/codec2/mod.rs +++ b/src/codec2/mod.rs @@ -2,13 +2,16 @@ use std::collections::VecDeque; const MODE_M_MAX: usize = 4; const M: i32 = 2; +const N_SYM: i32 = 50; #[link(name = "fsk", kind = "static")] extern "C" { - fn fsk_create( + fn fsk_create_hbr( Fs: libc::c_int, Rs: libc::c_int, M: libc::c_int, + P: libc::c_int, + n_sym: libc::c_int, f1_tx: libc::c_int, tone_spacing: libc::c_int, ) -> *mut InternalFsk; @@ -99,9 +102,9 @@ pub struct Fsk<I: Iterator<Item = Complex>> { impl<I: Iterator<Item = Complex>> Fsk<I> { pub fn new(iq_iter: I) -> Self { - const FS: i32 = 9600 * 8; + const FS: i32 = 9600 * 5; - let internal = unsafe { fsk_create(FS, 9600, M, -1, 0) }; + let internal = unsafe { fsk_create_hbr(FS, 9600, M, 5, N_SYM, -1, 0) }; let fsk_lower = -FS / 2; let fsk_upper = FS / 2;