Struct capsules_extra::ieee802154::xmac::XMac
source · pub struct XMac<'a, R: Radio<'a>, A: Alarm<'a>> { /* private fields */ }
Implementations§
Trait Implementations§
source§impl<'a, R: Radio<'a>, A: Alarm<'a>> Mac<'a> for XMac<'a, R, A>
impl<'a, R: Radio<'a>, A: Alarm<'a>> Mac<'a> for XMac<'a, R, A>
source§fn is_on(&self) -> bool
fn is_on(&self) -> bool
Indicates whether or not the MAC protocol is active and can send frames
source§fn set_config_client(&self, client: &'a dyn ConfigClient)
fn set_config_client(&self, client: &'a dyn ConfigClient)
Sets the notified client for configuration changes
source§fn set_address(&self, addr: u16)
fn set_address(&self, addr: u16)
Sets the short 16-bit address of the radio
source§fn set_address_long(&self, addr: [u8; 8])
fn set_address_long(&self, addr: [u8; 8])
Sets the long 64-bit address of the radio
source§fn get_address(&self) -> u16
fn get_address(&self) -> u16
The short 16-bit address of the radio
source§fn get_address_long(&self) -> [u8; 8]
fn get_address_long(&self) -> [u8; 8]
The long 64-bit address of the radio
source§fn config_commit(&self)
fn config_commit(&self)
Must be called after one or more calls to
set_*
. If
set_*
is called without calling config_commit
, there is no guarantee
that the underlying hardware configuration (addresses, pan ID) is in
line with this MAC protocol implementation. The specified config_client is
notified on completed reconfiguration.source§fn set_transmit_client(&self, client: &'a dyn TxClient)
fn set_transmit_client(&self, client: &'a dyn TxClient)
Sets the notified client for transmission completions
source§fn set_receive_client(&self, client: &'a dyn RxClient)
fn set_receive_client(&self, client: &'a dyn RxClient)
Sets the notified client for frame receptions
source§fn set_receive_buffer(&self, buffer: &'static mut [u8])
fn set_receive_buffer(&self, buffer: &'static mut [u8])
Sets the buffer for packet reception
source§fn transmit(
&self,
full_mac_frame: &'static mut [u8],
frame_len: usize,
) -> Result<(), (ErrorCode, &'static mut [u8])>
fn transmit( &self, full_mac_frame: &'static mut [u8], frame_len: usize, ) -> Result<(), (ErrorCode, &'static mut [u8])>
Transmits complete MAC frames, which must be prepared by an ieee802154::device::MacDevice
before being passed to the Mac layer. Returns the frame buffer in case of an error.
Auto Trait Implementations§
impl<'a, R, A> !Freeze for XMac<'a, R, A>
impl<'a, R, A> !RefUnwindSafe for XMac<'a, R, A>
impl<'a, R, A> !Send for XMac<'a, R, A>
impl<'a, R, A> !Sync for XMac<'a, R, A>
impl<'a, R, A> Unpin for XMac<'a, R, A>
impl<'a, R, A> !UnwindSafe for XMac<'a, R, A>
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