embassy-stm32-wpan

Crates

git

Versions

default

Flavors

embassy_stm32_wpan::sub::sys

Struct Sys

Source
pub struct Sys { /* private fields */ }
Expand description

A guard that, once constructed, allows for sys commands to be sent to CPU2.

Implementations§

Source§

impl Sys

Source

pub fn wireless_fw_info(&self) -> Option<WirelessFwInfoTable>

Returns CPU2 wireless firmware information (if present).

Source

pub async fn write(&self, opcode: ShciOpcode, payload: &[u8])

Source

pub async fn write_and_get_response( &self, opcode: ShciOpcode, payload: &[u8], ) -> Result<SchiCommandStatus, ()>

HW_IPCC_SYS_CmdEvtNot

Source

pub async fn shci_c2_mac_802_15_4_init(&self) -> Result<SchiCommandStatus, ()>

Source

pub async fn shci_c2_ble_init( &self, param: ShciBleInitCmdParam, ) -> Result<SchiCommandStatus, ()>

Send a request to CPU2 to initialise the BLE stack.

This must be called before any BLE commands are sent via the BLE channel (according to AN5289, Figures 65 and 66). It should only be called after CPU2 sends a system event, via HW_IPCC_SYS_EvtNot, aka IoBusCallBackUserEvt (as detailed in Figure 65), aka crate::sub::ble::hci::host::uart::UartHci::read.

Source

pub async fn read(&self) -> EvtBox<MemoryManager>

HW_IPCC_SYS_EvtNot

This method takes the place of the HW_IPCC_SYS_EvtNot/SysUserEvtRx/APPE_SysUserEvtRx, as the embassy implementation avoids the need to call C public bindings, and instead handles the event channels directly.

Auto Trait Implementations§

§

impl Freeze for Sys

§

impl RefUnwindSafe for Sys

§

impl Send for Sys

§

impl Sync for Sys

§

impl Unpin for Sys

§

impl UnwindSafe for Sys

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> Same for T

Source§

type Output = T

Should always be Self
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.