pub struct WIFI { /* private fields */ }
Expand description
MAC controller for Wi-Fi peripheral
Implementations§
Source§impl WIFI
impl WIFI
Sourcepub const PTR: *const RegisterBlock = {0x60033000 as *const wifi::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x60033000 as *const wifi::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn filter_bank(&self, n: usize) -> &FILTER_BANK
pub fn filter_bank(&self, n: usize) -> &FILTER_BANK
0x00..0x80 - Filter banks for frame reception. Bank zero is for the BSSID and bank one for the RA. Each filter bank has registers for four interfaces.
Sourcepub fn filter_bank_iter(&self) -> impl Iterator<Item = &FILTER_BANK>
pub fn filter_bank_iter(&self) -> impl Iterator<Item = &FILTER_BANK>
Iterator for array of: 0x00..0x80 - Filter banks for frame reception. Bank zero is for the BSSID and bank one for the RA. Each filter bank has registers for four interfaces.
Sourcepub fn rx_dma_list(&self) -> &RX_DMA_LIST
pub fn rx_dma_list(&self) -> &RX_DMA_LIST
0x90..0x9c - RX_DMA_LIST
Sourcepub fn interface_rx_control(&self, n: usize) -> &INTERFACE_RX_CONTROL
pub fn interface_rx_control(&self, n: usize) -> &INTERFACE_RX_CONTROL
0xe0..0xf0 - Controls RX for an interface
Sourcepub fn interface_rx_control_iter(
&self,
) -> impl Iterator<Item = &INTERFACE_RX_CONTROL>
pub fn interface_rx_control_iter( &self, ) -> impl Iterator<Item = &INTERFACE_RX_CONTROL>
Iterator for array of: 0xe0..0xf0 - Controls RX for an interface
Sourcepub fn crypto_control(&self) -> &CRYPTO_CONTROL
pub fn crypto_control(&self) -> &CRYPTO_CONTROL
0x800..0x818 - Control registers for hardware crypto
Sourcepub fn mac_interrupt(&self) -> &MAC_INTERRUPT
pub fn mac_interrupt(&self) -> &MAC_INTERRUPT
0xc3c..0xc44 - Status and clear for the WIFI_MAC interrupt
Sourcepub fn ctrl(&self) -> &CTRL
pub fn ctrl(&self) -> &CTRL
0xcb8 - Exact name and meaning unknown, used for initializing the MAC
Sourcepub fn tx_slot_config(&self, n: usize) -> &TX_SLOT_CONFIG
pub fn tx_slot_config(&self, n: usize) -> &TX_SLOT_CONFIG
0xcdc..0xd04 - Used to configure the TX slot.
Sourcepub fn tx_slot_config_iter(&self) -> impl Iterator<Item = &TX_SLOT_CONFIG>
pub fn tx_slot_config_iter(&self) -> impl Iterator<Item = &TX_SLOT_CONFIG>
Iterator for array of: 0xcdc..0xd04 - Used to configure the TX slot.
Sourcepub fn plcp1_iter(&self) -> impl Iterator<Item = &PLCP1>
pub fn plcp1_iter(&self) -> impl Iterator<Item = &PLCP1>
Iterator for array of: 0x1168..0x117c - PLCP1
Sourcepub fn plcp2_iter(&self) -> impl Iterator<Item = &PLCP2>
pub fn plcp2_iter(&self) -> impl Iterator<Item = &PLCP2>
Iterator for array of: 0x116c..0x1180 - PLCP2
Sourcepub fn ht_sig_iter(&self) -> impl Iterator<Item = &HT_SIG>
pub fn ht_sig_iter(&self) -> impl Iterator<Item = &HT_SIG>
Iterator for array of: 0x1170..0x1184 - HT-SIG field in HT preamble
Sourcepub fn ht_unknown(&self, n: usize) -> &HT_UNKNOWN
pub fn ht_unknown(&self, n: usize) -> &HT_UNKNOWN
0x1174..0x1188 - exact meaning and name unknown, related to HT
Sourcepub fn ht_unknown_iter(&self) -> impl Iterator<Item = &HT_UNKNOWN>
pub fn ht_unknown_iter(&self) -> impl Iterator<Item = &HT_UNKNOWN>
Iterator for array of: 0x1174..0x1188 - exact meaning and name unknown, related to HT
Sourcepub fn duration_iter(&self) -> impl Iterator<Item = &DURATION>
pub fn duration_iter(&self) -> impl Iterator<Item = &DURATION>
Iterator for array of: 0x1178..0x118c - duration of the frame exchange
Sourcepub fn crypto_key_slot(&self, n: usize) -> &CRYPTO_KEY_SLOT
pub fn crypto_key_slot(&self, n: usize) -> &CRYPTO_KEY_SLOT
0x1400..0x17e8 - Cryptographic keys for MPDU encapsulation and decapsulation
Sourcepub fn crypto_key_slot_iter(&self) -> impl Iterator<Item = &CRYPTO_KEY_SLOT>
pub fn crypto_key_slot_iter(&self) -> impl Iterator<Item = &CRYPTO_KEY_SLOT>
Iterator for array of: 0x1400..0x17e8 - Cryptographic keys for MPDU encapsulation and decapsulation
Sourcepub fn pwr_interrupt(&self) -> &PWR_INTERRUPT
pub fn pwr_interrupt(&self) -> &PWR_INTERRUPT
0x21a0..0x21a8 - Status and clear for the WIFI_PWR interrupt