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
impl Sys
Sourcepub fn wireless_fw_info(&self) -> Option<WirelessFwInfoTable>
pub fn wireless_fw_info(&self) -> Option<WirelessFwInfoTable>
Returns CPU2 wireless firmware information (if present).
pub async fn write(&self, opcode: ShciOpcode, payload: &[u8])
Sourcepub async fn write_and_get_response(
&self,
opcode: ShciOpcode,
payload: &[u8],
) -> Result<SchiCommandStatus, ()>
pub async fn write_and_get_response( &self, opcode: ShciOpcode, payload: &[u8], ) -> Result<SchiCommandStatus, ()>
HW_IPCC_SYS_CmdEvtNot
pub async fn shci_c2_mac_802_15_4_init(&self) -> Result<SchiCommandStatus, ()>
Sourcepub async fn shci_c2_ble_init(
&self,
param: ShciBleInitCmdParam,
) -> Result<SchiCommandStatus, ()>
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.
Sourcepub async fn read(&self) -> EvtBox<MemoryManager>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more