pub struct Q65Message;Expand description
Q65 MessageCodec — wire-compatible with Wsjt77Message at
the human-readable level (Q65 transmits standard FT-style
callsign / grid / report messages and free text), but advertises
the Q65-specific CRC-12 width as metadata.
The 77-bit ↔ 13-symbol conversion (which is the Q65-specific
piece) lives as free functions in this module
(pack77_to_symbols / unpack_symbols_to_bits77) and is
invoked from the protocol’s tx / rx paths, not through this trait.
Trait Implementations§
Source§impl Clone for Q65Message
impl Clone for Q65Message
Source§fn clone(&self) -> Q65Message
fn clone(&self) -> Q65Message
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 Q65Message
impl Debug for Q65Message
Source§impl Default for Q65Message
impl Default for Q65Message
Source§fn default() -> Q65Message
fn default() -> Q65Message
Returns the “default value” for a type. Read more
Source§impl MessageCodec for Q65Message
impl MessageCodec for Q65Message
Source§const PAYLOAD_BITS: u32 = 77
const PAYLOAD_BITS: u32 = 77
Q65 carries the same 77-bit WSJT payload as FT8 / FT4 / FST4.
Source§const CRC_BITS: u32 = 12
const CRC_BITS: u32 = 12
Q65 protects the payload with a CRC-12 (vs the 14-bit CRC
FT8/FT4 use). The CRC sits inside the QRA codec — see
crate::fec::qra::Q65Codec.
Source§fn pack(&self, fields: &MessageFields) -> Option<Vec<u8>>
fn pack(&self, fields: &MessageFields) -> Option<Vec<u8>>
Encode high-level fields to a bit vector of length
PAYLOAD_BITS.
Returns None on encoding failure (invalid callsign format, overflow…).impl Copy for Q65Message
impl WsjtApCompatible for Q65Message
Available on crate feature
q65 only.Auto Trait Implementations§
impl Freeze for Q65Message
impl RefUnwindSafe for Q65Message
impl Send for Q65Message
impl Sync for Q65Message
impl Unpin for Q65Message
impl UnsafeUnpin for Q65Message
impl UnwindSafe for Q65Message
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