pub struct RMT { /* private fields */ }
Expand description
Remote Control
Implementations§
Source§impl RMT
impl RMT
Sourcepub const PTR: *const RegisterBlock = {0x3f416000 as *const rmt::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x3f416000 as *const rmt::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 chdata(&self, n: usize) -> &CHDATA
pub fn chdata(&self, n: usize) -> &CHDATA
0x00..0x10 - The read and write data register for CHANNEL%s by apb fifo access.
Sourcepub fn chdata_iter(&self) -> impl Iterator<Item = &CHDATA>
pub fn chdata_iter(&self) -> impl Iterator<Item = &CHDATA>
Iterator for array of: 0x00..0x10 - The read and write data register for CHANNEL%s by apb fifo access.
Sourcepub fn ch0data(&self) -> &CHDATA
pub fn ch0data(&self) -> &CHDATA
0x00 - The read and write data register for CHANNEL0 by apb fifo access.
Sourcepub fn ch1data(&self) -> &CHDATA
pub fn ch1data(&self) -> &CHDATA
0x04 - The read and write data register for CHANNEL1 by apb fifo access.
Sourcepub fn ch2data(&self) -> &CHDATA
pub fn ch2data(&self) -> &CHDATA
0x08 - The read and write data register for CHANNEL2 by apb fifo access.
Sourcepub fn ch3data(&self) -> &CHDATA
pub fn ch3data(&self) -> &CHDATA
0x0c - The read and write data register for CHANNEL3 by apb fifo access.
Sourcepub fn chconf0_iter(&self) -> impl Iterator<Item = &CHCONF0>
pub fn chconf0_iter(&self) -> impl Iterator<Item = &CHCONF0>
Iterator for array of: 0x10..0x20 - Channel %s configure register 0
Sourcepub fn chconf1_iter(&self) -> impl Iterator<Item = &CHCONF1>
pub fn chconf1_iter(&self) -> impl Iterator<Item = &CHCONF1>
Iterator for array of: 0x14..0x24 - Channel %s configure register 1
Sourcepub fn chstatus_iter(&self) -> impl Iterator<Item = &CHSTATUS>
pub fn chstatus_iter(&self) -> impl Iterator<Item = &CHSTATUS>
Iterator for array of: 0x30..0x40 - Channel %s status register
Sourcepub fn chaddr_iter(&self) -> impl Iterator<Item = &CHADDR>
pub fn chaddr_iter(&self) -> impl Iterator<Item = &CHADDR>
Iterator for array of: 0x40..0x50 - Channel %s address register
Sourcepub fn chcarrier_duty(&self, n: usize) -> &CHCARRIER_DUTY
pub fn chcarrier_duty(&self, n: usize) -> &CHCARRIER_DUTY
0x60..0x70 - Channel %s duty cycle configuration register
Sourcepub fn chcarrier_duty_iter(&self) -> impl Iterator<Item = &CHCARRIER_DUTY>
pub fn chcarrier_duty_iter(&self) -> impl Iterator<Item = &CHCARRIER_DUTY>
Iterator for array of: 0x60..0x70 - Channel %s duty cycle configuration register
Sourcepub fn ch0carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch0carrier_duty(&self) -> &CHCARRIER_DUTY
0x60 - Channel 0 duty cycle configuration register
Sourcepub fn ch1carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch1carrier_duty(&self) -> &CHCARRIER_DUTY
0x64 - Channel 1 duty cycle configuration register
Sourcepub fn ch2carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch2carrier_duty(&self) -> &CHCARRIER_DUTY
0x68 - Channel 2 duty cycle configuration register
Sourcepub fn ch3carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch3carrier_duty(&self) -> &CHCARRIER_DUTY
0x6c - Channel 3 duty cycle configuration register
Sourcepub fn ch_tx_lim(&self, n: usize) -> &CH_TX_LIM
pub fn ch_tx_lim(&self, n: usize) -> &CH_TX_LIM
0x70..0x80 - Channel %s Tx event configuration register
Sourcepub fn ch_tx_lim_iter(&self) -> impl Iterator<Item = &CH_TX_LIM>
pub fn ch_tx_lim_iter(&self) -> impl Iterator<Item = &CH_TX_LIM>
Iterator for array of: 0x70..0x80 - Channel %s Tx event configuration register
Sourcepub fn ch0_tx_lim(&self) -> &CH_TX_LIM
pub fn ch0_tx_lim(&self) -> &CH_TX_LIM
0x70 - Channel 0 Tx event configuration register
Sourcepub fn ch1_tx_lim(&self) -> &CH_TX_LIM
pub fn ch1_tx_lim(&self) -> &CH_TX_LIM
0x74 - Channel 1 Tx event configuration register
Sourcepub fn ch2_tx_lim(&self) -> &CH_TX_LIM
pub fn ch2_tx_lim(&self) -> &CH_TX_LIM
0x78 - Channel 2 Tx event configuration register
Sourcepub fn ch3_tx_lim(&self) -> &CH_TX_LIM
pub fn ch3_tx_lim(&self) -> &CH_TX_LIM
0x7c - Channel 3 Tx event configuration register
Sourcepub fn ref_cnt_rst(&self) -> &REF_CNT_RST
pub fn ref_cnt_rst(&self) -> &REF_CNT_RST
0x88 - RMT clock divider reset register
Sourcepub fn ch_rx_carrier_rm(&self, n: usize) -> &CH_RX_CARRIER_RM
pub fn ch_rx_carrier_rm(&self, n: usize) -> &CH_RX_CARRIER_RM
0x8c..0x9c - Channel %s carrier remove register
Sourcepub fn ch_rx_carrier_rm_iter(&self) -> impl Iterator<Item = &CH_RX_CARRIER_RM>
pub fn ch_rx_carrier_rm_iter(&self) -> impl Iterator<Item = &CH_RX_CARRIER_RM>
Iterator for array of: 0x8c..0x9c - Channel %s carrier remove register
Sourcepub fn ch0_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
pub fn ch0_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
0x8c - Channel 0 carrier remove register
Sourcepub fn ch1_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
pub fn ch1_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
0x90 - Channel 1 carrier remove register
Sourcepub fn ch2_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
pub fn ch2_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
0x94 - Channel 2 carrier remove register
Sourcepub fn ch3_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
pub fn ch3_rx_carrier_rm(&self) -> &CH_RX_CARRIER_RM
0x98 - Channel 3 carrier remove register