1#[doc = r" Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Status and Control"]
5 pub sc: SC,
6 #[doc = "0x04 - Counter"]
7 pub cnt: CNT,
8 #[doc = "0x08 - Modulo"]
9 pub mod_: MOD,
10 #[doc = "0x0c - Channel (n) Status and Control"]
11 pub c0sc: CSC,
12 #[doc = "0x10 - Channel (n) Value"]
13 pub c0v: CV,
14 #[doc = "0x14 - Channel (n) Status and Control"]
15 pub c1sc: CSC,
16 #[doc = "0x18 - Channel (n) Value"]
17 pub c1v: CV,
18 #[doc = "0x1c - Channel (n) Status and Control"]
19 pub c2sc: CSC,
20 #[doc = "0x20 - Channel (n) Value"]
21 pub c2v: CV,
22 #[doc = "0x24 - Channel (n) Status and Control"]
23 pub c3sc: CSC,
24 #[doc = "0x28 - Channel (n) Value"]
25 pub c3v: CV,
26 #[doc = "0x2c - Channel (n) Status and Control"]
27 pub c4sc: CSC,
28 #[doc = "0x30 - Channel (n) Value"]
29 pub c4v: CV,
30 #[doc = "0x34 - Channel (n) Status and Control"]
31 pub c5sc: CSC,
32 #[doc = "0x38 - Channel (n) Value"]
33 pub c5v: CV,
34 #[doc = "0x3c - Channel (n) Status and Control"]
35 pub c6sc: CSC,
36 #[doc = "0x40 - Channel (n) Value"]
37 pub c6v: CV,
38 #[doc = "0x44 - Channel (n) Status and Control"]
39 pub c7sc: CSC,
40 #[doc = "0x48 - Channel (n) Value"]
41 pub c7v: CV,
42 #[doc = "0x4c - Counter Initial Value"]
43 pub cntin: CNTIN,
44 #[doc = "0x50 - Capture and Compare Status"]
45 pub status: STATUS,
46 #[doc = "0x54 - Features Mode Selection"]
47 pub mode: MODE,
48 #[doc = "0x58 - Synchronization"]
49 pub sync: SYNC,
50 #[doc = "0x5c - Initial State for Channels Output"]
51 pub outinit: OUTINIT,
52 #[doc = "0x60 - Output Mask"]
53 pub outmask: OUTMASK,
54 #[doc = "0x64 - Function for Linked Channels"]
55 pub combine: COMBINE,
56 #[doc = "0x68 - Deadtime Insertion Control"]
57 pub deadtime: DEADTIME,
58 #[doc = "0x6c - FTM External Trigger"]
59 pub exttrig: EXTTRIG,
60 #[doc = "0x70 - Channels Polarity"]
61 pub pol: POL,
62 #[doc = "0x74 - Fault Mode Status"]
63 pub fms: FMS,
64 #[doc = "0x78 - Input Capture Filter Control"]
65 pub filter: FILTER,
66 #[doc = "0x7c - Fault Control"]
67 pub fltctrl: FLTCTRL,
68 #[doc = "0x80 - Quadrature Decoder Control and Status"]
69 pub qdctrl: QDCTRL,
70 #[doc = "0x84 - Configuration"]
71 pub conf: CONF,
72 #[doc = "0x88 - FTM Fault Input Polarity"]
73 pub fltpol: FLTPOL,
74 #[doc = "0x8c - Synchronization Configuration"]
75 pub synconf: SYNCONF,
76 #[doc = "0x90 - FTM Inverting Control"]
77 pub invctrl: INVCTRL,
78 #[doc = "0x94 - FTM Software Output Control"]
79 pub swoctrl: SWOCTRL,
80 #[doc = "0x98 - FTM PWM Load"]
81 pub pwmload: PWMLOAD,
82}
83#[doc = "Status and Control"]
84pub struct SC {
85 register: ::vcell::VolatileCell<u32>,
86}
87#[doc = "Status and Control"]
88pub mod sc;
89#[doc = "Counter"]
90pub struct CNT {
91 register: ::vcell::VolatileCell<u32>,
92}
93#[doc = "Counter"]
94pub mod cnt;
95#[doc = "Modulo"]
96pub struct MOD {
97 register: ::vcell::VolatileCell<u32>,
98}
99#[doc = "Modulo"]
100pub mod mod_;
101#[doc = "Channel (n) Status and Control"]
102pub struct CSC {
103 register: ::vcell::VolatileCell<u32>,
104}
105#[doc = "Channel (n) Status and Control"]
106pub mod csc;
107#[doc = "Channel (n) Value"]
108pub struct CV {
109 register: ::vcell::VolatileCell<u32>,
110}
111#[doc = "Channel (n) Value"]
112pub mod cv;
113#[doc = "Counter Initial Value"]
114pub struct CNTIN {
115 register: ::vcell::VolatileCell<u32>,
116}
117#[doc = "Counter Initial Value"]
118pub mod cntin;
119#[doc = "Capture and Compare Status"]
120pub struct STATUS {
121 register: ::vcell::VolatileCell<u32>,
122}
123#[doc = "Capture and Compare Status"]
124pub mod status;
125#[doc = "Features Mode Selection"]
126pub struct MODE {
127 register: ::vcell::VolatileCell<u32>,
128}
129#[doc = "Features Mode Selection"]
130pub mod mode;
131#[doc = "Synchronization"]
132pub struct SYNC {
133 register: ::vcell::VolatileCell<u32>,
134}
135#[doc = "Synchronization"]
136pub mod sync;
137#[doc = "Initial State for Channels Output"]
138pub struct OUTINIT {
139 register: ::vcell::VolatileCell<u32>,
140}
141#[doc = "Initial State for Channels Output"]
142pub mod outinit;
143#[doc = "Output Mask"]
144pub struct OUTMASK {
145 register: ::vcell::VolatileCell<u32>,
146}
147#[doc = "Output Mask"]
148pub mod outmask;
149#[doc = "Function for Linked Channels"]
150pub struct COMBINE {
151 register: ::vcell::VolatileCell<u32>,
152}
153#[doc = "Function for Linked Channels"]
154pub mod combine;
155#[doc = "Deadtime Insertion Control"]
156pub struct DEADTIME {
157 register: ::vcell::VolatileCell<u32>,
158}
159#[doc = "Deadtime Insertion Control"]
160pub mod deadtime;
161#[doc = "FTM External Trigger"]
162pub struct EXTTRIG {
163 register: ::vcell::VolatileCell<u32>,
164}
165#[doc = "FTM External Trigger"]
166pub mod exttrig;
167#[doc = "Channels Polarity"]
168pub struct POL {
169 register: ::vcell::VolatileCell<u32>,
170}
171#[doc = "Channels Polarity"]
172pub mod pol;
173#[doc = "Fault Mode Status"]
174pub struct FMS {
175 register: ::vcell::VolatileCell<u32>,
176}
177#[doc = "Fault Mode Status"]
178pub mod fms;
179#[doc = "Input Capture Filter Control"]
180pub struct FILTER {
181 register: ::vcell::VolatileCell<u32>,
182}
183#[doc = "Input Capture Filter Control"]
184pub mod filter;
185#[doc = "Fault Control"]
186pub struct FLTCTRL {
187 register: ::vcell::VolatileCell<u32>,
188}
189#[doc = "Fault Control"]
190pub mod fltctrl;
191#[doc = "Quadrature Decoder Control and Status"]
192pub struct QDCTRL {
193 register: ::vcell::VolatileCell<u32>,
194}
195#[doc = "Quadrature Decoder Control and Status"]
196pub mod qdctrl;
197#[doc = "Configuration"]
198pub struct CONF {
199 register: ::vcell::VolatileCell<u32>,
200}
201#[doc = "Configuration"]
202pub mod conf;
203#[doc = "FTM Fault Input Polarity"]
204pub struct FLTPOL {
205 register: ::vcell::VolatileCell<u32>,
206}
207#[doc = "FTM Fault Input Polarity"]
208pub mod fltpol;
209#[doc = "Synchronization Configuration"]
210pub struct SYNCONF {
211 register: ::vcell::VolatileCell<u32>,
212}
213#[doc = "Synchronization Configuration"]
214pub mod synconf;
215#[doc = "FTM Inverting Control"]
216pub struct INVCTRL {
217 register: ::vcell::VolatileCell<u32>,
218}
219#[doc = "FTM Inverting Control"]
220pub mod invctrl;
221#[doc = "FTM Software Output Control"]
222pub struct SWOCTRL {
223 register: ::vcell::VolatileCell<u32>,
224}
225#[doc = "FTM Software Output Control"]
226pub mod swoctrl;
227#[doc = "FTM PWM Load"]
228pub struct PWMLOAD {
229 register: ::vcell::VolatileCell<u32>,
230}
231#[doc = "FTM PWM Load"]
232pub mod pwmload;