esp32c6_lp/
lp_io.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    out: OUT,
6    out_w1ts: OUT_W1TS,
7    out_w1tc: OUT_W1TC,
8    enable: ENABLE,
9    enable_w1ts: ENABLE_W1TS,
10    enable_w1tc: ENABLE_W1TC,
11    status: STATUS,
12    status_w1ts: STATUS_W1TS,
13    status_w1tc: STATUS_W1TC,
14    in_: IN,
15    pin: [PIN; 8],
16    gpio: [GPIO; 8],
17    status_int: STATUS_INT,
18    _reserved13: [u8; 0x0390],
19    date: DATE,
20}
21impl RegisterBlock {
22    #[doc = "0x00 - need des"]
23    #[inline(always)]
24    pub const fn out(&self) -> &OUT {
25        &self.out
26    }
27    #[doc = "0x04 - need des"]
28    #[inline(always)]
29    pub const fn out_w1ts(&self) -> &OUT_W1TS {
30        &self.out_w1ts
31    }
32    #[doc = "0x08 - need des"]
33    #[inline(always)]
34    pub const fn out_w1tc(&self) -> &OUT_W1TC {
35        &self.out_w1tc
36    }
37    #[doc = "0x0c - need des"]
38    #[inline(always)]
39    pub const fn enable(&self) -> &ENABLE {
40        &self.enable
41    }
42    #[doc = "0x10 - need des"]
43    #[inline(always)]
44    pub const fn enable_w1ts(&self) -> &ENABLE_W1TS {
45        &self.enable_w1ts
46    }
47    #[doc = "0x14 - need des"]
48    #[inline(always)]
49    pub const fn enable_w1tc(&self) -> &ENABLE_W1TC {
50        &self.enable_w1tc
51    }
52    #[doc = "0x18 - need des"]
53    #[inline(always)]
54    pub const fn status(&self) -> &STATUS {
55        &self.status
56    }
57    #[doc = "0x1c - need des"]
58    #[inline(always)]
59    pub const fn status_w1ts(&self) -> &STATUS_W1TS {
60        &self.status_w1ts
61    }
62    #[doc = "0x20 - need des"]
63    #[inline(always)]
64    pub const fn status_w1tc(&self) -> &STATUS_W1TC {
65        &self.status_w1tc
66    }
67    #[doc = "0x24 - need des"]
68    #[inline(always)]
69    pub const fn in_(&self) -> &IN {
70        &self.in_
71    }
72    #[doc = "0x28..0x48 - need des"]
73    #[inline(always)]
74    pub const fn pin(&self, n: usize) -> &PIN {
75        &self.pin[n]
76    }
77    #[doc = "Iterator for array of:"]
78    #[doc = "0x28..0x48 - need des"]
79    #[inline(always)]
80    pub fn pin_iter(&self) -> impl Iterator<Item = &PIN> {
81        self.pin.iter()
82    }
83    #[doc = "0x48..0x68 - need des"]
84    #[inline(always)]
85    pub const fn gpio(&self, n: usize) -> &GPIO {
86        &self.gpio[n]
87    }
88    #[doc = "Iterator for array of:"]
89    #[doc = "0x48..0x68 - need des"]
90    #[inline(always)]
91    pub fn gpio_iter(&self) -> impl Iterator<Item = &GPIO> {
92        self.gpio.iter()
93    }
94    #[doc = "0x68 - need des"]
95    #[inline(always)]
96    pub const fn status_int(&self) -> &STATUS_INT {
97        &self.status_int
98    }
99    #[doc = "0x3fc - need des"]
100    #[inline(always)]
101    pub const fn date(&self) -> &DATE {
102        &self.date
103    }
104}
105#[doc = "OUT (rw) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`out::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`out::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@out`] module"]
106pub type OUT = crate::Reg<out::OUT_SPEC>;
107#[doc = "need des"]
108pub mod out;
109#[doc = "OUT_W1TS (w) register accessor: need des\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`out_w1ts::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@out_w1ts`] module"]
110pub type OUT_W1TS = crate::Reg<out_w1ts::OUT_W1TS_SPEC>;
111#[doc = "need des"]
112pub mod out_w1ts;
113#[doc = "OUT_W1TC (w) register accessor: need des\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`out_w1tc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@out_w1tc`] module"]
114pub type OUT_W1TC = crate::Reg<out_w1tc::OUT_W1TC_SPEC>;
115#[doc = "need des"]
116pub mod out_w1tc;
117#[doc = "ENABLE (rw) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`enable::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enable::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@enable`] module"]
118pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
119#[doc = "need des"]
120pub mod enable;
121#[doc = "ENABLE_W1TS (w) register accessor: need des\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enable_w1ts::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@enable_w1ts`] module"]
122pub type ENABLE_W1TS = crate::Reg<enable_w1ts::ENABLE_W1TS_SPEC>;
123#[doc = "need des"]
124pub mod enable_w1ts;
125#[doc = "ENABLE_W1TC (w) register accessor: need des\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enable_w1tc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@enable_w1tc`] module"]
126pub type ENABLE_W1TC = crate::Reg<enable_w1tc::ENABLE_W1TC_SPEC>;
127#[doc = "need des"]
128pub mod enable_w1tc;
129#[doc = "STATUS (rw) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`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@status`] module"]
130pub type STATUS = crate::Reg<status::STATUS_SPEC>;
131#[doc = "need des"]
132pub mod status;
133#[doc = "STATUS_W1TS (w) register accessor: need des\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`status_w1ts::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status_w1ts`] module"]
134pub type STATUS_W1TS = crate::Reg<status_w1ts::STATUS_W1TS_SPEC>;
135#[doc = "need des"]
136pub mod status_w1ts;
137#[doc = "STATUS_W1TC (w) register accessor: need des\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`status_w1tc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status_w1tc`] module"]
138pub type STATUS_W1TC = crate::Reg<status_w1tc::STATUS_W1TC_SPEC>;
139#[doc = "need des"]
140pub mod status_w1tc;
141#[doc = "IN (r) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`in_::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@in_`] module"]
142pub type IN = crate::Reg<in_::IN_SPEC>;
143#[doc = "need des"]
144pub mod in_;
145#[doc = "PIN (rw) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`pin::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pin::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@pin`] module"]
146pub type PIN = crate::Reg<pin::PIN_SPEC>;
147#[doc = "need des"]
148pub mod pin;
149#[doc = "GPIO (rw) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`gpio::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpio::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@gpio`] module"]
150pub type GPIO = crate::Reg<gpio::GPIO_SPEC>;
151#[doc = "need des"]
152pub mod gpio;
153#[doc = "STATUS_INT (r) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`status_int::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status_int`] module"]
154pub type STATUS_INT = crate::Reg<status_int::STATUS_INT_SPEC>;
155#[doc = "need des"]
156pub mod status_int;
157#[doc = "DATE (rw) register accessor: need des\n\nYou can [`read`](crate::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`date::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@date`] module"]
158pub type DATE = crate::Reg<date::DATE_SPEC>;
159#[doc = "need des"]
160pub mod date;