pub struct RMT { /* private fields */ }
Expand description
Remote Control
Implementations§
source§impl RMT
impl RMT
sourcepub const PTR: *const RegisterBlock = {0x60006000 as *const rmt::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x60006000 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 ch_tx_conf0(&self, n: usize) -> &CH_TX_CONF0
pub fn ch_tx_conf0(&self, n: usize) -> &CH_TX_CONF0
0x10..0x18 - Channel %s configure register 0
sourcepub fn ch_tx_conf0_iter(&self) -> impl Iterator<Item = &CH_TX_CONF0>
pub fn ch_tx_conf0_iter(&self) -> impl Iterator<Item = &CH_TX_CONF0>
Iterator for array of: 0x10..0x18 - Channel %s configure register 0
sourcepub fn ch0_tx_conf0(&self) -> &CH_TX_CONF0
pub fn ch0_tx_conf0(&self) -> &CH_TX_CONF0
0x10 - Channel 0 configure register 0
sourcepub fn ch1_tx_conf0(&self) -> &CH_TX_CONF0
pub fn ch1_tx_conf0(&self) -> &CH_TX_CONF0
0x14 - Channel 1 configure register 0
sourcepub fn ch_rx_conf0(&self, n: usize) -> &CH_RX_CONF0
pub fn ch_rx_conf0(&self, n: usize) -> &CH_RX_CONF0
0x18..0x20 - Channel %s configure register 0
sourcepub fn ch_rx_conf0_iter(&self) -> impl Iterator<Item = &CH_RX_CONF0>
pub fn ch_rx_conf0_iter(&self) -> impl Iterator<Item = &CH_RX_CONF0>
Iterator for array of: 0x18..0x20 - Channel %s configure register 0
sourcepub fn ch2_rx_conf0(&self) -> &CH_RX_CONF0
pub fn ch2_rx_conf0(&self) -> &CH_RX_CONF0
0x18 - Channel 2 configure register 0
sourcepub fn ch3_rx_conf0(&self) -> &CH_RX_CONF0
pub fn ch3_rx_conf0(&self) -> &CH_RX_CONF0
0x20 - Channel 3 configure register 0
sourcepub fn ch_rx_conf1(&self, n: usize) -> &CH_RX_CONF1
pub fn ch_rx_conf1(&self, n: usize) -> &CH_RX_CONF1
0x1c..0x24 - Channel %s configure register 1
sourcepub fn ch_rx_conf1_iter(&self) -> impl Iterator<Item = &CH_RX_CONF1>
pub fn ch_rx_conf1_iter(&self) -> impl Iterator<Item = &CH_RX_CONF1>
Iterator for array of: 0x1c..0x24 - Channel %s configure register 1
sourcepub fn ch2_rx_conf1(&self) -> &CH_RX_CONF1
pub fn ch2_rx_conf1(&self) -> &CH_RX_CONF1
0x1c - Channel 2 configure register 1
sourcepub fn ch3_rx_conf1(&self) -> &CH_RX_CONF1
pub fn ch3_rx_conf1(&self) -> &CH_RX_CONF1
0x24 - Channel 3 configure register 1
sourcepub fn ch_tx_status(&self, n: usize) -> &CH_TX_STATUS
pub fn ch_tx_status(&self, n: usize) -> &CH_TX_STATUS
0x28..0x30 - Channel %s status register
sourcepub fn ch_tx_status_iter(&self) -> impl Iterator<Item = &CH_TX_STATUS>
pub fn ch_tx_status_iter(&self) -> impl Iterator<Item = &CH_TX_STATUS>
Iterator for array of: 0x28..0x30 - Channel %s status register
sourcepub fn ch0_tx_status(&self) -> &CH_TX_STATUS
pub fn ch0_tx_status(&self) -> &CH_TX_STATUS
0x28 - Channel 0 status register
sourcepub fn ch1_tx_status(&self) -> &CH_TX_STATUS
pub fn ch1_tx_status(&self) -> &CH_TX_STATUS
0x2c - Channel 1 status register
sourcepub fn ch_rx_status(&self, n: usize) -> &CH_RX_STATUS
pub fn ch_rx_status(&self, n: usize) -> &CH_RX_STATUS
0x30..0x38 - Channel %s status register
sourcepub fn ch_rx_status_iter(&self) -> impl Iterator<Item = &CH_RX_STATUS>
pub fn ch_rx_status_iter(&self) -> impl Iterator<Item = &CH_RX_STATUS>
Iterator for array of: 0x30..0x38 - Channel %s status register
sourcepub fn ch0_rx_status(&self) -> &CH_RX_STATUS
pub fn ch0_rx_status(&self) -> &CH_RX_STATUS
0x30 - Channel 0 status register
sourcepub fn ch1_rx_status(&self) -> &CH_RX_STATUS
pub fn ch1_rx_status(&self) -> &CH_RX_STATUS
0x34 - Channel 1 status register
sourcepub fn chcarrier_duty(&self, n: usize) -> &CHCARRIER_DUTY
pub fn chcarrier_duty(&self, n: usize) -> &CHCARRIER_DUTY
0x48..0x50 - 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: 0x48..0x50 - Channel %s duty cycle configuration register
sourcepub fn ch0carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch0carrier_duty(&self) -> &CHCARRIER_DUTY
0x48 - Channel 0 duty cycle configuration register
sourcepub fn ch1carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch1carrier_duty(&self) -> &CHCARRIER_DUTY
0x4c - Channel 1 duty cycle configuration 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
0x50..0x58 - 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: 0x50..0x58 - 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
0x50 - 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
0x54 - Channel 1 carrier remove register
sourcepub fn ch_tx_lim(&self, n: usize) -> &CH_TX_LIM
pub fn ch_tx_lim(&self, n: usize) -> &CH_TX_LIM
0x58..0x60 - 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: 0x58..0x60 - Channel %s Tx event configuration register
sourcepub fn ch0_tx_lim(&self) -> &CH_TX_LIM
pub fn ch0_tx_lim(&self) -> &CH_TX_LIM
0x58 - Channel 0 Tx event configuration register
sourcepub fn ch1_tx_lim(&self) -> &CH_TX_LIM
pub fn ch1_tx_lim(&self) -> &CH_TX_LIM
0x5c - Channel 1 Tx event configuration register
sourcepub fn ch_rx_lim(&self, n: usize) -> &CH_RX_LIM
pub fn ch_rx_lim(&self, n: usize) -> &CH_RX_LIM
0x60..0x68 - Channel %s Rx event configuration register
sourcepub fn ch_rx_lim_iter(&self) -> impl Iterator<Item = &CH_RX_LIM>
pub fn ch_rx_lim_iter(&self) -> impl Iterator<Item = &CH_RX_LIM>
Iterator for array of: 0x60..0x68 - Channel %s Rx event configuration register
sourcepub fn ch0_rx_lim(&self) -> &CH_RX_LIM
pub fn ch0_rx_lim(&self) -> &CH_RX_LIM
0x60 - Channel 0 Rx event configuration register
sourcepub fn ch1_rx_lim(&self) -> &CH_RX_LIM
pub fn ch1_rx_lim(&self) -> &CH_RX_LIM
0x64 - Channel 1 Rx event configuration register
sourcepub fn ref_cnt_rst(&self) -> &REF_CNT_RST
pub fn ref_cnt_rst(&self) -> &REF_CNT_RST
0x70 - RMT clock divider reset register