LibDriver MPU6050
Loading...
Searching...
No Matches
driver_mpu6050_register_test.c
Go to the documentation of this file.
1
36
38#include <stdlib.h>
39
40static mpu6050_handle_t gs_handle;
41
51{
52 uint8_t res;
53 uint8_t reg;
54 uint8_t i;
55 uint8_t div_in;
56 uint8_t div_check;
57 uint8_t data[8];
58 uint8_t data_check[8];
59 uint16_t cnt;
60 uint8_t status;
61 uint8_t test;
62 uint8_t test_check;
63 float test_f;
64 float test_check_f;
65 mpu6050_info_t info;
66 mpu6050_address_t addr_pin;
67 mpu6050_bool_t enable;
68 mpu6050_clock_source_t clock_source;
78 mpu6050_iic4_transaction_mode_t transaction_mode;
82
83 /* link interface function */
92
93 /* get information */
94 res = mpu6050_info(&info);
95 if (res != 0)
96 {
97 mpu6050_interface_debug_print("mpu6050: get info failed.\n");
98
99 return 1;
100 }
101 else
102 {
103 /* print chip info */
104 mpu6050_interface_debug_print("mpu6050: chip is %s.\n", info.chip_name);
105 mpu6050_interface_debug_print("mpu6050: manufacturer is %s.\n", info.manufacturer_name);
106 mpu6050_interface_debug_print("mpu6050: interface is %s.\n", info.interface);
107 mpu6050_interface_debug_print("mpu6050: driver version is %d.%d.\n", info.driver_version / 1000, (info.driver_version % 1000) / 100);
108 mpu6050_interface_debug_print("mpu6050: min supply voltage is %0.1fV.\n", info.supply_voltage_min_v);
109 mpu6050_interface_debug_print("mpu6050: max supply voltage is %0.1fV.\n", info.supply_voltage_max_v);
110 mpu6050_interface_debug_print("mpu6050: max current is %0.2fmA.\n", info.max_current_ma);
111 mpu6050_interface_debug_print("mpu6050: max temperature is %0.1fC.\n", info.temperature_max);
112 mpu6050_interface_debug_print("mpu6050: min temperature is %0.1fC.\n", info.temperature_min);
113 }
114
115 /* start register test */
116 mpu6050_interface_debug_print("mpu6050: start register test.\n");
117
118 /* mpu6050_set_addr_pin/mpu6050_get_addr_pin test */
119 mpu6050_interface_debug_print("mpu6050: mpu6050_set_addr_pin/mpu6050_get_addr_pin test.\n");
120
121 /* set low */
123 if (res != 0)
124 {
125 mpu6050_interface_debug_print("mpu6050: set addr pin failed.\n");
126
127 return 1;
128 }
129 mpu6050_interface_debug_print("mpu6050: set addr pin low.\n");
130 res = mpu6050_get_addr_pin(&gs_handle, &addr_pin);
131 if (res != 0)
132 {
133 mpu6050_interface_debug_print("mpu6050: get addr pin failed.\n");
134
135 return 1;
136 }
137 mpu6050_interface_debug_print("mpu6050: check addr pin %s.\n", addr_pin == MPU6050_ADDRESS_AD0_LOW ? "ok" : "error");
138
139 /* set high */
141 if (res != 0)
142 {
143 mpu6050_interface_debug_print("mpu6050: set addr pin failed.\n");
144
145 return 1;
146 }
147 mpu6050_interface_debug_print("mpu6050: set addr pin high.\n");
148 res = mpu6050_get_addr_pin(&gs_handle, &addr_pin);
149 if (res != 0)
150 {
151 mpu6050_interface_debug_print("mpu6050: get addr pin failed.\n");
152
153 return 1;
154 }
155 mpu6050_interface_debug_print("mpu6050: check addr pin %s.\n", addr_pin == MPU6050_ADDRESS_AD0_HIGH ? "ok" : "error");
156
157 /* set the addr pin */
158 res = mpu6050_set_addr_pin(&gs_handle, addr);
159 if (res != 0)
160 {
161 mpu6050_interface_debug_print("mpu6050: set addr pin failed.\n");
162
163 return 1;
164 }
165
166 /* init */
167 res = mpu6050_init(&gs_handle);
168 if (res != 0)
169 {
170 mpu6050_interface_debug_print("mpu6050: init failed.\n");
171
172 return 1;
173 }
174
175 /* delay 100 ms */
177
178 /* disable sleep */
179 res = mpu6050_set_sleep(&gs_handle, MPU6050_BOOL_FALSE);
180 if (res != 0)
181 {
182 mpu6050_interface_debug_print("mpu6050: set sleep failed.\n");
183 (void)mpu6050_deinit(&gs_handle);
184
185 return 1;
186 }
187
188 /* mpu6050_set_fifo/mpu6050_get_fifo test */
189 mpu6050_interface_debug_print("mpu6050: mpu6050_set_fifo/mpu6050_get_fifo test.\n");
190
191 /* enable fifo */
192 res = mpu6050_set_fifo(&gs_handle, MPU6050_BOOL_TRUE);
193 if (res != 0)
194 {
195 mpu6050_interface_debug_print("mpu6050: set fifo failed.\n");
196 (void)mpu6050_deinit(&gs_handle);
197
198 return 1;
199 }
200 mpu6050_interface_debug_print("mpu6050: enable fifo.\n");
201
202 res = mpu6050_get_fifo(&gs_handle, &enable);
203 if (res != 0)
204 {
205 mpu6050_interface_debug_print("mpu6050: get fifo failed.\n");
206 (void)mpu6050_deinit(&gs_handle);
207
208 return 1;
209 }
210 mpu6050_interface_debug_print("mpu6050: check fifo %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
211
212 /* disable fifo */
213 res = mpu6050_set_fifo(&gs_handle, MPU6050_BOOL_FALSE);
214 if (res != 0)
215 {
216 mpu6050_interface_debug_print("mpu6050: set fifo failed.\n");
217 (void)mpu6050_deinit(&gs_handle);
218
219 return 1;
220 }
221 mpu6050_interface_debug_print("mpu6050: disable fifo.\n");
222 res = mpu6050_get_fifo(&gs_handle, &enable);
223 if (res != 0)
224 {
225 mpu6050_interface_debug_print("mpu6050: get fifo failed.\n");
226 (void)mpu6050_deinit(&gs_handle);
227
228 return 1;
229 }
230 mpu6050_interface_debug_print("mpu6050: check fifo %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
231
232 /* mpu6050_set_iic_master/mpu6050_get_iic_master test */
233 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_master/mpu6050_get_iic_master test.\n");
234
235 /* enable iic master */
236 res = mpu6050_set_iic_master(&gs_handle, MPU6050_BOOL_TRUE);
237 if (res != 0)
238 {
239 mpu6050_interface_debug_print("mpu6050: set iic master failed.\n");
240 (void)mpu6050_deinit(&gs_handle);
241
242 return 1;
243 }
244 mpu6050_interface_debug_print("mpu6050: enable iic master.\n");
245 res = mpu6050_get_iic_master(&gs_handle, &enable);
246 if (res != 0)
247 {
248 mpu6050_interface_debug_print("mpu6050: get iic master failed.\n");
249 (void)mpu6050_deinit(&gs_handle);
250
251 return 1;
252 }
253 mpu6050_interface_debug_print("mpu6050: check iic master %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
254
255 /* disable iic master */
257 if (res != 0)
258 {
259 mpu6050_interface_debug_print("mpu6050: set iic master failed.\n");
260 (void)mpu6050_deinit(&gs_handle);
261
262 return 1;
263 }
264 mpu6050_interface_debug_print("mpu6050: disable iic master.\n");
265 res = mpu6050_get_iic_master(&gs_handle, &enable);
266 if (res != 0)
267 {
268 mpu6050_interface_debug_print("mpu6050: get iic master failed.\n");
269 (void)mpu6050_deinit(&gs_handle);
270
271 return 1;
272 }
273 mpu6050_interface_debug_print("mpu6050: check iic master %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
274
275 /* mpu6050_fifo_reset/mpu6050_get_fifo_reset test */
276 mpu6050_interface_debug_print("mpu6050: mpu6050_fifo_reset/mpu6050_get_fifo_reset test.\n");
277
278 /* fifo reset */
279 res = mpu6050_fifo_reset(&gs_handle);
280 if (res != 0)
281 {
282 mpu6050_interface_debug_print("mpu6050: fifo reset failed.\n");
283 (void)mpu6050_deinit(&gs_handle);
284
285 return 1;
286 }
287 mpu6050_interface_debug_print("mpu6050: fifo reset.\n");
288 res = mpu6050_get_fifo_reset(&gs_handle, &enable);
289 if (res != 0)
290 {
291 mpu6050_interface_debug_print("mpu6050: get fifo reset failed.\n");
292 (void)mpu6050_deinit(&gs_handle);
293
294 return 1;
295 }
296 mpu6050_interface_debug_print("mpu6050: check fifo reset %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
297
298 /* mpu6050_iic_master_reset/mpu6050_get_iic_master_reset test */
299 mpu6050_interface_debug_print("mpu6050: mpu6050_iic_master_reset/mpu6050_get_iic_master_reset test.\n");
300
301 /* reset the iic master */
302 res = mpu6050_iic_master_reset(&gs_handle);
303 if (res != 0)
304 {
305 mpu6050_interface_debug_print("mpu6050: iic master failed.\n");
306 (void)mpu6050_deinit(&gs_handle);
307
308 return 1;
309 }
310 mpu6050_interface_debug_print("mpu6050: iic master reset.\n");
311 res = mpu6050_get_iic_master_reset(&gs_handle, &enable);
312 if (res != 0)
313 {
314 mpu6050_interface_debug_print("mpu6050: get iic master failed.\n");
315 (void)mpu6050_deinit(&gs_handle);
316
317 return 1;
318 }
319 mpu6050_interface_debug_print("mpu6050: check iic master %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
320
321 /* mpu6050_sensor_reset/mpu6050_get_sensor_reset test */
322 mpu6050_interface_debug_print("mpu6050: mpu6050_sensor_reset/mpu6050_get_sensor_reset test.\n");
323
324 /* sensor reset */
325 res = mpu6050_sensor_reset(&gs_handle);
326 if (res != 0)
327 {
328 mpu6050_interface_debug_print("mpu6050: sensor reset failed.\n");
329 (void)mpu6050_deinit(&gs_handle);
330
331 return 1;
332 }
333 mpu6050_interface_debug_print("mpu6050: sensor reset.\n");
334 res = mpu6050_get_sensor_reset(&gs_handle, &enable);
335 if (res != 0)
336 {
337 mpu6050_interface_debug_print("mpu6050: get sensor reset failed.\n");
338 (void)mpu6050_deinit(&gs_handle);
339
340 return 1;
341 }
342 mpu6050_interface_debug_print("mpu6050: check sensor reset %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
343
344 /* mpu6050_device_reset/mpu6050_get_device_reset test */
345 mpu6050_interface_debug_print("mpu6050: mpu6050_device_reset/mpu6050_get_device_reset test.\n");
346
347 /* device reset */
348 res = mpu6050_device_reset(&gs_handle);
349 if (res != 0)
350 {
351 mpu6050_interface_debug_print("mpu6050: device reset failed.\n");
352 (void)mpu6050_deinit(&gs_handle);
353
354 return 1;
355 }
356 mpu6050_interface_debug_print("mpu6050: device reset.\n");
357 res = mpu6050_get_device_reset(&gs_handle, &enable);
358 if (res != 0)
359 {
360 mpu6050_interface_debug_print("mpu6050: get device reset failed.\n");
361 (void)mpu6050_deinit(&gs_handle);
362
363 return 1;
364 }
365 mpu6050_interface_debug_print("mpu6050: check device reset %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
366
367 /* delay 100 ms */
369
370 /* disable sleep */
371 res = mpu6050_set_sleep(&gs_handle, MPU6050_BOOL_FALSE);
372 if (res != 0)
373 {
374 mpu6050_interface_debug_print("mpu6050: set sleep failed.\n");
375 (void)mpu6050_deinit(&gs_handle);
376
377 return 1;
378 }
379
380 /* mpu6050_set_clock_source/mpu6050_get_clock_source test */
381 mpu6050_interface_debug_print("mpu6050: mpu6050_set_clock_source/mpu6050_get_clock_source test.\n");
382
383 /* stop the clock */
385 if (res != 0)
386 {
387 mpu6050_interface_debug_print("mpu6050: set clock source failed.\n");
388 (void)mpu6050_deinit(&gs_handle);
389
390 return 1;
391 }
392 mpu6050_interface_debug_print("mpu6050: stop the clock.\n");
393 res = mpu6050_get_clock_source(&gs_handle, &clock_source);
394 if (res != 0)
395 {
396 mpu6050_interface_debug_print("mpu6050: get clock source failed.\n");
397 (void)mpu6050_deinit(&gs_handle);
398
399 return 1;
400 }
401 mpu6050_interface_debug_print("mpu6050: check clock source %s.\n", clock_source == MPU6050_CLOCK_SOURCE_STOP_CLOCK ? "ok" : "error");
402
403 /* pll extern 19.2 MHz */
405 if (res != 0)
406 {
407 mpu6050_interface_debug_print("mpu6050: set clock source failed.\n");
408 (void)mpu6050_deinit(&gs_handle);
409
410 return 1;
411 }
412 mpu6050_interface_debug_print("mpu6050: set the clock source extern 19.2 MHz.\n");
413 res = mpu6050_get_clock_source(&gs_handle, &clock_source);
414 if (res != 0)
415 {
416 mpu6050_interface_debug_print("mpu6050: get clock source failed.\n");
417 (void)mpu6050_deinit(&gs_handle);
418
419 return 1;
420 }
421 mpu6050_interface_debug_print("mpu6050: check clock source %s.\n", clock_source == MPU6050_CLOCK_SOURCE_PLL_EXT_19P2_MHZ ? "ok" : "error");
422
423 /* pll extern 32.768 KHz */
425 if (res != 0)
426 {
427 mpu6050_interface_debug_print("mpu6050: set clock source failed.\n");
428 (void)mpu6050_deinit(&gs_handle);
429
430 return 1;
431 }
432 mpu6050_interface_debug_print("mpu6050: set the clock source extern 32.768 KHz.\n");
433 res = mpu6050_get_clock_source(&gs_handle, &clock_source);
434 if (res != 0)
435 {
436 mpu6050_interface_debug_print("mpu6050: get clock source failed.\n");
437 (void)mpu6050_deinit(&gs_handle);
438
439 return 1;
440 }
441 mpu6050_interface_debug_print("mpu6050: check clock source %s.\n", clock_source == MPU6050_CLOCK_SOURCE_PLL_EXT_32P768_KHZ ? "ok" : "error");
442
443 /* pll with z axis gyroscope reference */
445 if (res != 0)
446 {
447 mpu6050_interface_debug_print("mpu6050: set clock source failed.\n");
448 (void)mpu6050_deinit(&gs_handle);
449
450 return 1;
451 }
452 mpu6050_interface_debug_print("mpu6050: set the clock source z axis gyroscope reference.\n");
453 res = mpu6050_get_clock_source(&gs_handle, &clock_source);
454 if (res != 0)
455 {
456 mpu6050_interface_debug_print("mpu6050: get clock source failed.\n");
457 (void)mpu6050_deinit(&gs_handle);
458
459 return 1;
460 }
461 mpu6050_interface_debug_print("mpu6050: check clock source %s.\n", clock_source == MPU6050_CLOCK_SOURCE_PLL_Z_GYRO ? "ok" : "error");
462
463 /* pll y axis gyroscope reference */
465 if (res != 0)
466 {
467 mpu6050_interface_debug_print("mpu6050: set clock source failed.\n");
468 (void)mpu6050_deinit(&gs_handle);
469
470 return 1;
471 }
472 mpu6050_interface_debug_print("mpu6050: set the clock source y axis gyroscope reference.\n");
473 res = mpu6050_get_clock_source(&gs_handle, &clock_source);
474 if (res != 0)
475 {
476 mpu6050_interface_debug_print("mpu6050: get clock source failed.\n");
477 (void)mpu6050_deinit(&gs_handle);
478
479 return 1;
480 }
481 mpu6050_interface_debug_print("mpu6050: check clock source %s.\n", clock_source == MPU6050_CLOCK_SOURCE_PLL_Y_GYRO ? "ok" : "error");
482
483 /* pll x axis gyroscope reference */
485 if (res != 0)
486 {
487 mpu6050_interface_debug_print("mpu6050: set clock source failed.\n");
488 (void)mpu6050_deinit(&gs_handle);
489
490 return 1;
491 }
492 mpu6050_interface_debug_print("mpu6050: set the clock source x axis gyroscope reference.\n");
493 res = mpu6050_get_clock_source(&gs_handle, &clock_source);
494 if (res != 0)
495 {
496 mpu6050_interface_debug_print("mpu6050: get clock source failed.\n");
497 (void)mpu6050_deinit(&gs_handle);
498
499 return 1;
500 }
501 mpu6050_interface_debug_print("mpu6050: check clock source %s.\n", clock_source == MPU6050_CLOCK_SOURCE_PLL_X_GYRO ? "ok" : "error");
502
503 /* internal 8MHz */
505 if (res != 0)
506 {
507 mpu6050_interface_debug_print("mpu6050: set clock source failed.\n");
508 (void)mpu6050_deinit(&gs_handle);
509
510 return 1;
511 }
512 mpu6050_interface_debug_print("mpu6050: set the clock source internal 8MHz.\n");
513 res = mpu6050_get_clock_source(&gs_handle, &clock_source);
514 if (res != 0)
515 {
516 mpu6050_interface_debug_print("mpu6050: get clock source failed.\n");
517 (void)mpu6050_deinit(&gs_handle);
518
519 return 1;
520 }
521 mpu6050_interface_debug_print("mpu6050: check clock source %s.\n", clock_source == MPU6050_CLOCK_SOURCE_INTERNAL_8MHZ ? "ok" : "error");
522
523 /* mpu6050_set_temperature_sensor/mpu6050_get_temperature_sensor test */
524 mpu6050_interface_debug_print("mpu6050: mpu6050_set_temperature_sensor/mpu6050_get_temperature_sensor test.\n");
525
526 /* enable temperature sensor */
528 if (res != 0)
529 {
530 mpu6050_interface_debug_print("mpu6050: set temperature sensor failed.\n");
531 (void)mpu6050_deinit(&gs_handle);
532
533 return 1;
534 }
535 mpu6050_interface_debug_print("mpu6050: enable temperature sensor.\n");
536 res = mpu6050_get_temperature_sensor(&gs_handle, &enable);
537 if (res != 0)
538 {
539 mpu6050_interface_debug_print("mpu6050: get temperature sensor failed.\n");
540 (void)mpu6050_deinit(&gs_handle);
541
542 return 1;
543 }
544 mpu6050_interface_debug_print("mpu6050: check temperature sensor %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
545
546 /* disable temperature sensor */
548 if (res != 0)
549 {
550 mpu6050_interface_debug_print("mpu6050: set temperature sensor failed.\n");
551 (void)mpu6050_deinit(&gs_handle);
552
553 return 1;
554 }
555 mpu6050_interface_debug_print("mpu6050: disable temperature sensor.\n");
556 res = mpu6050_get_temperature_sensor(&gs_handle, &enable);
557 if (res != 0)
558 {
559 mpu6050_interface_debug_print("mpu6050: get temperature sensor failed.\n");
560 (void)mpu6050_deinit(&gs_handle);
561
562 return 1;
563 }
564 mpu6050_interface_debug_print("mpu6050: check temperature sensor %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
565
566 /* mpu6050_set_cycle_wake_up/mpu6050_get_cycle_wake_up test */
567 mpu6050_interface_debug_print("mpu6050: mpu6050_set_cycle_wake_up/mpu6050_get_cycle_wake_up test.\n");
568
569 /* enable cycle wake up */
571 if (res != 0)
572 {
573 mpu6050_interface_debug_print("mpu6050: set cycle wake up failed.\n");
574 (void)mpu6050_deinit(&gs_handle);
575
576 return 1;
577 }
578 mpu6050_interface_debug_print("mpu6050: enable cycle wake up.\n");
579 res = mpu6050_get_cycle_wake_up(&gs_handle, &enable);
580 if (res != 0)
581 {
582 mpu6050_interface_debug_print("mpu6050: get cycle wake up failed.\n");
583 (void)mpu6050_deinit(&gs_handle);
584
585 return 1;
586 }
587 mpu6050_interface_debug_print("mpu6050: check cycle wake up %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
588
589 /* disable cycle wake up */
591 if (res != 0)
592 {
593 mpu6050_interface_debug_print("mpu6050: set cycle wake up failed.\n");
594 (void)mpu6050_deinit(&gs_handle);
595
596 return 1;
597 }
598 mpu6050_interface_debug_print("mpu6050: disable cycle wake up.\n");
599 res = mpu6050_get_cycle_wake_up(&gs_handle, &enable);
600 if (res != 0)
601 {
602 mpu6050_interface_debug_print("mpu6050: get cycle wake up failed.\n");
603 (void)mpu6050_deinit(&gs_handle);
604
605 return 1;
606 }
607 mpu6050_interface_debug_print("mpu6050: check cycle wake up %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
608
609 /* mpu6050_set_sleep/mpu6050_get_sleep test */
610 mpu6050_interface_debug_print("mpu6050: mpu6050_set_sleep/mpu6050_get_sleep test.\n");
611
612 /* enable the sleep */
613 res = mpu6050_set_sleep(&gs_handle, MPU6050_BOOL_TRUE);
614 if (res != 0)
615 {
616 mpu6050_interface_debug_print("mpu6050: set sleep failed.\n");
617 (void)mpu6050_deinit(&gs_handle);
618
619 return 1;
620 }
621 mpu6050_interface_debug_print("mpu6050: enable the sleep.\n");
622 res = mpu6050_get_sleep(&gs_handle, &enable);
623 if (res != 0)
624 {
625 mpu6050_interface_debug_print("mpu6050: get sleep failed.\n");
626 (void)mpu6050_deinit(&gs_handle);
627
628 return 1;
629 }
630 mpu6050_interface_debug_print("mpu6050: check sleep %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
631
632 /* disable the sleep */
633 res = mpu6050_set_sleep(&gs_handle, MPU6050_BOOL_FALSE);
634 if (res != 0)
635 {
636 mpu6050_interface_debug_print("mpu6050: set sleep failed.\n");
637 (void)mpu6050_deinit(&gs_handle);
638
639 return 1;
640 }
641 mpu6050_interface_debug_print("mpu6050: disable the sleep.\n");
642 res = mpu6050_get_sleep(&gs_handle, &enable);
643 if (res != 0)
644 {
645 mpu6050_interface_debug_print("mpu6050: get sleep failed.\n");
646 (void)mpu6050_deinit(&gs_handle);
647
648 return 1;
649 }
650 mpu6050_interface_debug_print("mpu6050: check sleep %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
651
652 /* mpu6050_set_standby_mode/mpu6050_get_standby_mode test */
653 mpu6050_interface_debug_print("mpu6050: mpu6050_set_standby_mode/mpu6050_get_standby_mode test.\n");
654
655 /* enable standby mode */
657 if (res != 0)
658 {
659 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
660 (void)mpu6050_deinit(&gs_handle);
661
662 return 1;
663 }
664 mpu6050_interface_debug_print("mpu6050: enable acc x standby mode.\n");
665 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_ACC_X, &enable);
666 if (res != 0)
667 {
668 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
669 (void)mpu6050_deinit(&gs_handle);
670
671 return 1;
672 }
673 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
674
675 /* disable standby mode */
677 if (res != 0)
678 {
679 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
680 (void)mpu6050_deinit(&gs_handle);
681
682 return 1;
683 }
684 mpu6050_interface_debug_print("mpu6050: disable acc x standby mode.\n");
685 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_ACC_X, &enable);
686 if (res != 0)
687 {
688 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
689 (void)mpu6050_deinit(&gs_handle);
690
691 return 1;
692 }
693 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
694
695 /* enable standby mode */
697 if (res != 0)
698 {
699 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
700 (void)mpu6050_deinit(&gs_handle);
701
702 return 1;
703 }
704 mpu6050_interface_debug_print("mpu6050: enable acc y standby mode.\n");
705 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_ACC_Y, &enable);
706 if (res != 0)
707 {
708 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
709 (void)mpu6050_deinit(&gs_handle);
710
711 return 1;
712 }
713 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
714
715 /* disable standby mode */
717 if (res != 0)
718 {
719 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
720 (void)mpu6050_deinit(&gs_handle);
721
722 return 1;
723 }
724 mpu6050_interface_debug_print("mpu6050: disable acc y standby mode.\n");
725 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_ACC_Y, &enable);
726 if (res != 0)
727 {
728 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
729 (void)mpu6050_deinit(&gs_handle);
730
731 return 1;
732 }
733 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
734
735 /* enable standby mode */
737 if (res != 0)
738 {
739 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
740 (void)mpu6050_deinit(&gs_handle);
741
742 return 1;
743 }
744 mpu6050_interface_debug_print("mpu6050: enable acc z standby mode.\n");
745 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_ACC_Z, &enable);
746 if (res != 0)
747 {
748 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
749 (void)mpu6050_deinit(&gs_handle);
750
751 return 1;
752 }
753 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
754
755 /* disable standby mode */
757 if (res != 0)
758 {
759 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
760 (void)mpu6050_deinit(&gs_handle);
761
762 return 1;
763 }
764 mpu6050_interface_debug_print("mpu6050: disable acc z standby mode.\n");
765 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_ACC_Z, &enable);
766 if (res != 0)
767 {
768 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
769 (void)mpu6050_deinit(&gs_handle);
770
771 return 1;
772 }
773 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
774
775 /* enable standby mode */
777 if (res != 0)
778 {
779 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
780 (void)mpu6050_deinit(&gs_handle);
781
782 return 1;
783 }
784 mpu6050_interface_debug_print("mpu6050: enable gyro x standby mode.\n");
785 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_GYRO_X, &enable);
786 if (res != 0)
787 {
788 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
789 (void)mpu6050_deinit(&gs_handle);
790
791 return 1;
792 }
793 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
794
795 /* disable standby mode */
797 if (res != 0)
798 {
799 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
800 (void)mpu6050_deinit(&gs_handle);
801
802 return 1;
803 }
804 mpu6050_interface_debug_print("mpu6050: disable gyro x standby mode.\n");
805 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_GYRO_X, &enable);
806 if (res != 0)
807 {
808 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
809 (void)mpu6050_deinit(&gs_handle);
810
811 return 1;
812 }
813 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
814
815 /* enable standby mode */
817 if (res != 0)
818 {
819 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
820 (void)mpu6050_deinit(&gs_handle);
821
822 return 1;
823 }
824 mpu6050_interface_debug_print("mpu6050: enable gyro y standby mode.\n");
825 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_GYRO_Y, &enable);
826 if (res != 0)
827 {
828 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
829 (void)mpu6050_deinit(&gs_handle);
830
831 return 1;
832 }
833 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
834
835 /* disable standby mode */
837 if (res != 0)
838 {
839 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
840 (void)mpu6050_deinit(&gs_handle);
841
842 return 1;
843 }
844 mpu6050_interface_debug_print("mpu6050: disable gyro y standby mode.\n");
845 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_GYRO_Y, &enable);
846 if (res != 0)
847 {
848 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
849 (void)mpu6050_deinit(&gs_handle);
850
851 return 1;
852 }
853 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
854
855 /* enable standby mode */
857 if (res != 0)
858 {
859 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
860 (void)mpu6050_deinit(&gs_handle);
861
862 return 1;
863 }
864 mpu6050_interface_debug_print("mpu6050: enable gyro z standby mode.\n");
865 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_GYRO_Z, &enable);
866 if (res != 0)
867 {
868 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
869 (void)mpu6050_deinit(&gs_handle);
870
871 return 1;
872 }
873 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
874
875 /* disable standby mode */
877 if (res != 0)
878 {
879 mpu6050_interface_debug_print("mpu6050: set standby mode failed.\n");
880 (void)mpu6050_deinit(&gs_handle);
881
882 return 1;
883 }
884 mpu6050_interface_debug_print("mpu6050: disable gyro z standby mode.\n");
885 res = mpu6050_get_standby_mode(&gs_handle, MPU6050_SOURCE_GYRO_Z, &enable);
886 if (res != 0)
887 {
888 mpu6050_interface_debug_print("mpu6050: get standby mode failed.\n");
889 (void)mpu6050_deinit(&gs_handle);
890
891 return 1;
892 }
893 mpu6050_interface_debug_print("mpu6050: check standby mode %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
894
895 /* mpu6050_set_wake_up_frequency/mpu6050_get_wake_up_frequency test */
896 mpu6050_interface_debug_print("mpu6050: mpu6050_set_wake_up_frequency/mpu6050_get_wake_up_frequency test.\n");
897
898 /* 1.25Hz */
900 if (res != 0)
901 {
902 mpu6050_interface_debug_print("mpu6050: set wake up frequency failed.\n");
903 (void)mpu6050_deinit(&gs_handle);
904
905 return 1;
906 }
907 mpu6050_interface_debug_print("mpu6050: set wake up frequency 1.25Hz.\n");
908 res = mpu6050_get_wake_up_frequency(&gs_handle, &frequency);
909 if (res != 0)
910 {
911 mpu6050_interface_debug_print("mpu6050: get wake up frequency failed.\n");
912 (void)mpu6050_deinit(&gs_handle);
913
914 return 1;
915 }
916 mpu6050_interface_debug_print("mpu6050: check wake up frequency %s.\n", frequency == MPU6050_WAKE_UP_FREQUENCY_1P25_HZ ? "ok" : "error");
917
918 /* 5Hz */
920 if (res != 0)
921 {
922 mpu6050_interface_debug_print("mpu6050: set wake up frequency failed.\n");
923 (void)mpu6050_deinit(&gs_handle);
924
925 return 1;
926 }
927 mpu6050_interface_debug_print("mpu6050: set wake up frequency 5Hz.\n");
928 res = mpu6050_get_wake_up_frequency(&gs_handle, &frequency);
929 if (res != 0)
930 {
931 mpu6050_interface_debug_print("mpu6050: get wake up frequency failed.\n");
932 (void)mpu6050_deinit(&gs_handle);
933
934 return 1;
935 }
936 mpu6050_interface_debug_print("mpu6050: check wake up frequency %s.\n", frequency == MPU6050_WAKE_UP_FREQUENCY_5_HZ ? "ok" : "error");
937
938 /* 20Hz */
940 if (res != 0)
941 {
942 mpu6050_interface_debug_print("mpu6050: set wake up frequency failed.\n");
943 (void)mpu6050_deinit(&gs_handle);
944
945 return 1;
946 }
947 mpu6050_interface_debug_print("mpu6050: set wake up frequency 20Hz.\n");
948 res = mpu6050_get_wake_up_frequency(&gs_handle, &frequency);
949 if (res != 0)
950 {
951 mpu6050_interface_debug_print("mpu6050: get wake up frequency failed.\n");
952 (void)mpu6050_deinit(&gs_handle);
953
954 return 1;
955 }
956 mpu6050_interface_debug_print("mpu6050: check wake up frequency %s.\n", frequency == MPU6050_WAKE_UP_FREQUENCY_20_HZ ? "ok" : "error");
957
958 /* 40Hz */
960 if (res != 0)
961 {
962 mpu6050_interface_debug_print("mpu6050: set wake up frequency failed.\n");
963 (void)mpu6050_deinit(&gs_handle);
964
965 return 1;
966 }
967 mpu6050_interface_debug_print("mpu6050: set wake up frequency 40Hz.\n");
968 res = mpu6050_get_wake_up_frequency(&gs_handle, &frequency);
969 if (res != 0)
970 {
971 mpu6050_interface_debug_print("mpu6050: get wake up frequency failed.\n");
972 (void)mpu6050_deinit(&gs_handle);
973
974 return 1;
975 }
976 mpu6050_interface_debug_print("mpu6050: check wake up frequency %s.\n", frequency == MPU6050_WAKE_UP_FREQUENCY_40_HZ ? "ok" : "error");
977
978 /* mpu6050_fifo_get/mpu6050_fifo_set test */
979 mpu6050_interface_debug_print("mpu6050: mpu6050_fifo_get/mpu6050_fifo_set test.\n");
980
981 for (i = 0; i < 8; i++)
982 {
983 data[i] = (uint8_t)(rand() % 256);
984 }
985 /* fifo set */
986 res = mpu6050_fifo_set(&gs_handle, data, 8);
987 if (res != 0)
988 {
989 mpu6050_interface_debug_print("mpu6050: fifo write failed.\n");
990 (void)mpu6050_deinit(&gs_handle);
991
992 return 1;
993 }
994 mpu6050_interface_debug_print("mpu6050: check fifo write %s.\n", (res == 0) ? "ok" : "error");
995
996 /* fifo get */
997 res = mpu6050_fifo_get(&gs_handle, data_check, 8);
998 if (res != 0)
999 {
1000 mpu6050_interface_debug_print("mpu6050: fifo read failed.\n");
1001 (void)mpu6050_deinit(&gs_handle);
1002
1003 return 1;
1004 }
1005 mpu6050_interface_debug_print("mpu6050: check fifo read %s.\n", (res == 0) ? "ok" : "error");
1006
1007 /* mpu6050_get_fifo_count test */
1008 mpu6050_interface_debug_print("mpu6050: mpu6050_get_fifo_count test.\n");
1009
1010 /* fifo count */
1011 res = mpu6050_get_fifo_count(&gs_handle, &cnt);
1012 if (res != 0)
1013 {
1014 mpu6050_interface_debug_print("mpu6050: fifo count failed.\n");
1015 (void)mpu6050_deinit(&gs_handle);
1016
1017 return 1;
1018 }
1019 mpu6050_interface_debug_print("mpu6050: fifo count %d.\n", cnt);
1020
1021 /* mpu6050_set_signal_path_reset test */
1022 mpu6050_interface_debug_print("mpu6050: mpu6050_set_signal_path_reset test.\n");
1023
1024 /* temp reset */
1026 if (res != 0)
1027 {
1028 mpu6050_interface_debug_print("mpu6050: set signal path reset failed.\n");
1029 (void)mpu6050_deinit(&gs_handle);
1030
1031 return 1;
1032 }
1033 mpu6050_interface_debug_print("mpu6050: temp signal path reset.\n");
1034 mpu6050_interface_debug_print("mpu6050: check signal path reset %s.\n", (res == 0) ? "ok" : "error");
1035
1036 /* accel reset */
1038 if (res != 0)
1039 {
1040 mpu6050_interface_debug_print("mpu6050: set signal path reset failed.\n");
1041 (void)mpu6050_deinit(&gs_handle);
1042
1043 return 1;
1044 }
1045 mpu6050_interface_debug_print("mpu6050: accel signal path reset.\n");
1046 mpu6050_interface_debug_print("mpu6050: check signal path reset %s.\n", (res == 0) ? "ok" : "error");
1047
1048 /* gyro reset */
1050 if (res != 0)
1051 {
1052 mpu6050_interface_debug_print("mpu6050: set signal path reset failed.\n");
1053 (void)mpu6050_deinit(&gs_handle);
1054
1055 return 1;
1056 }
1057 mpu6050_interface_debug_print("mpu6050: gyro signal path reset.\n");
1058 mpu6050_interface_debug_print("mpu6050: check signal path reset %s.\n", (res == 0) ? "ok" : "error");
1059
1060 /* mpu6050_set_sample_rate_divider/mpu6050_get_sample_rate_divider test */
1061 mpu6050_interface_debug_print("mpu6050: mpu6050_set_sample_rate_divider/mpu6050_get_sample_rate_divider test.\n");
1062
1063 div_in = (uint8_t)(rand() % 256);
1064 res = mpu6050_set_sample_rate_divider(&gs_handle, div_in);
1065 if (res != 0)
1066 {
1067 mpu6050_interface_debug_print("mpu6050: set sample rate divider failed.\n");
1068 (void)mpu6050_deinit(&gs_handle);
1069
1070 return 1;
1071 }
1072 mpu6050_interface_debug_print("mpu6050: set sample rate divider 0x%02X.\n", div);
1073 res = mpu6050_get_sample_rate_divider(&gs_handle, &div_check);
1074 if (res != 0)
1075 {
1076 mpu6050_interface_debug_print("mpu6050: get sample rate divider failed.\n");
1077 (void)mpu6050_deinit(&gs_handle);
1078
1079 return 1;
1080 }
1081 mpu6050_interface_debug_print("mpu6050: check sample rate divider %s.\n", (div_in == div_check) ? "ok" : "error");
1082
1083 /* mpu6050_set_extern_sync/mpu6050_get_extern_sync test */
1084 mpu6050_interface_debug_print("mpu6050: mpu6050_set_extern_sync/mpu6050_get_extern_sync test.\n");
1085
1086 /* input disabled */
1088 if (res != 0)
1089 {
1090 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1091 (void)mpu6050_deinit(&gs_handle);
1092
1093 return 1;
1094 }
1095 mpu6050_interface_debug_print("mpu6050: set extern sync input disabled.\n");
1096 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1097 if (res != 0)
1098 {
1099 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1100 (void)mpu6050_deinit(&gs_handle);
1101
1102 return 1;
1103 }
1104 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_INPUT_DISABLED) ? "ok" : "error");
1105
1106 /* temp out low */
1108 if (res != 0)
1109 {
1110 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1111 (void)mpu6050_deinit(&gs_handle);
1112
1113 return 1;
1114 }
1115 mpu6050_interface_debug_print("mpu6050: set extern sync temp out low.\n");
1116 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1117 if (res != 0)
1118 {
1119 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1120 (void)mpu6050_deinit(&gs_handle);
1121
1122 return 1;
1123 }
1124 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_TEMP_OUT_L) ? "ok" : "error");
1125
1126 /* gyro xout low */
1128 if (res != 0)
1129 {
1130 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1131 (void)mpu6050_deinit(&gs_handle);
1132
1133 return 1;
1134 }
1135 mpu6050_interface_debug_print("mpu6050: set extern sync gyro xout low.\n");
1136 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1137 if (res != 0)
1138 {
1139 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1140 (void)mpu6050_deinit(&gs_handle);
1141
1142 return 1;
1143 }
1144 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_GYRO_XOUT_L) ? "ok" : "error");
1145
1146 /* gyro yout low */
1148 if (res != 0)
1149 {
1150 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1151 (void)mpu6050_deinit(&gs_handle);
1152
1153 return 1;
1154 }
1155 mpu6050_interface_debug_print("mpu6050: set extern sync gyro yout low.\n");
1156 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1157 if (res != 0)
1158 {
1159 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1160 (void)mpu6050_deinit(&gs_handle);
1161
1162 return 1;
1163 }
1164 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_GYRO_YOUT_L) ? "ok" : "error");
1165
1166 /* gyro zout low */
1168 if (res != 0)
1169 {
1170 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1171 (void)mpu6050_deinit(&gs_handle);
1172
1173 return 1;
1174 }
1175 mpu6050_interface_debug_print("mpu6050: set extern sync gyro zout low.\n");
1176 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1177 if (res != 0)
1178 {
1179 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1180 (void)mpu6050_deinit(&gs_handle);
1181
1182 return 1;
1183 }
1184 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_GYRO_ZOUT_L) ? "ok" : "error");
1185
1186 /* accel xout low */
1188 if (res != 0)
1189 {
1190 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1191 (void)mpu6050_deinit(&gs_handle);
1192
1193 return 1;
1194 }
1195 mpu6050_interface_debug_print("mpu6050: set extern sync accel xout low.\n");
1196 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1197 if (res != 0)
1198 {
1199 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1200 (void)mpu6050_deinit(&gs_handle);
1201
1202 return 1;
1203 }
1204 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_ACCEL_XOUT_L) ? "ok" : "error");
1205
1206 /* accel yout low */
1208 if (res != 0)
1209 {
1210 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1211 (void)mpu6050_deinit(&gs_handle);
1212
1213 return 1;
1214 }
1215 mpu6050_interface_debug_print("mpu6050: set extern sync accel yout low.\n");
1216 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1217 if (res != 0)
1218 {
1219 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1220 (void)mpu6050_deinit(&gs_handle);
1221
1222 return 1;
1223 }
1224 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_ACCEL_YOUT_L) ? "ok" : "error");
1225
1226 /* accel zout low */
1228 if (res != 0)
1229 {
1230 mpu6050_interface_debug_print("mpu6050: set extern sync failed.\n");
1231 (void)mpu6050_deinit(&gs_handle);
1232
1233 return 1;
1234 }
1235 mpu6050_interface_debug_print("mpu6050: set extern sync accel zout low.\n");
1236 res = mpu6050_get_extern_sync(&gs_handle, &sync);
1237 if (res != 0)
1238 {
1239 mpu6050_interface_debug_print("mpu6050: get extern sync failed.\n");
1240 (void)mpu6050_deinit(&gs_handle);
1241
1242 return 1;
1243 }
1244 mpu6050_interface_debug_print("mpu6050: check extern sync %s.\n", (sync == MPU6050_EXTERN_SYNC_ACCEL_ZOUT_L) ? "ok" : "error");
1245
1246 /* mpu6050_set_low_pass_filter/mpu6050_get_low_pass_filter test */
1247 mpu6050_interface_debug_print("mpu6050: mpu6050_set_low_pass_filter/mpu6050_get_low_pass_filter test.\n");
1248
1249 /* filter 0 */
1251 if (res != 0)
1252 {
1253 mpu6050_interface_debug_print("mpu6050: set low pass filter failed.\n");
1254 (void)mpu6050_deinit(&gs_handle);
1255
1256 return 1;
1257 }
1258 mpu6050_interface_debug_print("mpu6050: set low pass filter 0.\n");
1259 res = mpu6050_get_low_pass_filter(&gs_handle, &filter);
1260 if (res != 0)
1261 {
1262 mpu6050_interface_debug_print("mpu6050: get low pass filter failed.\n");
1263 (void)mpu6050_deinit(&gs_handle);
1264
1265 return 1;
1266 }
1267 mpu6050_interface_debug_print("mpu6050: check low pass filter %s.\n", (filter == MPU6050_LOW_PASS_FILTER_0) ? "ok" : "error");
1268
1269 /* filter 1 */
1271 if (res != 0)
1272 {
1273 mpu6050_interface_debug_print("mpu6050: set low pass filter failed.\n");
1274 (void)mpu6050_deinit(&gs_handle);
1275
1276 return 1;
1277 }
1278 mpu6050_interface_debug_print("mpu6050: set low pass filter 1.\n");
1279 res = mpu6050_get_low_pass_filter(&gs_handle, &filter);
1280 if (res != 0)
1281 {
1282 mpu6050_interface_debug_print("mpu6050: get low pass filter failed.\n");
1283 (void)mpu6050_deinit(&gs_handle);
1284
1285 return 1;
1286 }
1287 mpu6050_interface_debug_print("mpu6050: check low pass filter %s.\n", (filter == MPU6050_LOW_PASS_FILTER_1) ? "ok" : "error");
1288
1289 /* filter 2 */
1291 if (res != 0)
1292 {
1293 mpu6050_interface_debug_print("mpu6050: set low pass filter failed.\n");
1294 (void)mpu6050_deinit(&gs_handle);
1295
1296 return 1;
1297 }
1298 mpu6050_interface_debug_print("mpu6050: set low pass filter 2.\n");
1299 res = mpu6050_get_low_pass_filter(&gs_handle, &filter);
1300 if (res != 0)
1301 {
1302 mpu6050_interface_debug_print("mpu6050: get low pass filter failed.\n");
1303 (void)mpu6050_deinit(&gs_handle);
1304
1305 return 1;
1306 }
1307 mpu6050_interface_debug_print("mpu6050: check low pass filter %s.\n", (filter == MPU6050_LOW_PASS_FILTER_2) ? "ok" : "error");
1308
1309 /* filter 3 */
1311 if (res != 0)
1312 {
1313 mpu6050_interface_debug_print("mpu6050: set low pass filter failed.\n");
1314 (void)mpu6050_deinit(&gs_handle);
1315
1316 return 1;
1317 }
1318 mpu6050_interface_debug_print("mpu6050: set low pass filter 3.\n");
1319 res = mpu6050_get_low_pass_filter(&gs_handle, &filter);
1320 if (res != 0)
1321 {
1322 mpu6050_interface_debug_print("mpu6050: get low pass filter failed.\n");
1323 (void)mpu6050_deinit(&gs_handle);
1324
1325 return 1;
1326 }
1327 mpu6050_interface_debug_print("mpu6050: check low pass filter %s.\n", (filter == MPU6050_LOW_PASS_FILTER_3) ? "ok" : "error");
1328
1329 /* filter 4 */
1331 if (res != 0)
1332 {
1333 mpu6050_interface_debug_print("mpu6050: set low pass filter failed.\n");
1334 (void)mpu6050_deinit(&gs_handle);
1335
1336 return 1;
1337 }
1338 mpu6050_interface_debug_print("mpu6050: set low pass filter 4.\n");
1339 res = mpu6050_get_low_pass_filter(&gs_handle, &filter);
1340 if (res != 0)
1341 {
1342 mpu6050_interface_debug_print("mpu6050: get low pass filter failed.\n");
1343 (void)mpu6050_deinit(&gs_handle);
1344
1345 return 1;
1346 }
1347 mpu6050_interface_debug_print("mpu6050: check low pass filter %s.\n", (filter == MPU6050_LOW_PASS_FILTER_4) ? "ok" : "error");
1348
1349 /* filter 5 */
1351 if (res != 0)
1352 {
1353 mpu6050_interface_debug_print("mpu6050: set low pass filter failed.\n");
1354 (void)mpu6050_deinit(&gs_handle);
1355
1356 return 1;
1357 }
1358 mpu6050_interface_debug_print("mpu6050: set low pass filter 5.\n");
1359 res = mpu6050_get_low_pass_filter(&gs_handle, &filter);
1360 if (res != 0)
1361 {
1362 mpu6050_interface_debug_print("mpu6050: get low pass filter failed.\n");
1363 (void)mpu6050_deinit(&gs_handle);
1364
1365 return 1;
1366 }
1367 mpu6050_interface_debug_print("mpu6050: check low pass filter %s.\n", (filter == MPU6050_LOW_PASS_FILTER_5) ? "ok" : "error");
1368
1369 /* filter 6 */
1371 if (res != 0)
1372 {
1373 mpu6050_interface_debug_print("mpu6050: set low pass filter failed.\n");
1374 (void)mpu6050_deinit(&gs_handle);
1375
1376 return 1;
1377 }
1378 mpu6050_interface_debug_print("mpu6050: set low pass filter 6.\n");
1379 res = mpu6050_get_low_pass_filter(&gs_handle, &filter);
1380 if (res != 0)
1381 {
1382 mpu6050_interface_debug_print("mpu6050: get low pass filter failed.\n");
1383 (void)mpu6050_deinit(&gs_handle);
1384
1385 return 1;
1386 }
1387 mpu6050_interface_debug_print("mpu6050: check low pass filter %s.\n", (filter == MPU6050_LOW_PASS_FILTER_6) ? "ok" : "error");
1388
1389 /* mpu6050_set_gyroscope_test/mpu6050_get_gyroscope_test test */
1390 mpu6050_interface_debug_print("mpu6050: mpu6050_set_gyroscope_test/mpu6050_get_gyroscope_test test.\n");
1391
1392 /* enable axis x */
1394 if (res != 0)
1395 {
1396 mpu6050_interface_debug_print("mpu6050: set gyroscope test failed.\n");
1397 (void)mpu6050_deinit(&gs_handle);
1398
1399 return 1;
1400 }
1401 mpu6050_interface_debug_print("mpu6050: enable axis x.\n");
1402 res = mpu6050_get_gyroscope_test(&gs_handle, MPU6050_AXIS_X, &enable);
1403 if (res != 0)
1404 {
1405 mpu6050_interface_debug_print("mpu6050: get gyroscope test failed.\n");
1406 (void)mpu6050_deinit(&gs_handle);
1407
1408 return 1;
1409 }
1410 mpu6050_interface_debug_print("mpu6050: check gyroscope test %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1411
1412 /* disable axis x */
1414 if (res != 0)
1415 {
1416 mpu6050_interface_debug_print("mpu6050: set gyroscope test failed.\n");
1417 (void)mpu6050_deinit(&gs_handle);
1418
1419 return 1;
1420 }
1421 mpu6050_interface_debug_print("mpu6050: disable axis x.\n");
1422 res = mpu6050_get_gyroscope_test(&gs_handle, MPU6050_AXIS_X, &enable);
1423 if (res != 0)
1424 {
1425 mpu6050_interface_debug_print("mpu6050: get gyroscope test failed.\n");
1426 (void)mpu6050_deinit(&gs_handle);
1427
1428 return 1;
1429 }
1430 mpu6050_interface_debug_print("mpu6050: check gyroscope test %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1431
1432 /* enable axis y */
1434 if (res != 0)
1435 {
1436 mpu6050_interface_debug_print("mpu6050: set gyroscope test failed.\n");
1437 (void)mpu6050_deinit(&gs_handle);
1438
1439 return 1;
1440 }
1441 mpu6050_interface_debug_print("mpu6050: enable axis y.\n");
1442 res = mpu6050_get_gyroscope_test(&gs_handle, MPU6050_AXIS_Y, &enable);
1443 if (res != 0)
1444 {
1445 mpu6050_interface_debug_print("mpu6050: get gyroscope test failed.\n");
1446 (void)mpu6050_deinit(&gs_handle);
1447
1448 return 1;
1449 }
1450 mpu6050_interface_debug_print("mpu6050: check gyroscope test %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1451
1452 /* disable axis y */
1454 if (res != 0)
1455 {
1456 mpu6050_interface_debug_print("mpu6050: set gyroscope test failed.\n");
1457 (void)mpu6050_deinit(&gs_handle);
1458
1459 return 1;
1460 }
1461 mpu6050_interface_debug_print("mpu6050: disable axis y.\n");
1462 res = mpu6050_get_gyroscope_test(&gs_handle, MPU6050_AXIS_Y, &enable);
1463 if (res != 0)
1464 {
1465 mpu6050_interface_debug_print("mpu6050: get gyroscope test failed.\n");
1466 (void)mpu6050_deinit(&gs_handle);
1467
1468 return 1;
1469 }
1470 mpu6050_interface_debug_print("mpu6050: check gyroscope test %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1471
1472 /* enable axis z */
1474 if (res != 0)
1475 {
1476 mpu6050_interface_debug_print("mpu6050: set gyroscope test failed.\n");
1477 (void)mpu6050_deinit(&gs_handle);
1478
1479 return 1;
1480 }
1481 mpu6050_interface_debug_print("mpu6050: enable axis z.\n");
1482 res = mpu6050_get_gyroscope_test(&gs_handle, MPU6050_AXIS_Z, &enable);
1483 if (res != 0)
1484 {
1485 mpu6050_interface_debug_print("mpu6050: get gyroscope test failed.\n");
1486 (void)mpu6050_deinit(&gs_handle);
1487
1488 return 1;
1489 }
1490 mpu6050_interface_debug_print("mpu6050: check gyroscope test %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1491
1492 /* disable axis z */
1494 if (res != 0)
1495 {
1496 mpu6050_interface_debug_print("mpu6050: set gyroscope test failed.\n");
1497 (void)mpu6050_deinit(&gs_handle);
1498
1499 return 1;
1500 }
1501 mpu6050_interface_debug_print("mpu6050: disable axis z.\n");
1502 res = mpu6050_get_gyroscope_test(&gs_handle, MPU6050_AXIS_Z, &enable);
1503 if (res != 0)
1504 {
1505 mpu6050_interface_debug_print("mpu6050: get gyroscope test failed.\n");
1506 (void)mpu6050_deinit(&gs_handle);
1507
1508 return 1;
1509 }
1510 mpu6050_interface_debug_print("mpu6050: check gyroscope test %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1511
1512 /* mpu6050_set_gyroscope_range/mpu6050_get_gyroscope_range test */
1513 mpu6050_interface_debug_print("mpu6050: mpu6050_set_gyroscope_range/mpu6050_get_gyroscope_range test.\n");
1514
1515 /* 250 dps */
1517 if (res != 0)
1518 {
1519 mpu6050_interface_debug_print("mpu6050: set gyroscope range failed.\n");
1520 (void)mpu6050_deinit(&gs_handle);
1521
1522 return 1;
1523 }
1524 mpu6050_interface_debug_print("mpu6050: set gyroscope range 250 dps.\n");
1525 res = mpu6050_get_gyroscope_range(&gs_handle, &range_g);
1526 if (res != 0)
1527 {
1528 mpu6050_interface_debug_print("mpu6050: get gyroscope range failed.\n");
1529 (void)mpu6050_deinit(&gs_handle);
1530
1531 return 1;
1532 }
1533 mpu6050_interface_debug_print("mpu6050: check gyroscope range %s.\n", range_g == MPU6050_GYROSCOPE_RANGE_250DPS ? "ok" : "error");
1534
1535 /* 500 dps */
1537 if (res != 0)
1538 {
1539 mpu6050_interface_debug_print("mpu6050: set gyroscope range failed.\n");
1540 (void)mpu6050_deinit(&gs_handle);
1541
1542 return 1;
1543 }
1544 mpu6050_interface_debug_print("mpu6050: set gyroscope range 500 dps.\n");
1545 res = mpu6050_get_gyroscope_range(&gs_handle, &range_g);
1546 if (res != 0)
1547 {
1548 mpu6050_interface_debug_print("mpu6050: get gyroscope range failed.\n");
1549 (void)mpu6050_deinit(&gs_handle);
1550
1551 return 1;
1552 }
1553 mpu6050_interface_debug_print("mpu6050: check gyroscope range %s.\n", range_g == MPU6050_GYROSCOPE_RANGE_500DPS ? "ok" : "error");
1554
1555 /* 1000 dps */
1557 if (res != 0)
1558 {
1559 mpu6050_interface_debug_print("mpu6050: set gyroscope range failed.\n");
1560 (void)mpu6050_deinit(&gs_handle);
1561
1562 return 1;
1563 }
1564 mpu6050_interface_debug_print("mpu6050: set gyroscope range 1000 dps.\n");
1565 res = mpu6050_get_gyroscope_range(&gs_handle, &range_g);
1566 if (res != 0)
1567 {
1568 mpu6050_interface_debug_print("mpu6050: get gyroscope range failed.\n");
1569 (void)mpu6050_deinit(&gs_handle);
1570
1571 return 1;
1572 }
1573 mpu6050_interface_debug_print("mpu6050: check gyroscope range %s.\n", range_g == MPU6050_GYROSCOPE_RANGE_1000DPS ? "ok" : "error");
1574
1575 /* 2000 dps */
1577 if (res != 0)
1578 {
1579 mpu6050_interface_debug_print("mpu6050: set gyroscope range failed.\n");
1580 (void)mpu6050_deinit(&gs_handle);
1581
1582 return 1;
1583 }
1584 mpu6050_interface_debug_print("mpu6050: set gyroscope range 2000 dps.\n");
1585 res = mpu6050_get_gyroscope_range(&gs_handle, &range_g);
1586 if (res != 0)
1587 {
1588 mpu6050_interface_debug_print("mpu6050: get gyroscope range failed.\n");
1589 (void)mpu6050_deinit(&gs_handle);
1590
1591 return 1;
1592 }
1593 mpu6050_interface_debug_print("mpu6050: check gyroscope range %s.\n", range_g == MPU6050_GYROSCOPE_RANGE_2000DPS ? "ok" : "error");
1594
1595 /* mpu6050_set_accelerometer_test/mpu6050_get_accelerometer_test test */
1596 mpu6050_interface_debug_print("mpu6050: mpu6050_set_accelerometer_test/mpu6050_get_accelerometer_test test.\n");
1597
1598 /* enable accelerometer x */
1600 if (res != 0)
1601 {
1602 mpu6050_interface_debug_print("mpu6050: set accelerometer test failed.\n");
1603 (void)mpu6050_deinit(&gs_handle);
1604
1605 return 1;
1606 }
1607 mpu6050_interface_debug_print("mpu6050: enable accelerometer x.\n");
1608 res = mpu6050_get_accelerometer_test(&gs_handle, MPU6050_AXIS_X, &enable);
1609 if (res != 0)
1610 {
1611 mpu6050_interface_debug_print("mpu6050: get accelerometer test failed.\n");
1612 (void)mpu6050_deinit(&gs_handle);
1613
1614 return 1;
1615 }
1616 mpu6050_interface_debug_print("mpu6050: check accelerometer test %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1617
1618 /* disable accelerometer x */
1620 if (res != 0)
1621 {
1622 mpu6050_interface_debug_print("mpu6050: set accelerometer test failed.\n");
1623 (void)mpu6050_deinit(&gs_handle);
1624
1625 return 1;
1626 }
1627 mpu6050_interface_debug_print("mpu6050: disable accelerometer x.\n");
1628 res = mpu6050_get_accelerometer_test(&gs_handle, MPU6050_AXIS_X, &enable);
1629 if (res != 0)
1630 {
1631 mpu6050_interface_debug_print("mpu6050: get accelerometer test failed.\n");
1632 (void)mpu6050_deinit(&gs_handle);
1633
1634 return 1;
1635 }
1636 mpu6050_interface_debug_print("mpu6050: check accelerometer test %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1637
1638 /* enable accelerometer y */
1640 if (res != 0)
1641 {
1642 mpu6050_interface_debug_print("mpu6050: set accelerometer test failed.\n");
1643 (void)mpu6050_deinit(&gs_handle);
1644
1645 return 1;
1646 }
1647 mpu6050_interface_debug_print("mpu6050: enable accelerometer y.\n");
1648 res = mpu6050_get_accelerometer_test(&gs_handle, MPU6050_AXIS_Y, &enable);
1649 if (res != 0)
1650 {
1651 mpu6050_interface_debug_print("mpu6050: get accelerometer test failed.\n");
1652 (void)mpu6050_deinit(&gs_handle);
1653
1654 return 1;
1655 }
1656 mpu6050_interface_debug_print("mpu6050: check accelerometer test %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1657
1658 /* disable accelerometer y */
1660 if (res != 0)
1661 {
1662 mpu6050_interface_debug_print("mpu6050: set accelerometer test failed.\n");
1663 (void)mpu6050_deinit(&gs_handle);
1664
1665 return 1;
1666 }
1667 mpu6050_interface_debug_print("mpu6050: disable accelerometer y.\n");
1668 res = mpu6050_get_accelerometer_test(&gs_handle, MPU6050_AXIS_Y, &enable);
1669 if (res != 0)
1670 {
1671 mpu6050_interface_debug_print("mpu6050: get accelerometer test failed.\n");
1672 (void)mpu6050_deinit(&gs_handle);
1673
1674 return 1;
1675 }
1676 mpu6050_interface_debug_print("mpu6050: check accelerometer test %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1677
1678 /* enable accelerometer z */
1680 if (res != 0)
1681 {
1682 mpu6050_interface_debug_print("mpu6050: set accelerometer test failed.\n");
1683 (void)mpu6050_deinit(&gs_handle);
1684
1685 return 1;
1686 }
1687 mpu6050_interface_debug_print("mpu6050: enable accelerometer z.\n");
1688 res = mpu6050_get_accelerometer_test(&gs_handle, MPU6050_AXIS_Z, &enable);
1689 if (res != 0)
1690 {
1691 mpu6050_interface_debug_print("mpu6050: get accelerometer test failed.\n");
1692 (void)mpu6050_deinit(&gs_handle);
1693
1694 return 1;
1695 }
1696 mpu6050_interface_debug_print("mpu6050: check accelerometer test %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1697
1698 /* disable accelerometer z */
1700 if (res != 0)
1701 {
1702 mpu6050_interface_debug_print("mpu6050: set accelerometer test failed.\n");
1703 (void)mpu6050_deinit(&gs_handle);
1704
1705 return 1;
1706 }
1707 mpu6050_interface_debug_print("mpu6050: disable accelerometer z.\n");
1708 res = mpu6050_get_accelerometer_test(&gs_handle, MPU6050_AXIS_Z, &enable);
1709 if (res != 0)
1710 {
1711 mpu6050_interface_debug_print("mpu6050: get accelerometer test failed.\n");
1712 (void)mpu6050_deinit(&gs_handle);
1713
1714 return 1;
1715 }
1716 mpu6050_interface_debug_print("mpu6050: check accelerometer test %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1717
1718 /* mpu6050_set_accelerometer_range/mpu6050_get_accelerometer_range test */
1719 mpu6050_interface_debug_print("mpu6050: mpu6050_set_accelerometer_range/mpu6050_get_accelerometer_range test.\n");
1720
1721 /* 2g */
1723 if (res != 0)
1724 {
1725 mpu6050_interface_debug_print("mpu6050: set accelerometer range failed.\n");
1726 (void)mpu6050_deinit(&gs_handle);
1727
1728 return 1;
1729 }
1730 mpu6050_interface_debug_print("mpu6050: set accelerometer range 2g.\n");
1731 res = mpu6050_get_accelerometer_range(&gs_handle, &range_a);
1732 if (res != 0)
1733 {
1734 mpu6050_interface_debug_print("mpu6050: get accelerometer range failed.\n");
1735 (void)mpu6050_deinit(&gs_handle);
1736
1737 return 1;
1738 }
1739 mpu6050_interface_debug_print("mpu6050: check accelerometer range %s.\n", range_a == MPU6050_ACCELEROMETER_RANGE_2G ? "ok" : "error");
1740
1741 /* 4g */
1743 if (res != 0)
1744 {
1745 mpu6050_interface_debug_print("mpu6050: set accelerometer range failed.\n");
1746 (void)mpu6050_deinit(&gs_handle);
1747
1748 return 1;
1749 }
1750 mpu6050_interface_debug_print("mpu6050: set accelerometer range 4g.\n");
1751 res = mpu6050_get_accelerometer_range(&gs_handle, &range_a);
1752 if (res != 0)
1753 {
1754 mpu6050_interface_debug_print("mpu6050: get accelerometer range failed.\n");
1755 (void)mpu6050_deinit(&gs_handle);
1756
1757 return 1;
1758 }
1759 mpu6050_interface_debug_print("mpu6050: check accelerometer range %s.\n", range_a == MPU6050_ACCELEROMETER_RANGE_4G ? "ok" : "error");
1760
1761 /* 8g */
1763 if (res != 0)
1764 {
1765 mpu6050_interface_debug_print("mpu6050: set accelerometer range failed.\n");
1766 (void)mpu6050_deinit(&gs_handle);
1767
1768 return 1;
1769 }
1770 mpu6050_interface_debug_print("mpu6050: set accelerometer range 8g.\n");
1771 res = mpu6050_get_accelerometer_range(&gs_handle, &range_a);
1772 if (res != 0)
1773 {
1774 mpu6050_interface_debug_print("mpu6050: get accelerometer range failed.\n");
1775 (void)mpu6050_deinit(&gs_handle);
1776
1777 return 1;
1778 }
1779 mpu6050_interface_debug_print("mpu6050: check accelerometer range %s.\n", range_a == MPU6050_ACCELEROMETER_RANGE_8G ? "ok" : "error");
1780
1781 /* 16g */
1783 if (res != 0)
1784 {
1785 mpu6050_interface_debug_print("mpu6050: set accelerometer range failed.\n");
1786 (void)mpu6050_deinit(&gs_handle);
1787
1788 return 1;
1789 }
1790 mpu6050_interface_debug_print("mpu6050: set accelerometer range 16g.\n");
1791 res = mpu6050_get_accelerometer_range(&gs_handle, &range_a);
1792 if (res != 0)
1793 {
1794 mpu6050_interface_debug_print("mpu6050: get accelerometer range failed.\n");
1795 (void)mpu6050_deinit(&gs_handle);
1796
1797 return 1;
1798 }
1799 mpu6050_interface_debug_print("mpu6050: check accelerometer range %s.\n", range_a == MPU6050_ACCELEROMETER_RANGE_16G ? "ok" : "error");
1800
1801 /* mpu6050_set_fifo_enable/mpu6050_get_fifo_enable test */
1802 mpu6050_interface_debug_print("mpu6050: mpu6050_set_fifo_enable/mpu6050_get_fifo_enable test.\n");
1803
1804 /* set fifo temp enable */
1806 if (res != 0)
1807 {
1808 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1809 (void)mpu6050_deinit(&gs_handle);
1810
1811 return 1;
1812 }
1813 mpu6050_interface_debug_print("mpu6050: set fifo temp enable.\n");
1814 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_TEMP, &enable);
1815 if (res != 0)
1816 {
1817 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1818 (void)mpu6050_deinit(&gs_handle);
1819
1820 return 1;
1821 }
1822 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1823
1824 /* set fifo temp disable */
1826 if (res != 0)
1827 {
1828 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1829 (void)mpu6050_deinit(&gs_handle);
1830
1831 return 1;
1832 }
1833 mpu6050_interface_debug_print("mpu6050: set fifo temp disable.\n");
1834 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_TEMP, &enable);
1835 if (res != 0)
1836 {
1837 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1838 (void)mpu6050_deinit(&gs_handle);
1839
1840 return 1;
1841 }
1842 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1843
1844 /* set fifo gyroscope x enable */
1846 if (res != 0)
1847 {
1848 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1849 (void)mpu6050_deinit(&gs_handle);
1850
1851 return 1;
1852 }
1853 mpu6050_interface_debug_print("mpu6050: set fifo gyroscope x enable.\n");
1854 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_XG, &enable);
1855 if (res != 0)
1856 {
1857 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1858 (void)mpu6050_deinit(&gs_handle);
1859
1860 return 1;
1861 }
1862 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1863
1864 /* set fifo gyroscope x disable */
1866 if (res != 0)
1867 {
1868 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1869 (void)mpu6050_deinit(&gs_handle);
1870
1871 return 1;
1872 }
1873 mpu6050_interface_debug_print("mpu6050: set fifo gyroscope x disable.\n");
1874 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_XG, &enable);
1875 if (res != 0)
1876 {
1877 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1878 (void)mpu6050_deinit(&gs_handle);
1879
1880 return 1;
1881 }
1882 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1883
1884 /* set fifo gyroscope y enable */
1886 if (res != 0)
1887 {
1888 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1889 (void)mpu6050_deinit(&gs_handle);
1890
1891 return 1;
1892 }
1893 mpu6050_interface_debug_print("mpu6050: set fifo gyroscope y enable.\n");
1894 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_YG, &enable);
1895 if (res != 0)
1896 {
1897 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1898 (void)mpu6050_deinit(&gs_handle);
1899
1900 return 1;
1901 }
1902 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1903
1904 /* set fifo gyroscope y disable */
1906 if (res != 0)
1907 {
1908 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1909 (void)mpu6050_deinit(&gs_handle);
1910
1911 return 1;
1912 }
1913 mpu6050_interface_debug_print("mpu6050: set fifo gyroscope y disable.\n");
1914 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_YG, &enable);
1915 if (res != 0)
1916 {
1917 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1918 (void)mpu6050_deinit(&gs_handle);
1919
1920 return 1;
1921 }
1922 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1923
1924 /* set fifo gyroscope z enable */
1926 if (res != 0)
1927 {
1928 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1929 (void)mpu6050_deinit(&gs_handle);
1930
1931 return 1;
1932 }
1933 mpu6050_interface_debug_print("mpu6050: set fifo gyroscope z enable.\n");
1934 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_ZG, &enable);
1935 if (res != 0)
1936 {
1937 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1938 (void)mpu6050_deinit(&gs_handle);
1939
1940 return 1;
1941 }
1942 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1943
1944 /* set fifo gyroscope z disable */
1946 if (res != 0)
1947 {
1948 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1949 (void)mpu6050_deinit(&gs_handle);
1950
1951 return 1;
1952 }
1953 mpu6050_interface_debug_print("mpu6050: set fifo gyroscope z disable.\n");
1954 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_ZG, &enable);
1955 if (res != 0)
1956 {
1957 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1958 (void)mpu6050_deinit(&gs_handle);
1959
1960 return 1;
1961 }
1962 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
1963
1964 /* set fifo accelerometer enable */
1966 if (res != 0)
1967 {
1968 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1969 (void)mpu6050_deinit(&gs_handle);
1970
1971 return 1;
1972 }
1973 mpu6050_interface_debug_print("mpu6050: set fifo accelerometer enable.\n");
1974 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_ACCEL, &enable);
1975 if (res != 0)
1976 {
1977 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1978 (void)mpu6050_deinit(&gs_handle);
1979
1980 return 1;
1981 }
1982 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
1983
1984 /* set fifo accelerometer disable */
1986 if (res != 0)
1987 {
1988 mpu6050_interface_debug_print("mpu6050: set fifo enable failed.\n");
1989 (void)mpu6050_deinit(&gs_handle);
1990
1991 return 1;
1992 }
1993 mpu6050_interface_debug_print("mpu6050: set fifo accelerometer disable.\n");
1994 res = mpu6050_get_fifo_enable(&gs_handle, MPU6050_FIFO_ACCEL, &enable);
1995 if (res != 0)
1996 {
1997 mpu6050_interface_debug_print("mpu6050: get fifo enable failed.\n");
1998 (void)mpu6050_deinit(&gs_handle);
1999
2000 return 1;
2001 }
2002 mpu6050_interface_debug_print("mpu6050: check fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2003
2004 /* mpu6050_set_interrupt_level/mpu6050_get_interrupt_level test */
2005 mpu6050_interface_debug_print("mpu6050: mpu6050_set_interrupt_level/mpu6050_get_interrupt_level test.\n");
2006
2007 /* high level */
2009 if (res != 0)
2010 {
2011 mpu6050_interface_debug_print("mpu6050: set interrupt level failed.\n");
2012 (void)mpu6050_deinit(&gs_handle);
2013
2014 return 1;
2015 }
2016 mpu6050_interface_debug_print("mpu6050: set interrupt high level.\n");
2017 res = mpu6050_get_interrupt_level(&gs_handle, &level);
2018 if (res != 0)
2019 {
2020 mpu6050_interface_debug_print("mpu6050: get interrupt level failed.\n");
2021 (void)mpu6050_deinit(&gs_handle);
2022
2023 return 1;
2024 }
2025 mpu6050_interface_debug_print("mpu6050: check interrupt level %s.\n", level == MPU6050_PIN_LEVEL_HIGH ? "ok" : "error");
2026
2027 /* low level */
2029 if (res != 0)
2030 {
2031 mpu6050_interface_debug_print("mpu6050: set interrupt level failed.\n");
2032 (void)mpu6050_deinit(&gs_handle);
2033
2034 return 1;
2035 }
2036 mpu6050_interface_debug_print("mpu6050: set interrupt low level.\n");
2037 res = mpu6050_get_interrupt_level(&gs_handle, &level);
2038 if (res != 0)
2039 {
2040 mpu6050_interface_debug_print("mpu6050: get interrupt level failed.\n");
2041 (void)mpu6050_deinit(&gs_handle);
2042
2043 return 1;
2044 }
2045 mpu6050_interface_debug_print("mpu6050: check interrupt level %s.\n", level == MPU6050_PIN_LEVEL_LOW ? "ok" : "error");
2046
2047 /* mpu6050_set_interrupt_pin_type/mpu6050_get_interrupt_pin_type test */
2048 mpu6050_interface_debug_print("mpu6050: mpu6050_set_interrupt_pin_type/mpu6050_get_interrupt_pin_type test.\n");
2049
2050 /* push-pull */
2052 if (res != 0)
2053 {
2054 mpu6050_interface_debug_print("mpu6050: set interrupt pin type failed.\n");
2055 (void)mpu6050_deinit(&gs_handle);
2056
2057 return 1;
2058 }
2059 mpu6050_interface_debug_print("mpu6050: set interrupt pin type push pull.\n");
2060 res = mpu6050_get_interrupt_pin_type(&gs_handle, &pin);
2061 if (res != 0)
2062 {
2063 mpu6050_interface_debug_print("mpu6050: get interrupt pin type failed.\n");
2064 (void)mpu6050_deinit(&gs_handle);
2065
2066 return 1;
2067 }
2068 mpu6050_interface_debug_print("mpu6050: check interrupt pin type %s.\n", pin == MPU6050_PIN_TYPE_PUSH_PULL ? "ok" : "error");
2069
2070 /* open drain */
2072 if (res != 0)
2073 {
2074 mpu6050_interface_debug_print("mpu6050: set interrupt pin type failed.\n");
2075 (void)mpu6050_deinit(&gs_handle);
2076
2077 return 1;
2078 }
2079 mpu6050_interface_debug_print("mpu6050: set interrupt pin type open drain.\n");
2080 res = mpu6050_get_interrupt_pin_type(&gs_handle, &pin);
2081 if (res != 0)
2082 {
2083 mpu6050_interface_debug_print("mpu6050: get interrupt pin type failed.\n");
2084 (void)mpu6050_deinit(&gs_handle);
2085
2086 return 1;
2087 }
2088 mpu6050_interface_debug_print("mpu6050: check interrupt pin type %s.\n", pin == MPU6050_PIN_TYPE_OPEN_DRAIN ? "ok" : "error");
2089
2090 /* mpu6050_set_interrupt_latch/mpu6050_get_interrupt_latch test */
2091 mpu6050_interface_debug_print("mpu6050: mpu6050_set_interrupt_latch/mpu6050_get_interrupt_latch test.\n");
2092
2093 /* enable latch */
2095 if (res != 0)
2096 {
2097 mpu6050_interface_debug_print("mpu6050: set interrupt latch failed.\n");
2098 (void)mpu6050_deinit(&gs_handle);
2099
2100 return 1;
2101 }
2102 mpu6050_interface_debug_print("mpu6050: enable interrupt latch.\n");
2103 res = mpu6050_get_interrupt_latch(&gs_handle, &enable);
2104 if (res != 0)
2105 {
2106 mpu6050_interface_debug_print("mpu6050: get interrupt latch failed.\n");
2107 (void)mpu6050_deinit(&gs_handle);
2108
2109 return 1;
2110 }
2111 mpu6050_interface_debug_print("mpu6050: check interrupt latch %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2112
2113 /* disable latch */
2115 if (res != 0)
2116 {
2117 mpu6050_interface_debug_print("mpu6050: set interrupt latch failed.\n");
2118 (void)mpu6050_deinit(&gs_handle);
2119
2120 return 1;
2121 }
2122 mpu6050_interface_debug_print("mpu6050: disable interrupt latch.\n");
2123 res = mpu6050_get_interrupt_latch(&gs_handle, &enable);
2124 if (res != 0)
2125 {
2126 mpu6050_interface_debug_print("mpu6050: get interrupt latch failed.\n");
2127 (void)mpu6050_deinit(&gs_handle);
2128
2129 return 1;
2130 }
2131 mpu6050_interface_debug_print("mpu6050: check interrupt latch %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2132
2133 /* mpu6050_set_interrupt_read_clear/mpu6050_get_interrupt_read_clear test */
2134 mpu6050_interface_debug_print("mpu6050: mpu6050_set_interrupt_read_clear/mpu6050_get_interrupt_read_clear test.\n");
2135
2136 /* enable interrupt read clear */
2138 if (res != 0)
2139 {
2140 mpu6050_interface_debug_print("mpu6050: set interrupt read clear failed.\n");
2141 (void)mpu6050_deinit(&gs_handle);
2142
2143 return 1;
2144 }
2145 mpu6050_interface_debug_print("mpu6050: enable interrupt read clear.\n");
2146 res = mpu6050_get_interrupt_read_clear(&gs_handle, &enable);
2147 if (res != 0)
2148 {
2149 mpu6050_interface_debug_print("mpu6050: get interrupt read clear failed.\n");
2150 (void)mpu6050_deinit(&gs_handle);
2151
2152 return 1;
2153 }
2154 mpu6050_interface_debug_print("mpu6050: check interrupt read clear %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2155
2156 /* disable interrupt read clear */
2158 if (res != 0)
2159 {
2160 mpu6050_interface_debug_print("mpu6050: set interrupt read clear failed.\n");
2161 (void)mpu6050_deinit(&gs_handle);
2162
2163 return 1;
2164 }
2165 mpu6050_interface_debug_print("mpu6050: disable interrupt read clear.\n");
2166 res = mpu6050_get_interrupt_read_clear(&gs_handle, &enable);
2167 if (res != 0)
2168 {
2169 mpu6050_interface_debug_print("mpu6050: get interrupt read clear failed.\n");
2170 (void)mpu6050_deinit(&gs_handle);
2171
2172 return 1;
2173 }
2174 mpu6050_interface_debug_print("mpu6050: check interrupt read clear %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2175
2176 /* mpu6050_set_fsync_interrupt_level/mpu6050_get_fsync_interrupt_level test */
2177 mpu6050_interface_debug_print("mpu6050: mpu6050_set_fsync_interrupt_level/mpu6050_get_fsync_interrupt_level test.\n");
2178
2179 /* set fsync interrupt level high */
2181 if (res != 0)
2182 {
2183 mpu6050_interface_debug_print("mpu6050: set fsync interrupt level failed.\n");
2184 (void)mpu6050_deinit(&gs_handle);
2185
2186 return 1;
2187 }
2188 mpu6050_interface_debug_print("mpu6050: set fsync interrupt level high.\n");
2189 res = mpu6050_get_fsync_interrupt_level(&gs_handle, &level);
2190 if (res != 0)
2191 {
2192 mpu6050_interface_debug_print("mpu6050: get fsync interrupt level failed.\n");
2193 (void)mpu6050_deinit(&gs_handle);
2194
2195 return 1;
2196 }
2197 mpu6050_interface_debug_print("mpu6050: check fsync interrupt level %s.\n", level == MPU6050_PIN_LEVEL_HIGH ? "ok" : "error");
2198
2199 /* set fsync interrupt level low */
2201 if (res != 0)
2202 {
2203 mpu6050_interface_debug_print("mpu6050: set fsync interrupt level failed.\n");
2204 (void)mpu6050_deinit(&gs_handle);
2205
2206 return 1;
2207 }
2208 mpu6050_interface_debug_print("mpu6050: set fsync interrupt level low.\n");
2209 res = mpu6050_get_fsync_interrupt_level(&gs_handle, &level);
2210 if (res != 0)
2211 {
2212 mpu6050_interface_debug_print("mpu6050: get fsync interrupt level failed.\n");
2213 (void)mpu6050_deinit(&gs_handle);
2214
2215 return 1;
2216 }
2217 mpu6050_interface_debug_print("mpu6050: check fsync interrupt level %s.\n", level == MPU6050_PIN_LEVEL_LOW ? "ok" : "error");
2218
2219 /* mpu6050_set_fsync_interrupt/mpu6050_get_fsync_interrupt test */
2220 mpu6050_interface_debug_print("mpu6050: mpu6050_set_fsync_interrupt/mpu6050_get_fsync_interrupt test.\n");
2221
2222 /* enable fsync interrupt */
2224 if (res != 0)
2225 {
2226 mpu6050_interface_debug_print("mpu6050: set fsync interrupt failed.\n");
2227 (void)mpu6050_deinit(&gs_handle);
2228
2229 return 1;
2230 }
2231 mpu6050_interface_debug_print("mpu6050: enable fsync interrupt.\n");
2232 res = mpu6050_get_fsync_interrupt(&gs_handle, &enable);
2233 if (res != 0)
2234 {
2235 mpu6050_interface_debug_print("mpu6050: get fsync interrupt failed.\n");
2236 (void)mpu6050_deinit(&gs_handle);
2237
2238 return 1;
2239 }
2240 mpu6050_interface_debug_print("mpu6050: check fsync interrupt %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2241
2242 /* disable fsync interrupt */
2244 if (res != 0)
2245 {
2246 mpu6050_interface_debug_print("mpu6050: set fsync interrupt failed.\n");
2247 (void)mpu6050_deinit(&gs_handle);
2248
2249 return 1;
2250 }
2251 mpu6050_interface_debug_print("mpu6050: disable fsync interrupt.\n");
2252 res = mpu6050_get_fsync_interrupt(&gs_handle, &enable);
2253 if (res != 0)
2254 {
2255 mpu6050_interface_debug_print("mpu6050: get fsync interrupt failed.\n");
2256 (void)mpu6050_deinit(&gs_handle);
2257
2258 return 1;
2259 }
2260 mpu6050_interface_debug_print("mpu6050: check fsync interrupt %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2261
2262 /* mpu6050_set_iic_bypass/mpu6050_get_iic_bypass test */
2263 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_bypass/mpu6050_get_iic_bypass test.\n");
2264
2265 /* enable iic bypass */
2266 res = mpu6050_set_iic_bypass(&gs_handle, MPU6050_BOOL_TRUE);
2267 if (res != 0)
2268 {
2269 mpu6050_interface_debug_print("mpu6050: set iic bypass failed.\n");
2270 (void)mpu6050_deinit(&gs_handle);
2271
2272 return 1;
2273 }
2274 mpu6050_interface_debug_print("mpu6050: enable iic bypass.\n");
2275 res = mpu6050_get_iic_bypass(&gs_handle, &enable);
2276 if (res != 0)
2277 {
2278 mpu6050_interface_debug_print("mpu6050: get iic bypass failed.\n");
2279 (void)mpu6050_deinit(&gs_handle);
2280
2281 return 1;
2282 }
2283 mpu6050_interface_debug_print("mpu6050: check iic bypass %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2284
2285 /* disable iic bypass */
2286 res = mpu6050_set_iic_bypass(&gs_handle, MPU6050_BOOL_FALSE);
2287 if (res != 0)
2288 {
2289 mpu6050_interface_debug_print("mpu6050: set iic bypass failed.\n");
2290 (void)mpu6050_deinit(&gs_handle);
2291
2292 return 1;
2293 }
2294 mpu6050_interface_debug_print("mpu6050: disable iic bypass.\n");
2295 res = mpu6050_get_iic_bypass(&gs_handle, &enable);
2296 if (res != 0)
2297 {
2298 mpu6050_interface_debug_print("mpu6050: get iic bypass failed.\n");
2299 (void)mpu6050_deinit(&gs_handle);
2300
2301 return 1;
2302 }
2303 mpu6050_interface_debug_print("mpu6050: check iic bypass %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2304
2305 /* mpu6050_set_interrupt/mpu6050_get_interrupt test */
2306 mpu6050_interface_debug_print("mpu6050: mpu6050_set_interrupt/mpu6050_get_interrupt test.\n");
2307
2308 /* enable motion interrupt */
2310 if (res != 0)
2311 {
2312 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2313 (void)mpu6050_deinit(&gs_handle);
2314
2315 return 1;
2316 }
2317 mpu6050_interface_debug_print("mpu6050: enable motion interrupt.\n");
2318 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_MOTION, &enable);
2319 if (res != 0)
2320 {
2321 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2322 (void)mpu6050_deinit(&gs_handle);
2323
2324 return 1;
2325 }
2326 mpu6050_interface_debug_print("mpu6050: check motion interrupt %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2327
2328 /* disable motion interrupt */
2330 if (res != 0)
2331 {
2332 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2333 (void)mpu6050_deinit(&gs_handle);
2334
2335 return 1;
2336 }
2337 mpu6050_interface_debug_print("mpu6050: disable motion interrupt.\n");
2338 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_MOTION, &enable);
2339 if (res != 0)
2340 {
2341 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2342 (void)mpu6050_deinit(&gs_handle);
2343
2344 return 1;
2345 }
2346 mpu6050_interface_debug_print("mpu6050: check motion interrupt %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2347
2348 /* enable fifo overflow interrupt */
2350 if (res != 0)
2351 {
2352 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2353 (void)mpu6050_deinit(&gs_handle);
2354
2355 return 1;
2356 }
2357 mpu6050_interface_debug_print("mpu6050: enable fifo overflow interrupt.\n");
2358 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_FIFO_OVERFLOW, &enable);
2359 if (res != 0)
2360 {
2361 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2362 (void)mpu6050_deinit(&gs_handle);
2363
2364 return 1;
2365 }
2366 mpu6050_interface_debug_print("mpu6050: check fifo overflow interrupt %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2367
2368 /* disable fifo overflow interrupt */
2370 if (res != 0)
2371 {
2372 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2373 (void)mpu6050_deinit(&gs_handle);
2374
2375 return 1;
2376 }
2377 mpu6050_interface_debug_print("mpu6050: disable fifo overflow interrupt.\n");
2378 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_FIFO_OVERFLOW, &enable);
2379 if (res != 0)
2380 {
2381 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2382 (void)mpu6050_deinit(&gs_handle);
2383
2384 return 1;
2385 }
2386 mpu6050_interface_debug_print("mpu6050: check fifo overflow interrupt %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2387
2388 /* enable dmp interrupt */
2390 if (res != 0)
2391 {
2392 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2393 (void)mpu6050_deinit(&gs_handle);
2394
2395 return 1;
2396 }
2397 mpu6050_interface_debug_print("mpu6050: enable dmp interrupt.\n");
2398 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_DMP, &enable);
2399 if (res != 0)
2400 {
2401 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2402 (void)mpu6050_deinit(&gs_handle);
2403
2404 return 1;
2405 }
2406 mpu6050_interface_debug_print("mpu6050: check dmp interrupt %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2407
2408 /* disable dmp interrupt */
2410 if (res != 0)
2411 {
2412 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2413 (void)mpu6050_deinit(&gs_handle);
2414
2415 return 1;
2416 }
2417 mpu6050_interface_debug_print("mpu6050: disable dmp interrupt.\n");
2418 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_DMP, &enable);
2419 if (res != 0)
2420 {
2421 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2422 (void)mpu6050_deinit(&gs_handle);
2423
2424 return 1;
2425 }
2426 mpu6050_interface_debug_print("mpu6050: check dmp interrupt %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2427
2428 /* enable i2c master interrupt */
2430 if (res != 0)
2431 {
2432 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2433 (void)mpu6050_deinit(&gs_handle);
2434
2435 return 1;
2436 }
2437 mpu6050_interface_debug_print("mpu6050: enable i2c master interrupt.\n");
2438 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_I2C_MAST, &enable);
2439 if (res != 0)
2440 {
2441 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2442 (void)mpu6050_deinit(&gs_handle);
2443
2444 return 1;
2445 }
2446 mpu6050_interface_debug_print("mpu6050: check i2c master interrupt %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2447
2448 /* disable i2c master interrupt */
2450 if (res != 0)
2451 {
2452 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2453 (void)mpu6050_deinit(&gs_handle);
2454
2455 return 1;
2456 }
2457 mpu6050_interface_debug_print("mpu6050: disable i2c master interrupt.\n");
2458 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_I2C_MAST, &enable);
2459 if (res != 0)
2460 {
2461 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2462 (void)mpu6050_deinit(&gs_handle);
2463
2464 return 1;
2465 }
2466 mpu6050_interface_debug_print("mpu6050: check i2c master interrupt %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2467
2468 /* enable data ready interrupt */
2470 if (res != 0)
2471 {
2472 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2473 (void)mpu6050_deinit(&gs_handle);
2474
2475 return 1;
2476 }
2477 mpu6050_interface_debug_print("mpu6050: enable data ready interrupt.\n");
2478 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_DATA_READY, &enable);
2479 if (res != 0)
2480 {
2481 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2482 (void)mpu6050_deinit(&gs_handle);
2483
2484 return 1;
2485 }
2486 mpu6050_interface_debug_print("mpu6050: check data ready interrupt %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
2487
2488 /* disable data ready interrupt */
2490 if (res != 0)
2491 {
2492 mpu6050_interface_debug_print("mpu6050: set interrupt failed.\n");
2493 (void)mpu6050_deinit(&gs_handle);
2494
2495 return 1;
2496 }
2497 mpu6050_interface_debug_print("mpu6050: disable data ready interrupt.\n");
2498 res = mpu6050_get_interrupt(&gs_handle, MPU6050_INTERRUPT_DATA_READY, &enable);
2499 if (res != 0)
2500 {
2501 mpu6050_interface_debug_print("mpu6050: get interrupt failed.\n");
2502 (void)mpu6050_deinit(&gs_handle);
2503
2504 return 1;
2505 }
2506 mpu6050_interface_debug_print("mpu6050: check data ready interrupt %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
2507
2508 /* mpu6050_get_interrupt_status test */
2509 mpu6050_interface_debug_print("mpu6050: mpu6050_get_interrupt_status test.\n");
2510
2511 /* get interrupt status */
2512 res = mpu6050_get_interrupt_status(&gs_handle, &status);
2513 if (res != 0)
2514 {
2515 mpu6050_interface_debug_print("mpu6050: get interrupt status failed.\n");
2516 (void)mpu6050_deinit(&gs_handle);
2517
2518 return 1;
2519 }
2520 mpu6050_interface_debug_print("mpu6050: get interrupt status 0x%02x.\n", status);
2521
2522 /* mpu6050_set_gyroscope_x_test/mpu6050_get_gyroscope_x_test test */
2523 mpu6050_interface_debug_print("mpu6050: mpu6050_set_gyroscope_x_test/mpu6050_get_gyroscope_x_test test.\n");
2524
2525 test = rand() % 0x20;
2526 res = mpu6050_set_gyroscope_x_test(&gs_handle, test);
2527 if (res != 0)
2528 {
2529 mpu6050_interface_debug_print("mpu6050: set gyroscope x test failed.\n");
2530 (void)mpu6050_deinit(&gs_handle);
2531
2532 return 1;
2533 }
2534 mpu6050_interface_debug_print("mpu6050: set gyroscope x test 0x%02X.\n", test);
2535 res = mpu6050_get_gyroscope_x_test(&gs_handle, &test_check);
2536 if (res != 0)
2537 {
2538 mpu6050_interface_debug_print("mpu6050: get gyroscope x test failed.\n");
2539 (void)mpu6050_deinit(&gs_handle);
2540
2541 return 1;
2542 }
2543 mpu6050_interface_debug_print("mpu6050: check gyroscope x test %s.\n", test == test_check ? "ok" : "error");
2544
2545 /* mpu6050_set_gyroscope_y_test/mpu6050_get_gyroscope_y_test test */
2546 mpu6050_interface_debug_print("mpu6050: mpu6050_set_gyroscope_y_test/mpu6050_get_gyroscope_y_test test.\n");
2547
2548 test = rand() % 0x20;
2549 res = mpu6050_set_gyroscope_y_test(&gs_handle, test);
2550 if (res != 0)
2551 {
2552 mpu6050_interface_debug_print("mpu6050: set gyroscope y test failed.\n");
2553 (void)mpu6050_deinit(&gs_handle);
2554
2555 return 1;
2556 }
2557 mpu6050_interface_debug_print("mpu6050: set gyroscope y test 0x%02X.\n", test);
2558 res = mpu6050_get_gyroscope_y_test(&gs_handle, &test_check);
2559 if (res != 0)
2560 {
2561 mpu6050_interface_debug_print("mpu6050: get gyroscope y test failed.\n");
2562 (void)mpu6050_deinit(&gs_handle);
2563
2564 return 1;
2565 }
2566 mpu6050_interface_debug_print("mpu6050: check gyroscope y test %s.\n", test == test_check ? "ok" : "error");
2567
2568 /* mpu6050_set_gyroscope_z_test/mpu6050_get_gyroscope_z_test test */
2569 mpu6050_interface_debug_print("mpu6050: mpu6050_set_gyroscope_z_test/mpu6050_get_gyroscope_z_test test.\n");
2570
2571 test = rand() % 0x20;
2572 res = mpu6050_set_gyroscope_z_test(&gs_handle, test);
2573 if (res != 0)
2574 {
2575 mpu6050_interface_debug_print("mpu6050: set gyroscope z test failed.\n");
2576 (void)mpu6050_deinit(&gs_handle);
2577
2578 return 1;
2579 }
2580 mpu6050_interface_debug_print("mpu6050: set gyroscope z test 0x%02X.\n", test);
2581 res = mpu6050_get_gyroscope_z_test(&gs_handle, &test_check);
2582 if (res != 0)
2583 {
2584 mpu6050_interface_debug_print("mpu6050: get gyroscope z test failed.\n");
2585 (void)mpu6050_deinit(&gs_handle);
2586
2587 return 1;
2588 }
2589 mpu6050_interface_debug_print("mpu6050: check gyroscope z test %s.\n", test == test_check ? "ok" : "error");
2590
2591 /* mpu6050_set_accelerometer_x_test/mpu6050_get_accelerometer_x_test test */
2592 mpu6050_interface_debug_print("mpu6050: mpu6050_set_accelerometer_x_test/mpu6050_get_accelerometer_x_test test.\n");
2593
2594 test = rand() % 0x20;
2595 res = mpu6050_set_accelerometer_x_test(&gs_handle, test);
2596 if (res != 0)
2597 {
2598 mpu6050_interface_debug_print("mpu6050: set accelerometer x test failed.\n");
2599 (void)mpu6050_deinit(&gs_handle);
2600
2601 return 1;
2602 }
2603 mpu6050_interface_debug_print("mpu6050: set accelerometer x test 0x%02X.\n", test);
2604 res = mpu6050_get_accelerometer_x_test(&gs_handle, &test_check);
2605 if (res != 0)
2606 {
2607 mpu6050_interface_debug_print("mpu6050: get accelerometer x test failed.\n");
2608 (void)mpu6050_deinit(&gs_handle);
2609
2610 return 1;
2611 }
2612 mpu6050_interface_debug_print("mpu6050: check accelerometer x test %s.\n", test == test_check ? "ok" : "error");
2613
2614 /* mpu6050_set_accelerometer_y_test/mpu6050_get_accelerometer_y_test test */
2615 mpu6050_interface_debug_print("mpu6050: mpu6050_set_accelerometer_y_test/mpu6050_get_accelerometer_y_test test.\n");
2616
2617 test = rand() % 0x20;
2618 res = mpu6050_set_accelerometer_y_test(&gs_handle, test);
2619 if (res != 0)
2620 {
2621 mpu6050_interface_debug_print("mpu6050: set accelerometer y test failed.\n");
2622 (void)mpu6050_deinit(&gs_handle);
2623
2624 return 1;
2625 }
2626 mpu6050_interface_debug_print("mpu6050: set accelerometer y test 0x%02X.\n", test);
2627 res = mpu6050_get_accelerometer_y_test(&gs_handle, &test_check);
2628 if (res != 0)
2629 {
2630 mpu6050_interface_debug_print("mpu6050: get accelerometer y test failed.\n");
2631 (void)mpu6050_deinit(&gs_handle);
2632
2633 return 1;
2634 }
2635 mpu6050_interface_debug_print("mpu6050: check accelerometer y test %s.\n", test == test_check ? "ok" : "error");
2636
2637 /* mpu6050_set_accelerometer_z_test/mpu6050_get_accelerometer_z_test test */
2638 mpu6050_interface_debug_print("mpu6050: mpu6050_set_accelerometer_z_test/mpu6050_get_accelerometer_z_test test.\n");
2639
2640 test = rand() % 0x20;
2641 res = mpu6050_set_accelerometer_z_test(&gs_handle, test);
2642 if (res != 0)
2643 {
2644 mpu6050_interface_debug_print("mpu6050: set accelerometer z test failed.\n");
2645 (void)mpu6050_deinit(&gs_handle);
2646
2647 return 1;
2648 }
2649 mpu6050_interface_debug_print("mpu6050: set accelerometer z test 0x%02X.\n", test);
2650 res = mpu6050_get_accelerometer_z_test(&gs_handle, &test_check);
2651 if (res != 0)
2652 {
2653 mpu6050_interface_debug_print("mpu6050: get accelerometer z test failed.\n");
2654 (void)mpu6050_deinit(&gs_handle);
2655
2656 return 1;
2657 }
2658 mpu6050_interface_debug_print("mpu6050: check accelerometer z test %s.\n", test == test_check ? "ok" : "error");
2659
2660 /* mpu6050_set_motion_threshold/mpu6050_get_motion_threshold test */
2661 mpu6050_interface_debug_print("mpu6050: mpu6050_set_motion_threshold/mpu6050_get_motion_threshold test.\n");
2662
2663 test = rand() % 256;
2664 res = mpu6050_set_motion_threshold(&gs_handle, test);
2665 if (res != 0)
2666 {
2667 mpu6050_interface_debug_print("mpu6050: set motion threshold failed.\n");
2668 (void)mpu6050_deinit(&gs_handle);
2669
2670 return 1;
2671 }
2672 mpu6050_interface_debug_print("mpu6050: set motion threshold 0x%02X.\n", test);
2673 res = mpu6050_get_motion_threshold(&gs_handle, &test_check);
2674 if (res != 0)
2675 {
2676 mpu6050_interface_debug_print("mpu6050: get motion threshold failed.\n");
2677 (void)mpu6050_deinit(&gs_handle);
2678
2679 return 1;
2680 }
2681 mpu6050_interface_debug_print("mpu6050: check motion threshold %s.\n", test == test_check ? "ok" : "error");
2682
2683 /* mpu6050_motion_threshold_convert_to_register/mpu6050_motion_threshold_convert_to_data test */
2684 mpu6050_interface_debug_print("mpu6050: mpu6050_motion_threshold_convert_to_register/mpu6050_motion_threshold_convert_to_data test.\n");
2685
2686 test_f = (rand() % 10000) / 10.0f + 32.0f;
2687 res = mpu6050_motion_threshold_convert_to_register(&gs_handle, test_f, &reg);
2688 if (res != 0)
2689 {
2690 mpu6050_interface_debug_print("mpu6050: motion threshold convert to register failed.\n");
2691 (void)mpu6050_deinit(&gs_handle);
2692
2693 return 1;
2694 }
2695 mpu6050_interface_debug_print("mpu6050: motion threshold convert to register %0.2f.\n", test_f);
2696 res = mpu6050_motion_threshold_convert_to_data(&gs_handle, reg, &test_check_f);
2697 if (res != 0)
2698 {
2699 mpu6050_interface_debug_print("mpu6050: motion threshold convert to data failed.\n");
2700 (void)mpu6050_deinit(&gs_handle);
2701
2702 return 1;
2703 }
2704 mpu6050_interface_debug_print("mpu6050: check motion threshold %0.2f.\n", test_check_f);
2705
2706 /* mpu6050_set_motion_duration/mpu6050_get_motion_duration test */
2707 mpu6050_interface_debug_print("mpu6050: mpu6050_set_motion_duration/mpu6050_get_motion_duration test.\n");
2708
2709 test = rand() % 256;
2710 res = mpu6050_set_motion_duration(&gs_handle, test);
2711 if (res != 0)
2712 {
2713 mpu6050_interface_debug_print("mpu6050: set motion duration failed.\n");
2714 (void)mpu6050_deinit(&gs_handle);
2715
2716 return 1;
2717 }
2718 mpu6050_interface_debug_print("mpu6050: set motion duration 0x%02X.\n", test);
2719 res = mpu6050_get_motion_duration(&gs_handle, &test_check);
2720 if (res != 0)
2721 {
2722 mpu6050_interface_debug_print("mpu6050: get motion duration failed.\n");
2723 (void)mpu6050_deinit(&gs_handle);
2724
2725 return 1;
2726 }
2727 mpu6050_interface_debug_print("mpu6050: check motion duration %s.\n", test == test_check ? "ok" : "error");
2728
2729 /* mpu6050_motion_duration_convert_to_register/mpu6050_motion_duration_convert_to_data test */
2730 mpu6050_interface_debug_print("mpu6050: mpu6050_motion_duration_convert_to_register/mpu6050_motion_duration_convert_to_data test.\n");
2731
2732 test = rand() % 256;
2733 res = mpu6050_motion_duration_convert_to_register(&gs_handle, test, &reg);
2734 if (res != 0)
2735 {
2736 mpu6050_interface_debug_print("mpu6050: motion duration convert to register failed.\n");
2737 (void)mpu6050_deinit(&gs_handle);
2738
2739 return 1;
2740 }
2741 mpu6050_interface_debug_print("mpu6050: set motion duration 0x%02X.\n", test);
2742 res = mpu6050_motion_duration_convert_to_data(&gs_handle, reg, &test_check);
2743 if (res != 0)
2744 {
2745 mpu6050_interface_debug_print("mpu6050: motion duration convert to data failed.\n");
2746 (void)mpu6050_deinit(&gs_handle);
2747
2748 return 1;
2749 }
2750 mpu6050_interface_debug_print("mpu6050: check motion duration 0x%02X.\n", test_check);
2751
2752 /* mpu6050_set_force_accel_sample test */
2753 mpu6050_interface_debug_print("mpu6050: mpu6050_set_force_accel_sample test.\n");
2754
2755 /* enable force accel sample */
2757 if (res != 0)
2758 {
2759 mpu6050_interface_debug_print("mpu6050: set force accel sample failed.\n");
2760 (void)mpu6050_deinit(&gs_handle);
2761
2762 return 1;
2763 }
2764 mpu6050_interface_debug_print("mpu6050: enable force accel sample.\n");
2765 mpu6050_interface_debug_print("mpu6050: check force accel sample %s.\n", res == 0 ? "ok" : "error");
2766
2767 /* disable force accel sample */
2769 if (res != 0)
2770 {
2771 mpu6050_interface_debug_print("mpu6050: set force accel sample failed.\n");
2772 (void)mpu6050_deinit(&gs_handle);
2773
2774 return 1;
2775 }
2776 mpu6050_interface_debug_print("mpu6050: disable force accel sample.\n");
2777 mpu6050_interface_debug_print("mpu6050: check force accel sample %s.\n", res == 0 ? "ok" : "error");
2778
2779 /* mpu6050_set_iic_clock/mpu6050_get_iic_clock test */
2780 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_clock/mpu6050_get_iic_clock test.\n");
2781
2782 /* 348 kHz */
2784 if (res != 0)
2785 {
2786 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2787 (void)mpu6050_deinit(&gs_handle);
2788
2789 return 1;
2790 }
2791 mpu6050_interface_debug_print("mpu6050: set iic clock 348 kHz.\n");
2792 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2793 if (res != 0)
2794 {
2795 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2796 (void)mpu6050_deinit(&gs_handle);
2797
2798 return 1;
2799 }
2800 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_348_KHZ ? "ok" : "error");
2801
2802 /* 333 kHz */
2804 if (res != 0)
2805 {
2806 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2807 (void)mpu6050_deinit(&gs_handle);
2808
2809 return 1;
2810 }
2811 mpu6050_interface_debug_print("mpu6050: set iic clock 333 kHz.\n");
2812 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2813 if (res != 0)
2814 {
2815 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2816 (void)mpu6050_deinit(&gs_handle);
2817
2818 return 1;
2819 }
2820 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_333_KHZ ? "ok" : "error");
2821
2822 /* 320 kHz */
2824 if (res != 0)
2825 {
2826 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2827 (void)mpu6050_deinit(&gs_handle);
2828
2829 return 1;
2830 }
2831 mpu6050_interface_debug_print("mpu6050: set iic clock 320 kHz.\n");
2832 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2833 if (res != 0)
2834 {
2835 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2836 (void)mpu6050_deinit(&gs_handle);
2837
2838 return 1;
2839 }
2840 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_320_KHZ ? "ok" : "error");
2841
2842 /* 308 kHz */
2844 if (res != 0)
2845 {
2846 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2847 (void)mpu6050_deinit(&gs_handle);
2848
2849 return 1;
2850 }
2851 mpu6050_interface_debug_print("mpu6050: set iic clock 308 kHz.\n");
2852 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2853 if (res != 0)
2854 {
2855 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2856 (void)mpu6050_deinit(&gs_handle);
2857
2858 return 1;
2859 }
2860 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_308_KHZ ? "ok" : "error");
2861
2862 /* 296 kHz */
2864 if (res != 0)
2865 {
2866 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2867 (void)mpu6050_deinit(&gs_handle);
2868
2869 return 1;
2870 }
2871 mpu6050_interface_debug_print("mpu6050: set iic clock 296 kHz.\n");
2872 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2873 if (res != 0)
2874 {
2875 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2876 (void)mpu6050_deinit(&gs_handle);
2877
2878 return 1;
2879 }
2880 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_296_KHZ ? "ok" : "error");
2881
2882 /* 286 kHz */
2884 if (res != 0)
2885 {
2886 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2887 (void)mpu6050_deinit(&gs_handle);
2888
2889 return 1;
2890 }
2891 mpu6050_interface_debug_print("mpu6050: set iic clock 286 kHz.\n");
2892 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2893 if (res != 0)
2894 {
2895 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2896 (void)mpu6050_deinit(&gs_handle);
2897
2898 return 1;
2899 }
2900 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_286_KHZ ? "ok" : "error");
2901
2902 /* 276 kHz */
2904 if (res != 0)
2905 {
2906 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2907 (void)mpu6050_deinit(&gs_handle);
2908
2909 return 1;
2910 }
2911 mpu6050_interface_debug_print("mpu6050: set iic clock 276 kHz.\n");
2912 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2913 if (res != 0)
2914 {
2915 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2916 (void)mpu6050_deinit(&gs_handle);
2917
2918 return 1;
2919 }
2920 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_276_KHZ ? "ok" : "error");
2921
2922 /* 267 kHz */
2924 if (res != 0)
2925 {
2926 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2927 (void)mpu6050_deinit(&gs_handle);
2928
2929 return 1;
2930 }
2931 mpu6050_interface_debug_print("mpu6050: set iic clock 267 kHz.\n");
2932 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2933 if (res != 0)
2934 {
2935 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2936 (void)mpu6050_deinit(&gs_handle);
2937
2938 return 1;
2939 }
2940 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_267_KHZ ? "ok" : "error");
2941
2942 /* 258 kHz */
2944 if (res != 0)
2945 {
2946 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2947 (void)mpu6050_deinit(&gs_handle);
2948
2949 return 1;
2950 }
2951 mpu6050_interface_debug_print("mpu6050: set iic clock 258 kHz.\n");
2952 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2953 if (res != 0)
2954 {
2955 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2956 (void)mpu6050_deinit(&gs_handle);
2957
2958 return 1;
2959 }
2960 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_258_KHZ ? "ok" : "error");
2961
2962 /* 500 kHz */
2964 if (res != 0)
2965 {
2966 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2967 (void)mpu6050_deinit(&gs_handle);
2968
2969 return 1;
2970 }
2971 mpu6050_interface_debug_print("mpu6050: set iic clock 500 kHz.\n");
2972 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2973 if (res != 0)
2974 {
2975 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2976 (void)mpu6050_deinit(&gs_handle);
2977
2978 return 1;
2979 }
2980 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_500_KHZ ? "ok" : "error");
2981
2982 /* 471 kHz */
2984 if (res != 0)
2985 {
2986 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
2987 (void)mpu6050_deinit(&gs_handle);
2988
2989 return 1;
2990 }
2991 mpu6050_interface_debug_print("mpu6050: set iic clock 471 kHz.\n");
2992 res = mpu6050_get_iic_clock(&gs_handle, &clk);
2993 if (res != 0)
2994 {
2995 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
2996 (void)mpu6050_deinit(&gs_handle);
2997
2998 return 1;
2999 }
3000 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_471_KHZ ? "ok" : "error");
3001
3002 /* 444 kHz */
3004 if (res != 0)
3005 {
3006 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
3007 (void)mpu6050_deinit(&gs_handle);
3008
3009 return 1;
3010 }
3011 mpu6050_interface_debug_print("mpu6050: set iic clock 444 kHz.\n");
3012 res = mpu6050_get_iic_clock(&gs_handle, &clk);
3013 if (res != 0)
3014 {
3015 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
3016 (void)mpu6050_deinit(&gs_handle);
3017
3018 return 1;
3019 }
3020 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_444_KHZ ? "ok" : "error");
3021
3022 /* 421 kHz */
3024 if (res != 0)
3025 {
3026 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
3027 (void)mpu6050_deinit(&gs_handle);
3028
3029 return 1;
3030 }
3031 mpu6050_interface_debug_print("mpu6050: set iic clock 421 kHz.\n");
3032 res = mpu6050_get_iic_clock(&gs_handle, &clk);
3033 if (res != 0)
3034 {
3035 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
3036 (void)mpu6050_deinit(&gs_handle);
3037
3038 return 1;
3039 }
3040 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_421_KHZ ? "ok" : "error");
3041
3042 /* 400 kHz */
3044 if (res != 0)
3045 {
3046 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
3047 (void)mpu6050_deinit(&gs_handle);
3048
3049 return 1;
3050 }
3051 mpu6050_interface_debug_print("mpu6050: set iic clock 400 kHz.\n");
3052 res = mpu6050_get_iic_clock(&gs_handle, &clk);
3053 if (res != 0)
3054 {
3055 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
3056 (void)mpu6050_deinit(&gs_handle);
3057
3058 return 1;
3059 }
3060 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_400_KHZ ? "ok" : "error");
3061
3062 /* 381 kHz */
3064 if (res != 0)
3065 {
3066 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
3067 (void)mpu6050_deinit(&gs_handle);
3068
3069 return 1;
3070 }
3071 mpu6050_interface_debug_print("mpu6050: set iic clock 381 kHz.\n");
3072 res = mpu6050_get_iic_clock(&gs_handle, &clk);
3073 if (res != 0)
3074 {
3075 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
3076 (void)mpu6050_deinit(&gs_handle);
3077
3078 return 1;
3079 }
3080 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_381_KHZ ? "ok" : "error");
3081
3082 /* 364 kHz */
3084 if (res != 0)
3085 {
3086 mpu6050_interface_debug_print("mpu6050: set iic clock failed.\n");
3087 (void)mpu6050_deinit(&gs_handle);
3088
3089 return 1;
3090 }
3091 mpu6050_interface_debug_print("mpu6050: set iic clock 364 kHz.\n");
3092 res = mpu6050_get_iic_clock(&gs_handle, &clk);
3093 if (res != 0)
3094 {
3095 mpu6050_interface_debug_print("mpu6050: get iic clock failed.\n");
3096 (void)mpu6050_deinit(&gs_handle);
3097
3098 return 1;
3099 }
3100 mpu6050_interface_debug_print("mpu6050: check iic clock %s.\n", clk == MPU6050_IIC_CLOCK_364_KHZ ? "ok" : "error");
3101
3102 /* mpu6050_set_iic_multi_master/mpu6050_get_iic_multi_master test */
3103 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_multi_master/mpu6050_get_iic_multi_master test.\n");
3104
3105 /* enable multi master */
3107 if (res != 0)
3108 {
3109 mpu6050_interface_debug_print("mpu6050: set iic multi master failed.\n");
3110 (void)mpu6050_deinit(&gs_handle);
3111
3112 return 1;
3113 }
3114 mpu6050_interface_debug_print("mpu6050: enable iic multi master.\n");
3115 res = mpu6050_get_iic_multi_master(&gs_handle, &enable);
3116 if (res != 0)
3117 {
3118 mpu6050_interface_debug_print("mpu6050: get iic multi master failed.\n");
3119 (void)mpu6050_deinit(&gs_handle);
3120
3121 return 1;
3122 }
3123 mpu6050_interface_debug_print("mpu6050: check iic multi master %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3124
3125 /* disable multi master */
3127 if (res != 0)
3128 {
3129 mpu6050_interface_debug_print("mpu6050: set iic multi master failed.\n");
3130 (void)mpu6050_deinit(&gs_handle);
3131
3132 return 1;
3133 }
3134 mpu6050_interface_debug_print("mpu6050: disable iic multi master.\n");
3135 res = mpu6050_get_iic_multi_master(&gs_handle, &enable);
3136 if (res != 0)
3137 {
3138 mpu6050_interface_debug_print("mpu6050: get iic multi master failed.\n");
3139 (void)mpu6050_deinit(&gs_handle);
3140
3141 return 1;
3142 }
3143 mpu6050_interface_debug_print("mpu6050: check iic multi master %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3144
3145 /* mpu6050_set_iic_wait_for_external_sensor/mpu6050_get_iic_wait_for_external_sensor test */
3146 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_wait_for_external_sensor/mpu6050_get_iic_wait_for_external_sensor test.\n");
3147
3148 /* enable iic wait for external sensor */
3150 if (res != 0)
3151 {
3152 mpu6050_interface_debug_print("mpu6050: set iic wait for external sensor failed.\n");
3153 (void)mpu6050_deinit(&gs_handle);
3154
3155 return 1;
3156 }
3157 mpu6050_interface_debug_print("mpu6050: enable iic wait for external sensor.\n");
3158 res = mpu6050_get_iic_wait_for_external_sensor(&gs_handle, &enable);
3159 if (res != 0)
3160 {
3161 mpu6050_interface_debug_print("mpu6050: get iic wait for external sensor failed.\n");
3162 (void)mpu6050_deinit(&gs_handle);
3163
3164 return 1;
3165 }
3166 mpu6050_interface_debug_print("mpu6050: check iic wait for external sensor %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3167
3168 /* disable iic wait for external sensor */
3170 if (res != 0)
3171 {
3172 mpu6050_interface_debug_print("mpu6050: set iic wait for external sensor failed.\n");
3173 (void)mpu6050_deinit(&gs_handle);
3174
3175 return 1;
3176 }
3177 mpu6050_interface_debug_print("mpu6050: disable iic wait for external sensor.\n");
3178 res = mpu6050_get_iic_wait_for_external_sensor(&gs_handle, &enable);
3179 if (res != 0)
3180 {
3181 mpu6050_interface_debug_print("mpu6050: get iic wait for external sensor failed.\n");
3182 (void)mpu6050_deinit(&gs_handle);
3183
3184 return 1;
3185 }
3186 mpu6050_interface_debug_print("mpu6050: check iic wait for external sensor %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3187
3188 /* mpu6050_set_iic_read_mode/mpu6050_get_iic_read_mode test */
3189 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_read_mode/mpu6050_get_iic_read_mode test.\n");
3190
3191 /* restart read mode */
3193 if (res != 0)
3194 {
3195 mpu6050_interface_debug_print("mpu6050: set iic read mode failed.\n");
3196 (void)mpu6050_deinit(&gs_handle);
3197
3198 return 1;
3199 }
3200 mpu6050_interface_debug_print("mpu6050: set restart read mode.\n");
3201 res = mpu6050_get_iic_read_mode(&gs_handle, &read_mode);
3202 if (res != 0)
3203 {
3204 mpu6050_interface_debug_print("mpu6050: get iic read mode failed.\n");
3205 (void)mpu6050_deinit(&gs_handle);
3206
3207 return 1;
3208 }
3209 mpu6050_interface_debug_print("mpu6050: check iic read mode %s.\n", read_mode == MPU6050_IIC_READ_MODE_RESTART ? "ok" : "error");
3210
3211 /* stop and start read mode */
3213 if (res != 0)
3214 {
3215 mpu6050_interface_debug_print("mpu6050: set iic read mode failed.\n");
3216 (void)mpu6050_deinit(&gs_handle);
3217
3218 return 1;
3219 }
3220 mpu6050_interface_debug_print("mpu6050: set stop and start read mode.\n");
3221 res = mpu6050_get_iic_read_mode(&gs_handle, &read_mode);
3222 if (res != 0)
3223 {
3224 mpu6050_interface_debug_print("mpu6050: get iic read mode failed.\n");
3225 (void)mpu6050_deinit(&gs_handle);
3226
3227 return 1;
3228 }
3229 mpu6050_interface_debug_print("mpu6050: check iic read mode %s.\n", read_mode == MPU6050_IIC_READ_MODE_STOP_AND_START ? "ok" : "error");
3230
3231 /* mpu6050_set_iic_fifo_enable/mpu6050_get_iic_fifo_enable test */
3232 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_fifo_enable/mpu6050_get_iic_fifo_enable test.\n");
3233
3234 /* enable iic fifo slave0 */
3236 if (res != 0)
3237 {
3238 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3239 (void)mpu6050_deinit(&gs_handle);
3240
3241 return 1;
3242 }
3243 mpu6050_interface_debug_print("mpu6050: enable iic fifo slave0.\n");
3244 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_0, &enable);
3245 if (res != 0)
3246 {
3247 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3248 (void)mpu6050_deinit(&gs_handle);
3249
3250 return 1;
3251 }
3252 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3253
3254 /* disable iic fifo slave0 */
3256 if (res != 0)
3257 {
3258 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3259 (void)mpu6050_deinit(&gs_handle);
3260
3261 return 1;
3262 }
3263 mpu6050_interface_debug_print("mpu6050: disable iic fifo slave0.\n");
3264 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_0, &enable);
3265 if (res != 0)
3266 {
3267 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3268 (void)mpu6050_deinit(&gs_handle);
3269
3270 return 1;
3271 }
3272 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3273
3274 /* enable iic fifo slave1 */
3276 if (res != 0)
3277 {
3278 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3279 (void)mpu6050_deinit(&gs_handle);
3280
3281 return 1;
3282 }
3283 mpu6050_interface_debug_print("mpu6050: enable iic fifo slave1.\n");
3284 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_1, &enable);
3285 if (res != 0)
3286 {
3287 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3288 (void)mpu6050_deinit(&gs_handle);
3289
3290 return 1;
3291 }
3292 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3293
3294 /* disable iic fifo slave1 */
3296 if (res != 0)
3297 {
3298 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3299 (void)mpu6050_deinit(&gs_handle);
3300
3301 return 1;
3302 }
3303 mpu6050_interface_debug_print("mpu6050: disable iic fifo slave1.\n");
3304 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_1, &enable);
3305 if (res != 0)
3306 {
3307 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3308 (void)mpu6050_deinit(&gs_handle);
3309
3310 return 1;
3311 }
3312 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3313
3314 /* enable iic fifo slave2 */
3316 if (res != 0)
3317 {
3318 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3319 (void)mpu6050_deinit(&gs_handle);
3320
3321 return 1;
3322 }
3323 mpu6050_interface_debug_print("mpu6050: enable iic fifo slave2.\n");
3324 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_2, &enable);
3325 if (res != 0)
3326 {
3327 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3328 (void)mpu6050_deinit(&gs_handle);
3329
3330 return 1;
3331 }
3332 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3333
3334 /* disable iic fifo slave2 */
3336 if (res != 0)
3337 {
3338 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3339 (void)mpu6050_deinit(&gs_handle);
3340
3341 return 1;
3342 }
3343 mpu6050_interface_debug_print("mpu6050: disable iic fifo slave2.\n");
3344 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_2, &enable);
3345 if (res != 0)
3346 {
3347 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3348 (void)mpu6050_deinit(&gs_handle);
3349
3350 return 1;
3351 }
3352 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3353
3354 /* enable iic fifo slave3 */
3356 if (res != 0)
3357 {
3358 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3359 (void)mpu6050_deinit(&gs_handle);
3360
3361 return 1;
3362 }
3363 mpu6050_interface_debug_print("mpu6050: enable iic fifo slave3.\n");
3364 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_3, &enable);
3365 if (res != 0)
3366 {
3367 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3368 (void)mpu6050_deinit(&gs_handle);
3369
3370 return 1;
3371 }
3372 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3373
3374 /* disable iic fifo slave3 */
3376 if (res != 0)
3377 {
3378 mpu6050_interface_debug_print("mpu6050: set iic fifo enable failed.\n");
3379 (void)mpu6050_deinit(&gs_handle);
3380
3381 return 1;
3382 }
3383 mpu6050_interface_debug_print("mpu6050: disable iic fifo slave3.\n");
3384 res = mpu6050_get_iic_fifo_enable(&gs_handle, MPU6050_IIC_SLAVE_3, &enable);
3385 if (res != 0)
3386 {
3387 mpu6050_interface_debug_print("mpu6050: get iic fifo enable failed.\n");
3388 (void)mpu6050_deinit(&gs_handle);
3389
3390 return 1;
3391 }
3392 mpu6050_interface_debug_print("mpu6050: check iic fifo enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3393
3394 /* mpu6050_set_iic_mode/mpu6050_get_iic_mode test */
3395 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_mode/mpu6050_get_iic_mode test.\n");
3396
3397 /* write mode */
3399 if (res != 0)
3400 {
3401 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3402 (void)mpu6050_deinit(&gs_handle);
3403
3404 return 1;
3405 }
3406 mpu6050_interface_debug_print("mpu6050: set slave0 iic write mode.\n");
3407 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_0, &mode);
3408 if (res != 0)
3409 {
3410 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3411 (void)mpu6050_deinit(&gs_handle);
3412
3413 return 1;
3414 }
3415 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_WRITE ? "ok" : "error");
3416
3417 /* read mode */
3419 if (res != 0)
3420 {
3421 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3422 (void)mpu6050_deinit(&gs_handle);
3423
3424 return 1;
3425 }
3426 mpu6050_interface_debug_print("mpu6050: set slave0 iic read mode.\n");
3427 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_0, &mode);
3428 if (res != 0)
3429 {
3430 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3431 (void)mpu6050_deinit(&gs_handle);
3432
3433 return 1;
3434 }
3435 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_READ ? "ok" : "error");
3436
3437 /* write mode */
3439 if (res != 0)
3440 {
3441 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3442 (void)mpu6050_deinit(&gs_handle);
3443
3444 return 1;
3445 }
3446 mpu6050_interface_debug_print("mpu6050: set slave1 iic write mode.\n");
3447 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_1, &mode);
3448 if (res != 0)
3449 {
3450 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3451 (void)mpu6050_deinit(&gs_handle);
3452
3453 return 1;
3454 }
3455 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_WRITE ? "ok" : "error");
3456
3457 /* read mode */
3459 if (res != 0)
3460 {
3461 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3462 (void)mpu6050_deinit(&gs_handle);
3463
3464 return 1;
3465 }
3466 mpu6050_interface_debug_print("mpu6050: set slave1 iic read mode.\n");
3467 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_1, &mode);
3468 if (res != 0)
3469 {
3470 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3471 (void)mpu6050_deinit(&gs_handle);
3472
3473 return 1;
3474 }
3475 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_READ ? "ok" : "error");
3476
3477 /* write mode */
3479 if (res != 0)
3480 {
3481 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3482 (void)mpu6050_deinit(&gs_handle);
3483
3484 return 1;
3485 }
3486 mpu6050_interface_debug_print("mpu6050: set slave2 iic write mode.\n");
3487 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_2, &mode);
3488 if (res != 0)
3489 {
3490 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3491 (void)mpu6050_deinit(&gs_handle);
3492
3493 return 1;
3494 }
3495 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_WRITE ? "ok" : "error");
3496
3497 /* read mode */
3499 if (res != 0)
3500 {
3501 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3502 (void)mpu6050_deinit(&gs_handle);
3503
3504 return 1;
3505 }
3506 mpu6050_interface_debug_print("mpu6050: set slave2 iic read mode.\n");
3507 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_2, &mode);
3508 if (res != 0)
3509 {
3510 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3511 (void)mpu6050_deinit(&gs_handle);
3512
3513 return 1;
3514 }
3515 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_READ ? "ok" : "error");
3516
3517 /* write mode */
3519 if (res != 0)
3520 {
3521 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3522 (void)mpu6050_deinit(&gs_handle);
3523
3524 return 1;
3525 }
3526 mpu6050_interface_debug_print("mpu6050: set slave3 iic write mode.\n");
3527 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_3, &mode);
3528 if (res != 0)
3529 {
3530 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3531 (void)mpu6050_deinit(&gs_handle);
3532
3533 return 1;
3534 }
3535 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_WRITE ? "ok" : "error");
3536
3537 /* read mode */
3539 if (res != 0)
3540 {
3541 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3542 (void)mpu6050_deinit(&gs_handle);
3543
3544 return 1;
3545 }
3546 mpu6050_interface_debug_print("mpu6050: set slave3 iic read mode.\n");
3547 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_3, &mode);
3548 if (res != 0)
3549 {
3550 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3551 (void)mpu6050_deinit(&gs_handle);
3552
3553 return 1;
3554 }
3555 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_READ ? "ok" : "error");
3556
3557 /* write mode */
3559 if (res != 0)
3560 {
3561 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3562 (void)mpu6050_deinit(&gs_handle);
3563
3564 return 1;
3565 }
3566 mpu6050_interface_debug_print("mpu6050: set slave4 iic write mode.\n");
3567 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_4, &mode);
3568 if (res != 0)
3569 {
3570 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3571 (void)mpu6050_deinit(&gs_handle);
3572
3573 return 1;
3574 }
3575 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_WRITE ? "ok" : "error");
3576
3577 /* read mode */
3579 if (res != 0)
3580 {
3581 mpu6050_interface_debug_print("mpu6050: set iic mode failed.\n");
3582 (void)mpu6050_deinit(&gs_handle);
3583
3584 return 1;
3585 }
3586 mpu6050_interface_debug_print("mpu6050: set slave4 iic read mode.\n");
3587 res = mpu6050_get_iic_mode(&gs_handle, MPU6050_IIC_SLAVE_4, &mode);
3588 if (res != 0)
3589 {
3590 mpu6050_interface_debug_print("mpu6050: get iic mode failed.\n");
3591 (void)mpu6050_deinit(&gs_handle);
3592
3593 return 1;
3594 }
3595 mpu6050_interface_debug_print("mpu6050: check iic mode %s.\n", mode == MPU6050_IIC_MODE_READ ? "ok" : "error");
3596
3597 /* mpu6050_set_iic_address/mpu6050_get_iic_address test */
3598 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_address/mpu6050_get_iic_address test.\n");
3599
3600 /* slave0 */
3601 test = rand() % 0x7F;
3602 res = mpu6050_set_iic_address(&gs_handle, MPU6050_IIC_SLAVE_0, test);
3603 if (res != 0)
3604 {
3605 mpu6050_interface_debug_print("mpu6050: set iic address failed.\n");
3606 (void)mpu6050_deinit(&gs_handle);
3607
3608 return 1;
3609 }
3610 mpu6050_interface_debug_print("mpu6050: set slave0 iic address 0x%02X.\n", test);
3611 res = mpu6050_get_iic_address(&gs_handle, MPU6050_IIC_SLAVE_0, &test_check);
3612 if (res != 0)
3613 {
3614 mpu6050_interface_debug_print("mpu6050: get iic address failed.\n");
3615 (void)mpu6050_deinit(&gs_handle);
3616
3617 return 1;
3618 }
3619 mpu6050_interface_debug_print("mpu6050: check iic address %s.\n", test_check == test ? "ok" : "error");
3620
3621 /* slave1 */
3622 test = rand() % 0x7F;
3623 res = mpu6050_set_iic_address(&gs_handle, MPU6050_IIC_SLAVE_1, test);
3624 if (res != 0)
3625 {
3626 mpu6050_interface_debug_print("mpu6050: set iic address failed.\n");
3627 (void)mpu6050_deinit(&gs_handle);
3628
3629 return 1;
3630 }
3631 mpu6050_interface_debug_print("mpu6050: set slave1 iic address 0x%02X.\n", test);
3632 res = mpu6050_get_iic_address(&gs_handle, MPU6050_IIC_SLAVE_1, &test_check);
3633 if (res != 0)
3634 {
3635 mpu6050_interface_debug_print("mpu6050: get iic address failed.\n");
3636 (void)mpu6050_deinit(&gs_handle);
3637
3638 return 1;
3639 }
3640 mpu6050_interface_debug_print("mpu6050: check iic address %s.\n", test_check == test ? "ok" : "error");
3641
3642 /* slave2 */
3643 test = rand() % 0x7F;
3644 res = mpu6050_set_iic_address(&gs_handle, MPU6050_IIC_SLAVE_2, test);
3645 if (res != 0)
3646 {
3647 mpu6050_interface_debug_print("mpu6050: set iic address failed.\n");
3648 (void)mpu6050_deinit(&gs_handle);
3649
3650 return 1;
3651 }
3652 mpu6050_interface_debug_print("mpu6050: set slave2 iic address 0x%02X.\n", test);
3653 res = mpu6050_get_iic_address(&gs_handle, MPU6050_IIC_SLAVE_2, &test_check);
3654 if (res != 0)
3655 {
3656 mpu6050_interface_debug_print("mpu6050: get iic address failed.\n");
3657 (void)mpu6050_deinit(&gs_handle);
3658
3659 return 1;
3660 }
3661 mpu6050_interface_debug_print("mpu6050: check iic address %s.\n", test_check == test ? "ok" : "error");
3662
3663 /* slave3 */
3664 test = rand() % 0x7F;
3665 res = mpu6050_set_iic_address(&gs_handle, MPU6050_IIC_SLAVE_3, test);
3666 if (res != 0)
3667 {
3668 mpu6050_interface_debug_print("mpu6050: set iic address failed.\n");
3669 (void)mpu6050_deinit(&gs_handle);
3670
3671 return 1;
3672 }
3673 mpu6050_interface_debug_print("mpu6050: set slave3 iic address 0x%02X.\n", test);
3674 res = mpu6050_get_iic_address(&gs_handle, MPU6050_IIC_SLAVE_3, &test_check);
3675 if (res != 0)
3676 {
3677 mpu6050_interface_debug_print("mpu6050: get iic address failed.\n");
3678 (void)mpu6050_deinit(&gs_handle);
3679
3680 return 1;
3681 }
3682 mpu6050_interface_debug_print("mpu6050: check iic address %s.\n", test_check == test ? "ok" : "error");
3683
3684 /* slave4 */
3685 test = rand() % 0x7F;
3686 res = mpu6050_set_iic_address(&gs_handle, MPU6050_IIC_SLAVE_4, test);
3687 if (res != 0)
3688 {
3689 mpu6050_interface_debug_print("mpu6050: set iic address failed.\n");
3690 (void)mpu6050_deinit(&gs_handle);
3691
3692 return 1;
3693 }
3694 mpu6050_interface_debug_print("mpu6050: set slave4 iic address 0x%02X.\n", test);
3695 res = mpu6050_get_iic_address(&gs_handle, MPU6050_IIC_SLAVE_4, &test_check);
3696 if (res != 0)
3697 {
3698 mpu6050_interface_debug_print("mpu6050: get iic address failed.\n");
3699 (void)mpu6050_deinit(&gs_handle);
3700
3701 return 1;
3702 }
3703 mpu6050_interface_debug_print("mpu6050: check iic address %s.\n", test_check == test ? "ok" : "error");
3704
3705 /* mpu6050_set_iic_register/mpu6050_get_iic_register test */
3706 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_register/mpu6050_get_iic_register test.\n");
3707
3708 /* slave0 */
3709 test = rand() % 256;
3710 res = mpu6050_set_iic_register(&gs_handle, MPU6050_IIC_SLAVE_0, test);
3711 if (res != 0)
3712 {
3713 mpu6050_interface_debug_print("mpu6050: set iic register failed.\n");
3714 (void)mpu6050_deinit(&gs_handle);
3715
3716 return 1;
3717 }
3718 mpu6050_interface_debug_print("mpu6050: set slave0 iic register 0x%02X.\n", test);
3719 res = mpu6050_get_iic_register(&gs_handle, MPU6050_IIC_SLAVE_0, &test_check);
3720 if (res != 0)
3721 {
3722 mpu6050_interface_debug_print("mpu6050: get iic register failed.\n");
3723 (void)mpu6050_deinit(&gs_handle);
3724
3725 return 1;
3726 }
3727 mpu6050_interface_debug_print("mpu6050: check iic register %s.\n", test_check == test ? "ok" : "error");
3728
3729 /* slave1 */
3730 test = rand() % 256;
3731 res = mpu6050_set_iic_register(&gs_handle, MPU6050_IIC_SLAVE_1, test);
3732 if (res != 0)
3733 {
3734 mpu6050_interface_debug_print("mpu6050: set iic register failed.\n");
3735 (void)mpu6050_deinit(&gs_handle);
3736
3737 return 1;
3738 }
3739 mpu6050_interface_debug_print("mpu6050: set slave1 iic register 0x%02X.\n", test);
3740 res = mpu6050_get_iic_register(&gs_handle, MPU6050_IIC_SLAVE_1, &test_check);
3741 if (res != 0)
3742 {
3743 mpu6050_interface_debug_print("mpu6050: get iic register failed.\n");
3744 (void)mpu6050_deinit(&gs_handle);
3745
3746 return 1;
3747 }
3748 mpu6050_interface_debug_print("mpu6050: check iic register %s.\n", test_check == test ? "ok" : "error");
3749
3750 /* slave2 */
3751 test = rand() % 256;
3752 res = mpu6050_set_iic_register(&gs_handle, MPU6050_IIC_SLAVE_2, test);
3753 if (res != 0)
3754 {
3755 mpu6050_interface_debug_print("mpu6050: set iic register failed.\n");
3756 (void)mpu6050_deinit(&gs_handle);
3757
3758 return 1;
3759 }
3760 mpu6050_interface_debug_print("mpu6050: set slave2 iic register 0x%02X.\n", test);
3761 res = mpu6050_get_iic_register(&gs_handle, MPU6050_IIC_SLAVE_2, &test_check);
3762 if (res != 0)
3763 {
3764 mpu6050_interface_debug_print("mpu6050: get iic register failed.\n");
3765 (void)mpu6050_deinit(&gs_handle);
3766
3767 return 1;
3768 }
3769 mpu6050_interface_debug_print("mpu6050: check iic register %s.\n", test_check == test ? "ok" : "error");
3770
3771 /* slave3 */
3772 test = rand() % 256;
3773 res = mpu6050_set_iic_register(&gs_handle, MPU6050_IIC_SLAVE_3, test);
3774 if (res != 0)
3775 {
3776 mpu6050_interface_debug_print("mpu6050: set iic register failed.\n");
3777 (void)mpu6050_deinit(&gs_handle);
3778
3779 return 1;
3780 }
3781 mpu6050_interface_debug_print("mpu6050: set slave3 iic register 0x%02X.\n", test);
3782 res = mpu6050_get_iic_register(&gs_handle, MPU6050_IIC_SLAVE_3, &test_check);
3783 if (res != 0)
3784 {
3785 mpu6050_interface_debug_print("mpu6050: get iic register failed.\n");
3786 (void)mpu6050_deinit(&gs_handle);
3787
3788 return 1;
3789 }
3790 mpu6050_interface_debug_print("mpu6050: check iic register %s.\n", test_check == test ? "ok" : "error");
3791
3792 /* slave4 */
3793 test = rand() % 256;
3794 res = mpu6050_set_iic_register(&gs_handle, MPU6050_IIC_SLAVE_4, test);
3795 if (res != 0)
3796 {
3797 mpu6050_interface_debug_print("mpu6050: set iic register failed.\n");
3798 (void)mpu6050_deinit(&gs_handle);
3799
3800 return 1;
3801 }
3802 mpu6050_interface_debug_print("mpu6050: set slave4 iic register 0x%02X.\n", test);
3803 res = mpu6050_get_iic_register(&gs_handle, MPU6050_IIC_SLAVE_4, &test_check);
3804 if (res != 0)
3805 {
3806 mpu6050_interface_debug_print("mpu6050: get iic register failed.\n");
3807 (void)mpu6050_deinit(&gs_handle);
3808
3809 return 1;
3810 }
3811 mpu6050_interface_debug_print("mpu6050: check iic register %s.\n", test_check == test ? "ok" : "error");
3812
3813 /* mpu6050_set_iic_data_out/mpu6050_get_iic_data_out test */
3814 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_data_out/mpu6050_get_iic_data_out test.\n");
3815
3816 /* slave0 */
3817 test = rand() % 256;
3818 res = mpu6050_set_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_0, test);
3819 if (res != 0)
3820 {
3821 mpu6050_interface_debug_print("mpu6050: set iic data out failed.\n");
3822 (void)mpu6050_deinit(&gs_handle);
3823
3824 return 1;
3825 }
3826 mpu6050_interface_debug_print("mpu6050: set slave0 iic data out 0x%02X.\n", test);
3827 res = mpu6050_get_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_0, &test_check);
3828 if (res != 0)
3829 {
3830 mpu6050_interface_debug_print("mpu6050: get iic data out failed.\n");
3831 (void)mpu6050_deinit(&gs_handle);
3832
3833 return 1;
3834 }
3835 mpu6050_interface_debug_print("mpu6050: check iic data out %s.\n", test_check == test ? "ok" : "error");
3836
3837 /* slave1 */
3838 test = rand() % 256;
3839 res = mpu6050_set_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_1, test);
3840 if (res != 0)
3841 {
3842 mpu6050_interface_debug_print("mpu6050: set iic data out failed.\n");
3843 (void)mpu6050_deinit(&gs_handle);
3844
3845 return 1;
3846 }
3847 mpu6050_interface_debug_print("mpu6050: set slave1 iic data out 0x%02X.\n", test);
3848 res = mpu6050_get_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_1, &test_check);
3849 if (res != 0)
3850 {
3851 mpu6050_interface_debug_print("mpu6050: get iic data out failed.\n");
3852 (void)mpu6050_deinit(&gs_handle);
3853
3854 return 1;
3855 }
3856 mpu6050_interface_debug_print("mpu6050: check iic data out %s.\n", test_check == test ? "ok" : "error");
3857
3858 /* slave2 */
3859 test = rand() % 256;
3860 res = mpu6050_set_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_2, test);
3861 if (res != 0)
3862 {
3863 mpu6050_interface_debug_print("mpu6050: set iic data out failed.\n");
3864 (void)mpu6050_deinit(&gs_handle);
3865
3866 return 1;
3867 }
3868 mpu6050_interface_debug_print("mpu6050: set slave2 iic data out 0x%02X.\n", test);
3869 res = mpu6050_get_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_2, &test_check);
3870 if (res != 0)
3871 {
3872 mpu6050_interface_debug_print("mpu6050: get iic data out failed.\n");
3873 (void)mpu6050_deinit(&gs_handle);
3874
3875 return 1;
3876 }
3877 mpu6050_interface_debug_print("mpu6050: check iic data out %s.\n", test_check == test ? "ok" : "error");
3878
3879 /* slave3 */
3880 test = rand() % 256;
3881 res = mpu6050_set_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_3, test);
3882 if (res != 0)
3883 {
3884 mpu6050_interface_debug_print("mpu6050: set iic data out failed.\n");
3885 (void)mpu6050_deinit(&gs_handle);
3886
3887 return 1;
3888 }
3889 mpu6050_interface_debug_print("mpu6050: set slave3 iic data out 0x%02X.\n", test);
3890 res = mpu6050_get_iic_data_out(&gs_handle, MPU6050_IIC_SLAVE_3, &test_check);
3891 if (res != 0)
3892 {
3893 mpu6050_interface_debug_print("mpu6050: get iic data out failed.\n");
3894 (void)mpu6050_deinit(&gs_handle);
3895
3896 return 1;
3897 }
3898 mpu6050_interface_debug_print("mpu6050: check iic data out %s.\n", test_check == test ? "ok" : "error");
3899
3900 /* mpu6050_set_iic_enable/mpu6050_get_iic_enable test */
3901 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_enable/mpu6050_get_iic_enable test.\n");
3902
3903 /* slave0 iic enable */
3905 if (res != 0)
3906 {
3907 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
3908 (void)mpu6050_deinit(&gs_handle);
3909
3910 return 1;
3911 }
3912 mpu6050_interface_debug_print("mpu6050: slave0 iic enable.\n");
3913 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_0, &enable);
3914 if (res != 0)
3915 {
3916 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
3917 (void)mpu6050_deinit(&gs_handle);
3918
3919 return 1;
3920 }
3921 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3922
3923 /* slave0 iic disable */
3925 if (res != 0)
3926 {
3927 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
3928 (void)mpu6050_deinit(&gs_handle);
3929
3930 return 1;
3931 }
3932 mpu6050_interface_debug_print("mpu6050: slave0 iic disable.\n");
3933 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_0, &enable);
3934 if (res != 0)
3935 {
3936 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
3937 (void)mpu6050_deinit(&gs_handle);
3938
3939 return 1;
3940 }
3941 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3942
3943 /* slave1 iic enable */
3945 if (res != 0)
3946 {
3947 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
3948 (void)mpu6050_deinit(&gs_handle);
3949
3950 return 1;
3951 }
3952 mpu6050_interface_debug_print("mpu6050: slave1 iic enable.\n");
3953 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_1, &enable);
3954 if (res != 0)
3955 {
3956 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
3957 (void)mpu6050_deinit(&gs_handle);
3958
3959 return 1;
3960 }
3961 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
3962
3963 /* slave1 iic disable */
3965 if (res != 0)
3966 {
3967 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
3968 (void)mpu6050_deinit(&gs_handle);
3969
3970 return 1;
3971 }
3972 mpu6050_interface_debug_print("mpu6050: slave1 iic disable.\n");
3973 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_1, &enable);
3974 if (res != 0)
3975 {
3976 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
3977 (void)mpu6050_deinit(&gs_handle);
3978
3979 return 1;
3980 }
3981 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
3982
3983 /* slave2 iic enable */
3985 if (res != 0)
3986 {
3987 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
3988 (void)mpu6050_deinit(&gs_handle);
3989
3990 return 1;
3991 }
3992 mpu6050_interface_debug_print("mpu6050: slave2 iic enable.\n");
3993 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_2, &enable);
3994 if (res != 0)
3995 {
3996 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
3997 (void)mpu6050_deinit(&gs_handle);
3998
3999 return 1;
4000 }
4001 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4002
4003 /* slave2 iic disable */
4005 if (res != 0)
4006 {
4007 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
4008 (void)mpu6050_deinit(&gs_handle);
4009
4010 return 1;
4011 }
4012 mpu6050_interface_debug_print("mpu6050: slave2 iic disable.\n");
4013 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_2, &enable);
4014 if (res != 0)
4015 {
4016 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
4017 (void)mpu6050_deinit(&gs_handle);
4018
4019 return 1;
4020 }
4021 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4022
4023 /* slave3 iic enable */
4025 if (res != 0)
4026 {
4027 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
4028 (void)mpu6050_deinit(&gs_handle);
4029
4030 return 1;
4031 }
4032 mpu6050_interface_debug_print("mpu6050: slave3 iic enable.\n");
4033 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_3, &enable);
4034 if (res != 0)
4035 {
4036 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
4037 (void)mpu6050_deinit(&gs_handle);
4038
4039 return 1;
4040 }
4041 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4042
4043 /* slave3 iic disable */
4045 if (res != 0)
4046 {
4047 mpu6050_interface_debug_print("mpu6050: set iic enable failed.\n");
4048 (void)mpu6050_deinit(&gs_handle);
4049
4050 return 1;
4051 }
4052 mpu6050_interface_debug_print("mpu6050: slave3 iic disable.\n");
4053 res = mpu6050_get_iic_enable(&gs_handle, MPU6050_IIC_SLAVE_3, &enable);
4054 if (res != 0)
4055 {
4056 mpu6050_interface_debug_print("mpu6050: get iic enable failed.\n");
4057 (void)mpu6050_deinit(&gs_handle);
4058
4059 return 1;
4060 }
4061 mpu6050_interface_debug_print("mpu6050: check iic enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4062
4063 /* mpu6050_set_iic_byte_swap/mpu6050_get_iic_byte_swap test */
4064 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_byte_swap/mpu6050_get_iic_byte_swap test.\n");
4065
4066 /* enable slave0 byte swap */
4068 if (res != 0)
4069 {
4070 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4071 (void)mpu6050_deinit(&gs_handle);
4072
4073 return 1;
4074 }
4075 mpu6050_interface_debug_print("mpu6050: enable slave0 byte swap.\n");
4076 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_0, &enable);
4077 if (res != 0)
4078 {
4079 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4080 (void)mpu6050_deinit(&gs_handle);
4081
4082 return 1;
4083 }
4084 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4085
4086 /* disable slave0 byte swap */
4088 if (res != 0)
4089 {
4090 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4091 (void)mpu6050_deinit(&gs_handle);
4092
4093 return 1;
4094 }
4095 mpu6050_interface_debug_print("mpu6050: disable slave0 byte swap.\n");
4096 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_0, &enable);
4097 if (res != 0)
4098 {
4099 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4100 (void)mpu6050_deinit(&gs_handle);
4101
4102 return 1;
4103 }
4104 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4105
4106 /* enable slave1 byte swap */
4108 if (res != 0)
4109 {
4110 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4111 (void)mpu6050_deinit(&gs_handle);
4112
4113 return 1;
4114 }
4115 mpu6050_interface_debug_print("mpu6050: enable slave1 byte swap.\n");
4116 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_1, &enable);
4117 if (res != 0)
4118 {
4119 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4120 (void)mpu6050_deinit(&gs_handle);
4121
4122 return 1;
4123 }
4124 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4125
4126 /* disable slave1 byte swap */
4128 if (res != 0)
4129 {
4130 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4131 (void)mpu6050_deinit(&gs_handle);
4132
4133 return 1;
4134 }
4135 mpu6050_interface_debug_print("mpu6050: disable slave1 byte swap.\n");
4136 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_1, &enable);
4137 if (res != 0)
4138 {
4139 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4140 (void)mpu6050_deinit(&gs_handle);
4141
4142 return 1;
4143 }
4144 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4145
4146 /* enable slave2 byte swap */
4148 if (res != 0)
4149 {
4150 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4151 (void)mpu6050_deinit(&gs_handle);
4152
4153 return 1;
4154 }
4155 mpu6050_interface_debug_print("mpu6050: enable slave2 byte swap.\n");
4156 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_2, &enable);
4157 if (res != 0)
4158 {
4159 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4160 (void)mpu6050_deinit(&gs_handle);
4161
4162 return 1;
4163 }
4164 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4165
4166 /* disable slave2 byte swap */
4168 if (res != 0)
4169 {
4170 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4171 (void)mpu6050_deinit(&gs_handle);
4172
4173 return 1;
4174 }
4175 mpu6050_interface_debug_print("mpu6050: disable slave2 byte swap.\n");
4176 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_2, &enable);
4177 if (res != 0)
4178 {
4179 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4180 (void)mpu6050_deinit(&gs_handle);
4181
4182 return 1;
4183 }
4184 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4185
4186 /* enable slave3 byte swap */
4188 if (res != 0)
4189 {
4190 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4191 (void)mpu6050_deinit(&gs_handle);
4192
4193 return 1;
4194 }
4195 mpu6050_interface_debug_print("mpu6050: enable slave3 byte swap.\n");
4196 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_3, &enable);
4197 if (res != 0)
4198 {
4199 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4200 (void)mpu6050_deinit(&gs_handle);
4201
4202 return 1;
4203 }
4204 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4205
4206 /* disable slave3 byte swap */
4208 if (res != 0)
4209 {
4210 mpu6050_interface_debug_print("mpu6050: set iic byte swap failed.\n");
4211 (void)mpu6050_deinit(&gs_handle);
4212
4213 return 1;
4214 }
4215 mpu6050_interface_debug_print("mpu6050: disable slave3 byte swap.\n");
4216 res = mpu6050_get_iic_byte_swap(&gs_handle, MPU6050_IIC_SLAVE_3, &enable);
4217 if (res != 0)
4218 {
4219 mpu6050_interface_debug_print("mpu6050: get iic byte swap failed.\n");
4220 (void)mpu6050_deinit(&gs_handle);
4221
4222 return 1;
4223 }
4224 mpu6050_interface_debug_print("mpu6050: check iic byte swap %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4225
4226 /* mpu6050_set_iic_transaction_mode/mpu6050_get_iic_transaction_mode test */
4227 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_transaction_mode/mpu6050_get_iic_transaction_mode test.\n");
4228
4229 /* set slave0 data transaction mode */
4231 if (res != 0)
4232 {
4233 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4234 (void)mpu6050_deinit(&gs_handle);
4235
4236 return 1;
4237 }
4238 mpu6050_interface_debug_print("mpu6050: set slave0 data transaction mode.\n");
4239 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_0, &tran_mode);
4240 if (res != 0)
4241 {
4242 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4243 (void)mpu6050_deinit(&gs_handle);
4244
4245 return 1;
4246 }
4247 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_DATA ? "ok" : "error");
4248
4249 /* set slave0 reg data transaction mode */
4251 if (res != 0)
4252 {
4253 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4254 (void)mpu6050_deinit(&gs_handle);
4255
4256 return 1;
4257 }
4258 mpu6050_interface_debug_print("mpu6050: set slave0 reg data transaction mode.\n");
4259 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_0, &tran_mode);
4260 if (res != 0)
4261 {
4262 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4263 (void)mpu6050_deinit(&gs_handle);
4264
4265 return 1;
4266 }
4267 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_REG_DATA ? "ok" : "error");
4268
4269 /* set slave1 data transaction mode */
4271 if (res != 0)
4272 {
4273 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4274 (void)mpu6050_deinit(&gs_handle);
4275
4276 return 1;
4277 }
4278 mpu6050_interface_debug_print("mpu6050: set slave1 data transaction mode.\n");
4279 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_1, &tran_mode);
4280 if (res != 0)
4281 {
4282 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4283 (void)mpu6050_deinit(&gs_handle);
4284
4285 return 1;
4286 }
4287 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_DATA ? "ok" : "error");
4288
4289 /* set slave1 reg data transaction mode */
4291 if (res != 0)
4292 {
4293 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4294 (void)mpu6050_deinit(&gs_handle);
4295
4296 return 1;
4297 }
4298 mpu6050_interface_debug_print("mpu6050: set slave1 reg data transaction mode.\n");
4299 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_1, &tran_mode);
4300 if (res != 0)
4301 {
4302 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4303 (void)mpu6050_deinit(&gs_handle);
4304
4305 return 1;
4306 }
4307 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_REG_DATA ? "ok" : "error");
4308
4309 /* set slave2 data transaction mode */
4311 if (res != 0)
4312 {
4313 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4314 (void)mpu6050_deinit(&gs_handle);
4315
4316 return 1;
4317 }
4318 mpu6050_interface_debug_print("mpu6050: set slave2 data transaction mode.\n");
4319 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_2, &tran_mode);
4320 if (res != 0)
4321 {
4322 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4323 (void)mpu6050_deinit(&gs_handle);
4324
4325 return 1;
4326 }
4327 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_DATA ? "ok" : "error");
4328
4329 /* set slave2 reg data transaction mode */
4331 if (res != 0)
4332 {
4333 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4334 (void)mpu6050_deinit(&gs_handle);
4335
4336 return 1;
4337 }
4338 mpu6050_interface_debug_print("mpu6050: set slave2 reg data transaction mode.\n");
4339 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_2, &tran_mode);
4340 if (res != 0)
4341 {
4342 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4343 (void)mpu6050_deinit(&gs_handle);
4344
4345 return 1;
4346 }
4347 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_REG_DATA ? "ok" : "error");
4348
4349 /* set slave3 data transaction mode */
4351 if (res != 0)
4352 {
4353 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4354 (void)mpu6050_deinit(&gs_handle);
4355
4356 return 1;
4357 }
4358 mpu6050_interface_debug_print("mpu6050: set slave3 data transaction mode.\n");
4359 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_3, &tran_mode);
4360 if (res != 0)
4361 {
4362 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4363 (void)mpu6050_deinit(&gs_handle);
4364
4365 return 1;
4366 }
4367 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_DATA ? "ok" : "error");
4368
4369 /* set slave3 reg data transaction mode */
4371 if (res != 0)
4372 {
4373 mpu6050_interface_debug_print("mpu6050: set iic transaction mode failed.\n");
4374 (void)mpu6050_deinit(&gs_handle);
4375
4376 return 1;
4377 }
4378 mpu6050_interface_debug_print("mpu6050: set slave3 reg data transaction mode.\n");
4379 res = mpu6050_get_iic_transaction_mode(&gs_handle, MPU6050_IIC_SLAVE_3, &tran_mode);
4380 if (res != 0)
4381 {
4382 mpu6050_interface_debug_print("mpu6050: get iic transaction mode failed.\n");
4383 (void)mpu6050_deinit(&gs_handle);
4384
4385 return 1;
4386 }
4387 mpu6050_interface_debug_print("mpu6050: check iic transaction mode %s.\n", tran_mode == MPU6050_IIC_TRANSACTION_MODE_REG_DATA ? "ok" : "error");
4388
4389 /* mpu6050_set_iic_group_order/mpu6050_get_iic_group_order test */
4390 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_group_order/mpu6050_get_iic_group_order test.\n");
4391
4392 /* set slave0 group order even */
4394 if (res != 0)
4395 {
4396 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4397 (void)mpu6050_deinit(&gs_handle);
4398
4399 return 1;
4400 }
4401 mpu6050_interface_debug_print("mpu6050: set slave0 group order even.\n");
4402 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_0, &order);
4403 if (res != 0)
4404 {
4405 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4406 (void)mpu6050_deinit(&gs_handle);
4407
4408 return 1;
4409 }
4410 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_EVEN ? "ok" : "error");
4411
4412 /* set slave0 group order odd */
4414 if (res != 0)
4415 {
4416 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4417 (void)mpu6050_deinit(&gs_handle);
4418
4419 return 1;
4420 }
4421 mpu6050_interface_debug_print("mpu6050: set slave0 group order odd.\n");
4422 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_0, &order);
4423 if (res != 0)
4424 {
4425 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4426 (void)mpu6050_deinit(&gs_handle);
4427
4428 return 1;
4429 }
4430 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_ODD ? "ok" : "error");
4431
4432 /* set slave1 group order even */
4434 if (res != 0)
4435 {
4436 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4437 (void)mpu6050_deinit(&gs_handle);
4438
4439 return 1;
4440 }
4441 mpu6050_interface_debug_print("mpu6050: set slave1 group order even.\n");
4442 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_1, &order);
4443 if (res != 0)
4444 {
4445 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4446 (void)mpu6050_deinit(&gs_handle);
4447
4448 return 1;
4449 }
4450 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_EVEN ? "ok" : "error");
4451
4452 /* set slave1 group order odd */
4454 if (res != 0)
4455 {
4456 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4457 (void)mpu6050_deinit(&gs_handle);
4458
4459 return 1;
4460 }
4461 mpu6050_interface_debug_print("mpu6050: set slave1 group order odd.\n");
4462 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_1, &order);
4463 if (res != 0)
4464 {
4465 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4466 (void)mpu6050_deinit(&gs_handle);
4467
4468 return 1;
4469 }
4470 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_ODD ? "ok" : "error");
4471
4472 /* set slave2 group order even */
4474 if (res != 0)
4475 {
4476 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4477 (void)mpu6050_deinit(&gs_handle);
4478
4479 return 1;
4480 }
4481 mpu6050_interface_debug_print("mpu6050: set slave2 group order even.\n");
4482 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_2, &order);
4483 if (res != 0)
4484 {
4485 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4486 (void)mpu6050_deinit(&gs_handle);
4487
4488 return 1;
4489 }
4490 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_EVEN ? "ok" : "error");
4491
4492 /* set slave2 group order odd */
4494 if (res != 0)
4495 {
4496 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4497 (void)mpu6050_deinit(&gs_handle);
4498
4499 return 1;
4500 }
4501 mpu6050_interface_debug_print("mpu6050: set slave2 group order odd.\n");
4502 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_2, &order);
4503 if (res != 0)
4504 {
4505 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4506 (void)mpu6050_deinit(&gs_handle);
4507
4508 return 1;
4509 }
4510 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_ODD ? "ok" : "error");
4511
4512 /* set slave3 group order even */
4514 if (res != 0)
4515 {
4516 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4517 (void)mpu6050_deinit(&gs_handle);
4518
4519 return 1;
4520 }
4521 mpu6050_interface_debug_print("mpu6050: set slave3 group order even.\n");
4522 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_3, &order);
4523 if (res != 0)
4524 {
4525 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4526 (void)mpu6050_deinit(&gs_handle);
4527
4528 return 1;
4529 }
4530 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_EVEN ? "ok" : "error");
4531
4532 /* set slave3 group order odd */
4534 if (res != 0)
4535 {
4536 mpu6050_interface_debug_print("mpu6050: set iic group order failed.\n");
4537 (void)mpu6050_deinit(&gs_handle);
4538
4539 return 1;
4540 }
4541 mpu6050_interface_debug_print("mpu6050: set slave3 group order odd.\n");
4542 res = mpu6050_get_iic_group_order(&gs_handle, MPU6050_IIC_SLAVE_3, &order);
4543 if (res != 0)
4544 {
4545 mpu6050_interface_debug_print("mpu6050: get iic group order failed.\n");
4546 (void)mpu6050_deinit(&gs_handle);
4547
4548 return 1;
4549 }
4550 mpu6050_interface_debug_print("mpu6050: check iic group order %s.\n", order == MPU6050_IIC_GROUP_ORDER_ODD ? "ok" : "error");
4551
4552 /* mpu6050_set_iic_transferred_len/mpu6050_get_iic_transferred_len test */
4553 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_transferred_len/mpu6050_get_iic_transferred_len test.\n");
4554
4555 test = rand() % 16;
4557 if (res != 0)
4558 {
4559 mpu6050_interface_debug_print("mpu6050: set iic transferred len failed.\n");
4560 (void)mpu6050_deinit(&gs_handle);
4561
4562 return 1;
4563 }
4564 mpu6050_interface_debug_print("mpu6050: set slave0 iic transferred len %d.\n", test);
4565 res = mpu6050_get_iic_transferred_len(&gs_handle, MPU6050_IIC_SLAVE_0, &test_check);
4566 if (res != 0)
4567 {
4568 mpu6050_interface_debug_print("mpu6050: get iic transferred len failed.\n");
4569 (void)mpu6050_deinit(&gs_handle);
4570
4571 return 1;
4572 }
4573 mpu6050_interface_debug_print("mpu6050: check iic transferred len %s.\n", test_check == test ? "ok" : "error");
4574
4575 test = rand() % 16;
4577 if (res != 0)
4578 {
4579 mpu6050_interface_debug_print("mpu6050: set iic transferred len failed.\n");
4580 (void)mpu6050_deinit(&gs_handle);
4581
4582 return 1;
4583 }
4584 mpu6050_interface_debug_print("mpu6050: set slave1 iic transferred len %d.\n", test);
4585 res = mpu6050_get_iic_transferred_len(&gs_handle, MPU6050_IIC_SLAVE_1, &test_check);
4586 if (res != 0)
4587 {
4588 mpu6050_interface_debug_print("mpu6050: get iic transferred len failed.\n");
4589 (void)mpu6050_deinit(&gs_handle);
4590
4591 return 1;
4592 }
4593 mpu6050_interface_debug_print("mpu6050: check iic transferred len %s.\n", test_check == test ? "ok" : "error");
4594
4595 test = rand() % 16;
4597 if (res != 0)
4598 {
4599 mpu6050_interface_debug_print("mpu6050: set iic transferred len failed.\n");
4600 (void)mpu6050_deinit(&gs_handle);
4601
4602 return 1;
4603 }
4604 mpu6050_interface_debug_print("mpu6050: set slave2 iic transferred len %d.\n", test);
4605 res = mpu6050_get_iic_transferred_len(&gs_handle, MPU6050_IIC_SLAVE_2, &test_check);
4606 if (res != 0)
4607 {
4608 mpu6050_interface_debug_print("mpu6050: get iic transferred len failed.\n");
4609 (void)mpu6050_deinit(&gs_handle);
4610
4611 return 1;
4612 }
4613 mpu6050_interface_debug_print("mpu6050: check iic transferred len %s.\n", test_check == test ? "ok" : "error");
4614
4615 test = rand() % 16;
4617 if (res != 0)
4618 {
4619 mpu6050_interface_debug_print("mpu6050: set iic transferred len failed.\n");
4620 (void)mpu6050_deinit(&gs_handle);
4621
4622 return 1;
4623 }
4624 mpu6050_interface_debug_print("mpu6050: set slave3 iic transferred len %d.\n", test);
4625 res = mpu6050_get_iic_transferred_len(&gs_handle, MPU6050_IIC_SLAVE_3, &test_check);
4626 if (res != 0)
4627 {
4628 mpu6050_interface_debug_print("mpu6050: get iic transferred len failed.\n");
4629 (void)mpu6050_deinit(&gs_handle);
4630
4631 return 1;
4632 }
4633 mpu6050_interface_debug_print("mpu6050: check iic transferred len %s.\n", test_check == test ? "ok" : "error");
4634
4635 /* mpu6050_get_iic_status test */
4636 mpu6050_interface_debug_print("mpu6050: mpu6050_get_iic_status test.\n");
4637
4638 /* get iic status */
4639 res = mpu6050_get_iic_status(&gs_handle, &status);
4640 if (res != 0)
4641 {
4642 mpu6050_interface_debug_print("mpu6050: get iic status failed.\n");
4643 (void)mpu6050_deinit(&gs_handle);
4644
4645 return 1;
4646 }
4647 mpu6050_interface_debug_print("mpu6050: iic status is 0x%02X.\n", status);
4648
4649 /* mpu6050_set_iic_delay_enable/mpu6050_get_iic_delay_enable test */
4650 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_delay_enable/mpu6050_get_iic_delay_enable test.\n");
4651
4652 /* enable delay shadow */
4654 if (res != 0)
4655 {
4656 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4657 (void)mpu6050_deinit(&gs_handle);
4658
4659 return 1;
4660 }
4661 mpu6050_interface_debug_print("mpu6050: enable delay shadow.\n");
4663 if (res != 0)
4664 {
4665 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4666 (void)mpu6050_deinit(&gs_handle);
4667
4668 return 1;
4669 }
4670 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4671
4672 /* disable delay shadow */
4674 if (res != 0)
4675 {
4676 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4677 (void)mpu6050_deinit(&gs_handle);
4678
4679 return 1;
4680 }
4681 mpu6050_interface_debug_print("mpu6050: disable delay shadow.\n");
4683 if (res != 0)
4684 {
4685 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4686 (void)mpu6050_deinit(&gs_handle);
4687
4688 return 1;
4689 }
4690 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4691
4692 /* enable delay slave4 */
4694 if (res != 0)
4695 {
4696 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4697 (void)mpu6050_deinit(&gs_handle);
4698
4699 return 1;
4700 }
4701 mpu6050_interface_debug_print("mpu6050: enable delay slave4.\n");
4702 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_4, &enable);
4703 if (res != 0)
4704 {
4705 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4706 (void)mpu6050_deinit(&gs_handle);
4707
4708 return 1;
4709 }
4710 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4711
4712 /* disable delay slave4 */
4714 if (res != 0)
4715 {
4716 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4717 (void)mpu6050_deinit(&gs_handle);
4718
4719 return 1;
4720 }
4721 mpu6050_interface_debug_print("mpu6050: disable delay slave4.\n");
4722 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_4, &enable);
4723 if (res != 0)
4724 {
4725 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4726 (void)mpu6050_deinit(&gs_handle);
4727
4728 return 1;
4729 }
4730 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4731
4732 /* enable delay slave3 */
4734 if (res != 0)
4735 {
4736 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4737 (void)mpu6050_deinit(&gs_handle);
4738
4739 return 1;
4740 }
4741 mpu6050_interface_debug_print("mpu6050: enable delay slave3.\n");
4742 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_3, &enable);
4743 if (res != 0)
4744 {
4745 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4746 (void)mpu6050_deinit(&gs_handle);
4747
4748 return 1;
4749 }
4750 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4751
4752 /* disable delay slave3 */
4754 if (res != 0)
4755 {
4756 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4757 (void)mpu6050_deinit(&gs_handle);
4758
4759 return 1;
4760 }
4761 mpu6050_interface_debug_print("mpu6050: disable delay slave3.\n");
4762 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_3, &enable);
4763 if (res != 0)
4764 {
4765 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4766 (void)mpu6050_deinit(&gs_handle);
4767
4768 return 1;
4769 }
4770 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4771
4772 /* enable delay slave2 */
4774 if (res != 0)
4775 {
4776 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4777 (void)mpu6050_deinit(&gs_handle);
4778
4779 return 1;
4780 }
4781 mpu6050_interface_debug_print("mpu6050: enable delay slave2.\n");
4782 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_2, &enable);
4783 if (res != 0)
4784 {
4785 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4786 (void)mpu6050_deinit(&gs_handle);
4787
4788 return 1;
4789 }
4790 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4791
4792 /* disable delay slave2 */
4794 if (res != 0)
4795 {
4796 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4797 (void)mpu6050_deinit(&gs_handle);
4798
4799 return 1;
4800 }
4801 mpu6050_interface_debug_print("mpu6050: disable delay slave2.\n");
4802 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_2, &enable);
4803 if (res != 0)
4804 {
4805 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4806 (void)mpu6050_deinit(&gs_handle);
4807
4808 return 1;
4809 }
4810 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4811
4812 /* enable delay slave1 */
4814 if (res != 0)
4815 {
4816 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4817 (void)mpu6050_deinit(&gs_handle);
4818
4819 return 1;
4820 }
4821 mpu6050_interface_debug_print("mpu6050: enable delay slave1.\n");
4822 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_1, &enable);
4823 if (res != 0)
4824 {
4825 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4826 (void)mpu6050_deinit(&gs_handle);
4827
4828 return 1;
4829 }
4830 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4831
4832 /* disable delay slave1 */
4834 if (res != 0)
4835 {
4836 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4837 (void)mpu6050_deinit(&gs_handle);
4838
4839 return 1;
4840 }
4841 mpu6050_interface_debug_print("mpu6050: disable delay slave1.\n");
4842 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_1, &enable);
4843 if (res != 0)
4844 {
4845 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4846 (void)mpu6050_deinit(&gs_handle);
4847
4848 return 1;
4849 }
4850 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4851
4852 /* enable delay slave0 */
4854 if (res != 0)
4855 {
4856 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4857 (void)mpu6050_deinit(&gs_handle);
4858
4859 return 0;
4860 }
4861 mpu6050_interface_debug_print("mpu6050: enable delay slave0.\n");
4862 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_0, &enable);
4863 if (res != 0)
4864 {
4865 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4866 (void)mpu6050_deinit(&gs_handle);
4867
4868 return 0;
4869 }
4870 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4871
4872 /* disable delay slave0 */
4874 if (res != 0)
4875 {
4876 mpu6050_interface_debug_print("mpu6050: set iic delay enable failed.\n");
4877 (void)mpu6050_deinit(&gs_handle);
4878
4879 return 0;
4880 }
4881 mpu6050_interface_debug_print("mpu6050: disable delay slave0.\n");
4882 res = mpu6050_get_iic_delay_enable(&gs_handle, MPU6050_IIC_DELAY_SLAVE_0, &enable);
4883 if (res != 0)
4884 {
4885 mpu6050_interface_debug_print("mpu6050: get iic delay enable failed.\n");
4886 (void)mpu6050_deinit(&gs_handle);
4887
4888 return 0;
4889 }
4890 mpu6050_interface_debug_print("mpu6050: check iic delay enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4891
4892 /* mpu6050_set_iic4_enable/mpu6050_get_iic4_enable test */
4893 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic4_enable/mpu6050_get_iic4_enable test.\n");
4894
4895 /* enable iic4 */
4896 res = mpu6050_set_iic4_enable(&gs_handle, MPU6050_BOOL_TRUE);
4897 if (res != 0)
4898 {
4899 mpu6050_interface_debug_print("mpu6050: set iic4 enable failed.\n");
4900 (void)mpu6050_deinit(&gs_handle);
4901
4902 return 0;
4903 }
4904 mpu6050_interface_debug_print("mpu6050: enable iic4.\n");
4905 res = mpu6050_get_iic4_enable(&gs_handle, &enable);
4906 if (res != 0)
4907 {
4908 mpu6050_interface_debug_print("mpu6050: get iic4 enable failed.\n");
4909 (void)mpu6050_deinit(&gs_handle);
4910
4911 return 0;
4912 }
4913 mpu6050_interface_debug_print("mpu6050: check iic4 enable %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4914
4915 /* disable iic4 */
4917 if (res != 0)
4918 {
4919 mpu6050_interface_debug_print("mpu6050: set iic4 enable failed.\n");
4920 (void)mpu6050_deinit(&gs_handle);
4921
4922 return 0;
4923 }
4924 mpu6050_interface_debug_print("mpu6050: disable iic4.\n");
4925 res = mpu6050_get_iic4_enable(&gs_handle, &enable);
4926 if (res != 0)
4927 {
4928 mpu6050_interface_debug_print("mpu6050: get iic4 enable failed.\n");
4929 (void)mpu6050_deinit(&gs_handle);
4930
4931 return 0;
4932 }
4933 mpu6050_interface_debug_print("mpu6050: check iic4 enable %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4934
4935 /* mpu6050_set_iic4_interrupt/mpu6050_get_iic4_interrupt test */
4936 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic4_interrupt/mpu6050_get_iic4_interrupt test.\n");
4937
4938 /* enable iic4 interrupt */
4940 if (res != 0)
4941 {
4942 mpu6050_interface_debug_print("mpu6050: set iic4 interrupt failed.\n");
4943 (void)mpu6050_deinit(&gs_handle);
4944
4945 return 0;
4946 }
4947 mpu6050_interface_debug_print("mpu6050: enable iic4 interrupt.\n");
4948 res = mpu6050_get_iic4_interrupt(&gs_handle, &enable);
4949 if (res != 0)
4950 {
4951 mpu6050_interface_debug_print("mpu6050: get iic4 interrupt failed.\n");
4952 (void)mpu6050_deinit(&gs_handle);
4953
4954 return 0;
4955 }
4956 mpu6050_interface_debug_print("mpu6050: check iic4 interrupt %s.\n", enable == MPU6050_BOOL_TRUE ? "ok" : "error");
4957
4958 /* disable iic4 interrupt */
4960 if (res != 0)
4961 {
4962 mpu6050_interface_debug_print("mpu6050: set iic4 interrupt failed.\n");
4963 (void)mpu6050_deinit(&gs_handle);
4964
4965 return 0;
4966 }
4967 mpu6050_interface_debug_print("mpu6050: disable iic4 interrupt.\n");
4968 res = mpu6050_get_iic4_interrupt(&gs_handle, &enable);
4969 if (res != 0)
4970 {
4971 mpu6050_interface_debug_print("mpu6050: get iic4 interrupt failed.\n");
4972 (void)mpu6050_deinit(&gs_handle);
4973
4974 return 0;
4975 }
4976 mpu6050_interface_debug_print("mpu6050: check iic4 interrupt %s.\n", enable == MPU6050_BOOL_FALSE ? "ok" : "error");
4977
4978 /* mpu6050_set_iic4_transaction_mode/mpu6050_get_iic4_transaction_mode test */
4979 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic4_transaction_mode/mpu6050_get_iic4_transaction_mode test.\n");
4980
4981 /* transaction mode data */
4983 if (res != 0)
4984 {
4985 mpu6050_interface_debug_print("mpu6050: set iic4 transaction mode failed.\n");
4986 (void)mpu6050_deinit(&gs_handle);
4987
4988 return 0;
4989 }
4990 mpu6050_interface_debug_print("mpu6050: set iic4 transaction mode data.\n");
4991 res = mpu6050_get_iic4_transaction_mode(&gs_handle, &transaction_mode);
4992 if (res != 0)
4993 {
4994 mpu6050_interface_debug_print("mpu6050: get iic4 transaction mode failed.\n");
4995 (void)mpu6050_deinit(&gs_handle);
4996
4997 return 0;
4998 }
4999 mpu6050_interface_debug_print("mpu6050: check iic4 transaction mode %s.\n", transaction_mode == MPU6050_IIC4_TRANSACTION_MODE_DATA ? "ok" : "error");
5000
5001 /* transaction mode reg */
5003 if (res != 0)
5004 {
5005 mpu6050_interface_debug_print("mpu6050: set iic4 transaction mode failed.\n");
5006 (void)mpu6050_deinit(&gs_handle);
5007
5008 return 0;
5009 }
5010 mpu6050_interface_debug_print("mpu6050: set iic4 transaction mode reg.\n");
5011 res = mpu6050_get_iic4_transaction_mode(&gs_handle, &transaction_mode);
5012 if (res != 0)
5013 {
5014 mpu6050_interface_debug_print("mpu6050: get iic4 transaction mode failed.\n");
5015 (void)mpu6050_deinit(&gs_handle);
5016
5017 return 0;
5018 }
5019 mpu6050_interface_debug_print("mpu6050: check iic4 transaction mode %s.\n", transaction_mode == MPU6050_IIC4_TRANSACTION_MODE_REG ? "ok" : "error");
5020
5021 /* mpu6050_set_iic_delay/mpu6050_get_iic_delay test */
5022 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic_delay/mpu6050_get_iic_delay test.\n");
5023
5024 test = rand() % 0x1F;
5025 res = mpu6050_set_iic_delay(&gs_handle, test);
5026 if (res != 0)
5027 {
5028 mpu6050_interface_debug_print("mpu6050: set iic delay failed.\n");
5029 (void)mpu6050_deinit(&gs_handle);
5030
5031 return 0;
5032 }
5033 mpu6050_interface_debug_print("mpu6050: set iic delay 0x%02X.\n", test);
5034 res = mpu6050_get_iic_delay(&gs_handle, &test_check);
5035 if (res != 0)
5036 {
5037 mpu6050_interface_debug_print("mpu6050: get iic delay failed.\n");
5038 (void)mpu6050_deinit(&gs_handle);
5039
5040 return 0;
5041 }
5042 mpu6050_interface_debug_print("mpu6050: check iic delay %s.\n", test == test_check ? "ok" : "error");
5043
5044 /* mpu6050_set_iic4_data_out/mpu6050_get_iic4_data_out test */
5045 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic4_data_out/mpu6050_get_iic4_data_out test.\n");
5046
5047 test = rand() % 256;
5048 res = mpu6050_set_iic4_data_out(&gs_handle, test);
5049 if (res != 0)
5050 {
5051 mpu6050_interface_debug_print("mpu6050: set iic4 data out failed.\n");
5052 (void)mpu6050_deinit(&gs_handle);
5053
5054 return 0;
5055 }
5056 mpu6050_interface_debug_print("mpu6050: set iic4 data out 0x%02X.\n", test);
5057 res = mpu6050_get_iic4_data_out(&gs_handle, &test_check);
5058 if (res != 0)
5059 {
5060 mpu6050_interface_debug_print("mpu6050: get iic4 data out failed.\n");
5061 (void)mpu6050_deinit(&gs_handle);
5062
5063 return 0;
5064 }
5065 mpu6050_interface_debug_print("mpu6050: check iic4 data out %s.\n", test == test_check ? "ok" : "error");
5066
5067 /* mpu6050_set_iic4_data_in/mpu6050_get_iic4_data_in test */
5068 mpu6050_interface_debug_print("mpu6050: mpu6050_set_iic4_data_in/mpu6050_get_iic4_data_in test.\n");
5069
5070 test = rand() % 256;
5071 res = mpu6050_set_iic4_data_in(&gs_handle, test);
5072 if (res != 0)
5073 {
5074 mpu6050_interface_debug_print("mpu6050: set iic4 data in failed.\n");
5075 (void)mpu6050_deinit(&gs_handle);
5076
5077 return 0;
5078 }
5079 mpu6050_interface_debug_print("mpu6050: set iic4 data in 0x%02X.\n", test);
5080 mpu6050_interface_debug_print("mpu6050: check iic4 data in %s.\n", res == 0 ? "ok" : "error");
5081
5082 /* finish register test */
5083 mpu6050_interface_debug_print("mpu6050: finish register test.\n");
5084 (void)mpu6050_deinit(&gs_handle);
5085
5086 return 0;
5087}
driver mpu6050 register test header file
uint8_t mpu6050_get_interrupt_latch(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the interrupt latch status
mpu6050_iic_mode_t
mpu6050 iic mode enumeration definition
uint8_t mpu6050_get_motion_duration(mpu6050_handle_t *handle, uint8_t *duration)
get the motion duration
uint8_t mpu6050_get_iic4_transaction_mode(mpu6050_handle_t *handle, mpu6050_iic4_transaction_mode_t *mode)
get the iic4 transaction mode
uint8_t mpu6050_get_motion_threshold(mpu6050_handle_t *handle, uint8_t *threshold)
get the motion_threshold
uint8_t mpu6050_get_temperature_sensor(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the temperature sensor status
uint8_t mpu6050_get_iic_byte_swap(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t *enable)
get the iic byte swap status
uint8_t mpu6050_get_iic_transferred_len(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *len)
get the iic transferred length
uint8_t mpu6050_set_gyroscope_z_test(mpu6050_handle_t *handle, uint8_t data)
set the gyroscope z test
uint8_t mpu6050_get_accelerometer_test(mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t *enable)
get the accelerometer test
mpu6050_pin_type_t
mpu6050 pin type enumeration definition
uint8_t mpu6050_get_iic_read_mode(mpu6050_handle_t *handle, mpu6050_iic_read_mode_t *mode)
get the iic read mode
uint8_t mpu6050_get_accelerometer_x_test(mpu6050_handle_t *handle, uint8_t *data)
get the accelerometer x test
mpu6050_iic_read_mode_t
mpu6050 iic read mode enumeration definition
mpu6050_wake_up_frequency_t
mpu6050 wake up frequency enumeration definition
uint8_t mpu6050_get_iic4_data_out(mpu6050_handle_t *handle, uint8_t *data)
get the iic4 data out
struct mpu6050_info_s mpu6050_info_t
mpu6050 information structure definition
mpu6050_iic_clock_t
mpu6050 iic clock enumeration definition
uint8_t mpu6050_get_interrupt_status(mpu6050_handle_t *handle, uint8_t *status)
get the interrupt status
uint8_t mpu6050_set_iic4_enable(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the iic4
uint8_t mpu6050_set_iic_transaction_mode(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_transaction_mode_t mode)
set the iic transaction mode
uint8_t mpu6050_set_iic4_data_in(mpu6050_handle_t *handle, uint8_t data)
set the iic4 data in
uint8_t mpu6050_get_cycle_wake_up(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the cycle wake up mode status
uint8_t mpu6050_iic_master_reset(mpu6050_handle_t *handle)
reset the iic master controller
uint8_t mpu6050_set_gyroscope_y_test(mpu6050_handle_t *handle, uint8_t data)
set the gyroscope y test
uint8_t mpu6050_set_iic_wait_for_external_sensor(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable iic wait for external sensor
uint8_t mpu6050_sensor_reset(mpu6050_handle_t *handle)
reset all sensors
uint8_t mpu6050_get_low_pass_filter(mpu6050_handle_t *handle, mpu6050_low_pass_filter_t *filter)
get the low pass filter
uint8_t mpu6050_set_wake_up_frequency(mpu6050_handle_t *handle, mpu6050_wake_up_frequency_t frequency)
set the wake up frequency
mpu6050_gyroscope_range_t
mpu6050 gyroscope range enumeration definition
uint8_t mpu6050_set_accelerometer_x_test(mpu6050_handle_t *handle, uint8_t data)
set the accelerometer x test
uint8_t mpu6050_fifo_reset(mpu6050_handle_t *handle)
reset the fifo
uint8_t mpu6050_get_interrupt_pin_type(mpu6050_handle_t *handle, mpu6050_pin_type_t *type)
get the interrupt pin type
uint8_t mpu6050_get_iic_address(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *addr_7bit)
get the iic address
uint8_t mpu6050_get_iic_group_order(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_group_order_t *order)
get the iic group order
uint8_t mpu6050_init(mpu6050_handle_t *handle)
initialize the chip
uint8_t mpu6050_set_iic_multi_master(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable iic multi master
uint8_t mpu6050_set_iic_group_order(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_group_order_t order)
set the iic group order
uint8_t mpu6050_get_iic_clock(mpu6050_handle_t *handle, mpu6050_iic_clock_t *clk)
get the iic clock
uint8_t mpu6050_set_iic_address(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t addr_7bit)
set the iic address
mpu6050_extern_sync_t
mpu6050 extern sync enumeration definition
uint8_t mpu6050_set_accelerometer_range(mpu6050_handle_t *handle, mpu6050_accelerometer_range_t range)
set the accelerometer range
uint8_t mpu6050_device_reset(mpu6050_handle_t *handle)
reset the chip
mpu6050_address_t
mpu6050 address enumeration definition
uint8_t mpu6050_set_standby_mode(mpu6050_handle_t *handle, mpu6050_source_t source, mpu6050_bool_t enable)
set source into standby mode
uint8_t mpu6050_get_iic_fifo_enable(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t *enable)
get the iic fifo status
uint8_t mpu6050_get_interrupt_read_clear(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the interrupt reading clear status
uint8_t mpu6050_set_iic_register(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t reg)
set the iic register
uint8_t mpu6050_motion_threshold_convert_to_register(mpu6050_handle_t *handle, float mg, uint8_t *reg)
convert the motion threshold to the register raw data
uint8_t mpu6050_get_iic_master_reset(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the iic master reset status
uint8_t mpu6050_get_interrupt(mpu6050_handle_t *handle, mpu6050_interrupt_t type, mpu6050_bool_t *enable)
get the interrupt status
uint8_t mpu6050_set_gyroscope_x_test(mpu6050_handle_t *handle, uint8_t data)
set the gyroscope x test
uint8_t mpu6050_get_accelerometer_z_test(mpu6050_handle_t *handle, uint8_t *data)
get the accelerometer z test
uint8_t mpu6050_set_iic_delay(mpu6050_handle_t *handle, uint8_t delay)
set the iic delay
uint8_t mpu6050_get_sleep(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the sleep status
uint8_t mpu6050_set_iic_transferred_len(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t len)
set the iic transferred length
uint8_t mpu6050_set_motion_threshold(mpu6050_handle_t *handle, uint8_t threshold)
set the motion_threshold
uint8_t mpu6050_get_sample_rate_divider(mpu6050_handle_t *handle, uint8_t *d)
get the sample rate divider
uint8_t mpu6050_set_iic4_interrupt(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the iic4 interrupt
uint8_t mpu6050_set_iic_clock(mpu6050_handle_t *handle, mpu6050_iic_clock_t clk)
set the iic clock
uint8_t mpu6050_set_iic4_data_out(mpu6050_handle_t *handle, uint8_t data)
set the iic4 data out
uint8_t mpu6050_fifo_get(mpu6050_handle_t *handle, uint8_t *buf, uint16_t len)
fifo read bytes
uint8_t mpu6050_get_accelerometer_y_test(mpu6050_handle_t *handle, uint8_t *data)
get the accelerometer y test
uint8_t mpu6050_set_sample_rate_divider(mpu6050_handle_t *handle, uint8_t d)
set the sample rate divider
uint8_t mpu6050_set_motion_duration(mpu6050_handle_t *handle, uint8_t duration)
set the motion duration
uint8_t mpu6050_set_gyroscope_range(mpu6050_handle_t *handle, mpu6050_gyroscope_range_t range)
set the gyroscope range
uint8_t mpu6050_set_addr_pin(mpu6050_handle_t *handle, mpu6050_address_t addr_pin)
set the chip address pin
uint8_t mpu6050_get_wake_up_frequency(mpu6050_handle_t *handle, mpu6050_wake_up_frequency_t *frequency)
get the wake up frequency
uint8_t mpu6050_get_interrupt_level(mpu6050_handle_t *handle, mpu6050_pin_level_t *level)
get the interrupt level
mpu6050_iic_group_order_t
mpu6050 iic group order enumeration definition
uint8_t mpu6050_set_interrupt_read_clear(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the interrupt reading clear
uint8_t mpu6050_set_fifo_enable(mpu6050_handle_t *handle, mpu6050_fifo_t fifo, mpu6050_bool_t enable)
enable or disable the fifo function
mpu6050_clock_source_t
mpu6050 clock source enumeration definition
uint8_t mpu6050_set_iic_byte_swap(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t enable)
enable or disable the iic byte swap
uint8_t mpu6050_get_gyroscope_z_test(mpu6050_handle_t *handle, uint8_t *data)
get the gyroscope z test
uint8_t mpu6050_get_iic_data_out(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *data)
get the iic data out
uint8_t mpu6050_get_fifo_enable(mpu6050_handle_t *handle, mpu6050_fifo_t fifo, mpu6050_bool_t *enable)
get the fifo function status
uint8_t mpu6050_get_extern_sync(mpu6050_handle_t *handle, mpu6050_extern_sync_t *sync)
get the extern sync type
uint8_t mpu6050_get_iic_master(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the iic master status
uint8_t mpu6050_set_accelerometer_y_test(mpu6050_handle_t *handle, uint8_t data)
set the accelerometer y test
uint8_t mpu6050_set_interrupt(mpu6050_handle_t *handle, mpu6050_interrupt_t type, mpu6050_bool_t enable)
enable or disable the interrupt
uint8_t mpu6050_set_iic_bypass(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the iic bypass
uint8_t mpu6050_info(mpu6050_info_t *info)
get the chip's information
uint8_t mpu6050_set_gyroscope_test(mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t enable)
set the gyroscope test
uint8_t mpu6050_get_fsync_interrupt_level(mpu6050_handle_t *handle, mpu6050_pin_level_t *level)
get the fsync interrupt level
mpu6050_pin_level_t
mpu6050 pin level enumeration definition
uint8_t mpu6050_get_iic4_enable(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the iic4 status
uint8_t mpu6050_set_cycle_wake_up(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the cycle wake up mode
uint8_t mpu6050_get_device_reset(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the device reset status
uint8_t mpu6050_get_fifo_reset(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the fifo reset status
uint8_t mpu6050_set_interrupt_pin_type(mpu6050_handle_t *handle, mpu6050_pin_type_t type)
set the interrupt pin type
uint8_t mpu6050_set_signal_path_reset(mpu6050_handle_t *handle, mpu6050_signal_path_reset_t path)
set the signal path reset
uint8_t mpu6050_get_iic_enable(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t *enable)
get the iic status
uint8_t mpu6050_get_iic_transaction_mode(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_transaction_mode_t *mode)
get the iic transaction mode
uint8_t mpu6050_get_standby_mode(mpu6050_handle_t *handle, mpu6050_source_t source, mpu6050_bool_t *enable)
get the source mode
uint8_t mpu6050_set_iic_master(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the iic master mode
uint8_t mpu6050_get_gyroscope_x_test(mpu6050_handle_t *handle, uint8_t *data)
get the gyroscope x test
uint8_t mpu6050_get_gyroscope_y_test(mpu6050_handle_t *handle, uint8_t *data)
get the gyroscope y test
uint8_t mpu6050_set_temperature_sensor(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the temperature sensor
uint8_t mpu6050_set_interrupt_latch(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the interrupt latch
uint8_t mpu6050_set_iic4_transaction_mode(mpu6050_handle_t *handle, mpu6050_iic4_transaction_mode_t mode)
set the iic4 transaction mode
mpu6050_accelerometer_range_t
mpu6050 accelerometer range enumeration definition
uint8_t mpu6050_get_gyroscope_test(mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t *enable)
get the gyroscope test
mpu6050_iic_transaction_mode_t
mpu6050 iic transaction mode enumeration definition
uint8_t mpu6050_get_fsync_interrupt(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the fsync interrupt status
uint8_t mpu6050_set_iic_enable(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t enable)
enable or disable the iic
uint8_t mpu6050_set_accelerometer_test(mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t enable)
set the accelerometer test
uint8_t mpu6050_set_extern_sync(mpu6050_handle_t *handle, mpu6050_extern_sync_t sync)
set the extern sync type
uint8_t mpu6050_get_iic_bypass(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the iic bypass status
uint8_t mpu6050_set_sleep(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the sleep mode
struct mpu6050_handle_s mpu6050_handle_t
mpu6050 handle structure definition
uint8_t mpu6050_motion_threshold_convert_to_data(mpu6050_handle_t *handle, uint8_t reg, float *mg)
convert the register raw data to the motion threshold
uint8_t mpu6050_get_clock_source(mpu6050_handle_t *handle, mpu6050_clock_source_t *clock_source)
get the chip clock source
mpu6050_bool_t
mpu6050 bool enumeration definition
uint8_t mpu6050_set_fifo(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable fifo
uint8_t mpu6050_set_interrupt_level(mpu6050_handle_t *handle, mpu6050_pin_level_t level)
set the interrupt level
uint8_t mpu6050_get_addr_pin(mpu6050_handle_t *handle, mpu6050_address_t *addr_pin)
get the chip address pin
uint8_t mpu6050_motion_duration_convert_to_register(mpu6050_handle_t *handle, uint8_t ms, uint8_t *reg)
convert the motion duration to the register raw data
uint8_t mpu6050_get_iic_status(mpu6050_handle_t *handle, uint8_t *status)
get the iic status
uint8_t mpu6050_get_accelerometer_range(mpu6050_handle_t *handle, mpu6050_accelerometer_range_t *range)
get the accelerometer range
uint8_t mpu6050_set_iic_data_out(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t data)
set the iic data out
uint8_t mpu6050_get_iic_wait_for_external_sensor(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the iic wait for external sensor status
uint8_t mpu6050_set_iic_fifo_enable(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t enable)
enable or disable the iic fifo
mpu6050_low_pass_filter_t
mpu6050 low pass filter enumeration definition
uint8_t mpu6050_get_fifo(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the fifo status
uint8_t mpu6050_set_clock_source(mpu6050_handle_t *handle, mpu6050_clock_source_t clock_source)
set the chip clock source
uint8_t mpu6050_fifo_set(mpu6050_handle_t *handle, uint8_t *buf, uint16_t len)
fifo write bytes
uint8_t mpu6050_get_iic_register(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *reg)
get the iic register
uint8_t mpu6050_get_gyroscope_range(mpu6050_handle_t *handle, mpu6050_gyroscope_range_t *range)
get the gyroscope range
uint8_t mpu6050_set_iic_read_mode(mpu6050_handle_t *handle, mpu6050_iic_read_mode_t mode)
set the iic read mode
uint8_t mpu6050_get_sensor_reset(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the sensor reset status
uint8_t mpu6050_get_fifo_count(mpu6050_handle_t *handle, uint16_t *count)
get the fifo counter value
uint8_t mpu6050_set_fsync_interrupt(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable the fsync interrupt
uint8_t mpu6050_motion_duration_convert_to_data(mpu6050_handle_t *handle, uint8_t reg, uint8_t *ms)
convert the register raw data to the motion duration
mpu6050_iic4_transaction_mode_t
mpu6050 iic4 transaction mode enumeration definition
uint8_t mpu6050_set_low_pass_filter(mpu6050_handle_t *handle, mpu6050_low_pass_filter_t filter)
set the low pass filter
uint8_t mpu6050_set_iic_mode(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_mode_t mode)
set the iic mode
uint8_t mpu6050_deinit(mpu6050_handle_t *handle)
close the chip
uint8_t mpu6050_get_iic_delay_enable(mpu6050_handle_t *handle, mpu6050_iic_delay_t delay, mpu6050_bool_t *enable)
get the iic delay status
uint8_t mpu6050_set_iic_delay_enable(mpu6050_handle_t *handle, mpu6050_iic_delay_t delay, mpu6050_bool_t enable)
enable or disable the iic delay
uint8_t mpu6050_get_iic_mode(mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_mode_t *mode)
get the iic mode
uint8_t mpu6050_get_iic_multi_master(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the iic multi master status
uint8_t mpu6050_get_iic_delay(mpu6050_handle_t *handle, uint8_t *delay)
get the iic delay
uint8_t mpu6050_set_fsync_interrupt_level(mpu6050_handle_t *handle, mpu6050_pin_level_t level)
set the fsync interrupt level
uint8_t mpu6050_set_force_accel_sample(mpu6050_handle_t *handle, mpu6050_bool_t enable)
enable or disable force accel sample
uint8_t mpu6050_set_accelerometer_z_test(mpu6050_handle_t *handle, uint8_t data)
set the accelerometer z test
uint8_t mpu6050_get_iic4_interrupt(mpu6050_handle_t *handle, mpu6050_bool_t *enable)
get the iic4 interrupt status
@ MPU6050_IIC_MODE_READ
@ MPU6050_IIC_MODE_WRITE
@ MPU6050_PIN_TYPE_PUSH_PULL
@ MPU6050_PIN_TYPE_OPEN_DRAIN
@ MPU6050_IIC_READ_MODE_RESTART
@ MPU6050_IIC_READ_MODE_STOP_AND_START
@ MPU6050_WAKE_UP_FREQUENCY_1P25_HZ
@ MPU6050_WAKE_UP_FREQUENCY_40_HZ
@ MPU6050_WAKE_UP_FREQUENCY_20_HZ
@ MPU6050_WAKE_UP_FREQUENCY_5_HZ
@ MPU6050_IIC_CLOCK_296_KHZ
@ MPU6050_IIC_CLOCK_364_KHZ
@ MPU6050_IIC_CLOCK_348_KHZ
@ MPU6050_IIC_CLOCK_286_KHZ
@ MPU6050_IIC_CLOCK_267_KHZ
@ MPU6050_IIC_CLOCK_308_KHZ
@ MPU6050_IIC_CLOCK_400_KHZ
@ MPU6050_IIC_CLOCK_333_KHZ
@ MPU6050_IIC_CLOCK_320_KHZ
@ MPU6050_IIC_CLOCK_258_KHZ
@ MPU6050_IIC_CLOCK_276_KHZ
@ MPU6050_IIC_CLOCK_381_KHZ
@ MPU6050_IIC_CLOCK_444_KHZ
@ MPU6050_IIC_CLOCK_421_KHZ
@ MPU6050_IIC_CLOCK_500_KHZ
@ MPU6050_IIC_CLOCK_471_KHZ
@ MPU6050_GYROSCOPE_RANGE_250DPS
@ MPU6050_GYROSCOPE_RANGE_2000DPS
@ MPU6050_GYROSCOPE_RANGE_1000DPS
@ MPU6050_GYROSCOPE_RANGE_500DPS
@ MPU6050_EXTERN_SYNC_GYRO_ZOUT_L
@ MPU6050_EXTERN_SYNC_GYRO_YOUT_L
@ MPU6050_EXTERN_SYNC_GYRO_XOUT_L
@ MPU6050_EXTERN_SYNC_ACCEL_YOUT_L
@ MPU6050_EXTERN_SYNC_INPUT_DISABLED
@ MPU6050_EXTERN_SYNC_ACCEL_ZOUT_L
@ MPU6050_EXTERN_SYNC_ACCEL_XOUT_L
@ MPU6050_EXTERN_SYNC_TEMP_OUT_L
@ MPU6050_ADDRESS_AD0_LOW
@ MPU6050_ADDRESS_AD0_HIGH
@ MPU6050_IIC_DELAY_SLAVE_3
@ MPU6050_IIC_DELAY_SLAVE_1
@ MPU6050_IIC_DELAY_SLAVE_2
@ MPU6050_IIC_DELAY_SLAVE_4
@ MPU6050_IIC_DELAY_SLAVE_0
@ MPU6050_IIC_DELAY_ES_SHADOW
@ MPU6050_SOURCE_ACC_Y
@ MPU6050_SOURCE_GYRO_Y
@ MPU6050_SOURCE_ACC_Z
@ MPU6050_SOURCE_ACC_X
@ MPU6050_SOURCE_GYRO_Z
@ MPU6050_SOURCE_GYRO_X
@ MPU6050_IIC_GROUP_ORDER_EVEN
@ MPU6050_IIC_GROUP_ORDER_ODD
@ MPU6050_FIFO_XG
@ MPU6050_FIFO_ACCEL
@ MPU6050_FIFO_TEMP
@ MPU6050_FIFO_ZG
@ MPU6050_FIFO_YG
@ MPU6050_CLOCK_SOURCE_INTERNAL_8MHZ
@ MPU6050_CLOCK_SOURCE_STOP_CLOCK
@ MPU6050_CLOCK_SOURCE_PLL_EXT_32P768_KHZ
@ MPU6050_CLOCK_SOURCE_PLL_X_GYRO
@ MPU6050_CLOCK_SOURCE_PLL_Z_GYRO
@ MPU6050_CLOCK_SOURCE_PLL_Y_GYRO
@ MPU6050_CLOCK_SOURCE_PLL_EXT_19P2_MHZ
@ MPU6050_PIN_LEVEL_HIGH
@ MPU6050_PIN_LEVEL_LOW
@ MPU6050_INTERRUPT_DMP
@ MPU6050_INTERRUPT_I2C_MAST
@ MPU6050_INTERRUPT_DATA_READY
@ MPU6050_INTERRUPT_FIFO_OVERFLOW
@ MPU6050_INTERRUPT_MOTION
@ MPU6050_ACCELEROMETER_RANGE_16G
@ MPU6050_ACCELEROMETER_RANGE_4G
@ MPU6050_ACCELEROMETER_RANGE_2G
@ MPU6050_ACCELEROMETER_RANGE_8G
@ MPU6050_SIGNAL_PATH_RESET_GYRO
@ MPU6050_SIGNAL_PATH_RESET_ACCEL
@ MPU6050_SIGNAL_PATH_RESET_TEMP
@ MPU6050_IIC_SLAVE_3
@ MPU6050_IIC_SLAVE_1
@ MPU6050_IIC_SLAVE_0
@ MPU6050_IIC_SLAVE_2
@ MPU6050_IIC_SLAVE_4
@ MPU6050_IIC_TRANSACTION_MODE_DATA
@ MPU6050_IIC_TRANSACTION_MODE_REG_DATA
@ MPU6050_BOOL_TRUE
@ MPU6050_BOOL_FALSE
@ MPU6050_LOW_PASS_FILTER_0
@ MPU6050_LOW_PASS_FILTER_4
@ MPU6050_LOW_PASS_FILTER_3
@ MPU6050_LOW_PASS_FILTER_6
@ MPU6050_LOW_PASS_FILTER_1
@ MPU6050_LOW_PASS_FILTER_5
@ MPU6050_LOW_PASS_FILTER_2
@ MPU6050_IIC4_TRANSACTION_MODE_REG
@ MPU6050_IIC4_TRANSACTION_MODE_DATA
@ MPU6050_AXIS_X
@ MPU6050_AXIS_Z
@ MPU6050_AXIS_Y
uint8_t mpu6050_interface_iic_deinit(void)
interface iic bus deinit
uint8_t mpu6050_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void mpu6050_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t mpu6050_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t mpu6050_interface_iic_init(void)
interface iic bus init
void mpu6050_interface_receive_callback(uint8_t type)
interface receive callback
void mpu6050_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t mpu6050_register_test(mpu6050_address_t addr)
register test
uint32_t driver_version
char manufacturer_name[32]