pub struct PacketA {Show 25 fields
pub mac: [u8; 6],
pub rssi: i32,
pub timestamp: u32,
pub rate: u32,
pub sgi: u32,
pub secondary_channel: u32,
pub channel: u32,
pub bandwidth: u32,
pub antenna: u32,
pub sig_mode: u32,
pub mcs: u32,
pub smoothing: u32,
pub not_sounding: u32,
pub aggregation: u32,
pub stbc: u32,
pub fec_coding: u32,
pub ampdu_cnt: u32,
pub noise_floor: i32,
pub rx_state: u32,
pub sig_len: u32,
pub date_time: Option<DateTime>,
pub sequence_number: u16,
pub data_format: RxCsiFmt,
pub csi_data_len: u16,
pub csi_data: Vec<i8>,
}Expand description
esp32 / esp32c3 / esp32s3 layout — mirror of CSIDataPacket
(#[cfg(not(any(esp32c5, esp32c6)))]). Field order is the wire order.
Fields§
§mac: [u8; 6]§rssi: i32§timestamp: u32§rate: u32§sgi: u32§secondary_channel: u32§channel: u32§bandwidth: u32§antenna: u32§sig_mode: u32§mcs: u32§smoothing: u32§not_sounding: u32§aggregation: u32§stbc: u32§fec_coding: u32§ampdu_cnt: u32§noise_floor: i32§rx_state: u32§sig_len: u32§date_time: Option<DateTime>§sequence_number: u16§data_format: RxCsiFmt§csi_data_len: u16§csi_data: Vec<i8>Trait Implementations§
Source§impl<'de> Deserialize<'de> for PacketA
impl<'de> Deserialize<'de> for PacketA
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<PacketA> for DecodedCsi
impl From<PacketA> for DecodedCsi
Auto Trait Implementations§
impl Freeze for PacketA
impl RefUnwindSafe for PacketA
impl Send for PacketA
impl Sync for PacketA
impl Unpin for PacketA
impl UnsafeUnpin for PacketA
impl UnwindSafe for PacketA
Blanket Implementations§
impl<T> Allocation for T
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.