1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 control: Control,
6 reload: Reload,
7 instruction_timer: InstructionTimer,
8 _reserved3: [u8; 0x04],
9 status: Status,
10 status2: Status2,
11 flags: Flags,
12 persistent: Persistent,
13 start: Start,
14 stop: Stop,
15 restart: Restart,
16 add: Add,
17 add1: Add1,
18 add16: Add16,
19 add256: Add256,
20 sub: Sub,
21 sub1: Sub1,
22 sub16: Sub16,
23 sub256: Sub256,
24 assert16: Assert16,
25}
26impl RegisterBlock {
27 #[doc = "0x00 - Control Register"]
28 #[inline(always)]
29 pub const fn control(&self) -> &Control {
30 &self.control
31 }
32 #[doc = "0x04 - Instruction Timer Reload Register"]
33 #[inline(always)]
34 pub const fn reload(&self) -> &Reload {
35 &self.reload
36 }
37 #[doc = "0x08 - Instruction Timer Register"]
38 #[inline(always)]
39 pub const fn instruction_timer(&self) -> &InstructionTimer {
40 &self.instruction_timer
41 }
42 #[doc = "0x10 - Status 1 Register"]
43 #[inline(always)]
44 pub const fn status(&self) -> &Status {
45 &self.status
46 }
47 #[doc = "0x14 - Status 2 Register"]
48 #[inline(always)]
49 pub const fn status2(&self) -> &Status2 {
50 &self.status2
51 }
52 #[doc = "0x18 - Flags Register"]
53 #[inline(always)]
54 pub const fn flags(&self) -> &Flags {
55 &self.flags
56 }
57 #[doc = "0x1c - Persistent Data Storage Register"]
58 #[inline(always)]
59 pub const fn persistent(&self) -> &Persistent {
60 &self.persistent
61 }
62 #[doc = "0x20 - START Command Register"]
63 #[inline(always)]
64 pub const fn start(&self) -> &Start {
65 &self.start
66 }
67 #[doc = "0x24 - STOP Command Register"]
68 #[inline(always)]
69 pub const fn stop(&self) -> &Stop {
70 &self.stop
71 }
72 #[doc = "0x28 - RESTART Command Register"]
73 #[inline(always)]
74 pub const fn restart(&self) -> &Restart {
75 &self.restart
76 }
77 #[doc = "0x2c - ADD Command Register"]
78 #[inline(always)]
79 pub const fn add(&self) -> &Add {
80 &self.add
81 }
82 #[doc = "0x30 - ADD1 Command Register"]
83 #[inline(always)]
84 pub const fn add1(&self) -> &Add1 {
85 &self.add1
86 }
87 #[doc = "0x34 - ADD16 Command Register"]
88 #[inline(always)]
89 pub const fn add16(&self) -> &Add16 {
90 &self.add16
91 }
92 #[doc = "0x38 - ADD256 Command Register"]
93 #[inline(always)]
94 pub const fn add256(&self) -> &Add256 {
95 &self.add256
96 }
97 #[doc = "0x3c - SUB Command Register"]
98 #[inline(always)]
99 pub const fn sub(&self) -> &Sub {
100 &self.sub
101 }
102 #[doc = "0x40 - SUB1 Command Register"]
103 #[inline(always)]
104 pub const fn sub1(&self) -> &Sub1 {
105 &self.sub1
106 }
107 #[doc = "0x44 - SUB16 Command Register"]
108 #[inline(always)]
109 pub const fn sub16(&self) -> &Sub16 {
110 &self.sub16
111 }
112 #[doc = "0x48 - SUB256 Command Register"]
113 #[inline(always)]
114 pub const fn sub256(&self) -> &Sub256 {
115 &self.sub256
116 }
117 #[doc = "0x4c - ASSERT16 Command Register"]
118 #[inline(always)]
119 pub const fn assert16(&self) -> &Assert16 {
120 &self.assert16
121 }
122}
123#[doc = "CONTROL (rw) register accessor: Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`control::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`control::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@control`] module"]
124#[doc(alias = "CONTROL")]
125pub type Control = crate::Reg<control::ControlSpec>;
126#[doc = "Control Register"]
127pub mod control;
128#[doc = "RELOAD (rw) register accessor: Instruction Timer Reload Register\n\nYou can [`read`](crate::Reg::read) this register and get [`reload::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`reload::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@reload`] module"]
129#[doc(alias = "RELOAD")]
130pub type Reload = crate::Reg<reload::ReloadSpec>;
131#[doc = "Instruction Timer Reload Register"]
132pub mod reload;
133#[doc = "INSTRUCTION_TIMER (r) register accessor: Instruction Timer Register\n\nYou can [`read`](crate::Reg::read) this register and get [`instruction_timer::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@instruction_timer`] module"]
134#[doc(alias = "INSTRUCTION_TIMER")]
135pub type InstructionTimer = crate::Reg<instruction_timer::InstructionTimerSpec>;
136#[doc = "Instruction Timer Register"]
137pub mod instruction_timer;
138#[doc = "STATUS (r) register accessor: Status 1 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`] module"]
139#[doc(alias = "STATUS")]
140pub type Status = crate::Reg<status::StatusSpec>;
141#[doc = "Status 1 Register"]
142pub mod status;
143#[doc = "STATUS2 (r) register accessor: Status 2 Register\n\nYou can [`read`](crate::Reg::read) this register and get [`status2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status2`] module"]
144#[doc(alias = "STATUS2")]
145pub type Status2 = crate::Reg<status2::Status2Spec>;
146#[doc = "Status 2 Register"]
147pub mod status2;
148#[doc = "FLAGS (rw) register accessor: Flags Register\n\nYou can [`read`](crate::Reg::read) this register and get [`flags::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`flags::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@flags`] module"]
149#[doc(alias = "FLAGS")]
150pub type Flags = crate::Reg<flags::FlagsSpec>;
151#[doc = "Flags Register"]
152pub mod flags;
153#[doc = "PERSISTENT (rw) register accessor: Persistent Data Storage Register\n\nYou can [`read`](crate::Reg::read) this register and get [`persistent::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`persistent::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@persistent`] module"]
154#[doc(alias = "PERSISTENT")]
155pub type Persistent = crate::Reg<persistent::PersistentSpec>;
156#[doc = "Persistent Data Storage Register"]
157pub mod persistent;
158#[doc = "START (w) register accessor: START Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`start::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@start`] module"]
159#[doc(alias = "START")]
160pub type Start = crate::Reg<start::StartSpec>;
161#[doc = "START Command Register"]
162pub mod start;
163#[doc = "STOP (w) register accessor: STOP Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`stop::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@stop`] module"]
164#[doc(alias = "STOP")]
165pub type Stop = crate::Reg<stop::StopSpec>;
166#[doc = "STOP Command Register"]
167pub mod stop;
168#[doc = "RESTART (w) register accessor: RESTART Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`restart::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@restart`] module"]
169#[doc(alias = "RESTART")]
170pub type Restart = crate::Reg<restart::RestartSpec>;
171#[doc = "RESTART Command Register"]
172pub mod restart;
173#[doc = "ADD (w) register accessor: ADD Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`add::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@add`] module"]
174#[doc(alias = "ADD")]
175pub type Add = crate::Reg<add::AddSpec>;
176#[doc = "ADD Command Register"]
177pub mod add;
178#[doc = "ADD1 (w) register accessor: ADD1 Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`add1::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@add1`] module"]
179#[doc(alias = "ADD1")]
180pub type Add1 = crate::Reg<add1::Add1Spec>;
181#[doc = "ADD1 Command Register"]
182pub mod add1;
183#[doc = "ADD16 (w) register accessor: ADD16 Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`add16::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@add16`] module"]
184#[doc(alias = "ADD16")]
185pub type Add16 = crate::Reg<add16::Add16Spec>;
186#[doc = "ADD16 Command Register"]
187pub mod add16;
188#[doc = "ADD256 (w) register accessor: ADD256 Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`add256::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@add256`] module"]
189#[doc(alias = "ADD256")]
190pub type Add256 = crate::Reg<add256::Add256Spec>;
191#[doc = "ADD256 Command Register"]
192pub mod add256;
193#[doc = "SUB (w) register accessor: SUB Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sub::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sub`] module"]
194#[doc(alias = "SUB")]
195pub type Sub = crate::Reg<sub::SubSpec>;
196#[doc = "SUB Command Register"]
197pub mod sub;
198#[doc = "SUB1 (w) register accessor: SUB1 Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sub1::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sub1`] module"]
199#[doc(alias = "SUB1")]
200pub type Sub1 = crate::Reg<sub1::Sub1Spec>;
201#[doc = "SUB1 Command Register"]
202pub mod sub1;
203#[doc = "SUB16 (w) register accessor: SUB16 Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sub16::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sub16`] module"]
204#[doc(alias = "SUB16")]
205pub type Sub16 = crate::Reg<sub16::Sub16Spec>;
206#[doc = "SUB16 Command Register"]
207pub mod sub16;
208#[doc = "SUB256 (w) register accessor: SUB256 Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sub256::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sub256`] module"]
209#[doc(alias = "SUB256")]
210pub type Sub256 = crate::Reg<sub256::Sub256Spec>;
211#[doc = "SUB256 Command Register"]
212pub mod sub256;
213#[doc = "ASSERT16 (w) register accessor: ASSERT16 Command Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`assert16::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@assert16`] module"]
214#[doc(alias = "ASSERT16")]
215pub type Assert16 = crate::Reg<assert16::Assert16Spec>;
216#[doc = "ASSERT16 Command Register"]
217pub mod assert16;