esp32c3 0.10.0

Peripheral access crate for the ESP32-C3
Documentation
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - RMT_CH0DATA_REG."]
    pub ch0data: CH0DATA,
    #[doc = "0x04 - RMT_CH1DATA_REG."]
    pub ch1data: CH1DATA,
    #[doc = "0x08 - RMT_CH2DATA_REG."]
    pub ch2data: CH2DATA,
    #[doc = "0x0c - RMT_CH3DATA_REG."]
    pub ch3data: CH3DATA,
    #[doc = "0x10..0x18 - RMT_CH%sCONF%s_REG."]
    pub ch_tx_conf0: [CH_TX_CONF0; 2],
    #[doc = "0x18 - RMT_CH2CONF0_REG."]
    pub ch2_rx_conf0: CH_RX_CONF0,
    #[doc = "0x1c - RMT_CH2CONF1_REG."]
    pub ch2conf1: CH2CONF1,
    #[doc = "0x20 - RMT_CH2CONF0_REG."]
    pub ch3_rx_conf0: CH_RX_CONF0,
    #[doc = "0x24 - RMT_CH3CONF1_REG."]
    pub ch3conf1: CH3CONF1,
    #[doc = "0x28 - RMT_CH0STATUS_REG."]
    pub ch0status: CH0STATUS,
    #[doc = "0x2c - RMT_CH1STATUS_REG."]
    pub ch1status: CH1STATUS,
    #[doc = "0x30 - RMT_CH2STATUS_REG."]
    pub ch2status: CH2STATUS,
    #[doc = "0x34 - RMT_CH3STATUS_REG."]
    pub ch3status: CH3STATUS,
    #[doc = "0x38 - RMT_INT_RAW_REG."]
    pub int_raw: INT_RAW,
    #[doc = "0x3c - RMT_INT_ST_REG."]
    pub int_st: INT_ST,
    #[doc = "0x40 - RMT_INT_ENA_REG."]
    pub int_ena: INT_ENA,
    #[doc = "0x44 - RMT_INT_CLR_REG."]
    pub int_clr: INT_CLR,
    #[doc = "0x48 - RMT_CH0CARRIER_DUTY_REG."]
    pub ch0carrier_duty: CH0CARRIER_DUTY,
    #[doc = "0x4c - RMT_CH1CARRIER_DUTY_REG."]
    pub ch1carrier_duty: CH1CARRIER_DUTY,
    #[doc = "0x50 - RMT_CH2_RX_CARRIER_RM_REG."]
    pub ch2_rx_carrier_rm: CH2_RX_CARRIER_RM,
    #[doc = "0x54 - RMT_CH3_RX_CARRIER_RM_REG."]
    pub ch3_rx_carrier_rm: CH3_RX_CARRIER_RM,
    #[doc = "0x58..0x60 - RMT_CH%s_TX_LIM_REG."]
    pub ch_tx_lim: [CH_TX_LIM; 2],
    #[doc = "0x60..0x68 - RMT_CH2_RX_LIM_REG."]
    pub ch_rx_lim: [CH_RX_LIM; 2],
    #[doc = "0x68 - RMT_SYS_CONF_REG."]
    pub sys_conf: SYS_CONF,
    #[doc = "0x6c - RMT_TX_SIM_REG."]
    pub tx_sim: TX_SIM,
    #[doc = "0x70 - RMT_REF_CNT_RST_REG."]
    pub ref_cnt_rst: REF_CNT_RST,
    _reserved26: [u8; 0x58],
    #[doc = "0xcc - RMT_DATE_REG."]
    pub date: DATE,
}
impl RegisterBlock {
    #[doc = "0x60 - RMT_CH2_RX_LIM_REG."]
    #[inline(always)]
    pub fn ch2_rx_lim(&self) -> &CH_RX_LIM {
        &self.ch_rx_lim[0]
    }
    #[doc = "0x64 - RMT_CH2_RX_LIM_REG."]
    #[inline(always)]
    pub fn ch3_rx_lim(&self) -> &CH_RX_LIM {
        &self.ch_rx_lim[1]
    }
}
#[doc = "CH0DATA (rw) register accessor: an alias for `Reg<CH0DATA_SPEC>`"]
pub type CH0DATA = crate::Reg<ch0data::CH0DATA_SPEC>;
#[doc = "RMT_CH0DATA_REG."]
pub mod ch0data;
#[doc = "CH1DATA (rw) register accessor: an alias for `Reg<CH1DATA_SPEC>`"]
pub type CH1DATA = crate::Reg<ch1data::CH1DATA_SPEC>;
#[doc = "RMT_CH1DATA_REG."]
pub mod ch1data;
#[doc = "CH2DATA (rw) register accessor: an alias for `Reg<CH2DATA_SPEC>`"]
pub type CH2DATA = crate::Reg<ch2data::CH2DATA_SPEC>;
#[doc = "RMT_CH2DATA_REG."]
pub mod ch2data;
#[doc = "CH3DATA (rw) register accessor: an alias for `Reg<CH3DATA_SPEC>`"]
pub type CH3DATA = crate::Reg<ch3data::CH3DATA_SPEC>;
#[doc = "RMT_CH3DATA_REG."]
pub mod ch3data;
#[doc = "CH_TX_CONF0 (rw) register accessor: an alias for `Reg<CH_TX_CONF0_SPEC>`"]
pub type CH_TX_CONF0 = crate::Reg<ch_tx_conf0::CH_TX_CONF0_SPEC>;
#[doc = "RMT_CH%sCONF%s_REG."]
pub mod ch_tx_conf0;
#[doc = "CH_RX_CONF0 (rw) register accessor: an alias for `Reg<CH_RX_CONF0_SPEC>`"]
pub type CH_RX_CONF0 = crate::Reg<ch_rx_conf0::CH_RX_CONF0_SPEC>;
#[doc = "RMT_CH2CONF0_REG."]
pub mod ch_rx_conf0;
#[doc = "CH2CONF1 (rw) register accessor: an alias for `Reg<CH2CONF1_SPEC>`"]
pub type CH2CONF1 = crate::Reg<ch2conf1::CH2CONF1_SPEC>;
#[doc = "RMT_CH2CONF1_REG."]
pub mod ch2conf1;
#[doc = "CH3CONF1 (rw) register accessor: an alias for `Reg<CH3CONF1_SPEC>`"]
pub type CH3CONF1 = crate::Reg<ch3conf1::CH3CONF1_SPEC>;
#[doc = "RMT_CH3CONF1_REG."]
pub mod ch3conf1;
#[doc = "CH0STATUS (r) register accessor: an alias for `Reg<CH0STATUS_SPEC>`"]
pub type CH0STATUS = crate::Reg<ch0status::CH0STATUS_SPEC>;
#[doc = "RMT_CH0STATUS_REG."]
pub mod ch0status;
#[doc = "CH1STATUS (r) register accessor: an alias for `Reg<CH1STATUS_SPEC>`"]
pub type CH1STATUS = crate::Reg<ch1status::CH1STATUS_SPEC>;
#[doc = "RMT_CH1STATUS_REG."]
pub mod ch1status;
#[doc = "CH2STATUS (r) register accessor: an alias for `Reg<CH2STATUS_SPEC>`"]
pub type CH2STATUS = crate::Reg<ch2status::CH2STATUS_SPEC>;
#[doc = "RMT_CH2STATUS_REG."]
pub mod ch2status;
#[doc = "CH3STATUS (r) register accessor: an alias for `Reg<CH3STATUS_SPEC>`"]
pub type CH3STATUS = crate::Reg<ch3status::CH3STATUS_SPEC>;
#[doc = "RMT_CH3STATUS_REG."]
pub mod ch3status;
#[doc = "INT_RAW (r) register accessor: an alias for `Reg<INT_RAW_SPEC>`"]
pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
#[doc = "RMT_INT_RAW_REG."]
pub mod int_raw;
#[doc = "INT_ST (r) register accessor: an alias for `Reg<INT_ST_SPEC>`"]
pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
#[doc = "RMT_INT_ST_REG."]
pub mod int_st;
#[doc = "INT_ENA (rw) register accessor: an alias for `Reg<INT_ENA_SPEC>`"]
pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
#[doc = "RMT_INT_ENA_REG."]
pub mod int_ena;
#[doc = "INT_CLR (w) register accessor: an alias for `Reg<INT_CLR_SPEC>`"]
pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
#[doc = "RMT_INT_CLR_REG."]
pub mod int_clr;
#[doc = "CH0CARRIER_DUTY (rw) register accessor: an alias for `Reg<CH0CARRIER_DUTY_SPEC>`"]
pub type CH0CARRIER_DUTY = crate::Reg<ch0carrier_duty::CH0CARRIER_DUTY_SPEC>;
#[doc = "RMT_CH0CARRIER_DUTY_REG."]
pub mod ch0carrier_duty;
#[doc = "CH1CARRIER_DUTY (rw) register accessor: an alias for `Reg<CH1CARRIER_DUTY_SPEC>`"]
pub type CH1CARRIER_DUTY = crate::Reg<ch1carrier_duty::CH1CARRIER_DUTY_SPEC>;
#[doc = "RMT_CH1CARRIER_DUTY_REG."]
pub mod ch1carrier_duty;
#[doc = "CH2_RX_CARRIER_RM (rw) register accessor: an alias for `Reg<CH2_RX_CARRIER_RM_SPEC>`"]
pub type CH2_RX_CARRIER_RM = crate::Reg<ch2_rx_carrier_rm::CH2_RX_CARRIER_RM_SPEC>;
#[doc = "RMT_CH2_RX_CARRIER_RM_REG."]
pub mod ch2_rx_carrier_rm;
#[doc = "CH3_RX_CARRIER_RM (rw) register accessor: an alias for `Reg<CH3_RX_CARRIER_RM_SPEC>`"]
pub type CH3_RX_CARRIER_RM = crate::Reg<ch3_rx_carrier_rm::CH3_RX_CARRIER_RM_SPEC>;
#[doc = "RMT_CH3_RX_CARRIER_RM_REG."]
pub mod ch3_rx_carrier_rm;
#[doc = "CH_TX_LIM (rw) register accessor: an alias for `Reg<CH_TX_LIM_SPEC>`"]
pub type CH_TX_LIM = crate::Reg<ch_tx_lim::CH_TX_LIM_SPEC>;
#[doc = "RMT_CH%s_TX_LIM_REG."]
pub mod ch_tx_lim;
#[doc = "CH_RX_LIM (rw) register accessor: an alias for `Reg<CH_RX_LIM_SPEC>`"]
pub type CH_RX_LIM = crate::Reg<ch_rx_lim::CH_RX_LIM_SPEC>;
#[doc = "RMT_CH2_RX_LIM_REG."]
pub mod ch_rx_lim;
#[doc = "SYS_CONF (rw) register accessor: an alias for `Reg<SYS_CONF_SPEC>`"]
pub type SYS_CONF = crate::Reg<sys_conf::SYS_CONF_SPEC>;
#[doc = "RMT_SYS_CONF_REG."]
pub mod sys_conf;
#[doc = "TX_SIM (rw) register accessor: an alias for `Reg<TX_SIM_SPEC>`"]
pub type TX_SIM = crate::Reg<tx_sim::TX_SIM_SPEC>;
#[doc = "RMT_TX_SIM_REG."]
pub mod tx_sim;
#[doc = "REF_CNT_RST (w) register accessor: an alias for `Reg<REF_CNT_RST_SPEC>`"]
pub type REF_CNT_RST = crate::Reg<ref_cnt_rst::REF_CNT_RST_SPEC>;
#[doc = "RMT_REF_CNT_RST_REG."]
pub mod ref_cnt_rst;
#[doc = "DATE (rw) register accessor: an alias for `Reg<DATE_SPEC>`"]
pub type DATE = crate::Reg<date::DATE_SPEC>;
#[doc = "RMT_DATE_REG."]
pub mod date;