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: i32Received Signal Strength Indicator (RSSI) of the packet, in dBm.
rate: u32PHY rate encoding of the packet. Only valid for non-HT (802.11b/g) packets.
sig_mode: u32Protocol of the received packet: 0 for non-HT (11bg), 1 for HT (11n), 3 for VHT (11ac).
mcs: u32Modulation and Coding Scheme (MCS). Indicates modulation for HT (11n) packets.
cwb: u32Channel bandwidth of the packet: 0 for 20MHz, 1 for 40MHz.
smoothing: u32Channel estimate smoothing: 1 recommends smoothing; 0 recommends per-carrier-independent estimate.
not_sounding: u32Sounding indicator: 0 for sounding PPDU (used for channel estimation); 1 for non-sounding PPDU.
aggregation: u32Aggregation status: 0 for MPDU packet, 1 for AMPDU packet.
stbc: u32Space-Time Block Coding (STBC) status: 0 for non-STBC packet, 1 for STBC packet.
fec_coding: u32Forward Error Correction (FEC) status: indicates if LDPC coding is used for 11n packets.
sgi: u32Short Guard Interval (SGI): 0 for long guard interval, 1 for short guard interval.
ampdu_cnt: u32Number of subframes aggregated in an AMPDU packet.
channel: u32Primary channel on which the packet is received.
secondary_channel: u32Secondary channel on which the packet is received: 0 for none, 1 for above, 2 for below.
timestamp: u32Timestamp of when the packet is received, in microseconds. Precise only if modem sleep or light sleep is not enabled.
noise_floor: i32Noise floor of the Radio Frequency module, in dBm.
ant: u32Antenna number from which the packet is received: 0 for antenna 0, 1 for antenna 1.
sig_len: u32Length of the packet including the Frame Check Sequence (FCS).
rx_state: u32State 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
Source§impl Format for RxControlInfo
impl Format 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, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)