Trait radio::Receive[][src]

pub trait Receive {
    type Error;
    type Info;
    fn start_receive(&mut self) -> Result<(), Self::Error>;
fn check_receive(&mut self, restart: bool) -> Result<bool, Self::Error>;
fn get_received(
        &mut self,
        info: &mut Self::Info,
        buff: &mut [u8]
    ) -> Result<usize, Self::Error>; }

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.

Associated Types

type Error[src]

Radio error

type Info[src]

Packet received info

Loading content...

Required methods

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

Set receiving on the specified channel

Returns an error if receive mode was not entered

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

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

fn get_received(
    &mut self,
    info: &mut Self::Info,
    buff: &mut [u8]
) -> Result<usize, Self::Error>
[src]

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

Loading content...

Implementors

impl<St, Reg, Ch, Inf, Irq, E> Receive for Radio<St, Reg, Ch, Inf, Irq, E> where
    St: PartialEq + Debug + Clone,
    Reg: PartialEq + Debug + Clone,
    Ch: PartialEq + Debug + Clone,
    Inf: PartialEq + Debug + Clone,
    Irq: PartialEq + Debug + Clone,
    E: PartialEq + Debug + Clone
[src]

type Info = Inf

type Error = E

Loading content...