pub struct Wsjt77Message;Expand description
WSJT 77-bit message codec used by FT8, FT4, FT2 and FST4.
Pure wrapper around the free functions in wsjt77, implementing the
generic crate::MessageCodec trait so pipeline code can
consume messages without knowing which concrete protocol produced them.
Trait Implementations§
Source§impl Clone for Wsjt77Message
impl Clone for Wsjt77Message
Source§fn clone(&self) -> Wsjt77Message
fn clone(&self) -> Wsjt77Message
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Wsjt77Message
impl Debug for Wsjt77Message
Source§impl Default for Wsjt77Message
impl Default for Wsjt77Message
Source§fn default() -> Wsjt77Message
fn default() -> Wsjt77Message
Returns the “default value” for a type. Read more
Source§impl MessageCodec for Wsjt77Message
impl MessageCodec for Wsjt77Message
Source§fn verify_info(info: &[u8]) -> bool
fn verify_info(info: &[u8]) -> bool
Wsjt77 reserves the trailing K-77 info bits for a CRC. Two
flavours coexist in the WSJT-X family: FT8 / FT4 / FT2 use
LDPC(174, 91) with a 14-bit CRC at bits 77..91, while FST4
uses LDPC(240, 101) with a 24-bit CRC at bits 77..101.
Both share the same Wsjt77 77-bit message field; only the
CRC width differs by FEC pairing. We length-dispatch on the
info slice the FEC layer passes through here:
- 91 →
crate::fec::ldpc::check_crc14 - 101 →
crate::fec::ldpc240_101::check_crc24 - other → reject (no Wsjt77-compatible CRC for that K)
Source§const PAYLOAD_BITS: u32 = 77
const PAYLOAD_BITS: u32 = 77
Number of information bits consumed by
pack / produced by unpack.Source§const CRC_BITS: u32 = 14
const CRC_BITS: u32 = 14
CRC width guarding the payload during transmission (0 if the FEC itself
provides all error detection, as with JT65 Reed–Solomon).
impl Copy for Wsjt77Message
impl WsjtApCompatible for Wsjt77Message
Auto Trait Implementations§
impl Freeze for Wsjt77Message
impl RefUnwindSafe for Wsjt77Message
impl Send for Wsjt77Message
impl Sync for Wsjt77Message
impl Unpin for Wsjt77Message
impl UnsafeUnpin for Wsjt77Message
impl UnwindSafe for Wsjt77Message
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