@@ -74,11 +74,11 @@ typedef enum {
74
74
* @see setAccelerometerRange()
75
75
*/
76
76
typedef enum {
77
- CURIE_IMU_ACCEL_RANGE_2G = BMI160_ACCEL_RANGE_2G,
78
- CURIE_IMU_ACCEL_RANGE_4G = BMI160_ACCEL_RANGE_4G,
79
- CURIE_IMU_ACCEL_RANGE_8G = BMI160_ACCEL_RANGE_8G,
77
+ CURIE_IMU_ACCELEROMETER_RANGE_2G = BMI160_ACCEL_RANGE_2G,
78
+ CURIE_IMU_ACCELEROMETER_RANGE_4G = BMI160_ACCEL_RANGE_4G,
79
+ CURIE_IMU_ACCELEROMETER_RANGE_8G = BMI160_ACCEL_RANGE_8G,
80
80
CURIE_IMU_ACCEL_RANGE_16G = BMI160_ACCEL_RANGE_16G
81
- } CurieIMUAccelRange ;
81
+ } CurieIMUAccelerometerRange ;
82
82
83
83
/* *
84
84
* Gyroscope Sensitivity Range options
@@ -92,6 +92,36 @@ typedef enum {
92
92
CURIE_IMU_GYRO_RANGE_125 = BMI160_GYRO_RANGE_125
93
93
} CurieIMUGyroRange;
94
94
95
+ /* *
96
+ * Accelerometer Output Data Rate options
97
+ * @see setAccelerometerRate()
98
+ */
99
+ typedef enum {
100
+ CURIE_IMU_ACCELEROMETER_RATE_25_2HZ = BMI160_ACCEL_RATE_25_2HZ,
101
+ CURIE_IMU_ACCELEROMETER_RATE_25HZ = BMI160_ACCEL_RATE_25HZ,
102
+ CURIE_IMU_ACCELEROMETER_RATE_50HZ = BMI160_ACCEL_RATE_50HZ,
103
+ CURIE_IMU_ACCELEROMETER_RATE_100HZ = BMI160_ACCEL_RATE_100HZ,
104
+ CURIE_IMU_ACCELEROMETER_RATE_200HZ = BMI160_ACCEL_RATE_200HZ,
105
+ CURIE_IMU_ACCELEROMETER_RATE_400HZ = BMI160_ACCEL_RATE_400HZ,
106
+ CURIE_IMU_ACCELEROMETER_RATE_800HZ = BMI160_ACCEL_RATE_800HZ,
107
+ CURIE_IMU_ACCELEROMETER_RATE_1600HZ = BMI160_ACCEL_RATE_1600HZ
108
+ } CurieIMUAccelRate;
109
+
110
+ /* *
111
+ * Gyroscope Output Data Rate options
112
+ * @see setGyroRate()
113
+ */
114
+ typedef enum {
115
+ CURIE_IMU_GYRO_RATE_25HZ = BMI160_GYRO_RATE_25HZ,
116
+ CURIE_IMU_GYRO_RATE_50HZ = BMI160_GYRO_RATE_50HZ,
117
+ CURIE_IMU_GYRO_RATE_100HZ = BMI160_GYRO_RATE_100HZ,
118
+ CURIE_IMU_GYRO_RATE_200HZ = BMI160_GYRO_RATE_200HZ,
119
+ CURIE_IMU_GYRO_RATE_400HZ = BMI160_GYRO_RATE_400HZ,
120
+ CURIE_IMU_GYRO_RATE_800HZ = BMI160_GYRO_RATE_800HZ,
121
+ CURIE_IMU_GYRO_RATE_1600HZ = BMI160_GYRO_RATE_1600HZ,
122
+ CURIE_IMU_GYRO_RATE_3200HZ = BMI160_GYRO_RATE_3200HZ
123
+ } CurieIMUGyroRate;
124
+
95
125
/* *
96
126
* Step Detection Mode options
97
127
* @see setStepDetectionMode()
@@ -100,9 +130,113 @@ typedef enum {
100
130
CURIE_IMU_STEP_MODE_NORMAL = BMI160_STEP_MODE_NORMAL,
101
131
CURIE_IMU_STEP_MODE_SENSITIVE = BMI160_STEP_MODE_SENSITIVE,
102
132
CURIE_IMU_STEP_MODE_ROBUST = BMI160_STEP_MODE_ROBUST,
103
- CURIE_IMU_STEP_MODE_UNKNOWN = BMI160_STEP_MODE_UNKNOWN,
133
+ CURIE_IMU_STEP_MODE_UNKNOWN = BMI160_STEP_MODE_UNKNOWN
104
134
} CurieIMUStepMode;
105
135
136
+ /* *
137
+ * Tap Detection Shock Duration options
138
+ * @see setDetectionThreshold(CURIE_IMU_TAP, ...)
139
+ */
140
+ typedef enum {
141
+ CURIE_IMU_TAP_SHOCK_DURATION_50MS = BMI160_TAP_SHOCK_DURATION_50MS,
142
+ CURIE_IMU_TAP_SHOCK_DURATION_75MS = BMI160_TAP_SHOCK_DURATION_75MS
143
+ } CurieIMUTapShockDuration;
144
+
145
+ /* *
146
+ * Tap Detection Quiet Duration options
147
+ * @see setDetectionThreshold(CURIE_IMU_TAP_QUIET, ...)
148
+ */
149
+ typedef enum {
150
+ CURIE_IMU_TAP_QUIET_DURATION_30MS = BMI160_TAP_QUIET_DURATION_30MS,
151
+ CURIE_IMU_TAP_QUIET_DURATION_20MS = BMI160_TAP_QUIET_DURATION_20MS
152
+ } CurieIMUTapQuietDuration;
153
+
154
+ /* *
155
+ * Double-Tap Detection Duration options
156
+ * @see setDetectionThreshold(CURIE_IMU_DOUBLE_TAP, ...)
157
+ */
158
+ typedef enum {
159
+ CURIE_IMU_DOUBLE_TAP_DURATION_50MS = BMI160_DOUBLE_TAP_DURATION_50MS,
160
+ CURIE_IMU_DOUBLE_TAP_DURATION_100MS = BMI160_DOUBLE_TAP_DURATION_100MS,
161
+ CURIE_IMU_DOUBLE_TAP_DURATION_150MS = BMI160_DOUBLE_TAP_DURATION_150MS,
162
+ CURIE_IMU_DOUBLE_TAP_DURATION_200MS = BMI160_DOUBLE_TAP_DURATION_200MS,
163
+ CURIE_IMU_DOUBLE_TAP_DURATION_250MS = BMI160_DOUBLE_TAP_DURATION_250MS,
164
+ CURIE_IMU_DOUBLE_TAP_DURATION_375MS = BMI160_DOUBLE_TAP_DURATION_375MS,
165
+ CURIE_IMU_DOUBLE_TAP_DURATION_500MS = BMI160_DOUBLE_TAP_DURATION_500MS,
166
+ CURIE_IMU_DOUBLE_TAP_DURATION_700MS = BMI160_DOUBLE_TAP_DURATION_700MS
167
+ } CurieIMUDoubleTapDuration;
168
+
169
+ /* *
170
+ * Zero-Motion Detection Duration options
171
+ * @see setDetectionThreshold(CURIE_IMU_ZERO_MOTION, ...)
172
+ */
173
+ typedef enum {
174
+ CURIE_IMU_ZERO_MOTION_DURATION_1_28S = BMI160_ZERO_MOTION_DURATION_1_28S,
175
+ CURIE_IMU_ZERO_MOTION_DURATION_2_56S = BMI160_ZERO_MOTION_DURATION_2_56S,
176
+ CURIE_IMU_ZERO_MOTION_DURATION_3_84S = BMI160_ZERO_MOTION_DURATION_3_84S,
177
+ CURIE_IMU_ZERO_MOTION_DURATION_5_12S = BMI160_ZERO_MOTION_DURATION_5_12S,
178
+ CURIE_IMU_ZERO_MOTION_DURATION_6_40S = BMI160_ZERO_MOTION_DURATION_6_40S,
179
+ CURIE_IMU_ZERO_MOTION_DURATION_7_68S = BMI160_ZERO_MOTION_DURATION_7_68S,
180
+ CURIE_IMU_ZERO_MOTION_DURATION_8_96S = BMI160_ZERO_MOTION_DURATION_8_96S,
181
+ CURIE_IMU_ZERO_MOTION_DURATION_10_24S = BMI160_ZERO_MOTION_DURATION_10_24S,
182
+ CURIE_IMU_ZERO_MOTION_DURATION_11_52S = BMI160_ZERO_MOTION_DURATION_11_52S,
183
+ CURIE_IMU_ZERO_MOTION_DURATION_12_80S = BMI160_ZERO_MOTION_DURATION_12_80S,
184
+ CURIE_IMU_ZERO_MOTION_DURATION_14_08S = BMI160_ZERO_MOTION_DURATION_14_08S,
185
+ CURIE_IMU_ZERO_MOTION_DURATION_15_36S = BMI160_ZERO_MOTION_DURATION_15_36S,
186
+ CURIE_IMU_ZERO_MOTION_DURATION_16_64S = BMI160_ZERO_MOTION_DURATION_16_64S,
187
+ CURIE_IMU_ZERO_MOTION_DURATION_17_92S = BMI160_ZERO_MOTION_DURATION_17_92S,
188
+ CURIE_IMU_ZERO_MOTION_DURATION_19_20S = BMI160_ZERO_MOTION_DURATION_19_20S,
189
+ CURIE_IMU_ZERO_MOTION_DURATION_20_48S = BMI160_ZERO_MOTION_DURATION_20_48S,
190
+ CURIE_IMU_ZERO_MOTION_DURATION_25_60S = BMI160_ZERO_MOTION_DURATION_25_60S,
191
+ CURIE_IMU_ZERO_MOTION_DURATION_30_72S = BMI160_ZERO_MOTION_DURATION_30_72S,
192
+ CURIE_IMU_ZERO_MOTION_DURATION_35_84S = BMI160_ZERO_MOTION_DURATION_35_84S,
193
+ CURIE_IMU_ZERO_MOTION_DURATION_40_96S = BMI160_ZERO_MOTION_DURATION_40_96S,
194
+ CURIE_IMU_ZERO_MOTION_DURATION_46_08S = BMI160_ZERO_MOTION_DURATION_46_08S,
195
+ CURIE_IMU_ZERO_MOTION_DURATION_51_20S = BMI160_ZERO_MOTION_DURATION_51_20S,
196
+ CURIE_IMU_ZERO_MOTION_DURATION_56_32S = BMI160_ZERO_MOTION_DURATION_56_32S,
197
+ CURIE_IMU_ZERO_MOTION_DURATION_61_44S = BMI160_ZERO_MOTION_DURATION_61_44S,
198
+ CURIE_IMU_ZERO_MOTION_DURATION_66_56S = BMI160_ZERO_MOTION_DURATION_66_56S,
199
+ CURIE_IMU_ZERO_MOTION_DURATION_71_68S = BMI160_ZERO_MOTION_DURATION_71_68S,
200
+ CURIE_IMU_ZERO_MOTION_DURATION_76_80S = BMI160_ZERO_MOTION_DURATION_76_80S,
201
+ CURIE_IMU_ZERO_MOTION_DURATION_81_92S = BMI160_ZERO_MOTION_DURATION_81_92S,
202
+ CURIE_IMU_ZERO_MOTION_DURATION_87_04S = BMI160_ZERO_MOTION_DURATION_87_04S,
203
+ CURIE_IMU_ZERO_MOTION_DURATION_92_16S = BMI160_ZERO_MOTION_DURATION_92_16S,
204
+ CURIE_IMU_ZERO_MOTION_DURATION_97_28S = BMI160_ZERO_MOTION_DURATION_97_28S,
205
+ CURIE_IMU_ZERO_MOTION_DURATION_102_40S = BMI160_ZERO_MOTION_DURATION_102_40S,
206
+ CURIE_IMU_ZERO_MOTION_DURATION_112_64S = BMI160_ZERO_MOTION_DURATION_112_64S,
207
+ CURIE_IMU_ZERO_MOTION_DURATION_122_88S = BMI160_ZERO_MOTION_DURATION_122_88S,
208
+ CURIE_IMU_ZERO_MOTION_DURATION_133_12S = BMI160_ZERO_MOTION_DURATION_133_12S,
209
+ CURIE_IMU_ZERO_MOTION_DURATION_143_36S = BMI160_ZERO_MOTION_DURATION_143_36S,
210
+ CURIE_IMU_ZERO_MOTION_DURATION_153_60S = BMI160_ZERO_MOTION_DURATION_153_60S,
211
+ CURIE_IMU_ZERO_MOTION_DURATION_163_84S = BMI160_ZERO_MOTION_DURATION_163_84S,
212
+ CURIE_IMU_ZERO_MOTION_DURATION_174_08S = BMI160_ZERO_MOTION_DURATION_174_08S,
213
+ CURIE_IMU_ZERO_MOTION_DURATION_184_32S = BMI160_ZERO_MOTION_DURATION_184_32S,
214
+ CURIE_IMU_ZERO_MOTION_DURATION_194_56S = BMI160_ZERO_MOTION_DURATION_194_56S,
215
+ CURIE_IMU_ZERO_MOTION_DURATION_204_80S = BMI160_ZERO_MOTION_DURATION_204_80S,
216
+ CURIE_IMU_ZERO_MOTION_DURATION_215_04S = BMI160_ZERO_MOTION_DURATION_215_04S,
217
+ CURIE_IMU_ZERO_MOTION_DURATION_225_28S = BMI160_ZERO_MOTION_DURATION_225_28S,
218
+ CURIE_IMU_ZERO_MOTION_DURATION_235_52S = BMI160_ZERO_MOTION_DURATION_235_52S,
219
+ CURIE_IMU_ZERO_MOTION_DURATION_245_76S = BMI160_ZERO_MOTION_DURATION_245_76S,
220
+ CURIE_IMU_ZERO_MOTION_DURATION_256_00S = BMI160_ZERO_MOTION_DURATION_256_00S,
221
+ CURIE_IMU_ZERO_MOTION_DURATION_266_24S = BMI160_ZERO_MOTION_DURATION_266_24S,
222
+ CURIE_IMU_ZERO_MOTION_DURATION_276_48S = BMI160_ZERO_MOTION_DURATION_276_48S,
223
+ CURIE_IMU_ZERO_MOTION_DURATION_286_72S = BMI160_ZERO_MOTION_DURATION_286_72S,
224
+ CURIE_IMU_ZERO_MOTION_DURATION_296_96S = BMI160_ZERO_MOTION_DURATION_296_96S,
225
+ CURIE_IMU_ZERO_MOTION_DURATION_307_20S = BMI160_ZERO_MOTION_DURATION_307_20S,
226
+ CURIE_IMU_ZERO_MOTION_DURATION_317_44S = BMI160_ZERO_MOTION_DURATION_317_44S,
227
+ CURIE_IMU_ZERO_MOTION_DURATION_327_68S = BMI160_ZERO_MOTION_DURATION_327_68S,
228
+ CURIE_IMU_ZERO_MOTION_DURATION_337_92S = BMI160_ZERO_MOTION_DURATION_337_92S,
229
+ CURIE_IMU_ZERO_MOTION_DURATION_348_16S = BMI160_ZERO_MOTION_DURATION_348_16S,
230
+ CURIE_IMU_ZERO_MOTION_DURATION_358_40S = BMI160_ZERO_MOTION_DURATION_358_40S,
231
+ CURIE_IMU_ZERO_MOTION_DURATION_368_64S = BMI160_ZERO_MOTION_DURATION_368_64S,
232
+ CURIE_IMU_ZERO_MOTION_DURATION_378_88S = BMI160_ZERO_MOTION_DURATION_378_88S,
233
+ CURIE_IMU_ZERO_MOTION_DURATION_389_12S = BMI160_ZERO_MOTION_DURATION_389_12S,
234
+ CURIE_IMU_ZERO_MOTION_DURATION_399_36S = BMI160_ZERO_MOTION_DURATION_399_36S,
235
+ CURIE_IMU_ZERO_MOTION_DURATION_409_60S = BMI160_ZERO_MOTION_DURATION_409_60S,
236
+ CURIE_IMU_ZERO_MOTION_DURATION_419_84S = BMI160_ZERO_MOTION_DURATION_419_84S,
237
+ CURIE_IMU_ZERO_MOTION_DURATION_430_08S = BMI160_ZERO_MOTION_DURATION_430_08S
238
+ } CurieImuZeroMotionDuration;
239
+
106
240
/* Note that this CurieImuClass class inherits methods from the BMI160Class which
107
241
* is defined in BMI160.h. BMI160Class provides methods for configuring and
108
242
* accessing features of the BMI160 IMU device. This CurieImuClass extends that
@@ -119,6 +253,12 @@ class CurieImuClass : public BMI160Class {
119
253
public:
120
254
bool begin (void );
121
255
256
+ int getGyroRate ();
257
+ void setGyroRate (int rate);
258
+
259
+ int getAccelerometerRate ();
260
+ void setAccelerometerRate (int rate);
261
+
122
262
int getGyroRange ();
123
263
void setGyroRange (int range);
124
264
int getAccelerometerRange ();
0 commit comments