1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 dir: [Dir; 1],
5 dirclr: [Dirclr; 1],
6 dirset: [Dirset; 1],
7 dirtgl: [Dirtgl; 1],
8 out: [Out; 1],
9 outclr: [Outclr; 1],
10 outset: [Outset; 1],
11 outtgl: [Outtgl; 1],
12 in_: [In; 1],
13 ctrl: [Ctrl; 1],
14 wrconfig: [Wrconfig; 1],
15 _reserved11: [u8; 0x04],
16 pmux0_: [Pmux0_; 16],
17 pincfg0_: [Pincfg0_; 32],
18}
19impl RegisterBlock {
20#[doc = "0x00 - Data Direction"]
21 #[inline(always)]
22pub const fn dir(&self, n: usize) -> &Dir {
23&self.dir[n]
24 }
25#[doc = "Iterator for array of:"]
26 #[doc = "0x00 - Data Direction"]
27 #[inline(always)]
28pub fn dir_iter(&self) -> impl Iterator<Item = &Dir> {
29self.dir.iter()
30 }
31#[doc = "0x04 - Data Direction Clear"]
32 #[inline(always)]
33pub const fn dirclr(&self, n: usize) -> &Dirclr {
34&self.dirclr[n]
35 }
36#[doc = "Iterator for array of:"]
37 #[doc = "0x04 - Data Direction Clear"]
38 #[inline(always)]
39pub fn dirclr_iter(&self) -> impl Iterator<Item = &Dirclr> {
40self.dirclr.iter()
41 }
42#[doc = "0x08 - Data Direction Set"]
43 #[inline(always)]
44pub const fn dirset(&self, n: usize) -> &Dirset {
45&self.dirset[n]
46 }
47#[doc = "Iterator for array of:"]
48 #[doc = "0x08 - Data Direction Set"]
49 #[inline(always)]
50pub fn dirset_iter(&self) -> impl Iterator<Item = &Dirset> {
51self.dirset.iter()
52 }
53#[doc = "0x0c - Data Direction Toggle"]
54 #[inline(always)]
55pub const fn dirtgl(&self, n: usize) -> &Dirtgl {
56&self.dirtgl[n]
57 }
58#[doc = "Iterator for array of:"]
59 #[doc = "0x0c - Data Direction Toggle"]
60 #[inline(always)]
61pub fn dirtgl_iter(&self) -> impl Iterator<Item = &Dirtgl> {
62self.dirtgl.iter()
63 }
64#[doc = "0x10 - Data Output Value"]
65 #[inline(always)]
66pub const fn out(&self, n: usize) -> &Out {
67&self.out[n]
68 }
69#[doc = "Iterator for array of:"]
70 #[doc = "0x10 - Data Output Value"]
71 #[inline(always)]
72pub fn out_iter(&self) -> impl Iterator<Item = &Out> {
73self.out.iter()
74 }
75#[doc = "0x14 - Data Output Value Clear"]
76 #[inline(always)]
77pub const fn outclr(&self, n: usize) -> &Outclr {
78&self.outclr[n]
79 }
80#[doc = "Iterator for array of:"]
81 #[doc = "0x14 - Data Output Value Clear"]
82 #[inline(always)]
83pub fn outclr_iter(&self) -> impl Iterator<Item = &Outclr> {
84self.outclr.iter()
85 }
86#[doc = "0x18 - Data Output Value Set"]
87 #[inline(always)]
88pub const fn outset(&self, n: usize) -> &Outset {
89&self.outset[n]
90 }
91#[doc = "Iterator for array of:"]
92 #[doc = "0x18 - Data Output Value Set"]
93 #[inline(always)]
94pub fn outset_iter(&self) -> impl Iterator<Item = &Outset> {
95self.outset.iter()
96 }
97#[doc = "0x1c - Data Output Value Toggle"]
98 #[inline(always)]
99pub const fn outtgl(&self, n: usize) -> &Outtgl {
100&self.outtgl[n]
101 }
102#[doc = "Iterator for array of:"]
103 #[doc = "0x1c - Data Output Value Toggle"]
104 #[inline(always)]
105pub fn outtgl_iter(&self) -> impl Iterator<Item = &Outtgl> {
106self.outtgl.iter()
107 }
108#[doc = "0x20 - Data Input Value"]
109 #[inline(always)]
110pub const fn in_(&self, n: usize) -> &In {
111&self.in_[n]
112 }
113#[doc = "Iterator for array of:"]
114 #[doc = "0x20 - Data Input Value"]
115 #[inline(always)]
116pub fn in__iter(&self) -> impl Iterator<Item = &In> {
117self.in_.iter()
118 }
119#[doc = "0x24 - Control"]
120 #[inline(always)]
121pub const fn ctrl(&self, n: usize) -> &Ctrl {
122&self.ctrl[n]
123 }
124#[doc = "Iterator for array of:"]
125 #[doc = "0x24 - Control"]
126 #[inline(always)]
127pub fn ctrl_iter(&self) -> impl Iterator<Item = &Ctrl> {
128self.ctrl.iter()
129 }
130#[doc = "0x28 - Write Configuration"]
131 #[inline(always)]
132pub const fn wrconfig(&self, n: usize) -> &Wrconfig {
133&self.wrconfig[n]
134 }
135#[doc = "Iterator for array of:"]
136 #[doc = "0x28 - Write Configuration"]
137 #[inline(always)]
138pub fn wrconfig_iter(&self) -> impl Iterator<Item = &Wrconfig> {
139self.wrconfig.iter()
140 }
141#[doc = "0x30..0x40 - Peripheral Multiplexing n - Group 0"]
142 #[inline(always)]
143pub const fn pmux0_(&self, n: usize) -> &Pmux0_ {
144&self.pmux0_[n]
145 }
146#[doc = "Iterator for array of:"]
147 #[doc = "0x30..0x40 - Peripheral Multiplexing n - Group 0"]
148 #[inline(always)]
149pub fn pmux0__iter(&self) -> impl Iterator<Item = &Pmux0_> {
150self.pmux0_.iter()
151 }
152#[doc = "0x40..0x60 - Pin Configuration n - Group 0"]
153 #[inline(always)]
154pub const fn pincfg0_(&self, n: usize) -> &Pincfg0_ {
155&self.pincfg0_[n]
156 }
157#[doc = "Iterator for array of:"]
158 #[doc = "0x40..0x60 - Pin Configuration n - Group 0"]
159 #[inline(always)]
160pub fn pincfg0__iter(&self) -> impl Iterator<Item = &Pincfg0_> {
161self.pincfg0_.iter()
162 }
163}
164#[doc = "DIR (rw) register accessor: Data Direction\n\nYou can [`read`](crate::Reg::read) this register and get [`dir::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dir::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@dir`]
165module"]
166#[doc(alias = "DIR")]
167pub type Dir = crate::Reg<dir::DirSpec>;
168#[doc = "Data Direction"]
169pub mod dir;
170#[doc = "DIRCLR (rw) register accessor: Data Direction Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`dirclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dirclr::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@dirclr`]
171module"]
172#[doc(alias = "DIRCLR")]
173pub type Dirclr = crate::Reg<dirclr::DirclrSpec>;
174#[doc = "Data Direction Clear"]
175pub mod dirclr;
176#[doc = "DIRSET (rw) register accessor: Data Direction Set\n\nYou can [`read`](crate::Reg::read) this register and get [`dirset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dirset::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@dirset`]
177module"]
178#[doc(alias = "DIRSET")]
179pub type Dirset = crate::Reg<dirset::DirsetSpec>;
180#[doc = "Data Direction Set"]
181pub mod dirset;
182#[doc = "DIRTGL (rw) register accessor: Data Direction Toggle\n\nYou can [`read`](crate::Reg::read) this register and get [`dirtgl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dirtgl::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@dirtgl`]
183module"]
184#[doc(alias = "DIRTGL")]
185pub type Dirtgl = crate::Reg<dirtgl::DirtglSpec>;
186#[doc = "Data Direction Toggle"]
187pub mod dirtgl;
188#[doc = "OUT (rw) register accessor: Data Output Value\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`]
189module"]
190#[doc(alias = "OUT")]
191pub type Out = crate::Reg<out::OutSpec>;
192#[doc = "Data Output Value"]
193pub mod out;
194#[doc = "OUTCLR (rw) register accessor: Data Output Value Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`outclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`outclr::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@outclr`]
195module"]
196#[doc(alias = "OUTCLR")]
197pub type Outclr = crate::Reg<outclr::OutclrSpec>;
198#[doc = "Data Output Value Clear"]
199pub mod outclr;
200#[doc = "OUTSET (rw) register accessor: Data Output Value Set\n\nYou can [`read`](crate::Reg::read) this register and get [`outset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`outset::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@outset`]
201module"]
202#[doc(alias = "OUTSET")]
203pub type Outset = crate::Reg<outset::OutsetSpec>;
204#[doc = "Data Output Value Set"]
205pub mod outset;
206#[doc = "OUTTGL (rw) register accessor: Data Output Value Toggle\n\nYou can [`read`](crate::Reg::read) this register and get [`outtgl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`outtgl::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@outtgl`]
207module"]
208#[doc(alias = "OUTTGL")]
209pub type Outtgl = crate::Reg<outtgl::OuttglSpec>;
210#[doc = "Data Output Value Toggle"]
211pub mod outtgl;
212#[doc = "IN (r) register accessor: Data Input Value\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_`]
213module"]
214#[doc(alias = "IN")]
215pub type In = crate::Reg<in_::InSpec>;
216#[doc = "Data Input Value"]
217pub mod in_;
218#[doc = "CTRL (rw) register accessor: Control\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`]
219module"]
220#[doc(alias = "CTRL")]
221pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
222#[doc = "Control"]
223pub mod ctrl;
224#[doc = "WRCONFIG (w) register accessor: Write Configuration\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`wrconfig::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@wrconfig`]
225module"]
226#[doc(alias = "WRCONFIG")]
227pub type Wrconfig = crate::Reg<wrconfig::WrconfigSpec>;
228#[doc = "Write Configuration"]
229pub mod wrconfig;
230#[doc = "PMUX0_ (rw) register accessor: Peripheral Multiplexing n - Group 0\n\nYou can [`read`](crate::Reg::read) this register and get [`pmux0_::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pmux0_::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@pmux0_`]
231module"]
232#[doc(alias = "PMUX0_")]
233pub type Pmux0_ = crate::Reg<pmux0_::Pmux0_Spec>;
234#[doc = "Peripheral Multiplexing n - Group 0"]
235pub mod pmux0_;
236#[doc = "PINCFG0_ (rw) register accessor: Pin Configuration n - Group 0\n\nYou can [`read`](crate::Reg::read) this register and get [`pincfg0_::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pincfg0_::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@pincfg0_`]
237module"]
238#[doc(alias = "PINCFG0_")]
239pub type Pincfg0_ = crate::Reg<pincfg0_::Pincfg0_Spec>;
240#[doc = "Pin Configuration n - Group 0"]
241pub mod pincfg0_;