pub enum SyncMode {
Block(&'static [SyncBlock]),
Interleaved {
sync_bit_pos: u8,
vector: &'static [u8],
},
}Expand description
How sync information is carried in the channel symbol stream.
Block— dedicated contiguous sync blocks (Costas arrays) occupy specific symbol positions, with data symbols filling the rest. Used by FT8, FT4, FST4.Interleaved— every channel symbol carries one sync bit (fixed position within the tone index) AND payload bits. The sync bits concatenated across the frame form a known pseudorandom vector. Used by WSPR:tone = 2·data_bit + sync_bit, so LSB of each 4-FSK symbol reproduces the 162-bitnpr3sync vector.
Variants§
Implementations§
Source§impl SyncMode
impl SyncMode
Sourcepub const fn blocks(&self) -> &'static [SyncBlock]
pub const fn blocks(&self) -> &'static [SyncBlock]
Block list for Block mode; empty slice for Interleaved.
Sync/LLR/TX helpers that only handle block-structured sync can iterate
this unconditionally — they will no-op on WSPR-style protocols, which
then need their own interleaved-sync pipeline entry point.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SyncMode
impl RefUnwindSafe for SyncMode
impl Send for SyncMode
impl Sync for SyncMode
impl Unpin for SyncMode
impl UnsafeUnpin for SyncMode
impl UnwindSafe for SyncMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more