1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4 ctrla: Ctrla,
5 ctrlb: Ctrlb,
6 baud: Baud,
7 rxdata: Rxdata,
8 txdata: Txdata,
9 intenclr: Intenclr,
10 intenset: Intenset,
11 intflag: Intflag,
12 status: Status,
13 _reserved9: [u8; 0x0c],
14 instraddr: Instraddr,
15 instrctrl: Instrctrl,
16 instrframe: Instrframe,
17 _reserved12: [u8; 0x04],
18 scrambctrl: Scrambctrl,
19 scrambkey: Scrambkey,
20}
21impl RegisterBlock {
22#[doc = "0x00 - Control A"]
23 #[inline(always)]
24pub const fn ctrla(&self) -> &Ctrla {
25&self.ctrla
26 }
27#[doc = "0x04 - Control B"]
28 #[inline(always)]
29pub const fn ctrlb(&self) -> &Ctrlb {
30&self.ctrlb
31 }
32#[doc = "0x08 - Baud Rate"]
33 #[inline(always)]
34pub const fn baud(&self) -> &Baud {
35&self.baud
36 }
37#[doc = "0x0c - Receive Data"]
38 #[inline(always)]
39pub const fn rxdata(&self) -> &Rxdata {
40&self.rxdata
41 }
42#[doc = "0x10 - Transmit Data"]
43 #[inline(always)]
44pub const fn txdata(&self) -> &Txdata {
45&self.txdata
46 }
47#[doc = "0x14 - Interrupt Enable Clear"]
48 #[inline(always)]
49pub const fn intenclr(&self) -> &Intenclr {
50&self.intenclr
51 }
52#[doc = "0x18 - Interrupt Enable Set"]
53 #[inline(always)]
54pub const fn intenset(&self) -> &Intenset {
55&self.intenset
56 }
57#[doc = "0x1c - Interrupt Flag Status and Clear"]
58 #[inline(always)]
59pub const fn intflag(&self) -> &Intflag {
60&self.intflag
61 }
62#[doc = "0x20 - Status Register"]
63 #[inline(always)]
64pub const fn status(&self) -> &Status {
65&self.status
66 }
67#[doc = "0x30 - Instruction Address"]
68 #[inline(always)]
69pub const fn instraddr(&self) -> &Instraddr {
70&self.instraddr
71 }
72#[doc = "0x34 - Instruction Code"]
73 #[inline(always)]
74pub const fn instrctrl(&self) -> &Instrctrl {
75&self.instrctrl
76 }
77#[doc = "0x38 - Instruction Frame"]
78 #[inline(always)]
79pub const fn instrframe(&self) -> &Instrframe {
80&self.instrframe
81 }
82#[doc = "0x40 - Scrambling Mode"]
83 #[inline(always)]
84pub const fn scrambctrl(&self) -> &Scrambctrl {
85&self.scrambctrl
86 }
87#[doc = "0x44 - Scrambling Key"]
88 #[inline(always)]
89pub const fn scrambkey(&self) -> &Scrambkey {
90&self.scrambkey
91 }
92}
93#[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`]
94module"]
95#[doc(alias = "CTRLA")]
96pub type Ctrla = crate::Reg<ctrla::CtrlaSpec>;
97#[doc = "Control A"]
98pub mod ctrla;
99#[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`]
100module"]
101#[doc(alias = "CTRLB")]
102pub type Ctrlb = crate::Reg<ctrlb::CtrlbSpec>;
103#[doc = "Control B"]
104pub mod ctrlb;
105#[doc = "BAUD (rw) register accessor: Baud Rate\n\nYou can [`read`](crate::Reg::read) this register and get [`baud::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`baud::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@baud`]
106module"]
107#[doc(alias = "BAUD")]
108pub type Baud = crate::Reg<baud::BaudSpec>;
109#[doc = "Baud Rate"]
110pub mod baud;
111#[doc = "RXDATA (r) register accessor: Receive Data\n\nYou can [`read`](crate::Reg::read) this register and get [`rxdata::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rxdata`]
112module"]
113#[doc(alias = "RXDATA")]
114pub type Rxdata = crate::Reg<rxdata::RxdataSpec>;
115#[doc = "Receive Data"]
116pub mod rxdata;
117#[doc = "TXDATA (w) register accessor: Transmit Data\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`txdata::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@txdata`]
118module"]
119#[doc(alias = "TXDATA")]
120pub type Txdata = crate::Reg<txdata::TxdataSpec>;
121#[doc = "Transmit Data"]
122pub mod txdata;
123#[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`]
124module"]
125#[doc(alias = "INTENCLR")]
126pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
127#[doc = "Interrupt Enable Clear"]
128pub mod intenclr;
129#[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`]
130module"]
131#[doc(alias = "INTENSET")]
132pub type Intenset = crate::Reg<intenset::IntensetSpec>;
133#[doc = "Interrupt Enable Set"]
134pub mod intenset;
135#[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`]
136module"]
137#[doc(alias = "INTFLAG")]
138pub type Intflag = crate::Reg<intflag::IntflagSpec>;
139#[doc = "Interrupt Flag Status and Clear"]
140pub mod intflag;
141#[doc = "STATUS (r) register accessor: Status Register\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`]
142module"]
143#[doc(alias = "STATUS")]
144pub type Status = crate::Reg<status::StatusSpec>;
145#[doc = "Status Register"]
146pub mod status;
147#[doc = "INSTRADDR (rw) register accessor: Instruction Address\n\nYou can [`read`](crate::Reg::read) this register and get [`instraddr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`instraddr::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@instraddr`]
148module"]
149#[doc(alias = "INSTRADDR")]
150pub type Instraddr = crate::Reg<instraddr::InstraddrSpec>;
151#[doc = "Instruction Address"]
152pub mod instraddr;
153#[doc = "INSTRCTRL (rw) register accessor: Instruction Code\n\nYou can [`read`](crate::Reg::read) this register and get [`instrctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`instrctrl::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@instrctrl`]
154module"]
155#[doc(alias = "INSTRCTRL")]
156pub type Instrctrl = crate::Reg<instrctrl::InstrctrlSpec>;
157#[doc = "Instruction Code"]
158pub mod instrctrl;
159#[doc = "INSTRFRAME (rw) register accessor: Instruction Frame\n\nYou can [`read`](crate::Reg::read) this register and get [`instrframe::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`instrframe::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@instrframe`]
160module"]
161#[doc(alias = "INSTRFRAME")]
162pub type Instrframe = crate::Reg<instrframe::InstrframeSpec>;
163#[doc = "Instruction Frame"]
164pub mod instrframe;
165#[doc = "SCRAMBCTRL (rw) register accessor: Scrambling Mode\n\nYou can [`read`](crate::Reg::read) this register and get [`scrambctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scrambctrl::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@scrambctrl`]
166module"]
167#[doc(alias = "SCRAMBCTRL")]
168pub type Scrambctrl = crate::Reg<scrambctrl::ScrambctrlSpec>;
169#[doc = "Scrambling Mode"]
170pub mod scrambctrl;
171#[doc = "SCRAMBKEY (w) register accessor: Scrambling Key\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`scrambkey::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@scrambkey`]
172module"]
173#[doc(alias = "SCRAMBKEY")]
174pub type Scrambkey = crate::Reg<scrambkey::ScrambkeySpec>;
175#[doc = "Scrambling Key"]
176pub mod scrambkey;