1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - Start RTC counter"]
pub tasks_start: TASKS_START,
#[doc = "0x04 - Stop RTC counter"]
pub tasks_stop: TASKS_STOP,
#[doc = "0x08 - Clear RTC counter"]
pub tasks_clear: TASKS_CLEAR,
#[doc = "0x0c - Set counter to 0xFFFFF0"]
pub tasks_trigovrflw: TASKS_TRIGOVRFLW,
_reserved0: [u8; 112usize],
#[doc = "0x80 - Subscribe configuration for task START"]
pub subscribe_start: SUBSCRIBE_START,
#[doc = "0x84 - Subscribe configuration for task STOP"]
pub subscribe_stop: SUBSCRIBE_STOP,
#[doc = "0x88 - Subscribe configuration for task CLEAR"]
pub subscribe_clear: SUBSCRIBE_CLEAR,
#[doc = "0x8c - Subscribe configuration for task TRIGOVRFLW"]
pub subscribe_trigovrflw: SUBSCRIBE_TRIGOVRFLW,
_reserved1: [u8; 112usize],
#[doc = "0x100 - Event on counter increment"]
pub events_tick: EVENTS_TICK,
#[doc = "0x104 - Event on counter overflow"]
pub events_ovrflw: EVENTS_OVRFLW,
_reserved2: [u8; 56usize],
#[doc = "0x140 - Description collection: Compare event on CC\\[n\\] match"]
pub events_compare: [EVENTS_COMPARE; 4],
_reserved3: [u8; 48usize],
#[doc = "0x180 - Publish configuration for event TICK"]
pub publish_tick: PUBLISH_TICK,
#[doc = "0x184 - Publish configuration for event OVRFLW"]
pub publish_ovrflw: PUBLISH_OVRFLW,
_reserved4: [u8; 56usize],
#[doc = "0x1c0 - Description collection: Publish configuration for event COMPARE\\[n\\]"]
pub publish_compare: [PUBLISH_COMPARE; 4],
_reserved5: [u8; 308usize],
#[doc = "0x304 - Enable interrupt"]
pub intenset: INTENSET,
#[doc = "0x308 - Disable interrupt"]
pub intenclr: INTENCLR,
_reserved6: [u8; 52usize],
#[doc = "0x340 - Enable or disable event routing"]
pub evten: EVTEN,
#[doc = "0x344 - Enable event routing"]
pub evtenset: EVTENSET,
#[doc = "0x348 - Disable event routing"]
pub evtenclr: EVTENCLR,
_reserved7: [u8; 440usize],
#[doc = "0x504 - Current counter value"]
pub counter: COUNTER,
#[doc = "0x508 - 12-bit prescaler for counter frequency (32768/(PRESCALER+1)). Must be written when RTC is stopped."]
pub prescaler: PRESCALER,
_reserved8: [u8; 52usize],
#[doc = "0x540 - Description collection: Compare register n"]
pub cc: [CC; 4],
}
#[doc = "Start RTC counter"]
pub struct TASKS_START {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Start RTC counter"]
pub mod tasks_start;
#[doc = "Stop RTC counter"]
pub struct TASKS_STOP {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Stop RTC counter"]
pub mod tasks_stop;
#[doc = "Clear RTC counter"]
pub struct TASKS_CLEAR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Clear RTC counter"]
pub mod tasks_clear;
#[doc = "Set counter to 0xFFFFF0"]
pub struct TASKS_TRIGOVRFLW {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Set counter to 0xFFFFF0"]
pub mod tasks_trigovrflw;
#[doc = "Subscribe configuration for task START"]
pub struct SUBSCRIBE_START {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Subscribe configuration for task START"]
pub mod subscribe_start;
#[doc = "Subscribe configuration for task STOP"]
pub struct SUBSCRIBE_STOP {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Subscribe configuration for task STOP"]
pub mod subscribe_stop;
#[doc = "Subscribe configuration for task CLEAR"]
pub struct SUBSCRIBE_CLEAR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Subscribe configuration for task CLEAR"]
pub mod subscribe_clear;
#[doc = "Subscribe configuration for task TRIGOVRFLW"]
pub struct SUBSCRIBE_TRIGOVRFLW {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Subscribe configuration for task TRIGOVRFLW"]
pub mod subscribe_trigovrflw;
#[doc = "Event on counter increment"]
pub struct EVENTS_TICK {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Event on counter increment"]
pub mod events_tick;
#[doc = "Event on counter overflow"]
pub struct EVENTS_OVRFLW {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Event on counter overflow"]
pub mod events_ovrflw;
#[doc = "Description collection: Compare event on CC\\[n\\] match"]
pub struct EVENTS_COMPARE {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Description collection: Compare event on CC\\[n\\] match"]
pub mod events_compare;
#[doc = "Publish configuration for event TICK"]
pub struct PUBLISH_TICK {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Publish configuration for event TICK"]
pub mod publish_tick;
#[doc = "Publish configuration for event OVRFLW"]
pub struct PUBLISH_OVRFLW {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Publish configuration for event OVRFLW"]
pub mod publish_ovrflw;
#[doc = "Description collection: Publish configuration for event COMPARE\\[n\\]"]
pub struct PUBLISH_COMPARE {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Description collection: Publish configuration for event COMPARE\\[n\\]"]
pub mod publish_compare;
#[doc = "Enable interrupt"]
pub struct INTENSET {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable interrupt"]
pub mod intenset;
#[doc = "Disable interrupt"]
pub struct INTENCLR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Disable interrupt"]
pub mod intenclr;
#[doc = "Enable or disable event routing"]
pub struct EVTEN {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable or disable event routing"]
pub mod evten;
#[doc = "Enable event routing"]
pub struct EVTENSET {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable event routing"]
pub mod evtenset;
#[doc = "Disable event routing"]
pub struct EVTENCLR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Disable event routing"]
pub mod evtenclr;
#[doc = "Current counter value"]
pub struct COUNTER {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Current counter value"]
pub mod counter;
#[doc = "12-bit prescaler for counter frequency (32768/(PRESCALER+1)). Must be written when RTC is stopped."]
pub struct PRESCALER {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "12-bit prescaler for counter frequency (32768/(PRESCALER+1)). Must be written when RTC is stopped."]
pub mod prescaler;
#[doc = "Description collection: Compare register n"]
pub struct CC {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Description collection: Compare register n"]
pub mod cc;