Skip to main content

EspNowManager

Struct EspNowManager 

Source
pub struct EspNowManager { /* private fields */ }
Available on crate features esp-now and unstable only.
Expand description

Manages the EspNow instance lifecycle while ensuring it remains active.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Implementations§

Source§

impl EspNowManager

Source

pub fn set_channel(&self, channel: u8) -> Result<(), EspNowError>

Set primary Wi-Fi channel. When using ESP-NOW with an access point or station, the device cannot switch channels after connecting to Wi-Fi. It can only transmit and receive data on the current Wi-Fi channel.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn version(&self) -> Result<u32, EspNowError>

Get the version of ESP-NOW.

ESP-NOW supports two versions: v1.0 and v2.0. v1.0 and v2.0 are capable of talking to each other, but v1.0 devices may truncate or discard v2.0 messages that exceed the v1.0 maximum data length (ESP_NOW_MAX_DATA_LEN_V1).

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn add_peer(&self, peer: PeerInfo) -> Result<(), EspNowError>

Add a peer to the list of known peers.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn set_csi( &mut self, csi: CsiConfig, cb: impl FnMut(WifiCsiInfo<'_>) + Send, ) -> Result<(), WifiError>

Set CSI configuration and register the receiving callback.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn remove_peer(&self, peer_address: &[u8; 6]) -> Result<(), EspNowError>

Remove the given peer.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn modify_peer(&self, peer: PeerInfo) -> Result<(), EspNowError>

Modify a peer information.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn peer(&self, peer_address: &[u8; 6]) -> Result<PeerInfo, EspNowError>

Get peer by MAC address.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn fetch_peer(&self, from_head: bool) -> Result<PeerInfo, EspNowError>

Fetch a peer from peer list.

Only returns peers which address is unicast, for multicast/broadcast addresses, the function will skip the entry and find the next in the peer list.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn peer_exists(&self, peer_address: &[u8; 6]) -> bool

Check is peer is known.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn peer_count(&self) -> Result<PeerCount, EspNowError>

Get the number of peers.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn set_pmk(&self, pmk: &[u8; 16]) -> Result<(), EspNowError>

Set the primary master key.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn set_wake_window(&self, wake_window: Duration) -> Result<(), EspNowError>

Set wake window for esp_now to wake up in interval unit.

Window is milliseconds the chip keep waked each interval, from 0 to 65535.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source

pub fn set_peer_rate( &self, peer_address: &[u8; 6], cfg: RateConfig, ) -> Result<(), EspNowError>

Set ESP-NOW rate config for the given peer. You need to add the peer first before setting the rate config.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Trait Implementations§

Source§

impl Debug for EspNowManager

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Format for EspNowManager
where EspNowRc: Format,

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.

Auto Trait Implementations§

§

impl Freeze for EspNowManager

§

impl RefUnwindSafe for EspNowManager

§

impl Send for EspNowManager

§

impl Sync for EspNowManager

§

impl Unpin for EspNowManager

§

impl UnsafeUnpin for EspNowManager

§

impl UnwindSafe for EspNowManager

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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
§

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

§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.