#[non_exhaustive]pub struct RxMeta {Show 19 fields
pub timestamp_us: u64,
pub rssi: i8,
pub noise_floor: i8,
pub channel: u8,
pub secondary: Secondary,
pub bandwidth: Option<Bandwidth>,
pub ppdu: PpduFormat,
pub mcs: Option<u8>,
pub stbc: Option<bool>,
pub sgi: Option<bool>,
pub n_rx: u8,
pub n_ss: Option<u8>,
pub antenna: Option<u8>,
pub sig_len: u16,
pub rx_state: u8,
pub not_sounding: Option<bool>,
pub aggregation: Option<bool>,
pub frame_seq: Option<u16>,
pub vendor: VendorRx,
}Expand description
Normalised receive metadata: the fields every source can state in the same units.
A field is an Option when some source cannot state it. The Espressif 802.11ax-generation
MAC (C5/C6), for instance, reports no MCS, STBC, guard-interval or antenna bit, and an absent
value is None rather than a guess.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.timestamp_us: u64Receive time on the node’s clock, microseconds. 64-bit: it does not wrap within a session.
rssi: i8Received signal strength, dBm.
noise_floor: i8Noise floor, dBm.
channel: u8Primary channel number.
secondary: SecondaryPosition of the secondary channel, for a 40 MHz-capable channel.
bandwidth: Option<Bandwidth>Bandwidth of the measured PPDU, when the source reports or implies it.
ppdu: PpduFormatFormat of the measured PPDU.
mcs: Option<u8>MCS index, for HT/VHT/HE PPDUs where the source reports it.
stbc: Option<bool>Whether the PPDU used space-time block coding.
sgi: Option<bool>Whether the PPDU used a short guard interval.
n_rx: u8Receive chains the measurement covers.
n_ss: Option<u8>Spatial streams in the measured PPDU, when known.
antenna: Option<u8>Index of the antenna the PPDU was received on, when reported.
sig_len: u16Length of the received PPDU including its FCS, bytes.
rx_state: u8Receive state: 0 = no error, others are source-specific error codes.
not_sounding: Option<bool>Whether the PPDU was not a sounding PPDU (Some(false) = sounding, i.e. an NDP), when
the source distinguishes them.
aggregation: Option<bool>Whether the MPDU arrived inside an A-MPDU, when reported.
frame_seq: Option<u16>The 12-bit 802.11 sequence number of the measured MPDU, when the source reports it.
Assigned by the transmitter, per TID, and repeated on retries, so it measures loss on the
air per transmitter. Use Envelope::stream_seq to count loss between node and host.
vendor: VendorRxFields specific to the source’s chip family.