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;