Trait capsules_extra::ieee802154::mac::Mac
source · pub trait Mac<'a> {
Show 14 methods
// Required methods
fn initialize(&self) -> Result<(), ErrorCode>;
fn set_config_client(&self, client: &'a dyn ConfigClient);
fn set_transmit_client(&self, client: &'a dyn TxClient);
fn set_receive_client(&self, client: &'a dyn RxClient);
fn set_receive_buffer(&self, buffer: &'static mut [u8]);
fn get_address(&self) -> u16;
fn get_address_long(&self) -> [u8; 8];
fn get_pan(&self) -> u16;
fn set_address(&self, addr: u16);
fn set_address_long(&self, addr: [u8; 8]);
fn set_pan(&self, id: u16);
fn config_commit(&self);
fn is_on(&self) -> bool;
fn transmit(
&self,
full_mac_frame: &'static mut [u8],
frame_len: usize,
) -> Result<(), (ErrorCode, &'static mut [u8])>;
}
Required Methods§
sourcefn initialize(&self) -> Result<(), ErrorCode>
fn initialize(&self) -> Result<(), ErrorCode>
Initializes the layer.
sourcefn set_config_client(&self, client: &'a dyn ConfigClient)
fn set_config_client(&self, client: &'a dyn ConfigClient)
Sets the notified client for configuration changes
sourcefn set_transmit_client(&self, client: &'a dyn TxClient)
fn set_transmit_client(&self, client: &'a dyn TxClient)
Sets the notified client for transmission completions
sourcefn set_receive_client(&self, client: &'a dyn RxClient)
fn set_receive_client(&self, client: &'a dyn RxClient)
Sets the notified client for frame receptions
sourcefn set_receive_buffer(&self, buffer: &'static mut [u8])
fn set_receive_buffer(&self, buffer: &'static mut [u8])
Sets the buffer for packet reception
sourcefn get_address(&self) -> u16
fn get_address(&self) -> u16
The short 16-bit address of the radio
sourcefn get_address_long(&self) -> [u8; 8]
fn get_address_long(&self) -> [u8; 8]
The long 64-bit address of the radio
sourcefn set_address(&self, addr: u16)
fn set_address(&self, addr: u16)
Sets the short 16-bit address of the radio
sourcefn set_address_long(&self, addr: [u8; 8])
fn set_address_long(&self, addr: [u8; 8])
Sets the long 64-bit address of the radio
sourcefn 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.