Skip to main content

NodeRole

Enum NodeRole 

Source
pub enum NodeRole {
    Emitter(EmitterConfig),
    Collector(CollectorMode),
    Central(CentralOpMode),
    Peripheral(PeripheralOpMode),
}
Expand description

What this node is for.

A CSI measurement needs energy in the channel and something to measure the channel’s response. Emitter and Collector are that split, and they are how every 802.11 capture path in this crate is expressed.

Central and Peripheral are the older ESP-NOW taxonomy, restored alongside rather than folded into the two above. They are not a different spelling of emitter/collector: an ESP-NOW pair is a two-way exchange in which both ends transmit and the central also measures, so neither end maps onto a role defined by which direction it faces. Collapsing them was what removed ESP-NOW from the crate in the first place (b069331).

Variants§

§

Emitter(EmitterConfig)

Transmit-only: force a TX PHY and loop-inject sounding frames. Never captures CSI. See crate::emitter.

§

Collector(CollectorMode)

Capture the channel response and deliver it, via the chosen capture path. See crate::collector.

§

Central(CentralOpMode)

Drive an ESP-NOW exchange, or one of the Wi-Fi modes that predate the emitter/collector split. See crate::central.

§

Peripheral(PeripheralOpMode)

Respond to a central’s ESP-NOW exchange. See crate::peripheral.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.