esp32/
rtc_i2c.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    scl_low_period: SCL_LOW_PERIOD,
6    ctrl: CTRL,
7    debug_status: DEBUG_STATUS,
8    timeout: TIMEOUT,
9    slave_addr: SLAVE_ADDR,
10    _reserved5: [u8; 0x08],
11    data: DATA,
12    int_raw: INT_RAW,
13    int_clr: INT_CLR,
14    int_ena: INT_ENA,
15    int_st: INT_ST,
16    sda_duty: SDA_DUTY,
17    _reserved11: [u8; 0x04],
18    scl_high_period: SCL_HIGH_PERIOD,
19    _reserved12: [u8; 0x04],
20    scl_start_period: SCL_START_PERIOD,
21    scl_stop_period: SCL_STOP_PERIOD,
22    cmd: CMD,
23}
24impl RegisterBlock {
25    #[doc = "0x00 - "]
26    #[inline(always)]
27    pub const fn scl_low_period(&self) -> &SCL_LOW_PERIOD {
28        &self.scl_low_period
29    }
30    #[doc = "0x04 - "]
31    #[inline(always)]
32    pub const fn ctrl(&self) -> &CTRL {
33        &self.ctrl
34    }
35    #[doc = "0x08 - "]
36    #[inline(always)]
37    pub const fn debug_status(&self) -> &DEBUG_STATUS {
38        &self.debug_status
39    }
40    #[doc = "0x0c - "]
41    #[inline(always)]
42    pub const fn timeout(&self) -> &TIMEOUT {
43        &self.timeout
44    }
45    #[doc = "0x10 - "]
46    #[inline(always)]
47    pub const fn slave_addr(&self) -> &SLAVE_ADDR {
48        &self.slave_addr
49    }
50    #[doc = "0x1c - "]
51    #[inline(always)]
52    pub const fn data(&self) -> &DATA {
53        &self.data
54    }
55    #[doc = "0x20 - "]
56    #[inline(always)]
57    pub const fn int_raw(&self) -> &INT_RAW {
58        &self.int_raw
59    }
60    #[doc = "0x24 - "]
61    #[inline(always)]
62    pub const fn int_clr(&self) -> &INT_CLR {
63        &self.int_clr
64    }
65    #[doc = "0x28 - "]
66    #[inline(always)]
67    pub const fn int_ena(&self) -> &INT_ENA {
68        &self.int_ena
69    }
70    #[doc = "0x2c - "]
71    #[inline(always)]
72    pub const fn int_st(&self) -> &INT_ST {
73        &self.int_st
74    }
75    #[doc = "0x30 - "]
76    #[inline(always)]
77    pub const fn sda_duty(&self) -> &SDA_DUTY {
78        &self.sda_duty
79    }
80    #[doc = "0x38 - "]
81    #[inline(always)]
82    pub const fn scl_high_period(&self) -> &SCL_HIGH_PERIOD {
83        &self.scl_high_period
84    }
85    #[doc = "0x40 - "]
86    #[inline(always)]
87    pub const fn scl_start_period(&self) -> &SCL_START_PERIOD {
88        &self.scl_start_period
89    }
90    #[doc = "0x44 - "]
91    #[inline(always)]
92    pub const fn scl_stop_period(&self) -> &SCL_STOP_PERIOD {
93        &self.scl_stop_period
94    }
95    #[doc = "0x48 - "]
96    #[inline(always)]
97    pub const fn cmd(&self) -> &CMD {
98        &self.cmd
99    }
100}
101#[doc = "SCL_LOW_PERIOD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`scl_low_period::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_low_period::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@scl_low_period`] module"]
102pub type SCL_LOW_PERIOD = crate::Reg<scl_low_period::SCL_LOW_PERIOD_SPEC>;
103#[doc = ""]
104pub mod scl_low_period;
105#[doc = "CTRL (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrl`] module"]
106pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
107#[doc = ""]
108pub mod ctrl;
109#[doc = "DEBUG_STATUS (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`debug_status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`debug_status::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@debug_status`] module"]
110pub type DEBUG_STATUS = crate::Reg<debug_status::DEBUG_STATUS_SPEC>;
111#[doc = ""]
112pub mod debug_status;
113#[doc = "TIMEOUT (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`timeout::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`timeout::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@timeout`] module"]
114pub type TIMEOUT = crate::Reg<timeout::TIMEOUT_SPEC>;
115#[doc = ""]
116pub mod timeout;
117#[doc = "SLAVE_ADDR (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`slave_addr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`slave_addr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@slave_addr`] module"]
118pub type SLAVE_ADDR = crate::Reg<slave_addr::SLAVE_ADDR_SPEC>;
119#[doc = ""]
120pub mod slave_addr;
121#[doc = "DATA (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`data::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data`] module"]
122pub type DATA = crate::Reg<data::DATA_SPEC>;
123#[doc = ""]
124pub mod data;
125#[doc = "INT_RAW (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_raw::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_raw::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_raw`] module"]
126pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
127#[doc = ""]
128pub mod int_raw;
129#[doc = "INT_CLR (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_clr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_clr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_clr`] module"]
130pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
131#[doc = ""]
132pub mod int_clr;
133#[doc = "INT_ENA (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_ena::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_ena::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_ena`] module"]
134pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
135#[doc = ""]
136pub mod int_ena;
137#[doc = "INT_ST (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_st::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_st::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_st`] module"]
138pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
139#[doc = ""]
140pub mod int_st;
141#[doc = "SDA_DUTY (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`sda_duty::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sda_duty::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sda_duty`] module"]
142pub type SDA_DUTY = crate::Reg<sda_duty::SDA_DUTY_SPEC>;
143#[doc = ""]
144pub mod sda_duty;
145#[doc = "SCL_HIGH_PERIOD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`scl_high_period::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_high_period::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@scl_high_period`] module"]
146pub type SCL_HIGH_PERIOD = crate::Reg<scl_high_period::SCL_HIGH_PERIOD_SPEC>;
147#[doc = ""]
148pub mod scl_high_period;
149#[doc = "SCL_START_PERIOD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`scl_start_period::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_start_period::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@scl_start_period`] module"]
150pub type SCL_START_PERIOD = crate::Reg<scl_start_period::SCL_START_PERIOD_SPEC>;
151#[doc = ""]
152pub mod scl_start_period;
153#[doc = "SCL_STOP_PERIOD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`scl_stop_period::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scl_stop_period::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@scl_stop_period`] module"]
154pub type SCL_STOP_PERIOD = crate::Reg<scl_stop_period::SCL_STOP_PERIOD_SPEC>;
155#[doc = ""]
156pub mod scl_stop_period;
157#[doc = "CMD (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`cmd::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cmd::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cmd`] module"]
158pub type CMD = crate::Reg<cmd::CMD_SPEC>;
159#[doc = ""]
160pub mod cmd;