Struct esp_wifi::wifi::RxControlInfo
source · pub struct RxControlInfo {Show 19 fields
pub rssi: i32,
pub rate: u32,
pub sig_mode: u32,
pub mcs: u32,
pub cwb: u32,
pub smoothing: u32,
pub not_sounding: u32,
pub aggregation: u32,
pub stbc: u32,
pub fec_coding: u32,
pub sgi: u32,
pub ampdu_cnt: u32,
pub channel: u32,
pub secondary_channel: u32,
pub timestamp: u32,
pub noise_floor: i32,
pub ant: u32,
pub sig_len: u32,
pub rx_state: u32,
}
Expand description
The radio metadata header of the received packet, which is the common header at the beginning of all RX callback buffers in promiscuous mode.
Fields§
§rssi: i32
Received Signal Strength Indicator (RSSI) of the packet, in dBm.
rate: u32
PHY rate encoding of the packet. Only valid for non-HT (802.11b/g) packets.
sig_mode: u32
Protocol of the received packet: 0 for non-HT (11bg), 1 for HT (11n), 3 for VHT (11ac).
mcs: u32
Modulation and Coding Scheme (MCS). Indicates modulation for HT (11n) packets.
cwb: u32
Channel bandwidth of the packet: 0 for 20MHz, 1 for 40MHz.
smoothing: u32
Channel estimate smoothing: 1 recommends smoothing; 0 recommends per-carrier-independent estimate.
not_sounding: u32
Sounding indicator: 0 for sounding PPDU (used for channel estimation); 1 for non-sounding PPDU.
aggregation: u32
Aggregation status: 0 for MPDU packet, 1 for AMPDU packet.
stbc: u32
Space-Time Block Coding (STBC) status: 0 for non-STBC packet, 1 for STBC packet.
fec_coding: u32
Forward Error Correction (FEC) status: indicates if LDPC coding is used for 11n packets.
sgi: u32
Short Guard Interval (SGI): 0 for long guard interval, 1 for short guard interval.
ampdu_cnt: u32
Number of subframes aggregated in an AMPDU packet.
channel: u32
Primary channel on which the packet is received.
secondary_channel: u32
Secondary channel on which the packet is received: 0 for none, 1 for above, 2 for below.
timestamp: u32
Timestamp of when the packet is received, in microseconds. Precise only if modem sleep or light sleep is not enabled.
noise_floor: i32
Noise floor of the Radio Frequency module, in dBm.
ant: u32
Antenna number from which the packet is received: 0 for antenna 0, 1 for antenna 1.
sig_len: u32
Length of the packet including the Frame Check Sequence (FCS).
rx_state: u32
State of the packet: 0 for no error, other values indicate error codes.
Implementations§
source§impl RxControlInfo
impl RxControlInfo
sourcepub unsafe fn from_raw(rx_cntl: *const wifi_pkt_rx_ctrl_t) -> Self
pub unsafe fn from_raw(rx_cntl: *const wifi_pkt_rx_ctrl_t) -> Self
Create an instance from a raw pointer to wifi_pkt_rx_ctrl_t.
§Safety
When calling this, you must ensure, that rx_cntl
points to a valid
instance of wifi_pkt_rx_ctrl_t.
Trait Implementations§
source§impl Clone for RxControlInfo
impl Clone for RxControlInfo
source§fn clone(&self) -> RxControlInfo
fn clone(&self) -> RxControlInfo
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RxControlInfo
impl Debug for RxControlInfo
impl Copy for RxControlInfo
Auto Trait Implementations§
impl Freeze for RxControlInfo
impl RefUnwindSafe for RxControlInfo
impl Send for RxControlInfo
impl Sync for RxControlInfo
impl Unpin for RxControlInfo
impl UnwindSafe for RxControlInfo
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)