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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Control register"]
    pub con: CON,
    #[doc = "0x04 - Encoder status register"]
    pub stat: STAT,
    #[doc = "0x08 - Configuration register"]
    pub conf: CONF,
    #[doc = "0x0c - Position register"]
    pub pos: POS,
    #[doc = "0x10 - Maximum position register"]
    pub maxpos: MAXPOS,
    #[doc = "0x14 - position compare register 0"]
    pub cmpos0: CMPOS0,
    #[doc = "0x18 - position compare register 1"]
    pub cmpos1: CMPOS1,
    #[doc = "0x1c - position compare register 2"]
    pub cmpos2: CMPOS2,
    #[doc = "0x20 - Index count register"]
    pub inxcnt: INXCNT,
    #[doc = "0x24 - Index compare register 0"]
    pub inxcmp0: INXCMP0,
    #[doc = "0x28 - Velocity timer reload register"]
    pub load: LOAD,
    #[doc = "0x2c - Velocity timer register"]
    pub time: TIME,
    #[doc = "0x30 - Velocity counter register"]
    pub vel: VEL,
    #[doc = "0x34 - Velocity capture register"]
    pub cap: CAP,
    #[doc = "0x38 - Velocity compare register"]
    pub velcomp: VELCOMP,
    #[doc = "0x3c - Digital filter register on input phase A (QEI_A)"]
    pub filterpha: FILTERPHA,
    #[doc = "0x40 - Digital filter register on input phase B (QEI_B)"]
    pub filterphb: FILTERPHB,
    #[doc = "0x44 - Digital filter register on input index (QEI_IDX)"]
    pub filterinx: FILTERINX,
    #[doc = "0x48 - Index acceptance window register"]
    pub window: WINDOW,
    #[doc = "0x4c - Index compare register 1"]
    pub inxcmp1: INXCMP1,
    #[doc = "0x50 - Index compare register 2"]
    pub inxcmp2: INXCMP2,
    _reserved0: [u8; 3972usize],
    #[doc = "0xfd8 - Interrupt enable clear register"]
    pub iec: IEC,
    #[doc = "0xfdc - Interrupt enable set register"]
    pub ies: IES,
    #[doc = "0xfe0 - Interrupt status register"]
    pub intstat: INTSTAT,
    #[doc = "0xfe4 - Interrupt enable register"]
    pub ie: IE,
    #[doc = "0xfe8 - Interrupt status clear register"]
    pub clr: CLR,
    #[doc = "0xfec - Interrupt status set register"]
    pub set: SET,
}
#[doc = "Control register"]
pub struct CON {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Control register"]
pub mod con;
#[doc = "Configuration register"]
pub struct CONF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configuration register"]
pub mod conf;
#[doc = "Encoder status register"]
pub struct STAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Encoder status register"]
pub mod stat;
#[doc = "Position register"]
pub struct POS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Position register"]
pub mod pos;
#[doc = "Maximum position register"]
pub struct MAXPOS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Maximum position register"]
pub mod maxpos;
#[doc = "position compare register 0"]
pub struct CMPOS0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "position compare register 0"]
pub mod cmpos0;
#[doc = "position compare register 1"]
pub struct CMPOS1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "position compare register 1"]
pub mod cmpos1;
#[doc = "position compare register 2"]
pub struct CMPOS2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "position compare register 2"]
pub mod cmpos2;
#[doc = "Index count register"]
pub struct INXCNT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Index count register"]
pub mod inxcnt;
#[doc = "Index compare register 0"]
pub struct INXCMP0 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Index compare register 0"]
pub mod inxcmp0;
#[doc = "Velocity timer reload register"]
pub struct LOAD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Velocity timer reload register"]
pub mod load;
#[doc = "Velocity timer register"]
pub struct TIME {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Velocity timer register"]
pub mod time;
#[doc = "Velocity counter register"]
pub struct VEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Velocity counter register"]
pub mod vel;
#[doc = "Velocity capture register"]
pub struct CAP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Velocity capture register"]
pub mod cap;
#[doc = "Velocity compare register"]
pub struct VELCOMP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Velocity compare register"]
pub mod velcomp;
#[doc = "Digital filter register on input phase A (QEI_A)"]
pub struct FILTERPHA {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Digital filter register on input phase A (QEI_A)"]
pub mod filterpha;
#[doc = "Digital filter register on input phase B (QEI_B)"]
pub struct FILTERPHB {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Digital filter register on input phase B (QEI_B)"]
pub mod filterphb;
#[doc = "Digital filter register on input index (QEI_IDX)"]
pub struct FILTERINX {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Digital filter register on input index (QEI_IDX)"]
pub mod filterinx;
#[doc = "Index acceptance window register"]
pub struct WINDOW {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Index acceptance window register"]
pub mod window;
#[doc = "Index compare register 1"]
pub struct INXCMP1 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Index compare register 1"]
pub mod inxcmp1;
#[doc = "Index compare register 2"]
pub struct INXCMP2 {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Index compare register 2"]
pub mod inxcmp2;
#[doc = "Interrupt enable clear register"]
pub struct IEC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt enable clear register"]
pub mod iec;
#[doc = "Interrupt enable set register"]
pub struct IES {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt enable set register"]
pub mod ies;
#[doc = "Interrupt status register"]
pub struct INTSTAT {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt status register"]
pub mod intstat;
#[doc = "Interrupt enable register"]
pub struct IE {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt enable register"]
pub mod ie;
#[doc = "Interrupt status clear register"]
pub struct CLR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt status clear register"]
pub mod clr;
#[doc = "Interrupt status set register"]
pub struct SET {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt status set register"]
pub mod set;