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)]
22 pub 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)]
28 pub fn dir_iter(&self) -> impl Iterator<Item = &Dir> {
29 self.dir.iter()
30 }
31 #[doc = "0x04 - Data Direction Clear"]
32 #[inline(always)]
33 pub 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)]
39 pub fn dirclr_iter(&self) -> impl Iterator<Item = &Dirclr> {
40 self.dirclr.iter()
41 }
42 #[doc = "0x08 - Data Direction Set"]
43 #[inline(always)]
44 pub 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)]
50 pub fn dirset_iter(&self) -> impl Iterator<Item = &Dirset> {
51 self.dirset.iter()
52 }
53 #[doc = "0x0c - Data Direction Toggle"]
54 #[inline(always)]
55 pub 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)]
61 pub fn dirtgl_iter(&self) -> impl Iterator<Item = &Dirtgl> {
62 self.dirtgl.iter()
63 }
64 #[doc = "0x10 - Data Output Value"]
65 #[inline(always)]
66 pub 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)]
72 pub fn out_iter(&self) -> impl Iterator<Item = &Out> {
73 self.out.iter()
74 }
75 #[doc = "0x14 - Data Output Value Clear"]
76 #[inline(always)]
77 pub 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)]
83 pub fn outclr_iter(&self) -> impl Iterator<Item = &Outclr> {
84 self.outclr.iter()
85 }
86 #[doc = "0x18 - Data Output Value Set"]
87 #[inline(always)]
88 pub 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)]
94 pub fn outset_iter(&self) -> impl Iterator<Item = &Outset> {
95 self.outset.iter()
96 }
97 #[doc = "0x1c - Data Output Value Toggle"]
98 #[inline(always)]
99 pub 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)]
105 pub fn outtgl_iter(&self) -> impl Iterator<Item = &Outtgl> {
106 self.outtgl.iter()
107 }
108 #[doc = "0x20 - Data Input Value"]
109 #[inline(always)]
110 pub 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)]
116 pub fn in__iter(&self) -> impl Iterator<Item = &In> {
117 self.in_.iter()
118 }
119 #[doc = "0x24 - Control"]
120 #[inline(always)]
121 pub 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)]
127 pub fn ctrl_iter(&self) -> impl Iterator<Item = &Ctrl> {
128 self.ctrl.iter()
129 }
130 #[doc = "0x28 - Write Configuration"]
131 #[inline(always)]
132 pub 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)]
138 pub fn wrconfig_iter(&self) -> impl Iterator<Item = &Wrconfig> {
139 self.wrconfig.iter()
140 }
141 #[doc = "0x30..0x40 - Peripheral Multiplexing n - Group 0"]
142 #[inline(always)]
143 pub 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)]
149 pub fn pmux0__iter(&self) -> impl Iterator<Item = &Pmux0_> {
150 self.pmux0_.iter()
151 }
152 #[doc = "0x40..0x60 - Pin Configuration n - Group 0"]
153 #[inline(always)]
154 pub 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)]
160 pub fn pincfg0__iter(&self) -> impl Iterator<Item = &Pincfg0_> {
161 self.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_;