Struct WIFI

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

MAC controller for Wi-Fi peripheral

Implementations§

Source§

impl WIFI

Source

pub const PTR: *const RegisterBlock = {0x60033000 as *const wifi::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

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>§

Source

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.

Source

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.

Source

pub fn rx_ctrl(&self) -> &RX_CTRL

0x88 - Controls the reception of frames

Source

pub fn rx_dma_list(&self) -> &RX_DMA_LIST

0x90..0x9c - RX_DMA_LIST

Source

pub fn interface_rx_control(&self, n: usize) -> &INTERFACE_RX_CONTROL

0xe0..0xf0 - Controls RX for an interface

Source

pub fn interface_rx_control_iter( &self, ) -> impl Iterator<Item = &INTERFACE_RX_CONTROL>

Iterator for array of: 0xe0..0xf0 - Controls RX for an interface

Source

pub fn crypto_control(&self) -> &CRYPTO_CONTROL

0x800..0x818 - Control registers for hardware crypto

Source

pub fn mac_interrupt(&self) -> &MAC_INTERRUPT

0xc3c..0xc44 - Status and clear for the WIFI_MAC interrupt

Source

pub fn txq_state(&self) -> &TXQ_STATE

0xc9c..0xcac - State of transmission queues

Source

pub fn ctrl(&self) -> &CTRL

0xcb8 - Exact name and meaning unknown, used for initializing the MAC

Source

pub fn tx_slot_config(&self, n: usize) -> &TX_SLOT_CONFIG

0xcdc..0xd04 - Used to configure the TX slot.

Source

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.

Source

pub fn plcp1(&self, n: usize) -> &PLCP1

0x1168..0x117c - PLCP1

Source

pub fn plcp1_iter(&self) -> impl Iterator<Item = &PLCP1>

Iterator for array of: 0x1168..0x117c - PLCP1

Source

pub fn plcp2(&self, n: usize) -> &PLCP2

0x116c..0x1180 - PLCP2

Source

pub fn plcp2_iter(&self) -> impl Iterator<Item = &PLCP2>

Iterator for array of: 0x116c..0x1180 - PLCP2

Source

pub fn ht_sig(&self, n: usize) -> &HT_SIG

0x1170..0x1184 - HT-SIG field in HT preamble

Source

pub fn ht_sig_iter(&self) -> impl Iterator<Item = &HT_SIG>

Iterator for array of: 0x1170..0x1184 - HT-SIG field in HT preamble

Source

pub fn ht_unknown(&self, n: usize) -> &HT_UNKNOWN

0x1174..0x1188 - exact meaning and name unknown, related to HT

Source

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

Source

pub fn duration(&self, n: usize) -> &DURATION

0x1178..0x118c - duration of the frame exchange

Source

pub fn duration_iter(&self) -> impl Iterator<Item = &DURATION>

Iterator for array of: 0x1178..0x118c - duration of the frame exchange

Source

pub fn pmd(&self, n: usize) -> &PMD

0x1180..0x1194 -

Source

pub fn pmd_iter(&self) -> impl Iterator<Item = &PMD>

Iterator for array of: 0x1180..0x1194 -

Source

pub fn crypto_key_slot(&self, n: usize) -> &CRYPTO_KEY_SLOT

0x1400..0x17e8 - Cryptographic keys for MPDU encapsulation and decapsulation

Source

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

Source

pub fn mac_time(&self) -> &MAC_TIME

0x2000 - Current value of the MAC timer

Source

pub fn pwr_interrupt(&self) -> &PWR_INTERRUPT

0x21a0..0x21a8 - Status and clear for the WIFI_PWR interrupt

Trait Implementations§

Source§

impl Debug for WIFI

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for WIFI

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for WIFI

Auto Trait Implementations§

§

impl Freeze for WIFI

§

impl RefUnwindSafe for WIFI

§

impl !Sync for WIFI

§

impl Unpin for WIFI

§

impl UnwindSafe for WIFI

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.