-
Notifications
You must be signed in to change notification settings - Fork 0
/
board_dimu_v1_1.h
258 lines (222 loc) · 8.13 KB
/
board_dimu_v1_1.h
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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
/*
This file is part of AutoQuad.
AutoQuad is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
AutoQuad is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with AutoQuad. If not, see <http://www.gnu.org/licenses/>.
Copyright © 2011-2014 Bill Nesbitt
*/
#ifndef _board_dimu_v1_1_h
#define _board_dimu_v1_1_h
#define HAS_DIGITAL_IMU
#define USE_DIGITAL_IMU
#define DIMU_HAVE_EEPROM
#define DIMU_HAVE_MPU6000
#define DIMU_HAVE_HMC5983
#define DIMU_HAVE_MS5611
#define MPU6000_ACC_SCALE 8 // g (2, 4, 8, 16)
#define MPU6000_GYO_SCALE 1000 // deg/s (250, 500, 1000, 2000)
#define DIMU_ORIENT_ACC_X (+in[0])
#define DIMU_ORIENT_ACC_Y (-in[1])
#define DIMU_ORIENT_ACC_Z (-in[2])
#define DIMU_ORIENT_GYO_X (-in[0])
#define DIMU_ORIENT_GYO_Y (+in[1])
#define DIMU_ORIENT_GYO_Z (-in[2])
#define DIMU_ORIENT_MAG_X (-in[0])
#define DIMU_ORIENT_MAG_Y (+in[1])
#define DIMU_ORIENT_MAG_Z (-in[2])
#define DIMU_EEPROM_SPI SPI2
#define DIMU_EEPROM_CS_PORT GPIOD
#define DIMU_EEPROM_CS_PIN GPIO_Pin_3
#define DIMU_HMC5983_SPI SPI2
#define DIMU_HMC5983_CS_PORT GPIOD
#define DIMU_HMC5983_CS_PIN GPIO_Pin_10
#define DIMU_HMC5983_INT_PORT GPIOE
#define DIMU_HMC5983_INT_PIN GPIO_Pin_2
#define DIMU_HMC5983_INT_EXTI_PORT EXTI_PortSourceGPIOE
#define DIMU_HMC5983_INT_EXTI_PIN EXTI_PinSource2
#define DIMU_HMC5983_INT_EXTI_LINE EXTI_Line2
#define DIMU_HMC5983_INT_EXTI_IRQ EXTI2_IRQn
#define DIMU_HMC5983_INT_ISR EXTI2_IRQHandler
#define DIMU_MS5611_CS_PORT GPIOE
#define DIMU_MS5611_CS_PIN GPIO_Pin_7
#define DIMU_MS5611_SPI SPI2
#define DIMU_MPU6000_SPI SPI2
#define DIMU_MPU6000_CS_PORT GPIOE
#define DIMU_MPU6000_CS_PIN GPIO_Pin_3
#define DIMU_MPU6000_INT_PORT GPIOE
#define DIMU_MPU6000_INT_PIN GPIO_Pin_4
#define DIMU_MPU6000_INT_EXTI_PORT EXTI_PortSourceGPIOE
#define DIMU_MPU6000_INT_EXTI_PIN EXTI_PinSource4
#define DIMU_MPU6000_INT_EXTI_LINE EXTI_Line4
#define DIMU_MPU6000_INT_EXTI_IRQ EXTI4_IRQn
#define DIMU_MPU6000_INT_ISR EXTI4_IRQHandler
#undef DEFAULT_IMU_ACC_BIAS_X
#undef DEFAULT_IMU_ACC_BIAS_Y
#undef DEFAULT_IMU_ACC_BIAS_Z
#undef DEFAULT_IMU_ACC_BIAS1_X
#undef DEFAULT_IMU_ACC_BIAS1_Y
#undef DEFAULT_IMU_ACC_BIAS1_Z
#undef DEFAULT_IMU_ACC_BIAS2_X
#undef DEFAULT_IMU_ACC_BIAS2_Y
#undef DEFAULT_IMU_ACC_BIAS2_Z
#undef DEFAULT_IMU_ACC_BIAS3_X
#undef DEFAULT_IMU_ACC_BIAS3_Y
#undef DEFAULT_IMU_ACC_BIAS3_Z
#undef DEFAULT_IMU_ACC_SCAL_X
#undef DEFAULT_IMU_ACC_SCAL_Y
#undef DEFAULT_IMU_ACC_SCAL_Z
#undef DEFAULT_IMU_ACC_SCAL1_X
#undef DEFAULT_IMU_ACC_SCAL1_Y
#undef DEFAULT_IMU_ACC_SCAL1_Z
#undef DEFAULT_IMU_ACC_SCAL2_X
#undef DEFAULT_IMU_ACC_SCAL2_Y
#undef DEFAULT_IMU_ACC_SCAL2_Z
#undef DEFAULT_IMU_ACC_SCAL3_X
#undef DEFAULT_IMU_ACC_SCAL3_Y
#undef DEFAULT_IMU_ACC_SCAL3_Z
#undef DEFAULT_IMU_ACC_ALGN_XY
#undef DEFAULT_IMU_ACC_ALGN_XZ
#undef DEFAULT_IMU_ACC_ALGN_YX
#undef DEFAULT_IMU_ACC_ALGN_YZ
#undef DEFAULT_IMU_ACC_ALGN_ZX
#undef DEFAULT_IMU_ACC_ALGN_ZY
#undef DEFAULT_IMU_MAG_BIAS_X
#undef DEFAULT_IMU_MAG_BIAS_Y
#undef DEFAULT_IMU_MAG_BIAS_Z
#undef DEFAULT_IMU_MAG_BIAS1_X
#undef DEFAULT_IMU_MAG_BIAS1_Y
#undef DEFAULT_IMU_MAG_BIAS1_Z
#undef DEFAULT_IMU_MAG_BIAS2_X
#undef DEFAULT_IMU_MAG_BIAS2_Y
#undef DEFAULT_IMU_MAG_BIAS2_Z
#undef DEFAULT_IMU_MAG_BIAS3_X
#undef DEFAULT_IMU_MAG_BIAS3_Y
#undef DEFAULT_IMU_MAG_BIAS3_Z
#undef DEFAULT_IMU_MAG_SCAL_X
#undef DEFAULT_IMU_MAG_SCAL_Y
#undef DEFAULT_IMU_MAG_SCAL_Z
#undef DEFAULT_IMU_MAG_SCAL1_X
#undef DEFAULT_IMU_MAG_SCAL1_Y
#undef DEFAULT_IMU_MAG_SCAL1_Z
#undef DEFAULT_IMU_MAG_SCAL2_X
#undef DEFAULT_IMU_MAG_SCAL2_Y
#undef DEFAULT_IMU_MAG_SCAL2_Z
#undef DEFAULT_IMU_MAG_SCAL3_X
#undef DEFAULT_IMU_MAG_SCAL3_Y
#undef DEFAULT_IMU_MAG_SCAL3_Z
#undef DEFAULT_IMU_MAG_ALGN_XY
#undef DEFAULT_IMU_MAG_ALGN_XZ
#undef DEFAULT_IMU_MAG_ALGN_YX
#undef DEFAULT_IMU_MAG_ALGN_YZ
#undef DEFAULT_IMU_MAG_ALGN_ZX
#undef DEFAULT_IMU_MAG_ALGN_ZY
#undef DEFAULT_IMU_GYO_BIAS_X
#undef DEFAULT_IMU_GYO_BIAS_Y
#undef DEFAULT_IMU_GYO_BIAS_Z
#undef DEFAULT_IMU_GYO_BIAS1_X
#undef DEFAULT_IMU_GYO_BIAS1_Y
#undef DEFAULT_IMU_GYO_BIAS1_Z
#undef DEFAULT_IMU_GYO_BIAS2_X
#undef DEFAULT_IMU_GYO_BIAS2_Y
#undef DEFAULT_IMU_GYO_BIAS2_Z
#undef DEFAULT_IMU_GYO_BIAS3_X
#undef DEFAULT_IMU_GYO_BIAS3_Y
#undef DEFAULT_IMU_GYO_BIAS3_Z
#undef DEFAULT_IMU_GYO_SCAL_X
#undef DEFAULT_IMU_GYO_SCAL_Y
#undef DEFAULT_IMU_GYO_SCAL_Z
#undef DEFAULT_IMU_GYO_ALGN_XY
#undef DEFAULT_IMU_GYO_ALGN_XZ
#undef DEFAULT_IMU_GYO_ALGN_YX
#undef DEFAULT_IMU_GYO_ALGN_YZ
#undef DEFAULT_IMU_GYO_ALGN_ZX
#undef DEFAULT_IMU_GYO_ALGN_ZY
#define DEFAULT_IMU_ACC_BIAS_X 0.0
#define DEFAULT_IMU_ACC_BIAS_Y 0.0
#define DEFAULT_IMU_ACC_BIAS_Z 0.0
#define DEFAULT_IMU_ACC_BIAS1_X 0.0
#define DEFAULT_IMU_ACC_BIAS1_Y 0.0
#define DEFAULT_IMU_ACC_BIAS1_Z 0.0
#define DEFAULT_IMU_ACC_BIAS2_X 0.0
#define DEFAULT_IMU_ACC_BIAS2_Y 0.0
#define DEFAULT_IMU_ACC_BIAS2_Z 0.0
#define DEFAULT_IMU_ACC_BIAS3_X 0.0
#define DEFAULT_IMU_ACC_BIAS3_Y 0.0
#define DEFAULT_IMU_ACC_BIAS3_Z 0.0
#define DEFAULT_IMU_ACC_SCAL_X 1.0
#define DEFAULT_IMU_ACC_SCAL_Y 1.0
#define DEFAULT_IMU_ACC_SCAL_Z 1.0
#define DEFAULT_IMU_ACC_SCAL1_X 0.0
#define DEFAULT_IMU_ACC_SCAL1_Y 0.0
#define DEFAULT_IMU_ACC_SCAL1_Z 0.0
#define DEFAULT_IMU_ACC_SCAL2_X 0.0
#define DEFAULT_IMU_ACC_SCAL2_Y 0.0
#define DEFAULT_IMU_ACC_SCAL2_Z 0.0
#define DEFAULT_IMU_ACC_SCAL3_X 0.0
#define DEFAULT_IMU_ACC_SCAL3_Y 0.0
#define DEFAULT_IMU_ACC_SCAL3_Z 0.0
#define DEFAULT_IMU_ACC_ALGN_XY 0.0
#define DEFAULT_IMU_ACC_ALGN_XZ 0.0
#define DEFAULT_IMU_ACC_ALGN_YX 0.0
#define DEFAULT_IMU_ACC_ALGN_YZ 0.0
#define DEFAULT_IMU_ACC_ALGN_ZX 0.0
#define DEFAULT_IMU_ACC_ALGN_ZY 0.0
#define DEFAULT_IMU_MAG_BIAS_X 0.0
#define DEFAULT_IMU_MAG_BIAS_Y 0.0
#define DEFAULT_IMU_MAG_BIAS_Z 0.0
#define DEFAULT_IMU_MAG_BIAS1_X 0.0
#define DEFAULT_IMU_MAG_BIAS1_Y 0.0
#define DEFAULT_IMU_MAG_BIAS1_Z 0.0
#define DEFAULT_IMU_MAG_BIAS2_X 0.0
#define DEFAULT_IMU_MAG_BIAS2_Y 0.0
#define DEFAULT_IMU_MAG_BIAS2_Z 0.0
#define DEFAULT_IMU_MAG_BIAS3_X 0.0
#define DEFAULT_IMU_MAG_BIAS3_Y 0.0
#define DEFAULT_IMU_MAG_BIAS3_Z 0.0
#define DEFAULT_IMU_MAG_SCAL_X 1.0
#define DEFAULT_IMU_MAG_SCAL_Y 1.0
#define DEFAULT_IMU_MAG_SCAL_Z 1.0
#define DEFAULT_IMU_MAG_SCAL1_X 0.0
#define DEFAULT_IMU_MAG_SCAL1_Y 0.0
#define DEFAULT_IMU_MAG_SCAL1_Z 0.0
#define DEFAULT_IMU_MAG_SCAL2_X 0.0
#define DEFAULT_IMU_MAG_SCAL2_Y 0.0
#define DEFAULT_IMU_MAG_SCAL2_Z 0.0
#define DEFAULT_IMU_MAG_SCAL3_X 0.0
#define DEFAULT_IMU_MAG_SCAL3_Y 0.0
#define DEFAULT_IMU_MAG_SCAL3_Z 0.0
#define DEFAULT_IMU_MAG_ALGN_XY 0.0
#define DEFAULT_IMU_MAG_ALGN_XZ 0.0
#define DEFAULT_IMU_MAG_ALGN_YX 0.0
#define DEFAULT_IMU_MAG_ALGN_YZ 0.0
#define DEFAULT_IMU_MAG_ALGN_ZX 0.0
#define DEFAULT_IMU_MAG_ALGN_ZY 0.0
#define DEFAULT_IMU_GYO_BIAS_X 0.0
#define DEFAULT_IMU_GYO_BIAS_Y 0.0
#define DEFAULT_IMU_GYO_BIAS_Z 0.0
#define DEFAULT_IMU_GYO_BIAS1_X 0.0
#define DEFAULT_IMU_GYO_BIAS1_Y 0.0
#define DEFAULT_IMU_GYO_BIAS1_Z 0.0
#define DEFAULT_IMU_GYO_BIAS2_X 0.0
#define DEFAULT_IMU_GYO_BIAS2_Y 0.0
#define DEFAULT_IMU_GYO_BIAS2_Z 0.0
#define DEFAULT_IMU_GYO_BIAS3_X 0.0
#define DEFAULT_IMU_GYO_BIAS3_Y 0.0
#define DEFAULT_IMU_GYO_BIAS3_Z 0.0
#define DEFAULT_IMU_GYO_SCAL_X 1.0
#define DEFAULT_IMU_GYO_SCAL_Y 1.0
#define DEFAULT_IMU_GYO_SCAL_Z 1.0
#define DEFAULT_IMU_GYO_ALGN_XY 0.0
#define DEFAULT_IMU_GYO_ALGN_XZ 0.0
#define DEFAULT_IMU_GYO_ALGN_YX 0.0
#define DEFAULT_IMU_GYO_ALGN_YZ 0.0
#define DEFAULT_IMU_GYO_ALGN_ZX 0.0
#define DEFAULT_IMU_GYO_ALGN_ZY 0.0
#endif