1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 ctrla: Ctrla,
5 ctrlb: Ctrlb,
6 evctrl: Evctrl,
7 _reserved3: [u8; 0x01],
8 intenclr: Intenclr,
9 intenset: Intenset,
10 intflag: Intflag,
11 status: Status,
12 syncbusy: Syncbusy,
13 dacctrl: [Dacctrl; 2],
14 data: [Data; 2],
15 databuf: [Databuf; 2],
16 dbgctrl: Dbgctrl,
17 _reserved12: [u8; 0x03],
18 result: [Result; 2],
19}
20impl RegisterBlock {
21 #[doc = "0x00 - Control A"]
22 #[inline(always)]
23 pub const fn ctrla(&self) -> &Ctrla {
24 &self.ctrla
25 }
26 #[doc = "0x01 - Control B"]
27 #[inline(always)]
28 pub const fn ctrlb(&self) -> &Ctrlb {
29 &self.ctrlb
30 }
31 #[doc = "0x02 - Event Control"]
32 #[inline(always)]
33 pub const fn evctrl(&self) -> &Evctrl {
34 &self.evctrl
35 }
36 #[doc = "0x04 - Interrupt Enable Clear"]
37 #[inline(always)]
38 pub const fn intenclr(&self) -> &Intenclr {
39 &self.intenclr
40 }
41 #[doc = "0x05 - Interrupt Enable Set"]
42 #[inline(always)]
43 pub const fn intenset(&self) -> &Intenset {
44 &self.intenset
45 }
46 #[doc = "0x06 - Interrupt Flag Status and Clear"]
47 #[inline(always)]
48 pub const fn intflag(&self) -> &Intflag {
49 &self.intflag
50 }
51 #[doc = "0x07 - Status"]
52 #[inline(always)]
53 pub const fn status(&self) -> &Status {
54 &self.status
55 }
56 #[doc = "0x08 - Synchronization Busy"]
57 #[inline(always)]
58 pub const fn syncbusy(&self) -> &Syncbusy {
59 &self.syncbusy
60 }
61 #[doc = "0x0c - DAC n Control"]
62 #[inline(always)]
63 pub const fn dacctrl(&self, n: usize) -> &Dacctrl {
64 &self.dacctrl[n]
65 }
66 #[doc = "Iterator for array of:"]
67 #[doc = "0x0c - DAC n Control"]
68 #[inline(always)]
69 pub fn dacctrl_iter(&self) -> impl Iterator<Item = &Dacctrl> {
70 self.dacctrl.iter()
71 }
72 #[doc = "0x10 - DAC n Data"]
73 #[inline(always)]
74 pub const fn data(&self, n: usize) -> &Data {
75 &self.data[n]
76 }
77 #[doc = "Iterator for array of:"]
78 #[doc = "0x10 - DAC n Data"]
79 #[inline(always)]
80 pub fn data_iter(&self) -> impl Iterator<Item = &Data> {
81 self.data.iter()
82 }
83 #[doc = "0x14 - DAC n Data Buffer"]
84 #[inline(always)]
85 pub const fn databuf(&self, n: usize) -> &Databuf {
86 &self.databuf[n]
87 }
88 #[doc = "Iterator for array of:"]
89 #[doc = "0x14 - DAC n Data Buffer"]
90 #[inline(always)]
91 pub fn databuf_iter(&self) -> impl Iterator<Item = &Databuf> {
92 self.databuf.iter()
93 }
94 #[doc = "0x18 - Debug Control"]
95 #[inline(always)]
96 pub const fn dbgctrl(&self) -> &Dbgctrl {
97 &self.dbgctrl
98 }
99 #[doc = "0x1c - Filter Result"]
100 #[inline(always)]
101 pub const fn result(&self, n: usize) -> &Result {
102 &self.result[n]
103 }
104 #[doc = "Iterator for array of:"]
105 #[doc = "0x1c - Filter Result"]
106 #[inline(always)]
107 pub fn result_iter(&self) -> impl Iterator<Item = &Result> {
108 self.result.iter()
109 }
110}
111#[doc = "CTRLA (rw) register accessor: Control A\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrla::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrla::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@ctrla`]
112module"]
113#[doc(alias = "CTRLA")]
114pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
115#[doc = "Control A"]
116pub mod ctrla;
117#[doc = "CTRLB (rw) register accessor: Control B\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrlb::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrlb::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@ctrlb`]
118module"]
119#[doc(alias = "CTRLB")]
120pub type Ctrlb = crate::Reg<ctrlb::CtrlbSpec>;
121#[doc = "Control B"]
122pub mod ctrlb;
123#[doc = "EVCTRL (rw) register accessor: Event 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`]
124module"]
125#[doc(alias = "EVCTRL")]
126pub type Evctrl = crate::Reg<evctrl::EvctrlSpec>;
127#[doc = "Event Control"]
128pub mod evctrl;
129#[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenclr::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@intenclr`]
130module"]
131#[doc(alias = "INTENCLR")]
132pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
133#[doc = "Interrupt Enable Clear"]
134pub mod intenclr;
135#[doc = "INTENSET (rw) register accessor: Interrupt Enable Set\n\nYou can [`read`](crate::Reg::read) this register and get [`intenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenset::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@intenset`]
136module"]
137#[doc(alias = "INTENSET")]
138pub type Intenset = crate::Reg<intenset::IntensetSpec>;
139#[doc = "Interrupt Enable Set"]
140pub mod intenset;
141#[doc = "INTFLAG (rw) register accessor: Interrupt Flag Status and Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intflag::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@intflag`]
142module"]
143#[doc(alias = "INTFLAG")]
144pub type Intflag = crate::Reg<intflag::IntflagSpec>;
145#[doc = "Interrupt Flag Status and Clear"]
146pub mod intflag;
147#[doc = "STATUS (r) register accessor: Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
148module"]
149#[doc(alias = "STATUS")]
150pub type Status = crate::Reg<status::StatusSpec>;
151#[doc = "Status"]
152pub mod status;
153#[doc = "SYNCBUSY (r) register accessor: Synchronization Busy\n\nYou can [`read`](crate::Reg::read) this register and get [`syncbusy::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@syncbusy`]
154module"]
155#[doc(alias = "SYNCBUSY")]
156pub type Syncbusy = crate::Reg<syncbusy::SyncbusySpec>;
157#[doc = "Synchronization Busy"]
158pub mod syncbusy;
159#[doc = "DACCTRL (rw) register accessor: DAC n Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dacctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dacctrl::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@dacctrl`]
160module"]
161#[doc(alias = "DACCTRL")]
162pub type Dacctrl = crate::Reg<dacctrl::DacctrlSpec>;
163#[doc = "DAC n Control"]
164pub mod dacctrl;
165#[doc = "DATA (w) register accessor: DAC n Data\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data`]
166module"]
167#[doc(alias = "DATA")]
168pub type Data = crate::Reg<data::DataSpec>;
169#[doc = "DAC n Data"]
170pub mod data;
171#[doc = "DATABUF (w) register accessor: DAC n Data Buffer\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`databuf::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@databuf`]
172module"]
173#[doc(alias = "DATABUF")]
174pub type Databuf = crate::Reg<databuf::DatabufSpec>;
175#[doc = "DAC n Data Buffer"]
176pub mod databuf;
177#[doc = "DBGCTRL (rw) register accessor: Debug Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dbgctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dbgctrl::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@dbgctrl`]
178module"]
179#[doc(alias = "DBGCTRL")]
180pub type Dbgctrl = crate::Reg<dbgctrl::DbgctrlSpec>;
181#[doc = "Debug Control"]
182pub mod dbgctrl;
183#[doc = "RESULT (r) register accessor: Filter Result\n\nYou can [`read`](crate::Reg::read) this register and get [`result::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@result`]
184module"]
185#[doc(alias = "RESULT")]
186pub type Result = crate::Reg<result::ResultSpec>;
187#[doc = "Filter Result"]
188pub mod result;