pub struct RMT { /* private fields */ }Expand description
Remote Control
Implementations§
Source§impl RMT
impl RMT
Sourcepub const PTR: *const RegisterBlock = {0x500d4000 as *const rmt::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x500d4000 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 tx_chdata(&self, n: usize) -> &TX_CHDATA
pub fn tx_chdata(&self, n: usize) -> &TX_CHDATA
0x00..0x10 - The read and write data register for CHANNEL%s by apb fifo access.
Sourcepub fn tx_chdata_iter(&self) -> impl Iterator<Item = &TX_CHDATA>
pub fn tx_chdata_iter(&self) -> impl Iterator<Item = &TX_CHDATA>
Iterator for array of: 0x00..0x10 - The read and write data register for CHANNEL%s by apb fifo access.
Sourcepub fn tx_ch0data(&self) -> &TX_CHDATA
pub fn tx_ch0data(&self) -> &TX_CHDATA
0x00 - The read and write data register for CHANNEL0 by apb fifo access.
Sourcepub fn tx_ch1data(&self) -> &TX_CHDATA
pub fn tx_ch1data(&self) -> &TX_CHDATA
0x04 - The read and write data register for CHANNEL1 by apb fifo access.
Sourcepub fn tx_ch2data(&self) -> &TX_CHDATA
pub fn tx_ch2data(&self) -> &TX_CHDATA
0x08 - The read and write data register for CHANNEL2 by apb fifo access.
Sourcepub fn tx_ch3data(&self) -> &TX_CHDATA
pub fn tx_ch3data(&self) -> &TX_CHDATA
0x0c - The read and write data register for CHANNEL3 by apb fifo access.
Sourcepub fn rx_chdata(&self, n: usize) -> &RX_CHDATA
pub fn rx_chdata(&self, n: usize) -> &RX_CHDATA
0x10..0x20 - The read and write data register for CHANNEL$n by apb fifo access.
Sourcepub fn rx_chdata_iter(&self) -> impl Iterator<Item = &RX_CHDATA>
pub fn rx_chdata_iter(&self) -> impl Iterator<Item = &RX_CHDATA>
Iterator for array of: 0x10..0x20 - The read and write data register for CHANNEL$n by apb fifo access.
Sourcepub fn rx_ch0data(&self) -> &RX_CHDATA
pub fn rx_ch0data(&self) -> &RX_CHDATA
0x10 - The read and write data register for CHANNEL$n by apb fifo access.
Sourcepub fn rx_ch1data(&self) -> &RX_CHDATA
pub fn rx_ch1data(&self) -> &RX_CHDATA
0x14 - The read and write data register for CHANNEL$n by apb fifo access.
Sourcepub fn rx_ch2data(&self) -> &RX_CHDATA
pub fn rx_ch2data(&self) -> &RX_CHDATA
0x18 - The read and write data register for CHANNEL$n by apb fifo access.
Sourcepub fn rx_ch3data(&self) -> &RX_CHDATA
pub fn rx_ch3data(&self) -> &RX_CHDATA
0x1c - The read and write data register for CHANNEL$n by apb fifo access.
Sourcepub fn tx_chconf0(&self, n: usize) -> &TX_CHCONF0
pub fn tx_chconf0(&self, n: usize) -> &TX_CHCONF0
0x20..0x30 - Channel %s configure register 0
Sourcepub fn tx_chconf0_iter(&self) -> impl Iterator<Item = &TX_CHCONF0>
pub fn tx_chconf0_iter(&self) -> impl Iterator<Item = &TX_CHCONF0>
Iterator for array of: 0x20..0x30 - Channel %s configure register 0
Sourcepub fn tx_ch0conf0(&self) -> &TX_CHCONF0
pub fn tx_ch0conf0(&self) -> &TX_CHCONF0
0x20 - Channel 0 configure register 0
Sourcepub fn tx_ch1conf0(&self) -> &TX_CHCONF0
pub fn tx_ch1conf0(&self) -> &TX_CHCONF0
0x24 - Channel 1 configure register 0
Sourcepub fn tx_ch2conf0(&self) -> &TX_CHCONF0
pub fn tx_ch2conf0(&self) -> &TX_CHCONF0
0x28 - Channel 2 configure register 0
Sourcepub fn tx_ch3conf0(&self) -> &TX_CHCONF0
pub fn tx_ch3conf0(&self) -> &TX_CHCONF0
0x2c - Channel 3 configure register 0
Sourcepub fn rx_chconf0(&self, n: usize) -> &RX_CHCONF0
pub fn rx_chconf0(&self, n: usize) -> &RX_CHCONF0
0x30..0x40 - Channel %s configure register 0
Sourcepub fn rx_chconf0_iter(&self) -> impl Iterator<Item = &RX_CHCONF0>
pub fn rx_chconf0_iter(&self) -> impl Iterator<Item = &RX_CHCONF0>
Iterator for array of: 0x30..0x40 - Channel %s configure register 0
Sourcepub fn rx_ch0conf0(&self) -> &RX_CHCONF0
pub fn rx_ch0conf0(&self) -> &RX_CHCONF0
0x30 - Channel 0 configure register 0
Sourcepub fn rx_ch1conf0(&self) -> &RX_CHCONF0
pub fn rx_ch1conf0(&self) -> &RX_CHCONF0
0x38 - Channel 1 configure register 0
Sourcepub fn rx_ch2conf0(&self) -> &RX_CHCONF0
pub fn rx_ch2conf0(&self) -> &RX_CHCONF0
0x40 - Channel 2 configure register 0
Sourcepub fn rx_ch3conf0(&self) -> &RX_CHCONF0
pub fn rx_ch3conf0(&self) -> &RX_CHCONF0
0x48 - Channel 3 configure register 0
Sourcepub fn rx_chconf1(&self, n: usize) -> &RX_CHCONF1
pub fn rx_chconf1(&self, n: usize) -> &RX_CHCONF1
0x34..0x44 - Channel %s configure register 1
Sourcepub fn rx_chconf1_iter(&self) -> impl Iterator<Item = &RX_CHCONF1>
pub fn rx_chconf1_iter(&self) -> impl Iterator<Item = &RX_CHCONF1>
Iterator for array of: 0x34..0x44 - Channel %s configure register 1
Sourcepub fn rx_ch0conf1(&self) -> &RX_CHCONF1
pub fn rx_ch0conf1(&self) -> &RX_CHCONF1
0x34 - Channel 0 configure register 1
Sourcepub fn rx_ch1conf1(&self) -> &RX_CHCONF1
pub fn rx_ch1conf1(&self) -> &RX_CHCONF1
0x3c - Channel 1 configure register 1
Sourcepub fn rx_ch2conf1(&self) -> &RX_CHCONF1
pub fn rx_ch2conf1(&self) -> &RX_CHCONF1
0x44 - Channel 2 configure register 1
Sourcepub fn rx_ch3conf1(&self) -> &RX_CHCONF1
pub fn rx_ch3conf1(&self) -> &RX_CHCONF1
0x4c - Channel 3 configure register 1
Sourcepub fn tx_chstatus(&self, n: usize) -> &TX_CHSTATUS
pub fn tx_chstatus(&self, n: usize) -> &TX_CHSTATUS
0x50..0x60 - Channel %s status register
Sourcepub fn tx_chstatus_iter(&self) -> impl Iterator<Item = &TX_CHSTATUS>
pub fn tx_chstatus_iter(&self) -> impl Iterator<Item = &TX_CHSTATUS>
Iterator for array of: 0x50..0x60 - Channel %s status register
Sourcepub fn tx_ch0status(&self) -> &TX_CHSTATUS
pub fn tx_ch0status(&self) -> &TX_CHSTATUS
0x50 - Channel 0 status register
Sourcepub fn tx_ch1status(&self) -> &TX_CHSTATUS
pub fn tx_ch1status(&self) -> &TX_CHSTATUS
0x54 - Channel 1 status register
Sourcepub fn tx_ch2status(&self) -> &TX_CHSTATUS
pub fn tx_ch2status(&self) -> &TX_CHSTATUS
0x58 - Channel 2 status register
Sourcepub fn tx_ch3status(&self) -> &TX_CHSTATUS
pub fn tx_ch3status(&self) -> &TX_CHSTATUS
0x5c - Channel 3 status register
Sourcepub fn rx_chstatus(&self, n: usize) -> &RX_CHSTATUS
pub fn rx_chstatus(&self, n: usize) -> &RX_CHSTATUS
0x60..0x70 - Channel %s status register
Sourcepub fn rx_chstatus_iter(&self) -> impl Iterator<Item = &RX_CHSTATUS>
pub fn rx_chstatus_iter(&self) -> impl Iterator<Item = &RX_CHSTATUS>
Iterator for array of: 0x60..0x70 - Channel %s status register
Sourcepub fn rx_ch0status(&self) -> &RX_CHSTATUS
pub fn rx_ch0status(&self) -> &RX_CHSTATUS
0x60 - Channel 0 status register
Sourcepub fn rx_ch1status(&self) -> &RX_CHSTATUS
pub fn rx_ch1status(&self) -> &RX_CHSTATUS
0x64 - Channel 1 status register
Sourcepub fn rx_ch2status(&self) -> &RX_CHSTATUS
pub fn rx_ch2status(&self) -> &RX_CHSTATUS
0x68 - Channel 2 status register
Sourcepub fn rx_ch3status(&self) -> &RX_CHSTATUS
pub fn rx_ch3status(&self) -> &RX_CHSTATUS
0x6c - Channel 3 status register
Sourcepub fn chcarrier_duty(&self, n: usize) -> &CHCARRIER_DUTY
pub fn chcarrier_duty(&self, n: usize) -> &CHCARRIER_DUTY
0x80..0x90 - 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: 0x80..0x90 - Channel %s duty cycle configuration register
Sourcepub fn ch0carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch0carrier_duty(&self) -> &CHCARRIER_DUTY
0x80 - Channel 0 duty cycle configuration register
Sourcepub fn ch1carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch1carrier_duty(&self) -> &CHCARRIER_DUTY
0x84 - Channel 1 duty cycle configuration register
Sourcepub fn ch2carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch2carrier_duty(&self) -> &CHCARRIER_DUTY
0x88 - Channel 2 duty cycle configuration register
Sourcepub fn ch3carrier_duty(&self) -> &CHCARRIER_DUTY
pub fn ch3carrier_duty(&self) -> &CHCARRIER_DUTY
0x8c - Channel 3 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
0x90..0xa0 - 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: 0x90..0xa0 - 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
0x90 - 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
0x94 - 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
0x98 - 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
0x9c - Channel 3 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
0xa0..0xb0 - 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: 0xa0..0xb0 - Channel %s Tx event configuration register
Sourcepub fn ch0_tx_lim(&self) -> &CH_TX_LIM
pub fn ch0_tx_lim(&self) -> &CH_TX_LIM
0xa0 - Channel 0 Tx event configuration register
Sourcepub fn ch1_tx_lim(&self) -> &CH_TX_LIM
pub fn ch1_tx_lim(&self) -> &CH_TX_LIM
0xa4 - Channel 1 Tx event configuration register
Sourcepub fn ch2_tx_lim(&self) -> &CH_TX_LIM
pub fn ch2_tx_lim(&self) -> &CH_TX_LIM
0xa8 - Channel 2 Tx event configuration register
Sourcepub fn ch3_tx_lim(&self) -> &CH_TX_LIM
pub fn ch3_tx_lim(&self) -> &CH_TX_LIM
0xac - Channel 3 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
0xb0..0xc0 - 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: 0xb0..0xc0 - Channel %s Rx event configuration register
Sourcepub fn ch0_rx_lim(&self) -> &CH_RX_LIM
pub fn ch0_rx_lim(&self) -> &CH_RX_LIM
0xb0 - Channel 0 Rx event configuration register
Sourcepub fn ch1_rx_lim(&self) -> &CH_RX_LIM
pub fn ch1_rx_lim(&self) -> &CH_RX_LIM
0xb4 - Channel 1 Rx event configuration register
Sourcepub fn ch2_rx_lim(&self) -> &CH_RX_LIM
pub fn ch2_rx_lim(&self) -> &CH_RX_LIM
0xb8 - Channel 2 Rx event configuration register
Sourcepub fn ch3_rx_lim(&self) -> &CH_RX_LIM
pub fn ch3_rx_lim(&self) -> &CH_RX_LIM
0xbc - Channel 3 Rx event configuration register
Sourcepub fn ref_cnt_rst(&self) -> &REF_CNT_RST
pub fn ref_cnt_rst(&self) -> &REF_CNT_RST
0xc8 - RMT clock divider reset register