#[repr(u8)]pub enum ProtocolId {
Ft8 = 0,
Ft4 = 1,
Ft2 = 2,
Fst4 = 3,
Jt65 = 4,
Jt9 = 5,
Wspr = 6,
Q65 = 7,
UvPacket = 8,
}Expand description
Runtime protocol tag — used at FFI boundaries where generics cannot cross the C ABI. Order is stable; append new variants at the end.
Variants§
Ft8 = 0
FT8 — 15 s slot, 8-FSK, LDPC(174,91), 77-bit message.
Ft4 = 1
FT4 — 7.5 s slot, 4-FSK, LDPC(174,91), 77-bit message.
Ft2 = 2
FT2 (experimental / contest variant).
Fst4 = 3
FST4 — 60 s slot, 4-FSK, LDPC(240,101) + CRC-24, 77-bit message.
Jt65 = 4
JT65 — 60 s slot, 65-tone FSK, Reed-Solomon(63,12), 72-bit message.
Jt9 = 5
JT9 — 60 s slot, 9-FSK, convolutional r=½ K=32 + Fano, 72-bit message.
Wspr = 6
WSPR — 120 s slot, 4-FSK, convolutional r=½ K=32 + Fano, 50-bit message.
Q65 = 7
Q65 — 65-tone FSK, QRA(15,65) over GF(64), 77-bit Wsjt77 message. Multiple T/R-period × tone-spacing variants share this tag at the FFI level; the protocol-layer ZST disambiguates.
UvPacket = 8
uvpacket — 4-GFSK packet protocol for narrow-FM voice channels at U/VHF (Rayleigh-fading-tolerant). 4 sub-modes share this family ID; the protocol-layer ZST disambiguates.
Trait Implementations§
Source§impl Clone for ProtocolId
impl Clone for ProtocolId
Source§fn clone(&self) -> ProtocolId
fn clone(&self) -> ProtocolId
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProtocolId
impl Debug for ProtocolId
Source§impl Hash for ProtocolId
impl Hash for ProtocolId
Source§impl PartialEq for ProtocolId
impl PartialEq for ProtocolId
impl Copy for ProtocolId
impl Eq for ProtocolId
impl StructuralPartialEq for ProtocolId
Auto Trait Implementations§
impl Freeze for ProtocolId
impl RefUnwindSafe for ProtocolId
impl Send for ProtocolId
impl Sync for ProtocolId
impl Unpin for ProtocolId
impl UnsafeUnpin for ProtocolId
impl UnwindSafe for ProtocolId
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
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>
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>
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