Trait radio::Receive

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

    // Required methods
    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§

source

type Error: Debug

Radio error

source

type Info: ReceiveInfo

Packet received info

Required Methods§

source

fn start_receive(&mut self) -> Result<(), Self::Error>

Set receiving on the specified channel

Returns an error if receive mode was not entered

source

fn check_receive(&mut self, restart: bool) -> Result<bool, Self::Error>

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

source

fn get_received( &mut self, buff: &mut [u8] ) -> Result<(usize, Self::Info), Self::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§

source§

impl<St, Reg, Ch, Inf, Irq, E> Receive for Radio<St, Reg, Ch, Inf, Irq, E>

§

type Info = Inf

§

type Error = E