embassy-nrf

Crates

git

Versions

nrf5340-net

Flavors

embassy_nrf::radio::ble

Struct Radio

Source
pub struct Radio<'d, T: Instance> { /* private fields */ }
Expand description

Radio driver.

Implementations§

Source§

impl<'d, T: Instance> Radio<'d, T>

Source

pub fn new( radio: impl Peripheral<P = T> + 'd, _irq: impl Binding<T::Interrupt, InterruptHandler<T>> + 'd, ) -> Self

Create a new radio driver.

Source

pub fn set_mode(&mut self, mode: Mode)

Set the radio mode

The radio must be disabled before calling this function

Source

pub fn set_header_expansion(&mut self, use_s1_field: bool)

Set the header size changing the S1’s len field

The radio must be disabled before calling this function

Source

pub fn set_whitening_init(&mut self, whitening_init: u8)

Set initial data whitening value Data whitening is used to avoid long sequences of zeros or ones, e.g., 0b0000000 or 0b1111111, in the data bit stream On BLE the initial value is the channel index | 0x40

The radio must be disabled before calling this function

Source

pub fn set_frequency(&mut self, frequency: u32)

Set the central frequency to be used It should be in the range 2400..2500

The radio must be disabled before calling this function

Source

pub fn set_access_address(&mut self, access_address: u32)

Set the acess address This address is always constants for advertising And a random value generate on each connection It is used to filter the packages

The radio must be disabled before calling this function

Source

pub fn set_crc_poly(&mut self, crc_poly: u32)

Set the CRC polynomial It only uses the 24 least significant bits

The radio must be disabled before calling this function

Source

pub fn set_crc_init(&mut self, crc_init: u32)

Set the CRC init value It only uses the 24 least significant bits The CRC initial value varies depending of the PDU type

The radio must be disabled before calling this function

Source

pub fn set_tx_power(&mut self, tx_power: TxPower)

Set the radio tx power

The radio must be disabled before calling this function

Source

pub async fn transmit(&mut self, buffer: &[u8]) -> Result<(), Error>

Send packet If the length byte in the package is greater than the buffer length the radio will read memory out of the buffer bounds

Source

pub async fn receive(&mut self, buffer: &mut [u8]) -> Result<(), Error>

Receive packet If the length byte in the received package is greater than the buffer length the radio will write memory out of the buffer bounds

Trait Implementations§

Source§

impl<'d, T: Instance> Drop for Radio<'d, T>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'d, T> Freeze for Radio<'d, T>
where T: Freeze,

§

impl<'d, T> RefUnwindSafe for Radio<'d, T>
where T: RefUnwindSafe,

§

impl<'d, T> Send for Radio<'d, T>

§

impl<'d, T> Sync for Radio<'d, T>
where T: Sync,

§

impl<'d, T> Unpin for Radio<'d, T>
where T: Unpin,

§

impl<'d, T> !UnwindSafe for Radio<'d, T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.