mk20d7/ftm0/
mod.rs

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;