pub trait Receive {
    type Error: Debug;
    type Info: ReceiveInfo;

    fn start_receive(&mut self) -> Result<(), Self::Error>;
    fn check_receive(&mut self, restart: bool) -> Result<bool, Self::Error>;
    fn get_received(
        &mut self,
        buff: &mut [u8]
    ) -> Result<(usize, Self::Info), Self::Error>; }
Expand description

Receive trait for radios that can receive packets

start_receive should be used to setup the radio in receive mode, with check_receive called periodically (or using interrupts) to poll for packet reception. Once a packet has been received, get_received fetches the received packet (and associated info) from the radio.

Required Associated Types

Radio error

Packet received info

Required Methods

Set receiving on the specified channel

Returns an error if receive mode was not entered

Check for reception

The restart flag indicates on (recoverable) error conditions (such as invalid CRC) the radio should re-enter receive mode if required and continue reception.

This returns true for received, false for not received, or the provided error

Fetch a received packet if rx is complete

This copies received data into the provided buffer and returns the number of bytes received as well as information about the received packet

Implementors