atsamd51j/port/
group.rs

1#[repr(C)]
2#[doc = "GROUP\\[%s\\]"]
3#[doc(alias = "GROUP")]
4pub struct Group {
5    dir: Dir,
6    dirclr: Dirclr,
7    dirset: Dirset,
8    dirtgl: Dirtgl,
9    out: Out,
10    outclr: Outclr,
11    outset: Outset,
12    outtgl: Outtgl,
13    in_: In,
14    ctrl: Ctrl,
15    wrconfig: Wrconfig,
16    evctrl: Evctrl,
17    pmux: [Pmux; 16],
18    pincfg: [Pincfg; 32],
19}
20impl Group {
21    #[doc = "0x00 - Data Direction"]
22    #[inline(always)]
23    pub const fn dir(&self) -> &Dir {
24        &self.dir
25    }
26    #[doc = "0x04 - Data Direction Clear"]
27    #[inline(always)]
28    pub const fn dirclr(&self) -> &Dirclr {
29        &self.dirclr
30    }
31    #[doc = "0x08 - Data Direction Set"]
32    #[inline(always)]
33    pub const fn dirset(&self) -> &Dirset {
34        &self.dirset
35    }
36    #[doc = "0x0c - Data Direction Toggle"]
37    #[inline(always)]
38    pub const fn dirtgl(&self) -> &Dirtgl {
39        &self.dirtgl
40    }
41    #[doc = "0x10 - Data Output Value"]
42    #[inline(always)]
43    pub const fn out(&self) -> &Out {
44        &self.out
45    }
46    #[doc = "0x14 - Data Output Value Clear"]
47    #[inline(always)]
48    pub const fn outclr(&self) -> &Outclr {
49        &self.outclr
50    }
51    #[doc = "0x18 - Data Output Value Set"]
52    #[inline(always)]
53    pub const fn outset(&self) -> &Outset {
54        &self.outset
55    }
56    #[doc = "0x1c - Data Output Value Toggle"]
57    #[inline(always)]
58    pub const fn outtgl(&self) -> &Outtgl {
59        &self.outtgl
60    }
61    #[doc = "0x20 - Data Input Value"]
62    #[inline(always)]
63    pub const fn in_(&self) -> &In {
64        &self.in_
65    }
66    #[doc = "0x24 - Control"]
67    #[inline(always)]
68    pub const fn ctrl(&self) -> &Ctrl {
69        &self.ctrl
70    }
71    #[doc = "0x28 - Write Configuration"]
72    #[inline(always)]
73    pub const fn wrconfig(&self) -> &Wrconfig {
74        &self.wrconfig
75    }
76    #[doc = "0x2c - Event Input Control"]
77    #[inline(always)]
78    pub const fn evctrl(&self) -> &Evctrl {
79        &self.evctrl
80    }
81    #[doc = "0x30..0x40 - Peripheral Multiplexing"]
82    #[inline(always)]
83    pub const fn pmux(&self, n: usize) -> &Pmux {
84        &self.pmux[n]
85    }
86    #[doc = "Iterator for array of:"]
87    #[doc = "0x30..0x40 - Peripheral Multiplexing"]
88    #[inline(always)]
89    pub fn pmux_iter(&self) -> impl Iterator<Item = &Pmux> {
90        self.pmux.iter()
91    }
92    #[doc = "0x40..0x60 - Pin Configuration"]
93    #[inline(always)]
94    pub const fn pincfg(&self, n: usize) -> &Pincfg {
95        &self.pincfg[n]
96    }
97    #[doc = "Iterator for array of:"]
98    #[doc = "0x40..0x60 - Pin Configuration"]
99    #[inline(always)]
100    pub fn pincfg_iter(&self) -> impl Iterator<Item = &Pincfg> {
101        self.pincfg.iter()
102    }
103}
104#[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`]
105module"]
106#[doc(alias = "DIR")]
107pub type Dir = crate::Reg<dir::DirSpec>;
108#[doc = "Data Direction"]
109pub mod dir;
110#[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`]
111module"]
112#[doc(alias = "DIRCLR")]
113pub type Dirclr = crate::Reg<dirclr::DirclrSpec>;
114#[doc = "Data Direction Clear"]
115pub mod dirclr;
116#[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`]
117module"]
118#[doc(alias = "DIRSET")]
119pub type Dirset = crate::Reg<dirset::DirsetSpec>;
120#[doc = "Data Direction Set"]
121pub mod dirset;
122#[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`]
123module"]
124#[doc(alias = "DIRTGL")]
125pub type Dirtgl = crate::Reg<dirtgl::DirtglSpec>;
126#[doc = "Data Direction Toggle"]
127pub mod dirtgl;
128#[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`]
129module"]
130#[doc(alias = "OUT")]
131pub type Out = crate::Reg<out::OutSpec>;
132#[doc = "Data Output Value"]
133pub mod out;
134#[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`]
135module"]
136#[doc(alias = "OUTCLR")]
137pub type Outclr = crate::Reg<outclr::OutclrSpec>;
138#[doc = "Data Output Value Clear"]
139pub mod outclr;
140#[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`]
141module"]
142#[doc(alias = "OUTSET")]
143pub type Outset = crate::Reg<outset::OutsetSpec>;
144#[doc = "Data Output Value Set"]
145pub mod outset;
146#[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`]
147module"]
148#[doc(alias = "OUTTGL")]
149pub type Outtgl = crate::Reg<outtgl::OuttglSpec>;
150#[doc = "Data Output Value Toggle"]
151pub mod outtgl;
152#[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_`]
153module"]
154#[doc(alias = "IN")]
155pub type In = crate::Reg<in_::InSpec>;
156#[doc = "Data Input Value"]
157pub mod in_;
158#[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`]
159module"]
160#[doc(alias = "CTRL")]
161pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
162#[doc = "Control"]
163pub mod ctrl;
164#[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`]
165module"]
166#[doc(alias = "WRCONFIG")]
167pub type Wrconfig = crate::Reg<wrconfig::WrconfigSpec>;
168#[doc = "Write Configuration"]
169pub mod wrconfig;
170#[doc = "EVCTRL (rw) register accessor: Event Input Control\n\nYou can [`read`](crate::Reg::read) this register and get [`evctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`evctrl::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@evctrl`]
171module"]
172#[doc(alias = "EVCTRL")]
173pub type Evctrl = crate::Reg<evctrl::EvctrlSpec>;
174#[doc = "Event Input Control"]
175pub mod evctrl;
176#[doc = "PMUX (rw) register accessor: Peripheral Multiplexing\n\nYou can [`read`](crate::Reg::read) this register and get [`pmux::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pmux::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@pmux`]
177module"]
178#[doc(alias = "PMUX")]
179pub type Pmux = crate::Reg<pmux::PmuxSpec>;
180#[doc = "Peripheral Multiplexing"]
181pub mod pmux;
182#[doc = "PINCFG (rw) register accessor: Pin Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`pincfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pincfg::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@pincfg`]
183module"]
184#[doc(alias = "PINCFG")]
185pub type Pincfg = crate::Reg<pincfg::PincfgSpec>;
186#[doc = "Pin Configuration"]
187pub mod pincfg;