pub struct EsbApp<const OUT: usize, const IN: usize> { /* private fields */ }Expand description
This is the primary Application-side interface.
It is intended to be used outside of the RADIO interrupt,
and allows for sending or receiving frames from the ESB Radio
hardware.
Implementations§
Source§impl<const OUT: usize, const IN: usize> EsbApp<OUT, IN>
impl<const OUT: usize, const IN: usize> EsbApp<OUT, IN>
pub fn split(self) -> (EsbAppSender<OUT>, EsbAppReceiver<IN>)
Sourcepub fn grant_packet(
&mut self,
header: EsbHeader,
) -> Result<PayloadW<OUT>, Error>
pub fn grant_packet( &mut self, header: EsbHeader, ) -> Result<PayloadW<OUT>, Error>
Obtain a grant for an outgoing packet to be sent over the Radio
When space is available, this function will return a PayloadW,
which can be written into for data to be sent over the radio. If
the given parameters are incorrect, or if no space is available,
or if a grant is already in progress, an error will be returned.
§Notes
Once a grant has been created, the maximum size of the grant can not
be increased, only shrunk. If a larger grant is needed, you must
drop the old grant, and create a new one.
Only one grant may be active at a time.
Sourcepub fn start_tx(&mut self)
pub fn start_tx(&mut self)
Starts the radio sending all packets in the queue.
The radio will send until the queue has been drained. This method must be called again if the queue is completely drained before the user commits new packets.
Sourcepub fn msg_ready(&mut self) -> bool
pub fn msg_ready(&mut self) -> bool
Is there a received message that is ready to be read?
Returns true if a call to read_packet would return Some.
Sourcepub fn read_packet(&mut self) -> Option<PayloadR<IN>>
pub fn read_packet(&mut self) -> Option<PayloadR<IN>>
Attempt to read a packet that has been received via the radio.
Returns Some(PayloadR) if a packet is ready to be read,
otherwise None.
pub async fn wait_read_packet(&mut self) -> PayloadR<IN>
Sourcepub fn maximum_payload_size(&self) -> usize
pub fn maximum_payload_size(&self) -> usize
Gets the maximum payload size (in bytes) that the driver was configured to use.