Struct EspNowSender

Source
pub struct EspNowSender<'d> { /* private fields */ }
Available on crate feature unstable only.
Expand description

This is the sender part of ESP-NOW. You can get this sender by splitting a EspNow instance.

You need a lock when using this sender in multiple tasks. DO NOT USE a lock implementation that disables interrupts since the completion of a sending requires waiting for a callback invoked in an interrupt.

§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 EspNowSender<'_>

Source

pub fn send<'s>( &'s mut self, dst_addr: &[u8; 6], data: &[u8], ) -> Result<SendWaiter<'s>, EspNowError>

Send data to peer

The peer needs to be added to the peer list first.

§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§

impl EspNowSender<'_>

Source

pub fn send_async<'s, 'r>( &'s mut self, addr: &'r [u8; 6], data: &'r [u8], ) -> SendFuture<'s, 'r>

Sends data asynchronously to a peer (using its MAC) using ESP-NOW.

§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.

Auto Trait Implementations§

§

impl<'d> Freeze for EspNowSender<'d>

§

impl<'d> RefUnwindSafe for EspNowSender<'d>

§

impl<'d> Send for EspNowSender<'d>

§

impl<'d> Sync for EspNowSender<'d>

§

impl<'d> Unpin for EspNowSender<'d>

§

impl<'d> UnwindSafe for EspNowSender<'d>

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 = Infallible

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

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

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.