MRMS
bno055.h
Go to the documentation of this file.
1 
58 #ifndef __BNO055_H__
59 #define __BNO055_H__
60 /****************************************************************/
62 /************************************************************/
75 #ifdef __KERNEL__
76 
77 #include <linux/types.h>
78 /* singed integer type*/
79 typedef int8_t s8;
80 typedef int16_t s16;
81 typedef int32_t s32;
82 typedef int64_t s64;
84 typedef u_int8_t u8;
85 typedef u_int16_t u16;
86 typedef u_int32_t u32;
87 typedef u_int64_t u64;
91 #else /* ! __KERNEL__ */
92 /**********************************************************
93 * These definition uses for define the C
94 * standard version data types
95 ***********************************************************/
96 # if !defined(__STDC_VERSION__)
97 
98 /************************************************
99  * compiler is C11 C standard
100 ************************************************/
101 #if (__STDC_VERSION__ == 201112L)
102 
103 /************************************************/
104 #include <stdint.h>
105 /************************************************/
106 
107 /*unsigned integer types*/
108 typedef uint8_t u8;
109 typedef uint16_t u16;
110 typedef uint32_t u32;
111 typedef uint64_t u64;
113 /*signed integer types*/
114 typedef int8_t s8;
115 typedef int16_t s16;
116 typedef int32_t s32;
117 typedef int64_t s64;
118 /************************************************
119  * compiler is C99 C standard
120 ************************************************/
121 
122 #elif (__STDC_VERSION__ == 199901L)
123 
124 /* stdint.h is a C99 supported c library.
125 which is used to fixed the integer size*/
126 /************************************************/
127 #include <stdint.h>
128 /************************************************/
129 
130 /*unsigned integer types*/
131 typedef uint8_t u8;
132 typedef uint16_t u16;
133 typedef uint32_t u32;
134 typedef uint64_t u64;
136 /*signed integer types*/
137 typedef int8_t s8;
138 typedef int16_t s16;
139 typedef int32_t s32;
140 typedef int64_t s64;
141 /************************************************
142  * compiler is C89 or other C standard
143 ************************************************/
144 
145 #else /* !defined(__STDC_VERSION__) */
151 #define MACHINE_32_BIT
152 
157 #ifdef MACHINE_16_BIT
158 #include <limits.h>
159 /*signed integer types*/
160 typedef signed char s8;
161 typedef signed short int s16;
162 typedef signed long int s32;
164 #if defined(LONG_MAX) && LONG_MAX == 0x7fffffffffffffffL
165 typedef long int s64;
166 typedef unsigned long int u64;
167 #elif defined(LLONG_MAX) && (LLONG_MAX == 0x7fffffffffffffffLL)
168 typedef long long int s64;
169 typedef unsigned long long int u64;
170 #else
171 #warning Either the correct data type for signed 64 bit integer \
172 could not be found, or 64 bit integers are not supported in your environment.
173 #warning If 64 bit integers are supported on your platform, \
174 please set s64 manually.
175 #endif
176 
177 /*unsigned integer types*/
178 typedef unsigned char u8;
179 typedef unsigned short int u16;
180 typedef unsigned long int u32;
182 /* If your machine support 32 bit
183 define the MACHINE_32_BIT*/
184 #elif defined MACHINE_32_BIT
185 /*signed integer types*/
186 typedef signed char s8;
187 typedef signed short int s16;
188 typedef signed int s32;
189 typedef signed long long int s64;
191 /*unsigned integer types*/
192 typedef unsigned char u8;
193 typedef unsigned short int u16;
194 typedef unsigned long u32; // Changed, before: int
195 typedef unsigned long long int u64;
197 /* If your machine support 64 bit
198 define the MACHINE_64_BIT*/
199 #elif defined MACHINE_64_BIT
200 /*signed integer types*/
201 typedef signed char s8;
202 typedef signed short int s16;
203 typedef signed int s32;
204 typedef signed long int s64;
206 /*unsigned integer types*/
207 typedef unsigned char u8;
208 typedef unsigned short int u16;
209 typedef unsigned int u32;
210 typedef unsigned long int u64;
212 #else
213 #warning The data types defined above which not supported \
214 define the data types manually
215 #endif
216 #endif
217 
218 /*** This else will execute for the compilers
219  * which are not supported the C standards
220  * Like C89/C99/C11***/
221 #else
227 #define MACHINE_32_BIT
228 
229 /* If your machine support 16 bit
230 define the MACHINE_16_BIT*/
231 #ifdef MACHINE_16_BIT
232 #include <limits.h>
233 /*signed integer types*/
234 typedef signed char s8;
235 typedef signed short int s16;
236 typedef signed long int s32;
238 #if defined(LONG_MAX) && LONG_MAX == 0x7fffffffffffffffL
239 typedef long int s64;
240 typedef unsigned long int u64;
241 #elif defined(LLONG_MAX) && (LLONG_MAX == 0x7fffffffffffffffLL)
242 typedef long long int s64;
243 typedef unsigned long long int u64;
244 #else
245 #warning Either the correct data type for signed 64 bit integer \
246 could not be found, or 64 bit integers are not supported in your environment.
247 #warning If 64 bit integers are supported on your platform, \
248 please set s64 manually.
249 #endif
250 
251 /*unsigned integer types*/
252 typedef unsigned char u8;
253 typedef unsigned short int u16;
254 typedef unsigned long int u32;
258 #elif defined MACHINE_32_BIT
259 /*signed integer types*/
260 typedef signed char s8;
261 typedef signed short int s16;
262 typedef signed int s32;
263 typedef signed long long int s64;
265 /*unsigned integer types*/
266 typedef unsigned char u8;
267 typedef unsigned short int u16;
268 typedef unsigned int u32;
269 typedef unsigned long long int u64;
271 /* If your machine support 64 bit
272 define the MACHINE_64_BIT*/
273 #elif defined MACHINE_64_BIT
274 /*signed integer types*/
275 typedef signed char s8;
276 typedef signed short int s16;
277 typedef signed int s32;
278 typedef signed long int s64;
280 /*unsigned integer types*/
281 typedef unsigned char u8;
282 typedef unsigned short int u16;
283 typedef unsigned int u32;
284 typedef unsigned long int u64;
286 #else
287 #warning The data types defined above which not supported \
288 define the data types manually
289 #endif
290 #endif
291 #endif
292 /***************************************************************/
294 /***************************************************************/
295 #define BNO055_WR_FUNC_PTR s8 (*bus_write)\
296 (u8, u8, u8 *, u8)
297 
298 #define BNO055_BUS_WRITE_FUNC(dev_addr, reg_addr, reg_data, wr_len)\
299  bus_write(dev_addr, reg_addr, reg_data, wr_len)
300 
301 #define BNO055_RD_FUNC_PTR s8 \
302 (*bus_read)(u8, u8, u8 *, u8)
303 
304 #define BNO055_BUS_READ_FUNC(dev_addr, reg_addr, reg_data, r_len)\
305 bus_read(dev_addr, reg_addr, reg_data, r_len)
306 
307 #define BNO055_DELAY_RETURN_TYPE void
308 
309 #define BNO055_DELAY_PARAM_TYPES u32
310 
311 #define BNO055_DELAY_FUNC(delay_in_msec)\
312  delay_func(delay_in_msec)
313 
314 /********************************************************/
316 /********************************************************/
317 /* bno055 I2C Address */
318 #define BNO055_I2C_ADDR1 (0x28)
319 #define BNO055_I2C_ADDR2 (0x29)
320 
321 /***************************************************/
323 /***************************************************/
324 /* Page id register definition*/
325 #define BNO055_PAGE_ID_ADDR (0X07)
326 
327 /* PAGE0 REGISTER DEFINITION START*/
328 #define BNO055_CHIP_ID_ADDR (0x00)
329 #define BNO055_ACCEL_REV_ID_ADDR (0x01)
330 #define BNO055_MAG_REV_ID_ADDR (0x02)
331 #define BNO055_GYRO_REV_ID_ADDR (0x03)
332 #define BNO055_SW_REV_ID_LSB_ADDR (0x04)
333 #define BNO055_SW_REV_ID_MSB_ADDR (0x05)
334 #define BNO055_BL_REV_ID_ADDR (0X06)
335 
336 /* Accel data register*/
337 #define BNO055_ACCEL_DATA_X_LSB_ADDR (0X08)
338 #define BNO055_ACCEL_DATA_X_MSB_ADDR (0X09)
339 #define BNO055_ACCEL_DATA_Y_LSB_ADDR (0X0A)
340 #define BNO055_ACCEL_DATA_Y_MSB_ADDR (0X0B)
341 #define BNO055_ACCEL_DATA_Z_LSB_ADDR (0X0C)
342 #define BNO055_ACCEL_DATA_Z_MSB_ADDR (0X0D)
343 
344 /*Mag data register*/
345 #define BNO055_MAG_DATA_X_LSB_ADDR (0X0E)
346 #define BNO055_MAG_DATA_X_MSB_ADDR (0X0F)
347 #define BNO055_MAG_DATA_Y_LSB_ADDR (0X10)
348 #define BNO055_MAG_DATA_Y_MSB_ADDR (0X11)
349 #define BNO055_MAG_DATA_Z_LSB_ADDR (0X12)
350 #define BNO055_MAG_DATA_Z_MSB_ADDR (0X13)
351 
352 /*Gyro data registers*/
353 #define BNO055_GYRO_DATA_X_LSB_ADDR (0X14)
354 #define BNO055_GYRO_DATA_X_MSB_ADDR (0X15)
355 #define BNO055_GYRO_DATA_Y_LSB_ADDR (0X16)
356 #define BNO055_GYRO_DATA_Y_MSB_ADDR (0X17)
357 #define BNO055_GYRO_DATA_Z_LSB_ADDR (0X18)
358 #define BNO055_GYRO_DATA_Z_MSB_ADDR (0X19)
359 
360 /*Euler data registers*/
361 #define BNO055_EULER_H_LSB_ADDR (0X1A)
362 #define BNO055_EULER_H_MSB_ADDR (0X1B)
363 
364 #define BNO055_EULER_R_LSB_ADDR (0X1C)
365 #define BNO055_EULER_R_MSB_ADDR (0X1D)
366 
367 #define BNO055_EULER_P_LSB_ADDR (0X1E)
368 #define BNO055_EULER_P_MSB_ADDR (0X1F)
369 
370 /*Quaternion data registers*/
371 #define BNO055_QUATERNION_DATA_W_LSB_ADDR (0X20)
372 #define BNO055_QUATERNION_DATA_W_MSB_ADDR (0X21)
373 #define BNO055_QUATERNION_DATA_X_LSB_ADDR (0X22)
374 #define BNO055_QUATERNION_DATA_X_MSB_ADDR (0X23)
375 #define BNO055_QUATERNION_DATA_Y_LSB_ADDR (0X24)
376 #define BNO055_QUATERNION_DATA_Y_MSB_ADDR (0X25)
377 #define BNO055_QUATERNION_DATA_Z_LSB_ADDR (0X26)
378 #define BNO055_QUATERNION_DATA_Z_MSB_ADDR (0X27)
379 
380 /* Linear acceleration data registers*/
381 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR (0X28)
382 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR (0X29)
383 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR (0X2A)
384 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR (0X2B)
385 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR (0X2C)
386 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR (0X2D)
387 
388 /*Gravity data registers*/
389 #define BNO055_GRAVITY_DATA_X_LSB_ADDR (0X2E)
390 #define BNO055_GRAVITY_DATA_X_MSB_ADDR (0X2F)
391 #define BNO055_GRAVITY_DATA_Y_LSB_ADDR (0X30)
392 #define BNO055_GRAVITY_DATA_Y_MSB_ADDR (0X31)
393 #define BNO055_GRAVITY_DATA_Z_LSB_ADDR (0X32)
394 #define BNO055_GRAVITY_DATA_Z_MSB_ADDR (0X33)
395 
396 /* Temperature data register*/
397 #define BNO055_TEMP_ADDR (0X34)
398 
399 /* Status registers*/
400 #define BNO055_CALIB_STAT_ADDR (0X35)
401 #define BNO055_SELFTEST_RESULT_ADDR (0X36)
402 #define BNO055_INTR_STAT_ADDR (0X37)
403 #define BNO055_SYS_CLK_STAT_ADDR (0X38)
404 #define BNO055_SYS_STAT_ADDR (0X39)
405 #define BNO055_SYS_ERR_ADDR (0X3A)
406 
407 /* Unit selection register*/
408 #define BNO055_UNIT_SEL_ADDR (0X3B)
409 #define BNO055_DATA_SELECT_ADDR (0X3C)
410 
411 /* Mode registers*/
412 #define BNO055_OPR_MODE_ADDR (0X3D)
413 #define BNO055_PWR_MODE_ADDR (0X3E)
414 
415 #define BNO055_SYS_TRIGGER_ADDR (0X3F)
416 #define BNO055_TEMP_SOURCE_ADDR (0X40)
417 /* Axis remap registers*/
418 #define BNO055_AXIS_MAP_CONFIG_ADDR (0X41)
419 #define BNO055_AXIS_MAP_SIGN_ADDR (0X42)
420 
421 /* SIC registers*/
422 #define BNO055_SIC_MATRIX_0_LSB_ADDR (0X43)
423 #define BNO055_SIC_MATRIX_0_MSB_ADDR (0X44)
424 #define BNO055_SIC_MATRIX_1_LSB_ADDR (0X45)
425 #define BNO055_SIC_MATRIX_1_MSB_ADDR (0X46)
426 #define BNO055_SIC_MATRIX_2_LSB_ADDR (0X47)
427 #define BNO055_SIC_MATRIX_2_MSB_ADDR (0X48)
428 #define BNO055_SIC_MATRIX_3_LSB_ADDR (0X49)
429 #define BNO055_SIC_MATRIX_3_MSB_ADDR (0X4A)
430 #define BNO055_SIC_MATRIX_4_LSB_ADDR (0X4B)
431 #define BNO055_SIC_MATRIX_4_MSB_ADDR (0X4C)
432 #define BNO055_SIC_MATRIX_5_LSB_ADDR (0X4D)
433 #define BNO055_SIC_MATRIX_5_MSB_ADDR (0X4E)
434 #define BNO055_SIC_MATRIX_6_LSB_ADDR (0X4F)
435 #define BNO055_SIC_MATRIX_6_MSB_ADDR (0X50)
436 #define BNO055_SIC_MATRIX_7_LSB_ADDR (0X51)
437 #define BNO055_SIC_MATRIX_7_MSB_ADDR (0X52)
438 #define BNO055_SIC_MATRIX_8_LSB_ADDR (0X53)
439 #define BNO055_SIC_MATRIX_8_MSB_ADDR (0X54)
440 
441 /* Accelerometer Offset registers*/
442 #define BNO055_ACCEL_OFFSET_X_LSB_ADDR (0X55)
443 #define BNO055_ACCEL_OFFSET_X_MSB_ADDR (0X56)
444 #define BNO055_ACCEL_OFFSET_Y_LSB_ADDR (0X57)
445 #define BNO055_ACCEL_OFFSET_Y_MSB_ADDR (0X58)
446 #define BNO055_ACCEL_OFFSET_Z_LSB_ADDR (0X59)
447 #define BNO055_ACCEL_OFFSET_Z_MSB_ADDR (0X5A)
448 
449 /* Magnetometer Offset registers*/
450 #define BNO055_MAG_OFFSET_X_LSB_ADDR (0X5B)
451 #define BNO055_MAG_OFFSET_X_MSB_ADDR (0X5C)
452 #define BNO055_MAG_OFFSET_Y_LSB_ADDR (0X5D)
453 #define BNO055_MAG_OFFSET_Y_MSB_ADDR (0X5E)
454 #define BNO055_MAG_OFFSET_Z_LSB_ADDR (0X5F)
455 #define BNO055_MAG_OFFSET_Z_MSB_ADDR (0X60)
456 
457 /* Gyroscope Offset registers*/
458 #define BNO055_GYRO_OFFSET_X_LSB_ADDR (0X61)
459 #define BNO055_GYRO_OFFSET_X_MSB_ADDR (0X62)
460 #define BNO055_GYRO_OFFSET_Y_LSB_ADDR (0X63)
461 #define BNO055_GYRO_OFFSET_Y_MSB_ADDR (0X64)
462 #define BNO055_GYRO_OFFSET_Z_LSB_ADDR (0X65)
463 #define BNO055_GYRO_OFFSET_Z_MSB_ADDR (0X66)
464 
465 /* Radius registers*/
466 #define BNO055_ACCEL_RADIUS_LSB_ADDR (0X67)
467 #define BNO055_ACCEL_RADIUS_MSB_ADDR (0X68)
468 #define BNO055_MAG_RADIUS_LSB_ADDR (0X69)
469 #define BNO055_MAG_RADIUS_MSB_ADDR (0X6A)
470 /* PAGE0 REGISTERS DEFINITION END*/
471 
472 /* PAGE1 REGISTERS DEFINITION START*/
473 /* Configuration registers*/
474 #define BNO055_ACCEL_CONFIG_ADDR (0X08)
475 #define BNO055_MAG_CONFIG_ADDR (0X09)
476 #define BNO055_GYRO_CONFIG_ADDR (0X0A)
477 #define BNO055_GYRO_MODE_CONFIG_ADDR (0X0B)
478 #define BNO055_ACCEL_SLEEP_CONFIG_ADDR (0X0C)
479 #define BNO055_GYRO_SLEEP_CONFIG_ADDR (0X0D)
480 #define BNO055_MAG_SLEEP_CONFIG_ADDR (0x0E)
481 
482 /* Interrupt registers*/
483 #define BNO055_INT_MASK_ADDR (0X0F)
484 #define BNO055_INT_ADDR (0X10)
485 #define BNO055_ACCEL_ANY_MOTION_THRES_ADDR (0X11)
486 #define BNO055_ACCEL_INTR_SETTINGS_ADDR (0X12)
487 #define BNO055_ACCEL_HIGH_G_DURN_ADDR (0X13)
488 #define BNO055_ACCEL_HIGH_G_THRES_ADDR (0X14)
489 #define BNO055_ACCEL_NO_MOTION_THRES_ADDR (0X15)
490 #define BNO055_ACCEL_NO_MOTION_SET_ADDR (0X16)
491 #define BNO055_GYRO_INTR_SETING_ADDR (0X17)
492 #define BNO055_GYRO_HIGHRATE_X_SET_ADDR (0X18)
493 #define BNO055_GYRO_DURN_X_ADDR (0X19)
494 #define BNO055_GYRO_HIGHRATE_Y_SET_ADDR (0X1A)
495 #define BNO055_GYRO_DURN_Y_ADDR (0X1B)
496 #define BNO055_GYRO_HIGHRATE_Z_SET_ADDR (0X1C)
497 #define BNO055_GYRO_DURN_Z_ADDR (0X1D)
498 #define BNO055_GYRO_ANY_MOTION_THRES_ADDR (0X1E)
499 #define BNO055_GYRO_ANY_MOTION_SET_ADDR (0X1F)
500 /* PAGE1 REGISTERS DEFINITION END*/
501 
502 
503 #define BNO055_MDELAY_DATA_TYPE u32
504 
505 /*< This refers BNO055 return type as s8 */
506 #define BNO055_RETURN_FUNCTION_TYPE s8
507 
508 /* Compile switch definition for Float and double*/
509 #define BNO055_FLOAT_ENABLE
510 #define BNO055_DOUBLE_ENABLE
511 /**************************************************************/
513 /**************************************************************/
517 struct bno055_t {
528 void (*delay_msec)(BNO055_MDELAY_DATA_TYPE);
529 };
537 };
541 struct bno055_mag_t {
545 };
553 };
561 };
570 };
578 };
586 };
587 #ifdef BNO055_DOUBLE_ENABLE
592 double x;
593 double y;
594 double z;
595 };
600 double x;
601 double y;
602 double z;
603 };
608 double x;
609 double y;
610 double z;
611 };
616 double h;
617 double r;
618 double p;
619 };
624 double x;
625 double y;
626 double z;
627 };
632 double x;
633 double y;
634 double z;
635 };
636 #endif
637 #ifdef BNO055_FLOAT_ENABLE
642 float x;
643 float y;
644 float z;
645 };
650 float x;
651 float y;
652 float z;
653 };
658 float x;
659 float y;
660 float z;
661 };
666 float h;
667 float r;
668 float p;
669 };
674 float x;
675 float y;
676 float z;
677 };
682 float x;
683 float y;
684 float z;
685 };
686 #endif
695 };
703 };
712 };
726 };
727 /***************************************************/
729 /***************************************************/
730 #define BNO055_INIT_VALUE ((u8)0)
731 #define BNO055_GEN_READ_WRITE_LENGTH ((u8)1)
732 #define BNO055_LSB_MSB_READ_LENGTH ((u8)2)
733 #define BNO055_MAG_POWER_MODE_RANGE ((u8)4)
734 #define BNO055_MAG_OPR_MODE_RANGE ((u8)5)
735 #define BNO055_ACCEL_POWER_MODE_RANGE ((u8)6)
736 #define BNO055_ACCEL_SLEEP_DURATION_RANGE ((u8)16)
737 #define BNO055_GYRO_AUTO_SLEEP_DURATION_RANGE ((u8)8)
738 #define BNO055_ACCEL_GYRO_BW_RANGE ((u8)8)
739 #define BNO055_MAG_OUTPUT_RANGE ((u8)8)
740 #define BNO055_ACCEL_RANGE ((u8)5)
741 #define BNO055_SHIFT_EIGHT_BITS ((u8)8)
742 #define BNO055_GYRO_RANGE ((u8)5)
743 #define BNO055_ACCEL_SLEEP_MODE_RANGE ((u8)2)
744 /* BNO055 API BNO055_ERROR codes */
745 #define BNO055_E_NULL_PTR ((s8)-127)
746 #define BNO055_OUT_OF_RANGE ((s8)-2)
747 #define BNO055_SUCCESS ((u8)0)
748 #define BNO055_ERROR ((s8)-1)
749 
750 /* Selection for bit enable and disable */
751 #define BNO055_BIT_ENABLE (0x01)
752 #define BNO055_BIT_DISABLE (0x00)
753 
754 /* Page ID */
755 #define BNO055_PAGE_ZERO (0X00)
756 #define BNO055_PAGE_ONE (0X01)
757 
758 /* Enable the temperature source */
759 #define BNO055_ACCEL_TEMP_EN (0x00)
760 #define BNO055_GYRO_TEMP_EN (0x01)
761 #define BNO055_MCU_TEMP_EN (0x03)
762 
763 /*Accel unit*/
764 #define BNO055_ACCEL_UNIT_MSQ (0x00)
765 #define BNO055_ACCEL_UNIT_MG (0x01)
766 
767 /*Gyro unit*/
768 #define BNO055_GYRO_UNIT_DPS (0x00)
769 #define BNO055_GYRO_UNIT_RPS (0x01)
770 
771 /* Euler unit*/
772 #define BNO055_EULER_UNIT_DEG (0x00)
773 #define BNO055_EULER_UNIT_RAD (0x01)
774 
775 /*Temperature unit*/
776 #define BNO055_TEMP_UNIT_CELSIUS (0x00)
777 #define BNO055_TEMP_UNIT_FAHRENHEIT (0x01)
778 
779 /*Accel division factor*/
780 #define BNO055_ACCEL_DIV_MSQ (100.0)
781 #define BNO055_ACCEL_DIV_MG (1)
782 
783 /*Mag division factor*/
784 #define BNO055_MAG_DIV_UT (16.0)
785 
786 /*Gyro division factor*/
787 #define BNO055_GYRO_DIV_DPS (16.0)
788 #define BNO055_GYRO_DIV_RPS (900.0)
789 
790 /*Euler division factor*/
791 #define BNO055_EULER_DIV_DEG (16.0)
792 #define BNO055_EULER_DIV_RAD (900.0)
793 
794 /*Linear accel division factor*/
795 #define BNO055_LINEAR_ACCEL_DIV_MSQ (100.0)
796 
797 /*Gravity accel division factor*/
798 #define BNO055_GRAVITY_DIV_MSQ (100.0)
799 
800 /* Temperature division factor*/
801 #define BNO055_TEMP_DIV_FAHRENHEIT (0.5)
802 #define BNO055_TEMP_DIV_CELSIUS (1)
803 
804 #define BNO055_MODE_SWITCHING_DELAY (600)
805 #define BNO055_CONFIG_MODE_SWITCHING_DELAY ((u8)20)
806 
807 
808 
809 /* Operation mode settings*/
810 #define BNO055_OPERATION_MODE_CONFIG (0X00)
811 #define BNO055_OPERATION_MODE_ACCONLY (0X01)
812 #define BNO055_OPERATION_MODE_MAGONLY (0X02)
813 #define BNO055_OPERATION_MODE_GYRONLY (0X03)
814 #define BNO055_OPERATION_MODE_ACCMAG (0X04)
815 #define BNO055_OPERATION_MODE_ACCGYRO (0X05)
816 #define BNO055_OPERATION_MODE_MAGGYRO (0X06)
817 #define BNO055_OPERATION_MODE_AMG (0X07)
818 #define BNO055_OPERATION_MODE_IMUPLUS (0X08)
819 #define BNO055_OPERATION_MODE_COMPASS (0X09)
820 #define BNO055_OPERATION_MODE_M4G (0X0A)
821 #define BNO055_OPERATION_MODE_NDOF_FMC_OFF (0X0B)
822 #define BNO055_OPERATION_MODE_NDOF (0X0C)
823 
824 /* Power mode*/
825 #define BNO055_POWER_MODE_NORMAL (0X00)
826 #define BNO055_POWER_MODE_LOWPOWER (0X01)
827 #define BNO055_POWER_MODE_SUSPEND (0X02)
828 
829 /* PAGE-1 definitions*/
830 /* Accel Range */
831 
832 #define BNO055_ACCEL_RANGE_2G (0X00)
833 #define BNO055_ACCEL_RANGE_4G (0X01)
834 #define BNO055_ACCEL_RANGE_8G (0X02)
835 #define BNO055_ACCEL_RANGE_16G (0X03)
836 
837 /* Accel Bandwidth*/
838 #define BNO055_ACCEL_BW_7_81HZ (0x00)
839 #define BNO055_ACCEL_BW_15_63HZ (0x01)
840 #define BNO055_ACCEL_BW_31_25HZ (0x02)
841 #define BNO055_ACCEL_BW_62_5HZ (0X03)
842 #define BNO055_ACCEL_BW_125HZ (0X04)
843 #define BNO055_ACCEL_BW_250HZ (0X05)
844 #define BNO055_ACCEL_BW_500HZ (0X06)
845 #define BNO055_ACCEL_BW_1000HZ (0X07)
846 
847 /* Accel Power mode*/
848 #define BNO055_ACCEL_NORMAL (0X00)
849 #define BNO055_ACCEL_SUSPEND (0X01)
850 #define BNO055_ACCEL_LOWPOWER_1 (0X02)
851 #define BNO055_ACCEL_STANDBY (0X03)
852 #define BNO055_ACCEL_LOWPOWER_2 (0X04)
853 #define BNO055_ACCEL_DEEPSUSPEND (0X05)
854 
855 /* Mag data output rate*/
856 #define BNO055_MAG_DATA_OUTRATE_2HZ (0X00)
857 #define BNO055_MAG_DATA_OUTRATE_6HZ (0X01)
858 #define BNO055_MAG_DATA_OUTRATE_8HZ (0X02)
859 #define BNO055_MAG_DATA_OUTRATE_10HZ (0X03)
860 #define BNO055_MAG_DATA_OUTRATE_15HZ (0X04)
861 #define BNO055_MAG_DATA_OUTRATE_20HZ (0X05)
862 #define BNO055_MAG_DATA_OUTRATE_25HZ (0X06)
863 #define BNO055_MAG_DATA_OUTRATE_30HZ (0X07)
864 
865 /* Mag Operation mode*/
866 #define BNO055_MAG_OPERATION_MODE_LOWPOWER (0X00)
867 #define BNO055_MAG_OPERATION_MODE_REGULAR (0X01)
868 #define BNO055_MAG_OPERATION_MODE_ENHANCED_REGULAR (0X02)
869 #define BNO055_MAG_OPERATION_MODE_HIGH_ACCURACY (0X03)
870 
871 /* Mag power mode*/
872 #define BNO055_MAG_POWER_MODE_NORMAL (0X00)
873 #define BNO055_MAG_POWER_MODE_SLEEP (0X01)
874 #define BNO055_MAG_POWER_MODE_SUSPEND (0X02)
875 #define BNO055_MAG_POWER_MODE_FORCE_MODE (0X03)
876 
877 /* Gyro range*/
878 #define BNO055_GYRO_RANGE_2000DPS (0x00)
879 #define BNO055_GYRO_RANGE_1000DPS (0x01)
880 #define BNO055_GYRO_RANGE_500DPS (0x02)
881 #define BNO055_GYRO_RANGE_250DPS (0x03)
882 #define BNO055_GYRO_RANGE_125DPS (0x04)
883 
884 /* Gyro Bandwidth*/
885 #define BNO055_GYRO_BW_523HZ (0x00)
886 #define BNO055_GYRO_BW_230HZ (0x01)
887 #define BNO055_GYRO_BW_116HZ (0x02)
888 #define BNO055_GYRO_BW_47HZ (0x03)
889 #define BNO055_GYRO_BW_23HZ (0x04)
890 #define BNO055_GYRO_BW_12HZ (0x05)
891 #define BNO055_GYRO_BW_64HZ (0x06)
892 #define BNO055_GYRO_BW_32HZ (0x07)
893 
894 /* Gyro power mode*/
895 #define BNO055_GYRO_POWER_MODE_NORMAL (0X00)
896 #define BNO055_GYRO_POWER_MODE_FASTPOWERUP (0X01)
897 #define BNO055_GYRO_POWER_MODE_DEEPSUSPEND (0X02)
898 #define BNO055_GYRO_POWER_MODE_SUSPEND (0X03)
899 #define BNO055_GYRO_POWER_MODE_ADVANCE_POWERSAVE (0X04)
900 
901 /* Accel Sleep Duration */
902 #define BNO055_ACCEL_SLEEP_DURN_0_5MS (0x05)
903 /* sets sleep duration to 0.5 ms */
904 #define BNO055_ACCEL_SLEEP_DURN_1MS (0x06)
905 /* sets sleep duration to 1 ms */
906 #define BNO055_ACCEL_SLEEP_DURN_2MS (0x07)
907 /* sets sleep duration to 2 ms */
908 #define BNO055_ACCEL_SLEEP_DURN_4MS (0x08)
909 /* sets sleep duration to 4 ms */
910 #define BNO055_ACCEL_SLEEP_DURN_6MS (0x09)
911 /* sets sleep duration to 6 ms*/
912 #define BNO055_ACCEL_SLEEP_DURN_10MS (0x0A)
913 /* sets sleep duration to 10 ms */
914 #define BNO055_ACCEL_SLEEP_DURN_25MS (0x0B)
915  /* sets sleep duration to 25 ms */
916 #define BNO055_ACCEL_SLEEP_DURN_50MS (0x0C)
917  /* sets sleep duration to 50 ms */
918 #define BNO055_ACCEL_SLEEP_DURN_100MS (0x0D)
919  /* sets sleep duration to 100 ms */
920 #define BNO055_ACCEL_SLEEP_DURN_500MS (0x0E)
921  /* sets sleep duration to 500 ms */
922 #define BNO055_ACCEL_SLEEP_DURN_1S (0x0F)
923 /* sets sleep duration to 1 s */
924 
925 /* Gyro Auto sleep duration*/
926 #define BNO055_GYRO_No_AUTOSLPDUR (0x00)
927 #define BNO055_GYRO_4MS_AUTOSLPDUR (0x01)
928 #define BNO055_GYRO_5MS_AUTOSLPDUR (0x02)
929 #define BNO055_GYRO_8MS_AUTOSLPDUR (0x03)
930 #define BNO055_GYRO_10MS_AUTOSLPDUR (0x04)
931 #define BNO055_GYRO_15MS_AUTOSLPDUR (0x05)
932 #define BNO055_GYRO_20MS_AUTOSLPDUR (0x06)
933 #define BNO055_GYRO_40MS_AUTOSLPDUR (0x07)
934 
935 /* Accel Any/No motion axis selection*/
936 #define BNO055_ACCEL_ANY_MOTION_NO_MOTION_X_AXIS (0)
937 #define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS (1)
938 #define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Z_AXIS (2)
939 
940 /* Accel High g axis selection*/
941 #define BNO055_ACCEL_HIGH_G_X_AXIS (0)
942 #define BNO055_ACCEL_HIGH_G_Y_AXIS (1)
943 #define BNO055_ACCEL_HIGH_G_Z_AXIS (2)
944 
945 /* Gyro Any motion axis selection*/
946 #define BNO055_GYRO_ANY_MOTION_X_AXIS (0)
947 #define BNO055_GYRO_ANY_MOTION_Y_AXIS (1)
948 #define BNO055_GYRO_ANY_MOTION_Z_AXIS (2)
949 
950 
951 /* Gyro High rate axis selection*/
952 #define BNO055_GYRO_HIGHRATE_X_AXIS (0)
953 #define BNO055_GYRO_HIGHRATE_Y_AXIS (1)
954 #define BNO055_GYRO_HIGHRATE_Z_AXIS (2)
955 
956 /* Axis remap values*/
957 #define BNO055_REMAP_X_Y (0X21)
958 #define BNO055_REMAP_Y_Z (0X18)
959 #define BNO055_REMAP_Z_X (0X06)
960 #define BNO055_REMAP_X_Y_Z_TYPE0 (0X12)
961 #define BNO055_REMAP_X_Y_Z_TYPE1 (0X09)
962 #define BNO055_DEFAULT_AXIS (0X24)
963 
964 /* Axis remap sign */
965 #define BNO055_REMAP_AXIS_POSITIVE (0X00)
966 #define BNO055_REMAP_AXIS_NEGATIVE (0X01)
967 
968 /* Gyro anymotion and high rate filter configuration */
969 #define BNO055_GYRO_FILTERED_CONFIG (0x00)
970 #define BNO055_GYRO_UNFILTERED_CONFIG (0x01)
971 
972 /* mask definitions*/
973 #define BNO055_SIC_HEX_0_0_F_F_DATA (0x00FF)
974 /****************************************************/
976 /***************************************************/
977 #define BNO055_REV_ID_SIZE (2)
978 #define BNO055_ACCEL_DATA_SIZE (2)
979 #define BNO055_ACCEL_XYZ_DATA_SIZE (6)
980 #define BNO055_MAG_DATA_SIZE (2)
981 #define BNO055_MAG_XYZ_DATA_SIZE (6)
982 #define BNO055_GYRO_DATA_SIZE (2)
983 #define BNO055_GYRO_XYZ_DATA_SIZE (6)
984 #define BNO055_EULER_DATA_SIZE (2)
985 #define BNO055_EULER_HRP_DATA_SIZE (6)
986 #define BNO055_QUATERNION_DATA_SIZE (2)
987 #define BNO055_QUATERNION_WXYZ_DATA_SIZE (8)
988 #define BNO055_GRAVITY_DATA_SIZE (2)
989 #define BNO055_GRAVITY_XYZ_DATA_SIZE (6)
990 #define BNO055_ACCEL_OFFSET_ARRAY (6)
991 #define BNO055_MAG_OFFSET_ARRAY (6)
992 #define BNO055_GYRO_OFFSET_ARRAY (6)
993 #define BNO055_SOFT_IRON_CALIBRATION_MATRIX_SIZE (18)
994 
995 
996 /*ARRAY INDEX DEFINITIONS*/
997 #define BNO055_SW_ID_LSB (0)
998 #define BNO055_SW_ID_MSB (1)
999 #define BNO055_SENSOR_DATA_LSB (0)
1000 #define BNO055_SENSOR_DATA_MSB (1)
1001 #define BNO055_SENSOR_DATA_EULER_LSB (0)
1002 #define BNO055_SENSOR_DATA_EULER_MSB (1)
1003 #define BNO055_SENSOR_DATA_QUATERNION_LSB (0)
1004 #define BNO055_SENSOR_DATA_QUATERNION_MSB (1)
1005 
1006 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_LSB (0)
1007 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_MSB (1)
1008 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_LSB (2)
1009 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_MSB (3)
1010 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_LSB (4)
1011 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_MSB (5)
1012 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_LSB (6)
1013 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_MSB (7)
1014 
1015 #define BNO055_SENSOR_DATA_XYZ_X_LSB (0)
1016 #define BNO055_SENSOR_DATA_XYZ_X_MSB (1)
1017 #define BNO055_SENSOR_DATA_XYZ_Y_LSB (2)
1018 #define BNO055_SENSOR_DATA_XYZ_Y_MSB (3)
1019 #define BNO055_SENSOR_DATA_XYZ_Z_LSB (4)
1020 #define BNO055_SENSOR_DATA_XYZ_Z_MSB (5)
1021 
1022 
1023 #define BNO055_SENSOR_DATA_EULER_HRP_H_LSB (0)
1024 #define BNO055_SENSOR_DATA_EULER_HRP_H_MSB (1)
1025 #define BNO055_SENSOR_DATA_EULER_HRP_R_LSB (2)
1026 #define BNO055_SENSOR_DATA_EULER_HRP_R_MSB (3)
1027 #define BNO055_SENSOR_DATA_EULER_HRP_P_LSB (4)
1028 #define BNO055_SENSOR_DATA_EULER_HRP_P_MSB (5)
1029 
1030 #define BNO055_SOFT_IRON_CALIB_0_LSB (0)
1031 #define BNO055_SOFT_IRON_CALIB_0_MSB (1)
1032 #define BNO055_SOFT_IRON_CALIB_1_LSB (2)
1033 #define BNO055_SOFT_IRON_CALIB_1_MSB (3)
1034 #define BNO055_SOFT_IRON_CALIB_2_LSB (4)
1035 #define BNO055_SOFT_IRON_CALIB_2_MSB (5)
1036 #define BNO055_SOFT_IRON_CALIB_3_LSB (6)
1037 #define BNO055_SOFT_IRON_CALIB_3_MSB (7)
1038 #define BNO055_SOFT_IRON_CALIB_4_LSB (8)
1039 #define BNO055_SOFT_IRON_CALIB_4_MSB (9)
1040 #define BNO055_SOFT_IRON_CALIB_5_LSB (10)
1041 #define BNO055_SOFT_IRON_CALIB_5_MSB (11)
1042 #define BNO055_SOFT_IRON_CALIB_6_LSB (12)
1043 #define BNO055_SOFT_IRON_CALIB_6_MSB (13)
1044 #define BNO055_SOFT_IRON_CALIB_7_LSB (14)
1045 #define BNO055_SOFT_IRON_CALIB_7_MSB (15)
1046 #define BNO055_SOFT_IRON_CALIB_8_LSB (16)
1047 #define BNO055_SOFT_IRON_CALIB_8_MSB (17)
1048 
1049 #define BNO055_SENSOR_OFFSET_DATA_X_LSB (0)
1050 #define BNO055_SENSOR_OFFSET_DATA_X_MSB (1)
1051 #define BNO055_SENSOR_OFFSET_DATA_Y_LSB (2)
1052 #define BNO055_SENSOR_OFFSET_DATA_Y_MSB (3)
1053 #define BNO055_SENSOR_OFFSET_DATA_Z_LSB (4)
1054 #define BNO055_SENSOR_OFFSET_DATA_Z_MSB (5)
1055 
1056 #define BNO055_OFFSET_RADIUS_LSB (0)
1057 #define BNO055_OFFSET_RADIUS_MSB (1)
1058 /*********************************************************/
1060 /*********************************************************/
1061 /* Chip ID */
1062 #define BNO055_CHIP_ID_POS (0)
1063 #define BNO055_CHIP_ID_MSK (0xFF)
1064 #define BNO055_CHIP_ID_LEN (8)
1065 #define BNO055_CHIP_ID_REG BNO055_CHIP_ID_ADDR
1066 
1067 /* Accel revision id*/
1068 #define BNO055_ACCEL_REV_ID_POS (0)
1069 #define BNO055_ACCEL_REV_ID_MSK (0xFF)
1070 #define BNO055_ACCEL_REV_ID_LEN (8)
1071 #define BNO055_ACCEL_REV_ID_REG BNO055_ACCEL_REV_ID_ADDR
1072 
1073 /* Mag revision id*/
1074 #define BNO055_MAG_REV_ID_POS (0)
1075 #define BNO055_MAG_REV_ID_MSK (0xFF)
1076 #define BNO055_MAG_REV_ID_LEN (8)
1077 #define BNO055_MAG_REV_ID_REG BNO055_MAG_REV_ID_ADDR
1078 
1079 /* Gyro revision id*/
1080 #define BNO055_GYRO_REV_ID_POS (0)
1081 #define BNO055_GYRO_REV_ID_MSK (0xFF)
1082 #define BNO055_GYRO_REV_ID_LEN (8)
1083 #define BNO055_GYRO_REV_ID_REG BNO055_GYRO_REV_ID_ADDR
1084 
1085 /*Software revision id LSB*/
1086 #define BNO055_SW_REV_ID_LSB_POS (0)
1087 #define BNO055_SW_REV_ID_LSB_MSK (0xFF)
1088 #define BNO055_SW_REV_ID_LSB_LEN (8)
1089 #define BNO055_SW_REV_ID_LSB_REG BNO055_SW_REV_ID_LSB_ADDR
1090 
1091 /*Software revision id MSB*/
1092 #define BNO055_SW_REV_ID_MSB_POS (0)
1093 #define BNO055_SW_REV_ID_MSB_MSK (0xFF)
1094 #define BNO055_SW_REV_ID_MSB_LEN (8)
1095 #define BNO055_SW_REV_ID_MSB_REG BNO055_SW_REV_ID_MSB_ADDR
1096 
1097 /* BOOTLODER revision id*/
1098 #define BNO055_BL_REV_ID_POS (0)
1099 #define BNO055_BL_REV_ID_MSK (0xFF)
1100 #define BNO055_BL_REV_ID_LEN (8)
1101 #define BNO055_BL_REV_ID_REG BNO055_BL_REV_ID_ADDR
1102 
1103 /*Page id*/
1104 #define BNO055_PAGE_ID_POS (0)
1105 #define BNO055_PAGE_ID_MSK (0xFF)
1106 #define BNO055_PAGE_ID_LEN (8)
1107 #define BNO055_PAGE_ID_REG BNO055_PAGE_ID_ADDR
1108 
1109 /* Accel data X-LSB register*/
1110 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_POS (0)
1111 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_MSK (0xFF)
1112 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_LEN (8)
1113 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_REG \
1114 BNO055_ACCEL_DATA_X_LSB_ADDR
1115 
1116 /* Accel data X-MSB register*/
1117 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_POS (0)
1118 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_MSK (0xFF)
1119 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_LEN (8)
1120 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_REG \
1121 BNO055_ACCEL_DATA_X_MSB_ADDR
1122 
1123 /* Accel data Y-LSB register*/
1124 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_POS (0)
1125 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_MSK (0xFF)
1126 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_LEN (8)
1127 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_REG \
1128 BNO055_ACCEL_DATA_Y_LSB_ADDR
1129 
1130 /* Accel data Y-MSB register*/
1131 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_POS (0)
1132 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_MSK (0xFF)
1133 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_LEN (8)
1134 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_REG \
1135 BNO055_ACCEL_DATA_Y_MSB_ADDR
1136 
1137 /* Accel data Z-LSB register*/
1138 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_POS (0)
1139 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_MSK (0xFF)
1140 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_LEN (8)
1141 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_REG \
1142 BNO055_ACCEL_DATA_Z_LSB_ADDR
1143 
1144 /* Accel data Z-MSB register*/
1145 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_POS (0)
1146 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_MSK (0xFF)
1147 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_LEN (8)
1148 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_REG \
1149 BNO055_ACCEL_DATA_Z_MSB_ADDR
1150 
1151 /* Mag data X-LSB register*/
1152 #define BNO055_MAG_DATA_X_LSB_VALUEX_POS (0)
1153 #define BNO055_MAG_DATA_X_LSB_VALUEX_MSK (0xFF)
1154 #define BNO055_MAG_DATA_X_LSB_VALUEX_LEN (8)
1155 #define BNO055_MAG_DATA_X_LSB_VALUEX_REG \
1156 BNO055_MAG_DATA_X_LSB_ADDR
1157 
1158 /* Mag data X-MSB register*/
1159 #define BNO055_MAG_DATA_X_MSB_VALUEX_POS (0)
1160 #define BNO055_MAG_DATA_X_MSB_VALUEX_MSK (0xFF)
1161 #define BNO055_MAG_DATA_X_MSB_VALUEX_LEN (8)
1162 #define BNO055_MAG_DATA_X_MSB_VALUEX_REG BNO055_MAG_DATA_X_MSB_ADDR
1163 
1164 /* Mag data Y-LSB register*/
1165 #define BNO055_MAG_DATA_Y_LSB_VALUEY_POS (0)
1166 #define BNO055_MAG_DATA_Y_LSB_VALUEY_MSK (0xFF)
1167 #define BNO055_MAG_DATA_Y_LSB_VALUEY_LEN (8)
1168 #define BNO055_MAG_DATA_Y_LSB_VALUEY_REG BNO055_MAG_DATA_Y_LSB_ADDR
1169 
1170 /* Mag data Y-MSB register*/
1171 #define BNO055_MAG_DATA_Y_MSB_VALUEY_POS (0)
1172 #define BNO055_MAG_DATA_Y_MSB_VALUEY_MSK (0xFF)
1173 #define BNO055_MAG_DATA_Y_MSB_VALUEY_LEN (8)
1174 #define BNO055_MAG_DATA_Y_MSB_VALUEY_REG BNO055_MAG_DATA_Y_MSB_ADDR
1175 
1176 /* Mag data Z-LSB register*/
1177 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_POS (0)
1178 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_MSK (0xFF)
1179 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_LEN (8)
1180 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_REG BNO055_MAG_DATA_Z_LSB_ADDR
1181 
1182 /* Mag data Z-MSB register*/
1183 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_POS (0)
1184 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_MSK (0xFF)
1185 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_LEN (8)
1186 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_REG BNO055_MAG_DATA_Z_MSB_ADDR
1187 
1188 /* Gyro data X-LSB register*/
1189 #define BNO055_GYRO_DATA_X_LSB_VALUEX_POS (0)
1190 #define BNO055_GYRO_DATA_X_LSB_VALUEX_MSK (0xFF)
1191 #define BNO055_GYRO_DATA_X_LSB_VALUEX_LEN (8)
1192 #define BNO055_GYRO_DATA_X_LSB_VALUEX_REG BNO055_GYRO_DATA_X_LSB_ADDR
1193 
1194 /* Gyro data X-MSB register*/
1195 #define BNO055_GYRO_DATA_X_MSB_VALUEX_POS (0)
1196 #define BNO055_GYRO_DATA_X_MSB_VALUEX_MSK (0xFF)
1197 #define BNO055_GYRO_DATA_X_MSB_VALUEX_LEN (8)
1198 #define BNO055_GYRO_DATA_X_MSB_VALUEX_REG BNO055_GYRO_DATA_X_MSB_ADDR
1199 
1200 /* Gyro data Y-LSB register*/
1201 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_POS (0)
1202 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_MSK (0xFF)
1203 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_LEN (8)
1204 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_REG BNO055_GYRO_DATA_Y_LSB_ADDR
1205 
1206 /* Gyro data Y-MSB register*/
1207 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_POS (0)
1208 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_MSK (0xFF)
1209 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_LEN (8)
1210 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_REG BNO055_GYRO_DATA_Y_MSB_ADDR
1211 
1212 /* Gyro data Z-LSB register*/
1213 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_POS (0)
1214 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_MSK (0xFF)
1215 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_LEN (8)
1216 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_REG BNO055_GYRO_DATA_Z_LSB_ADDR
1217 
1218 /* Gyro data Z-MSB register*/
1219 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_POS (0)
1220 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_MSK (0xFF)
1221 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_LEN (8)
1222 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_REG BNO055_GYRO_DATA_Z_MSB_ADDR
1223 
1224 /* Euler data HEADING-LSB register*/
1225 #define BNO055_EULER_H_LSB_VALUEH_POS (0)
1226 #define BNO055_EULER_H_LSB_VALUEH_MSK (0xFF)
1227 #define BNO055_EULER_H_LSB_VALUEH_LEN (8)
1228 #define BNO055_EULER_H_LSB_VALUEH_REG BNO055_EULER_H_LSB_ADDR
1229 
1230 /* Euler data HEADING-MSB register*/
1231 #define BNO055_EULER_H_MSB_VALUEH_POS (0)
1232 #define BNO055_EULER_H_MSB_VALUEH_MSK (0xFF)
1233 #define BNO055_EULER_H_MSB_VALUEH_LEN (8)
1234 #define BNO055_EULER_H_MSB_VALUEH_REG BNO055_EULER_H_MSB_ADDR
1235 
1236 /* Euler data ROLL-LSB register*/
1237 #define BNO055_EULER_R_LSB_VALUER_POS (0)
1238 #define BNO055_EULER_R_LSB_VALUER_MSK (0xFF)
1239 #define BNO055_EULER_R_LSB_VALUER_LEN (8)
1240 #define BNO055_EULER_R_LSB_VALUER_REG BNO055_EULER_R_LSB_ADDR
1241 
1242 /* Euler data ROLL-MSB register*/
1243 #define BNO055_EULER_R_MSB_VALUER_POS (0)
1244 #define BNO055_EULER_R_MSB_VALUER_MSK (0xFF)
1245 #define BNO055_EULER_R_MSB_VALUER_LEN (8)
1246 #define BNO055_EULER_R_MSB_VALUER_REG BNO055_EULER_R_MSB_ADDR
1247 
1248 /* Euler data PITCH-LSB register*/
1249 #define BNO055_EULER_P_LSB_VALUEP_POS (0)
1250 #define BNO055_EULER_P_LSB_VALUEP_MSK (0xFF)
1251 #define BNO055_EULER_P_LSB_VALUEP_LEN (8)
1252 #define BNO055_EULER_P_LSB_VALUEP_REG BNO055_EULER_P_LSB_ADDR
1253 
1254 /* Euler data HEADING-MSB register*/
1255 #define BNO055_EULER_P_MSB_VALUEP_POS (0)
1256 #define BNO055_EULER_P_MSB_VALUEP_MSK (0xFF)
1257 #define BNO055_EULER_P_MSB_VALUEP_LEN (8)
1258 #define BNO055_EULER_P_MSB_VALUEP_REG BNO055_EULER_P_MSB_ADDR
1259 
1260 /* Quaternion data W-LSB register*/
1261 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_POS (0)
1262 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_MSK (0xFF)
1263 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_LEN (8)
1264 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_REG \
1265 BNO055_QUATERNION_DATA_W_LSB_ADDR
1266 
1267 /* Quaternion data W-MSB register*/
1268 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_POS (0)
1269 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_MSK (0xFF)
1270 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_LEN (8)
1271 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_REG \
1272 BNO055_QUATERNION_DATA_W_MSB_ADDR
1273 
1274 /* Quaternion data X-LSB register*/
1275 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_POS (0)
1276 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_MSK (0xFF)
1277 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_LEN (8)
1278 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_REG \
1279 BNO055_QUATERNION_DATA_X_LSB_ADDR
1280 
1281 /* Quaternion data X-MSB register*/
1282 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_POS (0)
1283 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_MSK (0xFF)
1284 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_LEN (8)
1285 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_REG \
1286 BNO055_QUATERNION_DATA_X_MSB_ADDR
1287 
1288 /* Quaternion data Y-LSB register*/
1289 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_POS (0)
1290 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_MSK (0xFF)
1291 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_LEN (8)
1292 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_REG \
1293 BNO055_QUATERNION_DATA_Y_LSB_ADDR
1294 
1295 /* Quaternion data Y-MSB register*/
1296 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_POS (0)
1297 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_MSK (0xFF)
1298 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_LEN (8)
1299 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_REG \
1300 BNO055_QUATERNION_DATA_Y_MSB_ADDR
1301 
1302 /* Quaternion data Z-LSB register*/
1303 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_POS (0)
1304 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_MSK (0xFF)
1305 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_LEN (8)
1306 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_REG \
1307 BNO055_QUATERNION_DATA_Z_LSB_ADDR
1308 
1309 /* Quaternion data Z-MSB register*/
1310 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_POS (0)
1311 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_MSK (0xFF)
1312 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_LEN (8)
1313 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_REG \
1314 BNO055_QUATERNION_DATA_Z_MSB_ADDR
1315 
1316 /* Linear acceleration data X-LSB register*/
1317 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_POS (0)
1318 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_MSK (0xFF)
1319 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_LEN (8)
1320 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_REG \
1321 BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR
1322 
1323 /* Linear acceleration data X-MSB register*/
1324 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_POS (0)
1325 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_MSK (0xFF)
1326 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_LEN (8)
1327 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_REG \
1328 BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR
1329 
1330 /* Linear acceleration data Y-LSB register*/
1331 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_POS (0)
1332 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_MSK (0xFF)
1333 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_LEN (8)
1334 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_REG \
1335 BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR
1336 
1337 /* Linear acceleration data Y-MSB register*/
1338 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_POS (0)
1339 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_MSK (0xFF)
1340 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_LEN (8)
1341 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_REG \
1342 BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR
1343 
1344 /* Linear acceleration data Z-LSB register*/
1345 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_POS (0)
1346 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_MSK (0xFF)
1347 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_LEN (8)
1348 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_REG \
1349 BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR
1350 
1351 /* Linear acceleration data Z-MSB register*/
1352 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_POS (0)
1353 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_MSK (0xFF)
1354 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_LEN (8)
1355 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_REG \
1356 BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR
1357 
1358 /* Gravity data X-LSB register*/
1359 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_POS (0)
1360 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_MSK (0xFF)
1361 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_LEN (8)
1362 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_REG \
1363 BNO055_GRAVITY_DATA_X_LSB_ADDR
1364 
1365 /* Gravity data X-MSB register*/
1366 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_POS (0)
1367 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_MSK (0xFF)
1368 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_LEN (8)
1369 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_REG \
1370 BNO055_GRAVITY_DATA_X_MSB_ADDR
1371 
1372 /* Gravity data Y-LSB register*/
1373 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_POS (0)
1374 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_MSK (0xFF)
1375 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_LEN (8)
1376 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_REG \
1377 BNO055_GRAVITY_DATA_Y_LSB_ADDR
1378 
1379 /* Gravity data Y-MSB register*/
1380 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_POS (0)
1381 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_MSK (0xFF)
1382 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_LEN (8)
1383 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_REG \
1384 BNO055_GRAVITY_DATA_Y_MSB_ADDR
1385 
1386 /* Gravity data Z-LSB register*/
1387 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_POS (0)
1388 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_MSK (0xFF)
1389 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_LEN (8)
1390 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_REG \
1391 BNO055_GRAVITY_DATA_Z_LSB_ADDR
1392 
1393 /* Gravity data Z-MSB register*/
1394 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_POS (0)
1395 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_MSK (0xFF)
1396 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_LEN (8)
1397 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_REG \
1398 BNO055_GRAVITY_DATA_Z_MSB_ADDR
1399 
1400 /* Temperature register*/
1401 #define BNO055_TEMP_POS (0)
1402 #define BNO055_TEMP_MSK (0xFF)
1403 #define BNO055_TEMP_LEN (8)
1404 #define BNO055_TEMP_REG BNO055_TEMP_ADDR
1405 
1406 /*Mag_Calib status register*/
1407 #define BNO055_MAG_CALIB_STAT_POS (0)
1408 #define BNO055_MAG_CALIB_STAT_MSK (0X03)
1409 #define BNO055_MAG_CALIB_STAT_LEN (2)
1410 #define BNO055_MAG_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
1411 
1412 /*Acc_Calib status register*/
1413 #define BNO055_ACCEL_CALIB_STAT_POS (2)
1414 #define BNO055_ACCEL_CALIB_STAT_MSK (0X0C)
1415 #define BNO055_ACCEL_CALIB_STAT_LEN (2)
1416 #define BNO055_ACCEL_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
1417 
1418 /*Gyro_Calib status register*/
1419 #define BNO055_GYRO_CALIB_STAT_POS (4)
1420 #define BNO055_GYRO_CALIB_STAT_MSK (0X30)
1421 #define BNO055_GYRO_CALIB_STAT_LEN (2)
1422 #define BNO055_GYRO_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
1423 
1424 /*Sys_Calib status register*/
1425 #define BNO055_SYS_CALIB_STAT_POS (6)
1426 #define BNO055_SYS_CALIB_STAT_MSK (0XC0)
1427 #define BNO055_SYS_CALIB_STAT_LEN (2)
1428 #define BNO055_SYS_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
1429 
1430 /*ST_ACCEL register*/
1431 #define BNO055_SELFTEST_ACCEL_POS (0)
1432 #define BNO055_SELFTEST_ACCEL_MSK (0X01)
1433 #define BNO055_SELFTEST_ACCEL_LEN (1)
1434 #define BNO055_SELFTEST_ACCEL_REG BNO055_SELFTEST_RESULT_ADDR
1435 
1436 /*ST_MAG register*/
1437 #define BNO055_SELFTEST_MAG_POS (1)
1438 #define BNO055_SELFTEST_MAG_MSK (0X02)
1439 #define BNO055_SELFTEST_MAG_LEN (1)
1440 #define BNO055_SELFTEST_MAG_REG BNO055_SELFTEST_RESULT_ADDR
1441 
1442 /*ST_GYRO register*/
1443 #define BNO055_SELFTEST_GYRO_POS (2)
1444 #define BNO055_SELFTEST_GYRO_MSK (0X04)
1445 #define BNO055_SELFTEST_GYRO_LEN (1)
1446 #define BNO055_SELFTEST_GYRO_REG BNO055_SELFTEST_RESULT_ADDR
1447 
1448 /*ST_MCU register*/
1449 #define BNO055_SELFTEST_MCU_POS (3)
1450 #define BNO055_SELFTEST_MCU_MSK (0X08)
1451 #define BNO055_SELFTEST_MCU_LEN (1)
1452 #define BNO055_SELFTEST_MCU_REG BNO055_SELFTEST_RESULT_ADDR
1453 
1454 /*Interrupt status registers*/
1455 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_POS (2)
1456 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_MSK (0X04)
1457 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_LEN (1)
1458 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_REG BNO055_INTR_STAT_ADDR
1459 
1460 #define BNO055_INTR_STAT_GYRO_HIGHRATE_POS (3)
1461 #define BNO055_INTR_STAT_GYRO_HIGHRATE_MSK (0X08)
1462 #define BNO055_INTR_STAT_GYRO_HIGHRATE_LEN (1)
1463 #define BNO055_INTR_STAT_GYRO_HIGHRATE_REG BNO055_INTR_STAT_ADDR
1464 
1465 #define BNO055_INTR_STAT_ACCEL_HIGH_G_POS (5)
1466 #define BNO055_INTR_STAT_ACCEL_HIGH_G_MSK (0X20)
1467 #define BNO055_INTR_STAT_ACCEL_HIGH_G_LEN (1)
1468 #define BNO055_INTR_STAT_ACCEL_HIGH_G_REG BNO055_INTR_STAT_ADDR
1469 
1470 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_POS (6)
1471 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_MSK (0X40)
1472 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_LEN (1)
1473 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_REG BNO055_INTR_STAT_ADDR
1474 
1475 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_POS (7)
1476 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_MSK (0X80)
1477 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_LEN (1)
1478 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_REG BNO055_INTR_STAT_ADDR
1479 
1480 /* system clock status register*/
1481 #define BNO055_SYS_MAIN_CLK_POS (0)
1482 #define BNO055_SYS_MAIN_CLK_MSK (0X10)
1483 #define BNO055_SYS_MAIN_CLK_LEN (1)
1484 #define BNO055_SYS_MAIN_CLK_REG BNO055_SYS_CLK_STAT_ADDR
1485 
1486 /* System registers*/
1487 #define BNO055_SYS_STAT_CODE_POS (0)
1488 #define BNO055_SYS_STAT_CODE_MSK (0XFF)
1489 #define BNO055_SYS_STAT_CODE_LEN (8)
1490 #define BNO055_SYS_STAT_CODE_REG BNO055_SYS_STAT_ADDR
1491 
1492 #define BNO055_SYS_ERROR_CODE_POS (0)
1493 #define BNO055_SYS_ERROR_CODE_MSK (0XFF)
1494 #define BNO055_SYS_ERROR_CODE_LEN (8)
1495 #define BNO055_SYS_ERROR_CODE_REG BNO055_SYS_ERR_ADDR
1496 
1497 /* Accel_Unit register*/
1498 #define BNO055_ACCEL_UNIT_POS (0)
1499 #define BNO055_ACCEL_UNIT_MSK (0X01)
1500 #define BNO055_ACCEL_UNIT_LEN (1)
1501 #define BNO055_ACCEL_UNIT_REG BNO055_UNIT_SEL_ADDR
1502 
1503 /* Gyro_Unit register*/
1504 #define BNO055_GYRO_UNIT_POS (1)
1505 #define BNO055_GYRO_UNIT_MSK (0X02)
1506 #define BNO055_GYRO_UNIT_LEN (1)
1507 #define BNO055_GYRO_UNIT_REG BNO055_UNIT_SEL_ADDR
1508 
1509 /* Euler_Unit register*/
1510 #define BNO055_EULER_UNIT_POS (2)
1511 #define BNO055_EULER_UNIT_MSK (0X04)
1512 #define BNO055_EULER_UNIT_LEN (1)
1513 #define BNO055_EULER_UNIT_REG BNO055_UNIT_SEL_ADDR
1514 
1515 /* Tilt_Unit register*/
1516 #define BNO055_TILT_UNIT_POS (3)
1517 #define BNO055_TILT_UNIT_MSK (0X08)
1518 #define BNO055_TILT_UNIT_LEN (1)
1519 #define BNO055_TILT_UNIT_REG BNO055_UNIT_SEL_ADDR
1520 
1521 /* Temperature_Unit register*/
1522 #define BNO055_TEMP_UNIT_POS (4)
1523 #define BNO055_TEMP_UNIT_MSK (0X10)
1524 #define BNO055_TEMP_UNIT_LEN (1)
1525 #define BNO055_TEMP_UNIT_REG BNO055_UNIT_SEL_ADDR
1526 
1527 /* ORI android-windows register*/
1528 #define BNO055_DATA_OUTPUT_FORMAT_POS (7)
1529 #define BNO055_DATA_OUTPUT_FORMAT_MSK (0X80)
1530 #define BNO055_DATA_OUTPUT_FORMAT_LEN (1)
1531 #define BNO055_DATA_OUTPUT_FORMAT_REG BNO055_UNIT_SEL_ADDR
1532 /*Operation Mode data register*/
1533 #define BNO055_OPERATION_MODE_POS (0)
1534 #define BNO055_OPERATION_MODE_MSK (0X0F)
1535 #define BNO055_OPERATION_MODE_LEN (4)
1536 #define BNO055_OPERATION_MODE_REG BNO055_OPR_MODE_ADDR
1537 /* Power Mode register*/
1538 #define BNO055_POWER_MODE_POS (0)
1539 #define BNO055_POWER_MODE_MSK (0X03)
1540 #define BNO055_POWER_MODE_LEN (2)
1541 #define BNO055_POWER_MODE_REG BNO055_PWR_MODE_ADDR
1542 
1543 /*Self Test register*/
1544 #define BNO055_SELFTEST_POS (0)
1545 #define BNO055_SELFTEST_MSK (0X01)
1546 #define BNO055_SELFTEST_LEN (1)
1547 #define BNO055_SELFTEST_REG BNO055_SYS_TRIGGER_ADDR
1548 
1549 /* RST_SYS register*/
1550 #define BNO055_SYS_RST_POS (5)
1551 #define BNO055_SYS_RST_MSK (0X20)
1552 #define BNO055_SYS_RST_LEN (1)
1553 #define BNO055_SYS_RST_REG BNO055_SYS_TRIGGER_ADDR
1554 
1555 /* RST_INT register*/
1556 #define BNO055_INTR_RST_POS (6)
1557 #define BNO055_INTR_RST_MSK (0X40)
1558 #define BNO055_INTR_RST_LEN (1)
1559 #define BNO055_INTR_RST_REG BNO055_SYS_TRIGGER_ADDR
1560 
1561 /* CLK_SRC register*/
1562 #define BNO055_CLK_SRC_POS (7)
1563 #define BNO055_CLK_SRC_MSK (0X80)
1564 #define BNO055_CLK_SRC_LEN (1)
1565 #define BNO055_CLK_SRC_REG BNO055_SYS_TRIGGER_ADDR
1566 
1567 /* Temp source register*/
1568 #define BNO055_TEMP_SOURCE_POS (0)
1569 #define BNO055_TEMP_SOURCE_MSK (0X03)
1570 #define BNO055_TEMP_SOURCE_LEN (2)
1571 #define BNO055_TEMP_SOURCE_REG BNO055_TEMP_SOURCE_ADDR
1572 
1573 /* Axis remap value register*/
1574 #define BNO055_REMAP_AXIS_VALUE_POS (0)
1575 #define BNO055_REMAP_AXIS_VALUE_MSK (0X3F)
1576 #define BNO055_REMAP_AXIS_VALUE_LEN (6)
1577 #define BNO055_REMAP_AXIS_VALUE_REG BNO055_AXIS_MAP_CONFIG_ADDR
1578 
1579 /* Axis sign value register*/
1580 #define BNO055_REMAP_Z_SIGN_POS (0)
1581 #define BNO055_REMAP_Z_SIGN_MSK (0X01)
1582 #define BNO055_REMAP_Z_SIGN_LEN (1)
1583 #define BNO055_REMAP_Z_SIGN_REG BNO055_AXIS_MAP_SIGN_ADDR
1584 
1585 #define BNO055_REMAP_Y_SIGN_POS (1)
1586 #define BNO055_REMAP_Y_SIGN_MSK (0X02)
1587 #define BNO055_REMAP_Y_SIGN_LEN (1)
1588 #define BNO055_REMAP_Y_SIGN_REG BNO055_AXIS_MAP_SIGN_ADDR
1589 
1590 #define BNO055_REMAP_X_SIGN_POS (2)
1591 #define BNO055_REMAP_X_SIGN_MSK (0X04)
1592 #define BNO055_REMAP_X_SIGN_LEN (1)
1593 #define BNO055_REMAP_X_SIGN_REG BNO055_AXIS_MAP_SIGN_ADDR
1594 
1595 /* Soft Iron Calibration matrix register*/
1596 #define BNO055_SIC_MATRIX_0_LSB_POS (0)
1597 #define BNO055_SIC_MATRIX_0_LSB_MSK (0XFF)
1598 #define BNO055_SIC_MATRIX_0_LSB_LEN (8)
1599 #define BNO055_SIC_MATRIX_0_LSB_REG BNO055_SIC_MATRIX_0_LSB_ADDR
1600 
1601 #define BNO055_SIC_MATRIX_0_MSB_POS (0)
1602 #define BNO055_SIC_MATRIX_0_MSB_MSK (0XFF)
1603 #define BNO055_SIC_MATRIX_0_MSB_LEN (8)
1604 #define BNO055_SIC_MATRIX_0_MSB_REG BNO055_SIC_MATRIX_0_MSB_ADDR
1605 
1606 #define BNO055_SIC_MATRIX_1_LSB_POS (0)
1607 #define BNO055_SIC_MATRIX_1_LSB_MSK (0XFF)
1608 #define BNO055_SIC_MATRIX_1_LSB_LEN (8)
1609 #define BNO055_SIC_MATRIX_1_LSB_REG BNO055_SIC_MATRIX_1_LSB_ADDR
1610 
1611 #define BNO055_SIC_MATRIX_1_MSB_POS (0)
1612 #define BNO055_SIC_MATRIX_1_MSB_MSK (0XFF)
1613 #define BNO055_SIC_MATRIX_1_MSB_LEN (8)
1614 #define BNO055_SIC_MATRIX_1_MSB_REG BNO055_SIC_MATRIX_1_MSB_ADDR
1615 
1616 #define BNO055_SIC_MATRIX_2_LSB_POS (0)
1617 #define BNO055_SIC_MATRIX_2_LSB_MSK (0XFF)
1618 #define BNO055_SIC_MATRIX_2_LSB_LEN (8)
1619 #define BNO055_SIC_MATRIX_2_LSB_REG BNO055_SIC_MATRIX_2_LSB_ADDR
1620 
1621 #define BNO055_SIC_MATRIX_2_MSB_POS (0)
1622 #define BNO055_SIC_MATRIX_2_MSB_MSK (0XFF)
1623 #define BNO055_SIC_MATRIX_2_MSB_LEN (8)
1624 #define BNO055_SIC_MATRIX_2_MSB_REG BNO055_SIC_MATRIX_2_MSB_ADDR
1625 
1626 #define BNO055_SIC_MATRIX_3_LSB_POS (0)
1627 #define BNO055_SIC_MATRIX_3_LSB_MSK (0XFF)
1628 #define BNO055_SIC_MATRIX_3_LSB_LEN (8)
1629 #define BNO055_SIC_MATRIX_3_LSB_REG BNO055_SIC_MATRIX_3_LSB_ADDR
1630 
1631 #define BNO055_SIC_MATRIX_3_MSB_POS (0)
1632 #define BNO055_SIC_MATRIX_3_MSB_MSK (0XFF)
1633 #define BNO055_SIC_MATRIX_3_MSB_LEN (8)
1634 #define BNO055_SIC_MATRIX_3_MSB_REG BNO055_SIC_MATRIX_3_MSB_ADDR
1635 
1636 #define BNO055_SIC_MATRIX_4_LSB_POS (0)
1637 #define BNO055_SIC_MATRIX_4_LSB_MSK (0XFF)
1638 #define BNO055_SIC_MATRIX_4_LSB_LEN (8)
1639 #define BNO055_SIC_MATRIX_4_LSB_REG BNO055_SIC_MATRIX_4_LSB_ADDR
1640 
1641 #define BNO055_SIC_MATRIX_4_MSB_POS (0)
1642 #define BNO055_SIC_MATRIX_4_MSB_MSK (0XFF)
1643 #define BNO055_SIC_MATRIX_4_MSB_LEN (8)
1644 #define BNO055_SIC_MATRIX_4_MSB_REG BNO055_SIC_MATRIX_4_MSB_ADDR
1645 
1646 #define BNO055_SIC_MATRIX_5_LSB_POS (0)
1647 #define BNO055_SIC_MATRIX_5_LSB_MSK (0XFF)
1648 #define BNO055_SIC_MATRIX_5_LSB_LEN (8)
1649 #define BNO055_SIC_MATRIX_5_LSB_REG BNO055_SIC_MATRIX_5_LSB_ADDR
1650 
1651 #define BNO055_SIC_MATRIX_5_MSB_POS (0)
1652 #define BNO055_SIC_MATRIX_5_MSB_MSK (0XFF)
1653 #define BNO055_SIC_MATRIX_5_MSB_LEN (8)
1654 #define BNO055_SIC_MATRIX_5_MSB_REG BNO055_SIC_MATRIX_5_MSB_ADDR
1655 
1656 #define BNO055_SIC_MATRIX_6_LSB_POS (0)
1657 #define BNO055_SIC_MATRIX_6_LSB_MSK (0XFF)
1658 #define BNO055_SIC_MATRIX_6_LSB_LEN (8)
1659 #define BNO055_SIC_MATRIX_6_LSB_REG BNO055_SIC_MATRIX_6_LSB_ADDR
1660 
1661 #define BNO055_SIC_MATRIX_6_MSB_POS (0)
1662 #define BNO055_SIC_MATRIX_6_MSB_MSK (0XFF)
1663 #define BNO055_SIC_MATRIX_6_MSB_LEN (8)
1664 #define BNO055_SIC_MATRIX_6_MSB_REG BNO055_SIC_MATRIX_6_MSB_ADDR
1665 
1666 #define BNO055_SIC_MATRIX_7_LSB_POS (0)
1667 #define BNO055_SIC_MATRIX_7_LSB_MSK (0XFF)
1668 #define BNO055_SIC_MATRIX_7_LSB_LEN (8)
1669 #define BNO055_SIC_MATRIX_7_LSB_REG BNO055_SIC_MATRIX_7_LSB_ADDR
1670 
1671 #define BNO055_SIC_MATRIX_7_MSB_POS (0)
1672 #define BNO055_SIC_MATRIX_7_MSB_MSK (0XFF)
1673 #define BNO055_SIC_MATRIX_7_MSB_LEN (8)
1674 #define BNO055_SIC_MATRIX_7_MSB_REG BNO055_SIC_MATRIX_7_MSB_ADDR
1675 
1676 #define BNO055_SIC_MATRIX_8_LSB_POS (0)
1677 #define BNO055_SIC_MATRIX_8_LSB_MSK (0XFF)
1678 #define BNO055_SIC_MATRIX_8_LSB_LEN (8)
1679 #define BNO055_SIC_MATRIX_8_LSB_REG BNO055_SIC_MATRIX_8_LSB_ADDR
1680 
1681 #define BNO055_SIC_MATRIX_8_MSB_POS (0)
1682 #define BNO055_SIC_MATRIX_8_MSB_MSK (0XFF)
1683 #define BNO055_SIC_MATRIX_8_MSB_LEN (8)
1684 #define BNO055_SIC_MATRIX_8_MSB_REG BNO055_SIC_MATRIX_8_MSB_ADDR
1685 
1686 /*Accel Offset registers*/
1687 #define BNO055_ACCEL_OFFSET_X_LSB_POS (0)
1688 #define BNO055_ACCEL_OFFSET_X_LSB_MSK (0XFF)
1689 #define BNO055_ACCEL_OFFSET_X_LSB_LEN (8)
1690 #define BNO055_ACCEL_OFFSET_X_LSB_REG BNO055_ACCEL_OFFSET_X_LSB_ADDR
1691 
1692 #define BNO055_ACCEL_OFFSET_X_MSB_POS (0)
1693 #define BNO055_ACCEL_OFFSET_X_MSB_MSK (0XFF)
1694 #define BNO055_ACCEL_OFFSET_X_MSB_LEN (8)
1695 #define BNO055_ACCEL_OFFSET_X_MSB_REG BNO055_ACCEL_OFFSET_X_MSB_ADDR
1696 
1697 #define BNO055_ACCEL_OFFSET_Y_LSB_POS (0)
1698 #define BNO055_ACCEL_OFFSET_Y_LSB_MSK (0XFF)
1699 #define BNO055_ACCEL_OFFSET_Y_LSB_LEN (8)
1700 #define BNO055_ACCEL_OFFSET_Y_LSB_REG BNO055_ACCEL_OFFSET_Y_LSB_ADDR
1701 
1702 #define BNO055_ACCEL_OFFSET_Y_MSB_POS (0)
1703 #define BNO055_ACCEL_OFFSET_Y_MSB_MSK (0XFF)
1704 #define BNO055_ACCEL_OFFSET_Y_MSB_LEN (8)
1705 #define BNO055_ACCEL_OFFSET_Y_MSB_REG BNO055_ACCEL_OFFSET_Y_MSB_ADDR
1706 
1707 #define BNO055_ACCEL_OFFSET_Z_LSB_POS (0)
1708 #define BNO055_ACCEL_OFFSET_Z_LSB_MSK (0XFF)
1709 #define BNO055_ACCEL_OFFSET_Z_LSB_LEN (8)
1710 #define BNO055_ACCEL_OFFSET_Z_LSB_REG BNO055_ACCEL_OFFSET_Z_LSB_ADDR
1711 
1712 #define BNO055_ACCEL_OFFSET_Z_MSB_POS (0)
1713 #define BNO055_ACCEL_OFFSET_Z_MSB_MSK (0XFF)
1714 #define BNO055_ACCEL_OFFSET_Z_MSB_LEN (8)
1715 #define BNO055_ACCEL_OFFSET_Z_MSB_REG BNO055_ACCEL_OFFSET_Z_MSB_ADDR
1716 
1717 /*Mag Offset registers*/
1718 #define BNO055_MAG_OFFSET_X_LSB_POS (0)
1719 #define BNO055_MAG_OFFSET_X_LSB_MSK (0XFF)
1720 #define BNO055_MAG_OFFSET_X_LSB_LEN (8)
1721 #define BNO055_MAG_OFFSET_X_LSB_REG BNO055_MAG_OFFSET_X_LSB_ADDR
1722 
1723 #define BNO055_MAG_OFFSET_X_MSB_POS (0)
1724 #define BNO055_MAG_OFFSET_X_MSB_MSK (0XFF)
1725 #define BNO055_MAG_OFFSET_X_MSB_LEN (8)
1726 #define BNO055_MAG_OFFSET_X_MSB_REG BNO055_MAG_OFFSET_X_MSB_ADDR
1727 
1728 #define BNO055_MAG_OFFSET_Y_LSB_POS (0)
1729 #define BNO055_MAG_OFFSET_Y_LSB_MSK (0XFF)
1730 #define BNO055_MAG_OFFSET_Y_LSB_LEN (8)
1731 #define BNO055_MAG_OFFSET_Y_LSB_REG BNO055_MAG_OFFSET_Y_LSB_ADDR
1732 
1733 #define BNO055_MAG_OFFSET_Y_MSB_POS (0)
1734 #define BNO055_MAG_OFFSET_Y_MSB_MSK (0XFF)
1735 #define BNO055_MAG_OFFSET_Y_MSB_LEN (8)
1736 #define BNO055_MAG_OFFSET_Y_MSB_REG BNO055_MAG_OFFSET_Y_MSB_ADDR
1737 
1738 #define BNO055_MAG_OFFSET_Z_LSB_POS (0)
1739 #define BNO055_MAG_OFFSET_Z_LSB_MSK (0XFF)
1740 #define BNO055_MAG_OFFSET_Z_LSB_LEN (8)
1741 #define BNO055_MAG_OFFSET_Z_LSB_REG BNO055_MAG_OFFSET_Z_LSB_ADDR
1742 
1743 #define BNO055_MAG_OFFSET_Z_MSB_POS (0)
1744 #define BNO055_MAG_OFFSET_Z_MSB_MSK (0XFF)
1745 #define BNO055_MAG_OFFSET_Z_MSB_LEN (8)
1746 #define BNO055_MAG_OFFSET_Z_MSB_REG BNO055_MAG_OFFSET_Z_MSB_ADDR
1747 
1748 /* Gyro Offset registers*/
1749 #define BNO055_GYRO_OFFSET_X_LSB_POS (0)
1750 #define BNO055_GYRO_OFFSET_X_LSB_MSK (0XFF)
1751 #define BNO055_GYRO_OFFSET_X_LSB_LEN (8)
1752 #define BNO055_GYRO_OFFSET_X_LSB_REG BNO055_GYRO_OFFSET_X_LSB_ADDR
1753 
1754 #define BNO055_GYRO_OFFSET_X_MSB_POS (0)
1755 #define BNO055_GYRO_OFFSET_X_MSB_MSK (0XFF)
1756 #define BNO055_GYRO_OFFSET_X_MSB_LEN (8)
1757 #define BNO055_GYRO_OFFSET_X_MSB_REG BNO055_GYRO_OFFSET_X_MSB_ADDR
1758 
1759 #define BNO055_GYRO_OFFSET_Y_LSB_POS (0)
1760 #define BNO055_GYRO_OFFSET_Y_LSB_MSK (0XFF)
1761 #define BNO055_GYRO_OFFSET_Y_LSB_LEN (8)
1762 #define BNO055_GYRO_OFFSET_Y_LSB_REG BNO055_GYRO_OFFSET_Y_LSB_ADDR
1763 
1764 #define BNO055_GYRO_OFFSET_Y_MSB_POS (0)
1765 #define BNO055_GYRO_OFFSET_Y_MSB_MSK (0XFF)
1766 #define BNO055_GYRO_OFFSET_Y_MSB_LEN (8)
1767 #define BNO055_GYRO_OFFSET_Y_MSB_REG BNO055_GYRO_OFFSET_Y_MSB_ADDR
1768 
1769 #define BNO055_GYRO_OFFSET_Z_LSB_POS (0)
1770 #define BNO055_GYRO_OFFSET_Z_LSB_MSK (0XFF)
1771 #define BNO055_GYRO_OFFSET_Z_LSB_LEN (8)
1772 #define BNO055_GYRO_OFFSET_Z_LSB_REG BNO055_GYRO_OFFSET_Z_LSB_ADDR
1773 
1774 #define BNO055_GYRO_OFFSET_Z_MSB_POS (0)
1775 #define BNO055_GYRO_OFFSET_Z_MSB_MSK (0XFF)
1776 #define BNO055_GYRO_OFFSET_Z_MSB_LEN (8)
1777 #define BNO055_GYRO_OFFSET_Z_MSB_REG BNO055_GYRO_OFFSET_Z_MSB_ADDR
1778 
1779 /* Radius register definition*/
1780 #define BNO055_ACCEL_RADIUS_LSB_POS (0)
1781 #define BNO055_ACCEL_RADIUS_LSB_MSK (0XFF)
1782 #define BNO055_ACCEL_RADIUS_LSB_LEN (8)
1783 #define BNO055_ACCEL_RADIUS_LSB_REG BNO055_ACCEL_RADIUS_LSB_ADDR
1784 
1785 #define BNO055_ACCEL_RADIUS_MSB_POS (0)
1786 #define BNO055_ACCEL_RADIUS_MSB_MSK (0XFF)
1787 #define BNO055_ACCEL_RADIUS_MSB_LEN (8)
1788 #define BNO055_ACCEL_RADIUS_MSB_REG BNO055_ACCEL_RADIUS_MSB_ADDR
1789 
1790 #define BNO055_MAG_RADIUS_LSB_POS (0)
1791 #define BNO055_MAG_RADIUS_LSB_MSK (0XFF)
1792 #define BNO055_MAG_RADIUS_LSB_LEN (8)
1793 #define BNO055_MAG_RADIUS_LSB_REG BNO055_MAG_RADIUS_LSB_ADDR
1794 
1795 #define BNO055_MAG_RADIUS_MSB_POS (0)
1796 #define BNO055_MAG_RADIUS_MSB_MSK (0XFF)
1797 #define BNO055_MAG_RADIUS_MSB_LEN (8)
1798 #define BNO055_MAG_RADIUS_MSB_REG BNO055_MAG_RADIUS_MSB_ADDR
1799 
1800 /* PAGE0 DATA REGISTERS DEFINITION END*/
1801 /*************************************************/
1803 /*************************************************/
1804 /* Configuration registers*/
1805 /* Accel range configuration register*/
1806 #define BNO055_ACCEL_RANGE_POS (0)
1807 #define BNO055_ACCEL_RANGE_MSK (0X03)
1808 #define BNO055_ACCEL_RANGE_LEN (2)
1809 #define BNO055_ACCEL_RANGE_REG BNO055_ACCEL_CONFIG_ADDR
1810 
1811 /* Accel bandwidth configuration register*/
1812 #define BNO055_ACCEL_BW_POS (2)
1813 #define BNO055_ACCEL_BW_MSK (0X1C)
1814 #define BNO055_ACCEL_BW_LEN (3)
1815 #define BNO055_ACCEL_BW_REG BNO055_ACCEL_CONFIG_ADDR
1816 
1817 /* Accel power mode configuration register*/
1818 #define BNO055_ACCEL_POWER_MODE_POS (5)
1819 #define BNO055_ACCEL_POWER_MODE_MSK (0XE0)
1820 #define BNO055_ACCEL_POWER_MODE_LEN (3)
1821 #define BNO055_ACCEL_POWER_MODE_REG BNO055_ACCEL_CONFIG_ADDR
1822 
1823 /* Mag data output rate configuration register*/
1824 #define BNO055_MAG_DATA_OUTPUT_RATE_POS (0)
1825 #define BNO055_MAG_DATA_OUTPUT_RATE_MSK (0X07)
1826 #define BNO055_MAG_DATA_OUTPUT_RATE_LEN (3)
1827 #define BNO055_MAG_DATA_OUTPUT_RATE_REG BNO055_MAG_CONFIG_ADDR
1828 
1829 /* Mag operation mode configuration register*/
1830 #define BNO055_MAG_OPERATION_MODE_POS (3)
1831 #define BNO055_MAG_OPERATION_MODE_MSK (0X18)
1832 #define BNO055_MAG_OPERATION_MODE_LEN (2)
1833 #define BNO055_MAG_OPERATION_MODE_REG BNO055_MAG_CONFIG_ADDR
1834 
1835 /* Mag power mode configuration register*/
1836 #define BNO055_MAG_POWER_MODE_POS (5)
1837 #define BNO055_MAG_POWER_MODE_MSK (0X60)
1838 #define BNO055_MAG_POWER_MODE_LEN (2)
1839 #define BNO055_MAG_POWER_MODE_REG BNO055_MAG_CONFIG_ADDR
1840 
1841 /* Gyro range configuration register*/
1842 #define BNO055_GYRO_RANGE_POS (0)
1843 #define BNO055_GYRO_RANGE_MSK (0X07)
1844 #define BNO055_GYRO_RANGE_LEN (3)
1845 #define BNO055_GYRO_RANGE_REG BNO055_GYRO_CONFIG_ADDR
1846 
1847 /* Gyro bandwidth configuration register*/
1848 #define BNO055_GYRO_BW_POS (3)
1849 #define BNO055_GYRO_BW_MSK (0X38)
1850 #define BNO055_GYRO_BW_LEN (3)
1851 #define BNO055_GYRO_BW_REG BNO055_GYRO_CONFIG_ADDR
1852 
1853 /* Gyro power mode configuration register*/
1854 #define BNO055_GYRO_POWER_MODE_POS (0)
1855 #define BNO055_GYRO_POWER_MODE_MSK (0X07)
1856 #define BNO055_GYRO_POWER_MODE_LEN (3)
1857 #define BNO055_GYRO_POWER_MODE_REG BNO055_GYRO_MODE_CONFIG_ADDR
1858 
1859 /* Sleep configuration registers*/
1860 /* Accel sleep mode configuration register*/
1861 #define BNO055_ACCEL_SLEEP_MODE_POS (0)
1862 #define BNO055_ACCEL_SLEEP_MODE_MSK (0X01)
1863 #define BNO055_ACCEL_SLEEP_MODE_LEN (1)
1864 #define BNO055_ACCEL_SLEEP_MODE_REG BNO055_ACCEL_SLEEP_CONFIG_ADDR
1865 
1866 /* Accel sleep duration configuration register*/
1867 #define BNO055_ACCEL_SLEEP_DURN_POS (1)
1868 #define BNO055_ACCEL_SLEEP_DURN_MSK (0X1E)
1869 #define BNO055_ACCEL_SLEEP_DURN_LEN (4)
1870 #define BNO055_ACCEL_SLEEP_DURN_REG BNO055_ACCEL_SLEEP_CONFIG_ADDR
1871 
1872 /* Gyro sleep duration configuration register*/
1873 #define BNO055_GYRO_SLEEP_DURN_POS (0)
1874 #define BNO055_GYRO_SLEEP_DURN_MSK (0X07)
1875 #define BNO055_GYRO_SLEEP_DURN_LEN (3)
1876 #define BNO055_GYRO_SLEEP_DURN_REG BNO055_GYRO_SLEEP_CONFIG_ADDR
1877 
1878 /* Gyro auto sleep duration configuration register*/
1879 #define BNO055_GYRO_AUTO_SLEEP_DURN_POS (3)
1880 #define BNO055_GYRO_AUTO_SLEEP_DURN_MSK (0X38)
1881 #define BNO055_GYRO_AUTO_SLEEP_DURN_LEN (3)
1882 #define BNO055_GYRO_AUTO_SLEEP_DURN_REG BNO055_GYRO_SLEEP_CONFIG_ADDR
1883 
1884 /* Mag sleep mode configuration register*/
1885 #define BNO055_MAG_SLEEP_MODE_POS (0)
1886 #define BNO055_MAG_SLEEP_MODE_MSK (0X01)
1887 #define BNO055_MAG_SLEEP_MODE_LEN (1)
1888 #define BNO055_MAG_SLEEP_MODE_REG BNO055_MAG_SLEEP_CONFIG_ADDR
1889 
1890 /* Mag sleep duration configuration register*/
1891 #define BNO055_MAG_SLEEP_DURN_POS (1)
1892 #define BNO055_MAG_SLEEP_DURN_MSK (0X1E)
1893 #define BNO055_MAG_SLEEP_DURN_LEN (4)
1894 #define BNO055_MAG_SLEEP_DURN_REG BNO055_MAG_SLEEP_CONFIG_ADDR
1895 
1896 /* Interrupt registers*/
1897 /* Gyro any motion interrupt msk register*/
1898 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_POS (2)
1899 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_MSK (0X04)
1900 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_LEN (1)
1901 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_REG BNO055_INT_MASK_ADDR
1902 
1903 /* Gyro high rate interrupt msk register*/
1904 #define BNO055_GYRO_HIGHRATE_INTR_MASK_POS (3)
1905 #define BNO055_GYRO_HIGHRATE_INTR_MASK_MSK (0X08)
1906 #define BNO055_GYRO_HIGHRATE_INTR_MASK_LEN (1)
1907 #define BNO055_GYRO_HIGHRATE_INTR_MASK_REG BNO055_INT_MASK_ADDR
1908 
1909 /* Accel high g interrupt msk register*/
1910 #define BNO055_ACCEL_HIGH_G_INTR_MASK_POS (5)
1911 #define BNO055_ACCEL_HIGH_G_INTR_MASK_MSK (0X20)
1912 #define BNO055_ACCEL_HIGH_G_INTR_MASK_LEN (1)
1913 #define BNO055_ACCEL_HIGH_G_INTR_MASK_REG BNO055_INT_MASK_ADDR
1914 
1915 /* Accel any motion interrupt msk register*/
1916 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_POS (6)
1917 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_MSK (0X40)
1918 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_LEN (1)
1919 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_REG BNO055_INT_MASK_ADDR
1920 
1921 /* Accel any motion interrupt msk register*/
1922 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_POS (7)
1923 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_MSK (0X80)
1924 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_LEN (1)
1925 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_REG BNO055_INT_MASK_ADDR
1926 
1927 /* Gyro any motion interrupt register*/
1928 #define BNO055_GYRO_ANY_MOTION_INTR_POS (2)
1929 #define BNO055_GYRO_ANY_MOTION_INTR_MSK (0X04)
1930 #define BNO055_GYRO_ANY_MOTION_INTR_LEN (1)
1931 #define BNO055_GYRO_ANY_MOTION_INTR_REG BNO055_INT_ADDR
1932 
1933 /* Gyro high rate interrupt register*/
1934 #define BNO055_GYRO_HIGHRATE_INTR_POS (3)
1935 #define BNO055_GYRO_HIGHRATE_INTR_MSK (0X08)
1936 #define BNO055_GYRO_HIGHRATE_INTR_LEN (1)
1937 #define BNO055_GYRO_HIGHRATE_INTR_REG BNO055_INT_ADDR
1938 
1939 /* Accel high g interrupt register*/
1940 #define BNO055_ACCEL_HIGH_G_INTR_POS (5)
1941 #define BNO055_ACCEL_HIGH_G_INTR_MSK (0X20)
1942 #define BNO055_ACCEL_HIGH_G_INTR_LEN (1)
1943 #define BNO055_ACCEL_HIGH_G_INTR_REG BNO055_INT_ADDR
1944 
1945 /* Accel any motion interrupt register*/
1946 #define BNO055_ACCEL_ANY_MOTION_INTR_POS (6)
1947 #define BNO055_ACCEL_ANY_MOTION_INTR_MSK (0X40)
1948 #define BNO055_ACCEL_ANY_MOTION_INTR_LEN (1)
1949 #define BNO055_ACCEL_ANY_MOTION_INTR_REG BNO055_INT_ADDR
1950 
1951 /*Accel any motion interrupt register*/
1952 #define BNO055_ACCEL_NO_MOTION_INTR_POS (7)
1953 #define BNO055_ACCEL_NO_MOTION_INTR_MSK (0X80)
1954 #define BNO055_ACCEL_NO_MOTION_INTR_LEN (1)
1955 #define BNO055_ACCEL_NO_MOTION_INTR_REG BNO055_INT_ADDR
1956 
1957 /*Accel any motion threshold setting*/
1958 #define BNO055_ACCEL_ANY_MOTION_THRES_POS (0)
1959 #define BNO055_ACCEL_ANY_MOTION_THRES_MSK (0XFF)
1960 #define BNO055_ACCEL_ANY_MOTION_THRES_LEN (8)
1961 #define BNO055_ACCEL_ANY_MOTION_THRES_REG BNO055_ACCEL_ANY_MOTION_THRES_ADDR
1962 
1963 /*Accel interrupt setting register*/
1964 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_POS (0)
1965 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_MSK (0X03)
1966 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_LEN (2)
1967 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
1968 
1969 /* Accel AM/NM axis selection register*/
1970 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_POS (2)
1971 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_MSK (0X04)
1972 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_LEN (1)
1973 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
1974 
1975 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_POS (3)
1976 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_MSK (0X08)
1977 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_LEN (1)
1978 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
1979 
1980 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_POS (4)
1981 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_MSK (0X10)
1982 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_LEN (1)
1983 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
1984 
1985 /* Accel high g axis selection register*/
1986 #define BNO055_ACCEL_HIGH_G_X_AXIS_POS (5)
1987 #define BNO055_ACCEL_HIGH_G_X_AXIS_MSK (0X20)
1988 #define BNO055_ACCEL_HIGH_G_X_AXIS_LEN (1)
1989 #define BNO055_ACCEL_HIGH_G_X_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
1990 
1991 #define BNO055_ACCEL_HIGH_G_Y_AXIS_POS (6)
1992 #define BNO055_ACCEL_HIGH_G_Y_AXIS_MSK (0X40)
1993 #define BNO055_ACCEL_HIGH_G_Y_AXIS_LEN (1)
1994 #define BNO055_ACCEL_HIGH_G_Y_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
1995 
1996 #define BNO055_ACCEL_HIGH_G_Z_AXIS_POS (7)
1997 #define BNO055_ACCEL_HIGH_G_Z_AXIS_MSK (0X80)
1998 #define BNO055_ACCEL_HIGH_G_Z_AXIS_LEN (1)
1999 #define BNO055_ACCEL_HIGH_G_Z_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
2000 
2001 /* Accel High g duration setting register*/
2002 #define BNO055_ACCEL_HIGH_G_DURN_POS (0)
2003 #define BNO055_ACCEL_HIGH_G_DURN_MSK (0XFF)
2004 #define BNO055_ACCEL_HIGH_G_DURN_LEN (8)
2005 #define BNO055_ACCEL_HIGH_G_DURN_REG BNO055_ACCEL_HIGH_G_DURN_ADDR
2006 
2007 /* Accel High g threshold setting register*/
2008 #define BNO055_ACCEL_HIGH_G_THRES_POS (0)
2009 #define BNO055_ACCEL_HIGH_G_THRES_MSK (0XFF)
2010 #define BNO055_ACCEL_HIGH_G_THRES_LEN (8)
2011 #define BNO055_ACCEL_HIGH_G_THRES_REG BNO055_ACCEL_HIGH_G_THRES_ADDR
2012 
2013 /* Accel no/slow motion threshold setting*/
2014 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_POS (0)
2015 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_MSK (0XFF)
2016 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_LEN (8)
2017 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_REG \
2018 BNO055_ACCEL_NO_MOTION_THRES_ADDR
2019 
2020 /* Accel no/slow motion enable setting*/
2021 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_POS (0)
2022 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_MSK (0X01)
2023 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_LEN (1)
2024 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_REG BNO055_ACCEL_NO_MOTION_SET_ADDR
2025 
2026 /* Accel no/slow motion duration setting*/
2027 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_POS (1)
2028 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_MSK (0X7E)
2029 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_LEN (6)
2030 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_REG BNO055_ACCEL_NO_MOTION_SET_ADDR
2031 
2032 /*Gyro interrupt setting register*/
2033 /*Gyro any motion axis setting*/
2034 #define BNO055_GYRO_ANY_MOTION_X_AXIS_POS (0)
2035 #define BNO055_GYRO_ANY_MOTION_X_AXIS_MSK (0X01)
2036 #define BNO055_GYRO_ANY_MOTION_X_AXIS_LEN (1)
2037 #define BNO055_GYRO_ANY_MOTION_X_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
2038 
2039 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_POS (1)
2040 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_MSK (0X02)
2041 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_LEN (1)
2042 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
2043 
2044 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_POS (2)
2045 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_MSK (0X04)
2046 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_LEN (1)
2047 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
2048 
2049 /*Gyro high rate axis setting*/
2050 #define BNO055_GYRO_HIGHRATE_X_AXIS_POS (3)
2051 #define BNO055_GYRO_HIGHRATE_X_AXIS_MSK (0X08)
2052 #define BNO055_GYRO_HIGHRATE_X_AXIS_LEN (1)
2053 #define BNO055_GYRO_HIGHRATE_X_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
2054 
2055 #define BNO055_GYRO_HIGHRATE_Y_AXIS_POS (4)
2056 #define BNO055_GYRO_HIGHRATE_Y_AXIS_MSK (0X10)
2057 #define BNO055_GYRO_HIGHRATE_Y_AXIS_LEN (1)
2058 #define BNO055_GYRO_HIGHRATE_Y_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
2059 
2060 #define BNO055_GYRO_HIGHRATE_Z_AXIS_POS (5)
2061 #define BNO055_GYRO_HIGHRATE_Z_AXIS_MSK (0X20)
2062 #define BNO055_GYRO_HIGHRATE_Z_AXIS_LEN (1)
2063 #define BNO055_GYRO_HIGHRATE_Z_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
2064 
2065 /* Gyro filter setting*/
2066 #define BNO055_GYRO_ANY_MOTION_FILTER_POS (6)
2067 #define BNO055_GYRO_ANY_MOTION_FILTER_MSK (0X40)
2068 #define BNO055_GYRO_ANY_MOTION_FILTER_LEN (1)
2069 #define BNO055_GYRO_ANY_MOTION_FILTER_REG BNO055_GYRO_INTR_SETING_ADDR
2070 
2071 #define BNO055_GYRO_HIGHRATE_FILTER_POS (7)
2072 #define BNO055_GYRO_HIGHRATE_FILTER_MSK (0X80)
2073 #define BNO055_GYRO_HIGHRATE_FILTER_LEN (1)
2074 #define BNO055_GYRO_HIGHRATE_FILTER_REG BNO055_GYRO_INTR_SETING_ADDR
2075 
2076 /* Gyro high rate X axis settings*/
2077 #define BNO055_GYRO_HIGHRATE_X_THRES_POS (0)
2078 #define BNO055_GYRO_HIGHRATE_X_THRES_MSK (0X1F)
2079 #define BNO055_GYRO_HIGHRATE_X_THRES_LEN (5)
2080 #define BNO055_GYRO_HIGHRATE_X_THRES_REG BNO055_GYRO_HIGHRATE_X_SET_ADDR
2081 
2082 #define BNO055_GYRO_HIGHRATE_X_HYST_POS (5)
2083 #define BNO055_GYRO_HIGHRATE_X_HYST_MSK (0X60)
2084 #define BNO055_GYRO_HIGHRATE_X_HYST_LEN (2)
2085 #define BNO055_GYRO_HIGHRATE_X_HYST_REG BNO055_GYRO_HIGHRATE_X_SET_ADDR
2086 
2087 #define BNO055_GYRO_HIGHRATE_X_DURN_POS (0)
2088 #define BNO055_GYRO_HIGHRATE_X_DURN_MSK (0XFF)
2089 #define BNO055_GYRO_HIGHRATE_X_DURN_LEN (8)
2090 #define BNO055_GYRO_HIGHRATE_X_DURN_REG BNO055_GYRO_DURN_X_ADDR
2091 
2092 /* Gyro high rate Y axis settings*/
2093 #define BNO055_GYRO_HIGHRATE_Y_THRES_POS (0)
2094 #define BNO055_GYRO_HIGHRATE_Y_THRES_MSK (0X1F)
2095 #define BNO055_GYRO_HIGHRATE_Y_THRES_LEN (5)
2096 #define BNO055_GYRO_HIGHRATE_Y_THRES_REG BNO055_GYRO_HIGHRATE_Y_SET_ADDR
2097 
2098 #define BNO055_GYRO_HIGHRATE_Y_HYST_POS (5)
2099 #define BNO055_GYRO_HIGHRATE_Y_HYST_MSK (0X60)
2100 #define BNO055_GYRO_HIGHRATE_Y_HYST_LEN (2)
2101 #define BNO055_GYRO_HIGHRATE_Y_HYST_REG BNO055_GYRO_HIGHRATE_Y_SET_ADDR
2102 
2103 #define BNO055_GYRO_HIGHRATE_Y_DURN_POS (0)
2104 #define BNO055_GYRO_HIGHRATE_Y_DURN_MSK (0XFF)
2105 #define BNO055_GYRO_HIGHRATE_Y_DURN_LEN (8)
2106 #define BNO055_GYRO_HIGHRATE_Y_DURN_REG BNO055_GYRO_DURN_Y_ADDR
2107 
2108 /* Gyro high rate Z axis settings*/
2109 #define BNO055_GYRO_HIGHRATE_Z_THRES_POS (0)
2110 #define BNO055_GYRO_HIGHRATE_Z_THRES_MSK (0X1F)
2111 #define BNO055_GYRO_HIGHRATE_Z_THRES_LEN (5)
2112 #define BNO055_GYRO_HIGHRATE_Z_THRES_REG BNO055_GYRO_HIGHRATE_Z_SET_ADDR
2113 
2114 #define BNO055_GYRO_HIGHRATE_Z_HYST_POS (5)
2115 #define BNO055_GYRO_HIGHRATE_Z_HYST_MSK (0X60)
2116 #define BNO055_GYRO_HIGHRATE_Z_HYST_LEN (2)
2117 #define BNO055_GYRO_HIGHRATE_Z_HYST_REG BNO055_GYRO_HIGHRATE_Z_SET_ADDR
2118 
2119 #define BNO055_GYRO_HIGHRATE_Z_DURN_POS (0)
2120 #define BNO055_GYRO_HIGHRATE_Z_DURN_MSK (0XFF)
2121 #define BNO055_GYRO_HIGHRATE_Z_DURN_LEN (8)
2122 #define BNO055_GYRO_HIGHRATE_Z_DURN_REG (BNO055_GYRO_DURN_Z_ADDR)
2123 
2124 /*Gyro any motion threshold setting*/
2125 #define BNO055_GYRO_ANY_MOTION_THRES_POS (0)
2126 #define BNO055_GYRO_ANY_MOTION_THRES_MSK (0X7F)
2127 #define BNO055_GYRO_ANY_MOTION_THRES_LEN (7)
2128 #define BNO055_GYRO_ANY_MOTION_THRES_REG \
2129 BNO055_GYRO_ANY_MOTION_THRES_ADDR
2130 
2131 /* Gyro any motion slope sample setting*/
2132 #define BNO055_GYRO_SLOPE_SAMPLES_POS (0)
2133 #define BNO055_GYRO_SLOPE_SAMPLES_MSK (0X03)
2134 #define BNO055_GYRO_SLOPE_SAMPLES_LEN (2)
2135 #define BNO055_GYRO_SLOPE_SAMPLES_REG BNO055_GYRO_ANY_MOTION_SET_ADDR
2136 
2137 /* Gyro awake duration setting*/
2138 #define BNO055_GYRO_AWAKE_DURN_POS (2)
2139 #define BNO055_GYRO_AWAKE_DURN_MSK (0X0C)
2140 #define BNO055_GYRO_AWAKE_DURN_LEN (2)
2141 #define BNO055_GYRO_AWAKE_DURN_REG BNO055_GYRO_ANY_MOTION_SET_ADDR
2142 
2143 /* PAGE1 DATA REGISTERS DEFINITION END*/
2144 /*************************************************/
2146 /*************************************************/
2147 #define BNO055_GET_BITSLICE(regvar, bitname)\
2148 ((regvar & bitname##_MSK) >> bitname##_POS)
2149 
2150 
2151 #define BNO055_SET_BITSLICE(regvar, bitname, val)\
2152 ((regvar & ~bitname##_MSK) | ((val<<bitname##_POS)&bitname##_MSK))
2153 /*************************************************/
2155 /*************************************************/
2156 /**************************************************/
2158 /**************************************************/
2182 BNO055_RETURN_FUNCTION_TYPE bno055_init(struct bno055_t *bno055);
2198 BNO055_RETURN_FUNCTION_TYPE bno055_write_register(u8 addr_u8,
2199 u8 *data_u8, u8 len_u8);
2215 BNO055_RETURN_FUNCTION_TYPE bno055_read_register(u8 addr_u8,
2216 u8 *data_u8, u8 len_u8);
2228 BNO055_RETURN_FUNCTION_TYPE bno055_read_chip_id(u8 *chip_id_u8);
2241 BNO055_RETURN_FUNCTION_TYPE bno055_read_sw_rev_id(u16 *sw_id_u8);
2258 BNO055_RETURN_FUNCTION_TYPE bno055_read_page_id(u8 *page_id_u8);
2274 BNO055_RETURN_FUNCTION_TYPE bno055_write_page_id(u8 page_id_u8);
2287 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_rev_id(
2288 u8 *accel_rev_id_u8);
2301 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_rev_id(
2302 u8 *mag_rev_id_u8);
2317 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_rev_id(
2318 u8 *gyro_rev_id_u8);
2332 BNO055_RETURN_FUNCTION_TYPE bno055_read_bl_rev_id(
2333 u8 *bl_rev_id_u8);
2334 /**************************************************/
2336 /**************************************************/
2354 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_x(s16 *accel_x_s16);
2372 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_y(s16 *accel_y_s16);
2390 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_z(s16 *accel_z_s16);
2411 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_xyz(
2412 struct bno055_accel_t *accel);
2413 /**************************************************/
2415 /**************************************************/
2434 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_x(s16 *mag_x_s16);
2452 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_y(s16 *mag_y_s16);
2471 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_z(s16 *mag_z_s16);
2492 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_xyz(struct bno055_mag_t *mag);
2493 /**************************************************/
2495 /**************************************************/
2513 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_x(s16 *gyro_x_s16);
2531 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_y(s16 *gyro_y_s16);
2544 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_z(s16 *gyro_z_s16);
2565 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_xyz(struct bno055_gyro_t *gyro);
2566 /**************************************************/
2568 /**************************************************/
2580 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_h(s16 *euler_h_s16);
2592 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_r(s16 *euler_r_s16);
2605 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_p(s16 *euler_p_s16);
2625 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_hrp(
2626 struct bno055_euler_t *euler);
2627 /**************************************************/
2629 /**************************************************/
2642 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_w(
2643 s16 *quaternion_w_s16);
2656 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_x(
2657 s16 *quaternion_x_s16);
2670 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_y(
2671 s16 *quaternion_y_s16);
2684 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_z(
2685 s16 *quaternion_z_s16);
2707 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_wxyz(
2708 struct bno055_quaternion_t *quaternion);
2709 /**************************************************/
2711 /**************************************************/
2724 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_x(
2725 s16 *linear_accel_x_s16);
2738 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_y(
2739 s16 *linear_accel_y_s16);
2752 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_z(
2753 s16 *linear_accel_z_s16);
2772 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_xyz(
2773 struct bno055_linear_accel_t *linear_accel);
2774 /**************************************************/
2776 /**************************************************/
2789 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_x(
2790 s16 *gravity_x_s16);
2803 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_y(
2804 s16 *gravity_y_s16);
2817 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_z(
2818 s16 *gravity_z_s16);
2838 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_xyz(
2839 struct bno055_gravity_t *gravity);
2840 /**************************************************/
2842 /**************************************************/
2855 BNO055_RETURN_FUNCTION_TYPE bno055_read_temp_data(s8 *temp_s8);
2856 #ifdef BNO055_FLOAT_ENABLE
2857 /********************************************************************/
2859 /********************************************************************/
2874 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_msq(
2875 float *accel_x_f);
2890 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_msq(
2891 float *accel_y_f);
2906 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_msq(
2907 float *accel_z_f);
2921 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_mg(
2922 float *accel_x_f);
2936 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_mg(
2937 float *accel_y_f);
2952 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_mg(
2953 float *accel_z_f);
2972 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_msq(
2973 struct bno055_accel_float_t *accel_xyz);
2993 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_mg(
2994 struct bno055_accel_float_t *accel_xyz);
2995 /********************************************************************/
2997 /********************************************************************/
3012 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_x_uT(
3013 float *mag_x_f);
3027 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_y_uT(
3028 float *mag_y_f);
3042 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_z_uT(
3043 float *mag_z_f);
3062 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_xyz_uT(
3063 struct bno055_mag_float_t *mag_xyz_data);
3064 /********************************************************************/
3066 /********************************************************************/
3079 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_dps(
3080 float *gyro_x_f);
3094 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_rps(
3095 float *gyro_x_f);
3109 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_dps(
3110 float *gyro_y_f);
3125 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_rps(
3126 float *gyro_y_f);
3140 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_dps(
3141 float *gyro_z_f);
3155 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_rps(
3156 float *gyro_z_f);
3176 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_dps(
3177 struct bno055_gyro_float_t *gyro_xyz_data);
3197 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_rps(
3198 struct bno055_gyro_float_t *gyro_xyz_data);
3199 /********************************************************************/
3201 /********************************************************************/
3214 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_deg(
3215 float *euler_h_f);
3228 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_rad(
3229 float *euler_h_f);
3241 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_deg(
3242 float *euler_r_f);
3254 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_rad(
3255 float *euler_r_f);
3267 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_deg(
3268 float *euler_p_f);
3281 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_rad(
3282 float *euler_p_f);
3301 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_deg(
3302 struct bno055_euler_float_t *euler_hpr);
3321 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_rad(
3322 struct bno055_euler_float_t *euler_hpr);
3323 /***************************************************************************/
3325 /**************************************************************************/
3336 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_x_msq(
3337 float *linear_accel_x_f);
3348 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_y_msq(
3349 float *linear_accel_y_f);
3361 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_z_msq(
3362 float *linear_accel_z_f);
3382 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_xyz_msq(
3383 struct bno055_linear_accel_float_t *linear_accel_xyz);
3384 /********************************************************************/
3386 /********************************************************************/
3399 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_x_msq(
3400 float *gravity_x_f);
3413 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_y_msq(
3414 float *gravity_y_f);
3426 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_z_msq(
3427 float *gravity_z_f);
3447 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gravity_xyz_msq(
3448 struct bno055_gravity_float_t *gravity_xyz);
3449 /**************************************************************************/
3451 /*************************************************************************/
3464 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_fahrenheit(
3465 float *temp_f);
3479 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_celsius(
3480 float *temp_f);
3481 #endif
3482 #ifdef BNO055_DOUBLE_ENABLE
3483 /**************************************************************************/
3485 /*************************************************************************/
3500 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_msq(
3501 double *accel_x_d);
3517 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_msq(
3518 double *accel_y_d);
3531 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_msq(
3532 double *accel_z_d);
3548 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_mg(
3549 double *accel_x_d);
3564 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_mg(
3565 double *accel_y_d);
3579 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_mg(
3580 double *accel_z_d);
3600 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_msq(
3601 struct bno055_accel_double_t *accel_xyz);
3620 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_mg(
3621 struct bno055_accel_double_t *accel_xyz);
3622 /**************************************************************************/
3624 /*************************************************************************/
3640 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_x_uT(
3641 double *mag_x_d);
3657 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_y_uT(
3658 double *mag_y_d);
3673 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_z_uT(
3674 double *mag_z_d);
3693 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_xyz_uT(
3694 struct bno055_mag_double_t *mag_xyz);
3695 /**************************************************************************/
3697 /*************************************************************************/
3712 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_dps(
3713 double *gyro_x_d);
3728 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_dps(
3729 double *gyro_y_d);
3744 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_dps(
3745 double *gyro_z_d);
3760 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_rps(
3761 double *gyro_x_d);
3776 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_rps(
3777 double *gyro_y_d);
3792 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_rps(
3793 double *gyro_z_d);
3812 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_dps(
3813 struct bno055_gyro_double_t *gyro_xyz);
3832 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_rps(
3833 struct bno055_gyro_double_t *gyro_xyz);
3834 /**************************************************************************/
3836 /*************************************************************************/
3849 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_deg(
3850 double *euler_h_d);
3863 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_deg(
3864 double *euler_p_d);
3877 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_deg(
3878 double *euler_r_d);
3891 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_rad(
3892 double *euler_h_d);
3906 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_rad(
3907 double *euler_p_d);
3920 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_rad(
3921 double *euler_r_d);
3940 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_deg(
3941 struct bno055_euler_double_t *euler_hpr);
3960 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_rad(
3961 struct bno055_euler_double_t *euler_hpr);
3962 /****************************************************************************/
3964 /****************************************************************************/
3978 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_x_msq(
3979 double *linear_accel_x_d);
3993 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_y_msq(
3994 double *linear_accel_y_d);
4009 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_z_msq(
4010 double *linear_accel_z_d);
4030 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_xyz_msq(
4031 struct bno055_linear_accel_double_t *linear_accel_xyz);
4032 /**************************************************************************/
4034 /*************************************************************************/
4047 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_x_msq(
4048 double *gravity_x_d);
4061 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_y_msq(
4062 double *gravity_y_d);
4075 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_z_msq(
4076 double *gravity_z_d);
4095 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gravity_xyz_msq(
4096 struct bno055_gravity_double_t *gravity_xyz);
4097 /**************************************************************************/
4099 /*************************************************************************/
4112 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_fahrenheit(
4113 double *temp_d);
4126 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_celsius(
4127 double *temp_d);
4128 #endif
4129 /**************************************************************************/
4131 /*************************************************************************/
4144 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_calib_stat(
4145 u8 *mag_calib_u8);
4158 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_calib_stat(
4159 u8 *accel_calib_u8);
4172 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_calib_stat(
4173 u8 *gyro_calib_u8);
4186 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_calib_stat(
4187 u8 *sys_calib_u8);
4188 /******************************************************************/
4190 /******************************************************************/
4207 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_accel(
4208 u8 *selftest_accel_u8);
4225 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mag(
4226 u8 *selftest_mag_u8);
4243 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_gyro(
4244 u8 *selftest_gyro_u8);
4261 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mcu(
4262 u8 *selftest_mcu_u8);
4263 /*****************************************************/
4265 /*****************************************************/
4289 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_any_motion(
4290 u8 *gyro_any_motion_u8);
4313 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_highrate(
4314 u8 *gyro_highrate_u8);
4315 /*****************************************************/
4317 /*****************************************************/
4341 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_high_g(
4342 u8 *accel_high_g_u8);
4365 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_any_motion(
4366 u8 *accel_any_motion_u8);
4390 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_no_motion(
4391 u8 *accel_no_motion_u8);
4392 /**************************************************************************/
4394 /*************************************************************************/
4407 BNO055_RETURN_FUNCTION_TYPE bno055_get_stat_main_clk(
4408 u8 *stat_main_clk_u8);
4421 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_stat_code(
4422 u8 *sys_stat_u8);
4436 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_error_code(
4437 u8 *sys_error_u8);
4438 /********************************************/
4440 /********************************************/
4457 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_unit(
4458 u8 *accel_unit_u8);
4476 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_unit(
4477 u8 accel_unit_u8);
4478 /********************************************/
4480 /********************************************/
4498 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_unit(
4499 u8 *gyro_unit_u8);
4517 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_unit(u8 gyro_unit_u8);
4518 /********************************************/
4520 /********************************************/
4538 BNO055_RETURN_FUNCTION_TYPE bno055_get_euler_unit(
4539 u8 *euler_unit_u8);
4557 BNO055_RETURN_FUNCTION_TYPE bno055_set_euler_unit(u8 euler_unit_u8);
4558 /********************************************/
4560 /********************************************/
4578 BNO055_RETURN_FUNCTION_TYPE bno055_get_tilt_unit(
4579 u8 *tilt_unit_u8);
4601 BNO055_RETURN_FUNCTION_TYPE bno055_set_tilt_unit(
4602 u8 tilt_unit_u8);
4603 /**************************************************/
4605 /**************************************************/
4622 BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_unit(
4623 u8 *temp_unit_u8);
4641 BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_unit(
4642 u8 temp_unit_u8);
4643 /**************************************************/
4645 /**************************************************/
4662 BNO055_RETURN_FUNCTION_TYPE bno055_get_data_output_format(
4663 u8 *data_output_format_u8);
4680 BNO055_RETURN_FUNCTION_TYPE bno055_set_data_output_format(
4681 u8 data_output_format_u8);
4682 /**************************************************/
4684 /**************************************************/
4723 BNO055_RETURN_FUNCTION_TYPE bno055_get_operation_mode(
4724 u8 *operation_mode_u8);
4765 BNO055_RETURN_FUNCTION_TYPE bno055_set_operation_mode(u8 operation_mode_u8);
4766 /**************************************************/
4768 /**************************************************/
4795 BNO055_RETURN_FUNCTION_TYPE bno055_get_power_mode(
4796 u8 *power_mode_u8);
4824 BNO055_RETURN_FUNCTION_TYPE bno055_set_power_mode(u8 power_mode_u8);
4825 /**************************************************/
4827 /**************************************************/
4845 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_rst(
4846 u8 *intr_rst_u8);
4864 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_rst(u8 intr_rst_u8);
4865 /**************************************************/
4867 /**************************************************/
4884 BNO055_RETURN_FUNCTION_TYPE bno055_get_clk_src(
4885 u8 *clk_src_u8);
4902 BNO055_RETURN_FUNCTION_TYPE bno055_set_clk_src(u8 clk_src_u8);
4903 /**************************************************/
4905 /**************************************************/
4923 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_rst(
4924 u8 *sys_rst_u8);
4942 BNO055_RETURN_FUNCTION_TYPE bno055_set_sys_rst(u8 sys_rst_u8);
4943 /**************************************************/
4945 /**************************************************/
4963 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest(
4964 u8 *selftest_u8);
4984 BNO055_RETURN_FUNCTION_TYPE bno055_set_selftest(u8 selftest_u8);
4985 /**************************************************/
4987 /**************************************************/
5005 BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_source(
5006 u8 *temp_source_u8);
5024 BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_source(u8 temp_source_u8);
5025 /**************************************************/
5027 /**************************************************/
5061 BNO055_RETURN_FUNCTION_TYPE bno055_get_axis_remap_value(
5062 u8 *remap_axis_u8);
5096 BNO055_RETURN_FUNCTION_TYPE bno055_set_axis_remap_value(
5097 u8 remap_axis_u8);
5098 /**************************************************/
5100 /**************************************************/
5117 BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_x_sign(
5118 u8 *remap_x_sign_u8);
5135 BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_x_sign(
5136 u8 remap_x_sign_u8);
5153 BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_y_sign(
5154 u8 *remap_y_sign_u8);
5171 BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_y_sign(
5172 u8 remap_y_sign_u8);
5189 BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_z_sign(
5190 u8 *remap_z_sign_u8);
5207 BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_z_sign(
5208 u8 remap_z_sign_u8);
5209 /*****************************************************/
5211 /*****************************************************/
5237 BNO055_RETURN_FUNCTION_TYPE bno055_read_sic_matrix(
5238 struct bno055_sic_matrix_t *sic_matrix);
5264 BNO055_RETURN_FUNCTION_TYPE bno055_write_sic_matrix(
5265 struct bno055_sic_matrix_t *sic_matrix);
5266 /*****************************************************/
5268 /*****************************************************/
5300 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_offset(
5301 struct bno055_accel_offset_t *accel_offset);
5333 BNO055_RETURN_FUNCTION_TYPE bno055_write_accel_offset(
5334 struct bno055_accel_offset_t *accel_offset);
5335 /*****************************************************/
5337 /*****************************************************/
5359 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_offset(
5360 struct bno055_mag_offset_t *mag_offset);
5381 BNO055_RETURN_FUNCTION_TYPE bno055_write_mag_offset(
5382 struct bno055_mag_offset_t *mag_offset);
5383 /*****************************************************/
5385 /*****************************************************/
5417 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_offset(
5418 struct bno055_gyro_offset_t *gyro_offset);
5450 BNO055_RETURN_FUNCTION_TYPE bno055_write_gyro_offset(
5451 struct bno055_gyro_offset_t *gyro_offset);
5452 /********************************************************/
5453 /************** PAGE1 Functions *********************/
5454 /********************************************************/
5455 /*****************************************************/
5457 /*****************************************************/
5476 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_range(
5477 u8 *accel_range_u8);
5497 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_range(
5498 u8 accel_range_u8);
5522 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_bw(
5523 u8 *accel_bw_u8);
5547 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_bw(
5548 u8 accel_bw_u8);
5569 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_power_mode(
5570 u8 *accel_power_mode_u8);
5591 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_power_mode(
5592 u8 accel_power_mode_u8);
5593 /*****************************************************/
5595 /*****************************************************/
5619 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_data_output_rate(
5620 u8 *mag_data_output_rate_u8);
5644 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_data_output_rate(
5645 u8 mag_data_output_rate_u8);
5665 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_operation_mode(
5666 u8 *mag_operation_mode_u8);
5686 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_operation_mode(
5687 u8 mag_operation_mode_u8);
5707 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_power_mode(
5708 u8 *mag_power_mode_u8);
5728 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_power_mode(
5729 u8 mag_power_mode_u8);
5730 /*****************************************************/
5732 /*****************************************************/
5753 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_range(
5754 u8 *gyro_range_u8);
5775 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_range(
5776 u8 gyro_range_u8);
5800 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_bw(
5801 u8 *gyro_bw_u8);
5825 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_bw(
5826 u8 gyro_bw_u8);
5847 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_power_mode(
5848 u8 *gyro_power_mode_u8);
5869 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_power_mode(
5870 u8 gyro_power_mode_u8);
5871 /*****************************************************/
5873 /*****************************************************/
5891 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_tmr_mode(
5892 u8 *sleep_tmr_u8);
5910 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_tmr_mode(
5911 u8 sleep_tmr_u8);
5938 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_durn(
5939 u8 *sleep_durn_u8);
5966 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_durn(
5967 u8 sleep_durn_u8);
5968 /*****************************************************/
5970 /*****************************************************/
5983 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_sleep_durn(
5984 u8 *sleep_durn_u8);
5997 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_sleep_durn(
5998 u8 sleep_durn);
6011 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_auto_sleep_durn(
6012 u8 *auto_sleep_durn_u8);
6026 BNO055_RETURN_FUNCTION_TYPE bno055_gyro_set_auto_sleep_durn(
6027 u8 auto_sleep_durn_u8, u8 bw);
6028 /*****************************************************/
6030 /*****************************************************/
6043 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_mode(
6044 u8 *sleep_mode_u8);
6057 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_mode(
6058 u8 sleep_mode_u8);
6071 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_durn(
6072 u8 *sleep_durn_u8);
6085 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_durn(
6086 u8 sleep_durn_u8);
6087 /*****************************************************/
6089 /*****************************************************/
6126 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_any_motion(
6127 u8 *gyro_any_motion_u8);
6164 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_any_motion(
6165 u8 gyro_any_motion_u8);
6217 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_highrate(
6218 u8 *gyro_highrate_u8);
6270 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_highrate(
6271 u8 gyro_highrate_u8);
6272 /*****************************************************/
6274 /*****************************************************/
6306 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_high_g(
6307 u8 *accel_high_g_u8);
6339 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_high_g(
6340 u8 accel_high_g_u8);
6372 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_any_motion(
6373 u8 *accel_any_motion_u8);
6404 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_any_motion(
6405 u8 accel_any_motion_u8);
6435 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_no_motion(
6436 u8 *accel_nomotion_u8);
6471 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_no_motion(
6472 u8 accel_nomotion_u8);
6473 /*****************************************************/
6475 /*****************************************************/
6511 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_any_motion(
6512 u8 *gyro_any_motion_u8);
6548 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_any_motion(
6549 u8 gyro_any_motion_u8);
6601 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_highrate(
6602 u8 *gyro_highrate_u8);
6654 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_highrate(
6655 u8 gyro_highrate_u8);
6656 /*****************************************************/
6658 /*****************************************************/
6690 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_high_g(
6691 u8 *accel_high_g_u8);
6723 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_high_g(
6724 u8 accel_high_g_u8);
6755 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_any_motion(
6756 u8 *accel_any_motion_u8);
6787 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_any_motion(
6788 u8 accel_any_motion_u8);
6823 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_no_motion(
6824 u8 *accel_nomotion_u8);
6859 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_no_motion(
6860 u8 accel_nomotion_u8);
6861 /*****************************************************/
6863 /*****************************************************/
6889 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_thres(
6890 u8 *accel_any_motion_thres_u8);
6916 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_thres(
6917 u8 accel_any_motion_thres_u8);
6918 /*****************************************************/
6920 /*****************************************************/
6937 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_durn(
6938 u8 *accel_any_motion_durn_u8);
6956 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_durn(
6957 u8 accel_any_motion_durn_u8);
6958 /*****************************************************/
6960 /*****************************************************/
6983 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_no_motion_axis_enable(
6984 u8 channel_u8, u8 *data_u8);
7007 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_no_motion_axis_enable(
7008 u8 channel_u8, u8 data_u8);
7009 /*****************************************************/
7011 /*****************************************************/
7034 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_axis_enable(
7035 u8 channel_u8, u8 *data_u8);
7058 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_axis_enable(
7059 u8 channel_u8, u8 data_u8);
7060 /*****************************************************/
7062 /*****************************************************/
7079 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_durn(
7080 u8 *accel_high_g_durn_u8);
7097 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_durn(
7098 u8 accel_high_g_durn_u8);
7099 /*****************************************************/
7101 /*****************************************************/
7123 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_thres(
7124 u8 *accel_high_g_thres_u8);
7146 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_thres(
7147 u8 accel_high_g_thres_u8);
7148 /**************************************************************/
7150 /**************************************************************/
7172 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_thres(
7173 u8 *accel_slow_no_motion_thres_u8);
7195 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_thres(
7196 u8 accel_slow_no_motion_thres_u8);
7197 /**************************************************************/
7199 /**************************************************************/
7215 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_enable(
7216 u8 *accel_slow_no_motion_en_u8);
7232 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_enable(
7233 u8 accel_slow_no_motion_en_u8);
7234 /**************************************************************/
7236 /**************************************************************/
7249 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_durn(
7250 u8 *accel_slow_no_motion_durn_u8);
7263 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_durn(
7264 u8 accel_slow_no_motion_durn_u8);
7265 /**************************************************************/
7267 /**************************************************************/
7291 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_axis_enable(
7292 u8 channel_u8, u8 *data_u8);
7315 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_axis_enable(
7316 u8 channel_u8, u8 data_u8);
7317 /**************************************************************/
7319 /**************************************************************/
7343 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_axis_enable(
7344 u8 channel_u8, u8 *data_u8);
7345 /**************************************************************/
7347 /**************************************************************/
7370 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_axis_enable(
7371 u8 channel_u8, u8 data_u8);
7372 /**************************************************************/
7374 /**************************************************************/
7390 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_filter(
7391 u8 *gyro_any_motion_filter_u8);
7407 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_filter(
7408 u8 gyro_any_motion_filter_u8);
7409 /**************************************************************/
7411 /**************************************************************/
7427 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_filter(
7428 u8 *gyro_highrate_filter_u8);
7444 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_filter(
7445 u8 gyro_highrate_filter_u8);
7446 /**************************************************************/
7448 /**************************************************************/
7470 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_thres(
7471 u8 *gyro_highrate_x_thres_u8);
7493 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_thres(
7494 u8 gyro_highrate_x_thres_u8);
7495 /**************************************************************/
7497 /**************************************************************/
7521 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_hyst(
7522 u8 *gyro_highrate_x_hyst_u8);
7546 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_hyst(
7547 u8 gyro_highrate_x_hyst_u8);
7548 /**************************************************************/
7550 /**************************************************************/
7566 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_durn(
7567 u8 *gyro_highrate_x_durn_u8);
7582 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_durn(
7583 u8 gyro_highrate_x_durn_u8);
7584 /**************************************************************/
7586 /**************************************************************/
7608 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_thres(
7609 u8 *gyro_highrate_y_thres_u8);
7631 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_thres(
7632 u8 gyro_highrate_y_thres_u8);
7633 /**************************************************************/
7635 /**************************************************************/
7658 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_hyst(
7659 u8 *gyro_highrate_y_hyst_u8);
7682 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_hyst(
7683 u8 gyro_highrate_y_hyst_u8);
7684 /**************************************************************/
7686 /**************************************************************/
7701 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_durn(
7702 u8 *gyro_highrate_y_durn_u8);
7717 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_durn(
7718 u8 gyro_highrate_y_durn_u8);
7719 /**************************************************************/
7721 /**************************************************************/
7743 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_thres(
7744 u8 *gyro_highrate_z_thres_u8);
7766 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_thres(
7767 u8 gyro_highrate_z_thres_u8);
7768 /**************************************************************/
7770 /**************************************************************/
7793 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_hyst(
7794 u8 *gyro_highrate_z_hyst_u8);
7817 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_hyst(
7818 u8 gyro_highrate_z_hyst_u8);
7819 /**************************************************************/
7821 /**************************************************************/
7836 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_durn(
7837 u8 *gyro_highrate_z_durn_u8);
7852 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_durn(
7853 u8 gyro_highrate_z_durn_u8);
7854 /**************************************************************/
7856 /**************************************************************/
7877 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_thres(
7878 u8 *gyro_any_motion_thres_u8);
7899 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_thres(
7900 u8 gyro_any_motion_thres_u8);
7901 /**************************************************************/
7903 /**************************************************************/
7922 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_slope_samples(
7923 u8 *gyro_any_motion_slope_samples_u8);
7942 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_slope_samples(
7943 u8 gyro_any_motion_slope_samples_u8);
7944 /**************************************************************/
7946 /**************************************************************/
7958 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_awake_durn(
7959 u8 *gyro_awake_durn_u8);
7971 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_awake_durn(
7972 u8 gyro_awake_durn_u8);
7973 #endif
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_highrate(u8 *gyro_highrate_u8)
This API used to read the gyro highrate interrupt from page one register from 0x10 bit 3.
Definition: bno055.cpp:13531
BNO055_RETURN_FUNCTION_TYPE bno055_write_sic_matrix(struct bno055_sic_matrix_t *sic_matrix)
This API is used to write soft iron calibration matrix from the register 0x43 to 0x53 it is a 18 byte...
Definition: bno055.cpp:8885
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_mode(u8 *sleep_mode_u8)
This API used to read the mag sleep mode from page one register from 0x0E bit 0.
Definition: bno055.cpp:12387
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_xyz_uT(struct bno055_mag_float_t *mag_xyz_data)
This API is used to convert the mag yz raw data to microTesla output as float.
Definition: bno055.cpp:3112
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gravity_xyz_msq(struct bno055_gravity_double_t *gravity_xyz)
This API is used to convert the gravity xyz raw data to meterpersecseq output as double.
Definition: bno055.cpp:5645
BNO055_RETURN_FUNCTION_TYPE bno055_init(struct bno055_t *bno055)
This API is used for initialize bus read, bus write function pointers,device address,...
Definition: bno055.cpp:89
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_bw(u8 gyro_bw_u8)
This API used to write the gyro bandwidth from page one register from 0x0A bit 3 to 5.
Definition: bno055.cpp:11479
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_thres(u8 *accel_any_motion_thres_u8)
This API used to read the accel any motion threshold from page one register from 0x11 bit 0 to 7.
Definition: bno055.cpp:14084
BNO055_RETURN_FUNCTION_TYPE bno055_write_accel_offset(struct bno055_accel_offset_t *accel_offset)
This API is used to write accel offset and accel radius offset form register 0x55 to 0x5A and radius ...
Definition: bno055.cpp:9518
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_deg(double *euler_r_d)
This API is used to convert the Euler r raw data to degree output as double.
Definition: bno055.cpp:5146
BNO055_RETURN_FUNCTION_TYPE bno055_write_gyro_offset(struct bno055_gyro_offset_t *gyro_offset)
This API is used to read gyro offset offset form register 0x61 to 0x66.
Definition: bno055.cpp:10259
signed int s32
Definition: bno055.h:188
BNO055_RETURN_FUNCTION_TYPE bno055_set_axis_remap_value(u8 remap_axis_u8)
This API used to write the axis remap value from register from 0x41 bit 0 and 5.
Definition: bno055.cpp:8216
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_durn(u8 gyro_highrate_x_durn_u8)
This API used to write gyro highrate x duration from page one register from 0x19 bit 0 to 7.
Definition: bno055.cpp:16384
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_celsius(double *temp_d)
This API is used to convert the temperature data to Celsius output as double.
Definition: bno055.cpp:5720
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_calib_stat(u8 *accel_calib_u8)
This API used to read accel calibration status from register from 0x35 bit 2 and 3.
Definition: bno055.cpp:5806
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_no_motion(u8 *accel_no_motion_u8)
This API used to read the stat_s8 of accel nomotion/slowmotion interrupt from register from 0x37 bit ...
Definition: bno055.cpp:6366
BNO055_RETURN_FUNCTION_TYPE bno055_set_data_output_format(u8 data_output_format_u8)
This API used to read the current selected orientation mode from register from 0x3B bit 7.
Definition: bno055.cpp:7182
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_stat_code(u8 *sys_stat_u8)
This API is used to read system status code from the register 0x39 it is a byte of data.
Definition: bno055.cpp:6457
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_hrp(struct bno055_euler_t *euler)
This API reads Euler data hrp values from register 0x1A to 0x1F it is a six byte data.
Definition: bno055.cpp:1594
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_calib_stat(u8 *mag_calib_u8)
This API used to read mag calibration status from register from 0x35 bit 0 and 1.
Definition: bno055.cpp:5761
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_highrate(u8 gyro_highrate_u8)
This API used to write the gyro highrate interrupt from page one register from 0x10 bit 3.
Definition: bno055.cpp:13615
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_h(s16 *euler_h_s16)
This API reads gyro data z values from register 0x1A and 0x1B it is a two byte data.
Definition: bno055.cpp:1414
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_dps(struct bno055_gyro_float_t *gyro_xyz_data)
This API is used to convert the gyro xyz raw data to dps output as float.
Definition: bno055.cpp:3410
signed char s8
If your machine support 16 bit define the MACHINE_16_BIT.
Definition: bno055.h:186
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_dps(float *gyro_x_f)
This API is used to convert the gyro x raw data to dps output as float.
Definition: bno055.cpp:3145
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_y_uT(float *mag_y_f)
This API is used to convert the mag y raw data to microTesla output as float.
Definition: bno055.cpp:3043
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_durn(u8 *accel_high_g_durn_u8)
This API used to read the accel highg duration from page one register from 0x13 bit 0 to 7.
Definition: bno055.cpp:14762
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_z_msq(double *linear_accel_z_d)
This API is used to convert the linear accel z raw data to meterpersecseq output as double.
Definition: bno055.cpp:5477
BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_z_sign(u8 remap_z_sign_u8)
This API used to write the z-axis remap sign from register from 0x42 bit 0.
Definition: bno055.cpp:8595
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_error_code(u8 *sys_error_u8)
This API is used to read system BNO055_ERROR code from the register 0x3A it is a byte of data.
Definition: bno055.cpp:6503
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_msq(float *accel_y_f)
This API is used to convert the accel x raw data to meterpersecseq output as float.
Definition: bno055.cpp:2732
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_durn(u8 *sleep_durn_u8)
This API used to read the accel sleep duration from page one register from 0x0C bit 1 to 4.
Definition: bno055.cpp:11923
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_offset(struct bno055_mag_offset_t *mag_offset)
This API is used to read mag offset offset form register 0x69 to 0x6A.
Definition: bno055.cpp:9757
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_wxyz(struct bno055_quaternion_t *quaternion)
This API reads Quaternion data wxyz values from register 0x20 to 0x27 it is a six byte data.
Definition: bno055.cpp:1941
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_dps(float *gyro_y_f)
This API is used to convert the gyro y raw data to dps output as float.
Definition: bno055.cpp:3231
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_x_uT(double *mag_x_d)
This API is used to convert the mag x raw data to microTesla output as double.
Definition: bno055.cpp:4561
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_thres(u8 *gyro_highrate_y_thres_u8)
This API used to read gyro highrate y threshold from page one register from 0x1A bit 0 to 4.
Definition: bno055.cpp:16465
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_operation_mode(u8 mag_operation_mode_u8)
This API used to write the mag operation mode from page one register from 0x09 bit 3 to 4.
Definition: bno055.cpp:11063
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_axis_enable(u8 channel_u8, u8 *data_u8)
This API used to read the gyro anymotion enable from page one register from 0x17 bit 0 to 2.
Definition: bno055.cpp:15407
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_power_mode(u8 *accel_power_mode_u8)
This API used to read the accel power mode from page one register from 0x08 bit 5 to 7.
Definition: bno055.cpp:10730
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_rps(double *gyro_z_d)
This API is used to convert the gyro z raw data to rps output as double.
Definition: bno055.cpp:4922
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_any_motion(u8 gyro_any_motion_u8)
This API used to write the gyro anymotion interrupt mask from page one register from 0x0F bit 2.
Definition: bno055.cpp:12719
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_dps(struct bno055_gyro_double_t *gyro_xyz)
This API is used to convert the gyro xyz raw data to dps output as double.
Definition: bno055.cpp:4970
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_power_mode(u8 accel_power_mode_u8)
This API used to write the accel power mode from page one register from 0x08 bit 5 to 7.
Definition: bno055.cpp:10783
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_slope_samples(u8 gyro_any_motion_slope_samples_u8)
This API used to write gyro anymotion slope samples from page one register from 0x1F bit 0 to 1.
Definition: bno055.cpp:17430
BNO055_RETURN_FUNCTION_TYPE bno055_set_selftest(u8 selftest_u8)
This API used to write the self test from register from 0x3F bit 0.
Definition: bno055.cpp:7951
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_any_motion(u8 *gyro_any_motion_u8)
This API used to read the stat_s8 of gyro anymotion interrupt from register from 0x37 bit 2.
Definition: bno055.cpp:6144
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_bw(u8 *accel_bw_u8)
This API used to read the accel bandwidth from page one register from 0x08 bit 2 to 4.
Definition: bno055.cpp:10590
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_rev_id(u8 *gyro_rev_id_u8)
This API reads gyro revision id from register 0x03 it is a byte of value.
Definition: bno055.cpp:499
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_y_msq(double *gravity_y_d)
This API is used to convert the gravity y raw data to meterpersecseq output as double.
Definition: bno055.cpp:5579
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_bw(u8 *gyro_bw_u8)
This API used to read the gyro bandwidth from page one register from 0x0A bit 3 to 5.
Definition: bno055.cpp:11424
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_y(s16 *quaternion_y_s16)
This API reads quaternion data y values from register 0x24 and 0x25 it is a two byte data.
Definition: bno055.cpp:1812
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_msq(double *accel_z_d)
This API is used to convert the accel z raw data to meterpersecseq output as double.
Definition: bno055.cpp:4370
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_durn(u8 *gyro_highrate_z_durn_u8)
This API used to read gyro highrate z duration from page one register from 0x1D bit 0 to 7.
Definition: bno055.cpp:17121
unsigned long u32
Definition: bno055.h:194
BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_y_sign(u8 *remap_y_sign_u8)
This API used to read the y-axis remap sign from register from 0x42 bit 1.
Definition: bno055.cpp:8430
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_z(s16 *quaternion_z_s16)
This API reads quaternion data z values from register 0x26 and 0x27 it is a two byte data.
Definition: bno055.cpp:1872
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_x_msq(float *linear_accel_x_f)
This API is used to convert the linear accel x raw data to meterpersecseq output as float.
Definition: bno055.cpp:3847
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_thres(u8 gyro_any_motion_thres_u8)
This API used to write gyro anymotion threshold from page one register from 0x1E bit 0 to 6.
Definition: bno055.cpp:17301
BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_x_sign(u8 *remap_x_sign_u8)
This API used to read the x-axis remap sign from register from 0x42 bit 2.
Definition: bno055.cpp:8313
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_high_g(u8 *accel_high_g_u8)
This API used to read the accel highg interrupt mask from page one register from 0x0F bit 5.
Definition: bno055.cpp:12964
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_unit(u8 *accel_unit_u8)
This API used to read the accel unit from register from 0x3B bit 0.
Definition: bno055.cpp:6552
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_power_mode(u8 *mag_power_mode_u8)
This API used to read the mag power mode from page one register from 0x09 bit 4 to 6.
Definition: bno055.cpp:11148
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_p(s16 *euler_p_s16)
This API reads Euler data p values from register 0x1E and 0x1F it is a two byte data.
Definition: bno055.cpp:1529
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_thres(u8 *gyro_highrate_z_thres_u8)
This API used to read gyro highrate z threshold from page one register from 0x1C bit 0 to 4.
Definition: bno055.cpp:16856
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_hyst(u8 gyro_highrate_x_hyst_u8)
This API used to write gyro highrate x hysteresis from page one register from 0x18 bit 5 to 6.
Definition: bno055.cpp:16263
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_power_mode(u8 mag_power_mode_u8)
This API used to write the mag power mode from page one register from 0x09 bit 4 to 6.
Definition: bno055.cpp:11200
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_mg(double *accel_z_d)
This API is used to convert the accel z raw data to millig output as double.
Definition: bno055.cpp:4413
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_thres(u8 accel_slow_no_motion_thres_u8)
This API used to write the accel slownomotion threshold from page one register from 0x15 bit 0 to 7.
Definition: bno055.cpp:15086
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_z_uT(double *mag_z_d)
This API is used to convert the mag z raw data to microTesla output as double.
Definition: bno055.cpp:4627
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_x(s16 *quaternion_x_s16)
This API reads quaternion data x values from register 0x22 and 0x23 it is a two byte data.
Definition: bno055.cpp:1752
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_mg(float *accel_z_f)
This API is used to convert the accel z raw data to millig output as float.
Definition: bno055.cpp:2864
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_z(s16 *mag_z_s16)
This API reads mag data z values from register 0x12 and 0x13 it is a two byte data.
Definition: bno055.cpp:995
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_xyz_msq(struct bno055_linear_accel_double_t *linear_accel_xyz)
This API is used to convert the linear accel xyz raw data to meterpersecseq output as double.
Definition: bno055.cpp:5514
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_axis_enable(u8 channel_u8, u8 data_u8)
This API used to write the gyro anymotion enable from page one register from 0x17 bit 0 to 2.
Definition: bno055.cpp:15489
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_range(u8 *accel_range_u8)
This API used to read the accel range from page one register from 0x08 bit 0 and 1.
Definition: bno055.cpp:10451
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gravity_xyz_msq(struct bno055_gravity_float_t *gravity_xyz)
This API is used to convert the gravity xyz raw data to meterpersecseq output as float.
Definition: bno055.cpp:4070
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_rad(float *euler_r_f)
This API is used to convert the Euler r raw data to radians output as float.
Definition: bno055.cpp:3628
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_thres(u8 gyro_highrate_y_thres_u8)
This API used to write gyro highrate y threshold from page one register from 0x1A bit 0 to 4.
Definition: bno055.cpp:16519
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_gyro(u8 *selftest_gyro_u8)
This API used to read self test of gyro from register from 0x36 bit 2.
Definition: bno055.cpp:6041
BNO055_RETURN_FUNCTION_TYPE bno055_read_sw_rev_id(u16 *sw_id_u8)
This API reads software revision id from register 0x04 and 0x05 it is a two byte of data.
Definition: bno055.cpp:270
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_power_mode(u8 gyro_power_mode_u8)
This API used to write the gyro power mode from page one register from 0x0B bit 0 to 2.
Definition: bno055.cpp:11661
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_highrate(u8 *gyro_highrate_u8)
This API used to read the gyro highrate interrupt mask from page one register from 0x0F bit 3.
Definition: bno055.cpp:12809
BNO055_RETURN_FUNCTION_TYPE bno055_set_operation_mode(u8 operation_mode_u8)
This API used to write the operation mode from register from 0x3D bit 0 to 3.
Definition: bno055.cpp:7344
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_y(s16 *linear_accel_y_s16)
This API reads Linear accel data x values from register 0x2B and 0x2C it is a two byte data.
Definition: bno055.cpp:2108
BNO055_RETURN_FUNCTION_TYPE bno055_write_mag_offset(struct bno055_mag_offset_t *mag_offset)
This API is used to read mag offset offset form register 0x69 to 0x6A.
Definition: bno055.cpp:9894
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_deg(double *euler_p_d)
This API is used to convert the Euler p raw data to degree output as double.
Definition: bno055.cpp:5226
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_data_output_rate(u8 *mag_data_output_rate_u8)
This API used to read the mag output data rate from page one register from 0x09 bit 0 to 2.
Definition: bno055.cpp:10871
BNO055_RETURN_FUNCTION_TYPE bno055_set_euler_unit(u8 euler_unit_u8)
This API used to write the Euler unit from register from 0x3B bit 2.
Definition: bno055.cpp:6833
BNO055_RETURN_FUNCTION_TYPE bno055_set_power_mode(u8 power_mode_u8)
This API used to write the power mode from register from 0x3E bit 0 to 1.
Definition: bno055.cpp:7525
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_tmr_mode(u8 *sleep_tmr_u8)
This API used to read the accel sleep mode from page one register from 0x0C bit 0.
Definition: bno055.cpp:11780
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_mg(float *accel_x_f)
This API is used to convert the accel y raw data to millig output as float.
Definition: bno055.cpp:2688
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_any_motion(u8 gyro_any_motion_u8)
This API used to write the gyro anymotion interrupt from page one register from 0x10 bit 2.
Definition: bno055.cpp:13441
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_mode(u8 sleep_mode_u8)
This API used to write the mag sleep mode from page one register from 0x0E bit 0.
Definition: bno055.cpp:12433
BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_source(u8 temp_source_u8)
This API used to write the temperature source from register from 0x40 bit 0 and 1.
Definition: bno055.cpp:8068
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_awake_durn(u8 gyro_awake_durn_u8)
This API used to write gyro anymotion awake duration from page one register from 0x1F bit 2 to 3.
Definition: bno055.cpp:17543
signed short int s16
Definition: bno055.h:187
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_awake_durn(u8 *gyro_awake_durn_u8)
This API used to read gyro anymotion awake duration from page one register from 0x1F bit 2 to 3.
Definition: bno055.cpp:17500
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_filter(u8 *gyro_highrate_filter_u8)
This API used to read gyro highrate filter from page one register from 0x17 bit 7.
Definition: bno055.cpp:15941
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_high_g(u8 *accel_high_g_u8)
This API used to read the status of accel highg interrupt from register from 0x37 bit 5.
Definition: bno055.cpp:6255
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_any_motion(u8 accel_any_motion_u8)
This API used to write the accel anymotion interrupt from page one register from 0x10 bit 6.
Definition: bno055.cpp:13880
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_offset(struct bno055_gyro_offset_t *gyro_offset)
This API is used to read gyro offset offset form register 0x61 to 0x66.
Definition: bno055.cpp:10142
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_thres(u8 *gyro_any_motion_thres_u8)
This API used to read gyro anymotion threshold from page one register from 0x1E bit 0 to 6.
Definition: bno055.cpp:17248
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_xyz(struct bno055_linear_accel_t *linear_accel)
This API reads Linear accel data xyz values from register 0x28 to 0x2D it is a six byte data.
Definition: bno055.cpp:2230
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_durn(u8 accel_high_g_durn_u8)
This API used to write the accel highg duration from page one register from 0x13 bit 0 to 7.
Definition: bno055.cpp:14811
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_rad(float *euler_p_f)
This API is used to convert the Euler p raw data to radians output as float.
Definition: bno055.cpp:3707
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_any_motion(u8 *gyro_any_motion_u8)
This API used to read the gyro anymotion interrupt mask from page one register from 0x0F bit 2.
Definition: bno055.cpp:12650
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_xyz(struct bno055_gyro_t *gyro)
This API reads gyro data xyz values from register 0x14 to 0x19 it is a six byte data.
Definition: bno055.cpp:1324
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_enable(u8 accel_slow_no_motion_en_u8)
This API used to write accel slownomotion enable from page one register from 0x16 bit 0.
Definition: bno055.cpp:15208
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_thres(u8 gyro_highrate_z_thres_u8)
This API used to write gyro highrate z threshold from page one register from 0x1C bit 0 to 4.
Definition: bno055.cpp:16910
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_deg(float *euler_h_f)
This API is used to convert the Euler h raw data to degree output as float.
Definition: bno055.cpp:3507
signed long long int s64
Definition: bno055.h:189
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_rev_id(u8 *mag_rev_id_u8)
This API reads mag revision id from register 0x02 it is a byte of value.
Definition: bno055.cpp:454
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_sleep_durn(u8 *sleep_durn_u8)
This API used to write the gyro sleep duration from page one register from 0x0D bit 0 to 2.
Definition: bno055.cpp:12061
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_highrate(u8 gyro_highrate_u8)
This API used to write the gyro highrate interrupt mask from page one register from 0x0F bit 3.
Definition: bno055.cpp:12893
BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_y_sign(u8 remap_y_sign_u8)
This API used to write the y-axis remap sign from register from 0x42 bit 1.
Definition: bno055.cpp:8479
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_mg(double *accel_y_d)
This API is used to convert the accel y raw data to millig output as double.
Definition: bno055.cpp:4328
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_rad(double *euler_h_d)
This API is used to convert the Euler h raw data to radians output as double.
Definition: bno055.cpp:5106
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_rps(struct bno055_gyro_double_t *gyro_xyz)
This API is used to convert the gyro xyz raw data to rps output as double.
Definition: bno055.cpp:5021
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_range(u8 accel_range_u8)
This API used to write the accel range from page one register from 0x08 bit 0 and 1.
Definition: bno055.cpp:10503
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_range(u8 gyro_range_u8)
This API used to write the gyro range from page one register from 0x0A bit 0 to 3.
Definition: bno055.cpp:11337
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_any_motion(u8 *accel_any_motion_u8)
This API used to read the accel anymotion interrupt mask from page one register from 0x0F bit 6.
Definition: bno055.cpp:13099
BNO055_RETURN_FUNCTION_TYPE bno055_get_operation_mode(u8 *operation_mode_u8)
This API used to read the operation mode from register from 0x3D bit 0 to 3.
Definition: bno055.cpp:7271
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_mg(double *accel_x_d)
This API is used to convert the accel x raw data to millig output as double.
Definition: bno055.cpp:4239
BNO055_RETURN_FUNCTION_TYPE bno055_get_power_mode(u8 *power_mode_u8)
This API used to read the power mode from register from 0x3E bit 0 to 1.
Definition: bno055.cpp:7465
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_data_output_rate(u8 mag_data_output_rate_u8)
This API used to write the mag output data rate from page one register from 0x09 bit 0 to 2.
Definition: bno055.cpp:10927
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_no_motion_axis_enable(u8 channel_u8, u8 data_u8)
This API used to write the accel anymotion enable from page one register from 0x12 bit 2 to 4.
Definition: bno055.cpp:14431
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_x_msq(double *linear_accel_x_d)
This API is used to convert the linear accel x raw data to meterpersecseq output as double.
Definition: bno055.cpp:5413
BNO055_RETURN_FUNCTION_TYPE bno055_get_euler_unit(u8 *euler_unit_u8)
This API used to read the Euler unit from register from 0x3B bit 2.
Definition: bno055.cpp:6783
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_y(s16 *gyro_y_s16)
This API reads gyro data y values from register 0x16 and 0x17 it is a two byte data.
Definition: bno055.cpp:1212
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_dps(double *gyro_x_d)
This API is used to convert the gyro x raw data to dps output as double.
Definition: bno055.cpp:4702
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_z_msq(double *gravity_z_d)
This API is used to convert the gravity z raw data to meterpersecseq output as double.
Definition: bno055.cpp:5609
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_any_motion(u8 *gyro_any_motion_u8)
This API used to read the gyro anymotion interrupt from page one register from 0x10 bit 2.
Definition: bno055.cpp:13373
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_calib_stat(u8 *gyro_calib_u8)
This API used to read gyro calibration status from register from 0x35 bit 4 and 5.
Definition: bno055.cpp:5851
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_msq(float *accel_z_f)
This API is used to convert the accel z raw data to meterpersecseq output as float.
Definition: bno055.cpp:2819
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_filter(u8 gyro_highrate_filter_u8)
This API used to write gyro highrate filter from page one register from 0x17 bit 7.
Definition: bno055.cpp:15989
BNO055_RETURN_FUNCTION_TYPE bno055_set_sys_rst(u8 sys_rst_u8)
This API used to write the reset system from register from 0x3F bit 5.
Definition: bno055.cpp:7845
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_enable(u8 *accel_slow_no_motion_en_u8)
This API used to read accel slownomotion enable from page one register from 0x16 bit 0.
Definition: bno055.cpp:15160
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_thres(u8 accel_high_g_thres_u8)
This API used to write the accel highg threshold from page one register from 0x14 bit 0 to 7.
Definition: bno055.cpp:14949
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_rst(u8 *sys_rst_u8)
This API used to read the reset system from register from 0x3F bit 5.
Definition: bno055.cpp:7795
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_y_msq(float *linear_accel_y_f)
This API is used to convert the linear accel y raw data to meterpersecseq output as float.
Definition: bno055.cpp:3877
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_y_msq(float *gravity_y_f)
This API is used to convert the gravity y raw data to meterpersecseq output as float.
Definition: bno055.cpp:4006
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_thres(u8 gyro_highrate_x_thres_u8)
This API used to write gyro highrate x threshold from page one register from 0x18 bit 0 to 4.
Definition: bno055.cpp:16125
BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_w(s16 *quaternion_w_s16)
This API reads quaternion data w values from register 0x20 and 0x21 it is a two byte data.
Definition: bno055.cpp:1692
BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_durn(u8 sleep_durn_u8)
This API used to write the mag sleep duration from page one register from 0x0E bit 1 to 4.
Definition: bno055.cpp:12552
BNO055_RETURN_FUNCTION_TYPE bno055_read_page_id(u8 *page_id_u8)
This API reads page id from register 0x07 it is a byte of data.
Definition: bno055.cpp:327
BNO055_RETURN_FUNCTION_TYPE bno055_get_stat_main_clk(u8 *stat_main_clk_u8)
This API is used to read status of main clock from the register 0x38 bit 0.
Definition: bno055.cpp:6413
BNO055_RETURN_FUNCTION_TYPE bno055_set_tilt_unit(u8 tilt_unit_u8)
This API used to write the tilt unit from register from 0x3B bit 3.
Definition: bno055.cpp:6951
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest(u8 *selftest_u8)
This API used to read the self test from register from 0x3F bit 0.
Definition: bno055.cpp:7899
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_durn(u8 *accel_any_motion_durn_u8)
This API used to read the accel anymotion duration from page one register from 0x12 bit 0 to 1.
Definition: bno055.cpp:14218
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_dps(double *gyro_y_d)
This API is used to convert the gyro y raw data to dps output as double.
Definition: bno055.cpp:4790
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_thres(u8 *gyro_highrate_x_thres_u8)
This API used to read gyro highrate x threshold from page one register from 0x18 bit 0 to 4.
Definition: bno055.cpp:16071
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_operation_mode(u8 *mag_operation_mode_u8)
This API used to read the mag operation mode from page one register from 0x09 bit 3 to 4.
Definition: bno055.cpp:11011
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_no_motion(u8 *accel_nomotion_u8)
This API used to read the accel nomotion interrupt from page one register from 0x10 bit 6.
Definition: bno055.cpp:13953
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_no_motion(u8 accel_nomotion_u8)
This API used to write the accel nomotion interrupt from page one register from 0x10 bit 6.
Definition: bno055.cpp:14020
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_dps(float *gyro_z_f)
This API is used to convert the gyro z raw data to dps output as float.
Definition: bno055.cpp:3318
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_xyz_uT(struct bno055_mag_double_t *mag_xyz)
This API is used to convert the mag yz raw data to microTesla output as double.
Definition: bno055.cpp:4664
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_y(s16 *gravity_y_s16)
This API reads gravity data y values from register 0x30 and 0x31 it is a two byte data.
Definition: bno055.cpp:2381
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_dps(double *gyro_z_d)
This API is used to convert the gyro z raw data to dps output as double.
Definition: bno055.cpp:4878
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_rev_id(u8 *accel_rev_id_u8)
This API reads accel revision id from register 0x01 it is a byte of value.
Definition: bno055.cpp:411
BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_unit(u8 *temp_unit_u8)
This API used to read the temperature unit from register from 0x3B bit 4.
Definition: bno055.cpp:7015
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_any_motion(u8 *accel_any_motion_u8)
This API used to read the accel anymotion interrupt from page one register from 0x10 bit 6.
Definition: bno055.cpp:13817
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_rad(float *euler_h_f)
This API is used to convert the Euler h raw data to radians output as float.
Definition: bno055.cpp:3549
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_rps(float *gyro_z_f)
This API is used to convert the gyro z raw data to rps output as float.
Definition: bno055.cpp:3361
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_fahrenheit(double *temp_d)
This API is used to convert the temperature data to Fahrenheit output as double.
Definition: bno055.cpp:5680
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_z(s16 *linear_accel_z_s16)
This API reads Linear accel data x values from register 0x2C and 0x2D it is a two byte data.
Definition: bno055.cpp:2166
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_mg(struct bno055_accel_float_t *accel_xyz)
This API is used to convert the accel xyz raw data to millig output as float.
Definition: bno055.cpp:2964
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_rad(double *euler_p_d)
This API is used to convert the Euler p raw data to radians output as double.
Definition: bno055.cpp:5267
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_xyz(struct bno055_gravity_t *gravity)
This API reads gravity data xyz values from register 0x2E to 0x33 it is a six byte data.
Definition: bno055.cpp:2504
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_tmr_mode(u8 sleep_tmr_u8)
This API used to write the accel sleep mode from page one register from 0x0C bit 0.
Definition: bno055.cpp:11830
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_axis_enable(u8 channel_u8, u8 data_u8)
This API used to write the accel highg enable from page one register from 0x12 bit 5 to 7.
Definition: bno055.cpp:14641
unsigned short int u16
Definition: bno055.h:193
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_hyst(u8 gyro_highrate_y_hyst_u8)
This API used to write gyro highrate y hysteresis from page one register from 0x1A bit 5 to 6.
Definition: bno055.cpp:16655
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_hyst(u8 gyro_highrate_z_hyst_u8)
This API used to write gyro highrate z hysteresis from page one register from 0x1C bit 5 to 6.
Definition: bno055.cpp:17047
BNO055_RETURN_FUNCTION_TYPE bno055_get_tilt_unit(u8 *tilt_unit_u8)
This API used to write the tilt unit from register from 0x3B bit 3.
Definition: bno055.cpp:6899
BNO055_RETURN_FUNCTION_TYPE bno055_read_temp_data(s8 *temp_s8)
This API reads temperature values from register 0x33 it is a byte data.
Definition: bno055.cpp:2597
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_no_motion_axis_enable(u8 channel_u8, u8 *data_u8)
This API used to read the accel anymotion enable from page one register from 0x12 bit 2 to 4.
Definition: bno055.cpp:14349
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_x(s16 *gyro_x_s16)
This API reads gyro data x values from register 0x14 and 0x15 it is a two byte data.
Definition: bno055.cpp:1155
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_msq(double *accel_y_d)
This API is used to convert the accel y raw data to meterpersecseq output as double.
Definition: bno055.cpp:4284
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_durn(u8 gyro_highrate_z_durn_u8)
This API used to write gyro highrate z duration from page one register from 0x1D bit 0 to 7.
Definition: bno055.cpp:17168
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_rst(u8 *intr_rst_u8)
This API used to read the reset interrupt from register from 0x3F bit 6 It resets all the interrupt b...
Definition: bno055.cpp:7591
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_bw(u8 accel_bw_u8)
This API used to write the accel bandwidth from page one register from 0x08 bit 2 to 4.
Definition: bno055.cpp:10646
BNO055_RETURN_FUNCTION_TYPE bno055_get_data_output_format(u8 *data_output_format_u8)
This API used to read the current selected orientation mode from register from 0x3B bit 7.
Definition: bno055.cpp:7132
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_axis_enable(u8 channel_u8, u8 *data_u8)
This API used to read the accel highg enable from page one register from 0x12 bit 5 to 7.
Definition: bno055.cpp:14559
BNO055_RETURN_FUNCTION_TYPE bno055_read_bl_rev_id(u8 *bl_rev_id_u8)
This API used to read boot loader revision id from register 0x06 it is a byte of value.
Definition: bno055.cpp:543
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_high_g(u8 accel_high_g_u8)
This API used to write the accel highg interrupt from page one register from 0x10 bit 5.
Definition: bno055.cpp:13748
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_z_uT(float *mag_z_f)
This API is used to convert the mag z raw data to microTesla output as float.
Definition: bno055.cpp:3075
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_filter(u8 gyro_any_motion_filter_u8)
This API used to write gyro anymotion filter from page one register from 0x17 bit 6.
Definition: bno055.cpp:15867
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_z(s16 *gravity_z_s16)
This API reads gravity data z values from register 0x32 and 0x33 it is a two byte data.
Definition: bno055.cpp:2439
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_mg(struct bno055_accel_double_t *accel_xyz)
This API is used to convert the accel xyz raw data to millig output as double.
Definition: bno055.cpp:4513
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_accel(u8 *selftest_accel_u8)
This API used to read self test of accel from register from 0x36 bit 0.
Definition: bno055.cpp:5944
BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_x(s16 *linear_accel_x_s16)
This API reads Linear accel data x values from register 0x29 and 0x2A it is a two byte data.
Definition: bno055.cpp:2050
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_rst(u8 intr_rst_u8)
This API used to write the reset interrupt from register from 0x3F bit 6 It resets all the interrupt ...
Definition: bno055.cpp:7640
BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_unit(u8 temp_unit_u8)
This API used to write the temperature unit from register from 0x3B bit 4.
Definition: bno055.cpp:7065
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_durn(u8 sleep_durn_u8)
This API used to write the accel sleep duration from page one register from 0x0C bit 1 to 4.
Definition: bno055.cpp:11982
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_any_motion(u8 *accel_any_motion_u8)
This API used to read the stat_s8 of accel anymotion interrupt from register from 0x37 bit 6.
Definition: bno055.cpp:6310
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_rps(double *gyro_x_d)
This API is used to convert the gyro x raw data to rps output as double.
Definition: bno055.cpp:4746
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_msq(struct bno055_accel_double_t *accel_xyz)
This API is used to convert the accel xyz raw data to meterpersecseq output as double.
Definition: bno055.cpp:4462
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_msq(struct bno055_accel_float_t *accel_xyz)
This API is used to convert the accel xyz raw data to meterpersecseq output as float.
Definition: bno055.cpp:2912
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_y_uT(double *mag_y_d)
This API is used to convert the mag x raw data to microTesla output as double.
Definition: bno055.cpp:4594
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_durn(u8 *accel_slow_no_motion_durn_u8)
This API used to read accel slownomotion duration from page one register from 0x16 bit 1 to 6.
Definition: bno055.cpp:15279
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_z(s16 *accel_z_s16)
This API reads acceleration data z values from register 0x0C and 0x0D it is a two byte data.
Definition: bno055.cpp:711
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_x(s16 *accel_x_s16)
This API reads acceleration data X values from register 0x08 and 0x09 it is a two byte data.
Definition: bno055.cpp:591
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_high_g(u8 accel_high_g_u8)
This API used to write the accel highg interrupt mask from page one register from 0x0F bit 5.
Definition: bno055.cpp:13028
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_thres(u8 *accel_high_g_thres_u8)
This API used to read the accel highg threshold from page one register from 0x14 bit 0 to 7.
Definition: bno055.cpp:14895
BNO055_RETURN_FUNCTION_TYPE bno055_gyro_set_auto_sleep_durn(u8 auto_sleep_durn_u8, u8 bw)
This API used to write the gyro auto sleep duration from page one register from 0x0D bit 3 to 5.
Definition: bno055.cpp:12228
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_axis_enable(u8 channel_u8, u8 data_u8)
This API used to write the gyro highrate enable from page one register from 0x17 bit 3 to 5.
Definition: bno055.cpp:15699
BNO055_RETURN_FUNCTION_TYPE bno055_write_page_id(u8 page_id_u8)
This API used to write the page id register 0x07.
Definition: bno055.cpp:367
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_power_mode(u8 *gyro_power_mode_u8)
This API used to read the gyro power mode from page one register from 0x0B bit 0 to 2.
Definition: bno055.cpp:11608
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_rad(struct bno055_euler_float_t *euler_hpr)
This API is used to convert the Euler xyz raw data to radians output as float.
Definition: bno055.cpp:3804
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_range(u8 *gyro_range_u8)
This API used to read the gyro range from page one register from 0x0A bit 0 to 3.
Definition: bno055.cpp:11284
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_y_msq(double *linear_accel_y_d)
This API is used to convert the linear accel y raw data to meterpersecseq output as double.
Definition: bno055.cpp:5445
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_x(s16 *mag_x_s16)
This API reads mag data x values from register 0x0E and 0x0F it is a two byte data.
Definition: bno055.cpp:872
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_thres(u8 accel_any_motion_thres_u8)
This API used to write the accel any motion threshold from page one register from 0x11 bit 0 to 7.
Definition: bno055.cpp:14143
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_any_motion(u8 accel_any_motion_u8)
This API used to write the accel anymotion interrupt mask from page one register from 0x0F bit 6.
Definition: bno055.cpp:13162
unsigned long long int u64
Definition: bno055.h:195
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_rps(float *gyro_x_f)
This API is used to convert the gyro x raw data to rps output as float.
Definition: bno055.cpp:3188
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_durn(u8 *gyro_highrate_y_durn_u8)
This API used to read gyro highrate y duration from page one register from 0x1B bit 0 to 7.
Definition: bno055.cpp:16728
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_unit(u8 gyro_unit_u8)
This API used to write the gyro unit from register from 0x3B bit 1.
Definition: bno055.cpp:6717
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_deg(struct bno055_euler_float_t *euler_hpr)
This API is used to convert the Euler hrp raw data to degree output as float.
Definition: bno055.cpp:3753
BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_durn(u8 *sleep_durn_u8)
This API used to read the mag sleep duration from page one register from 0x0E bit 1 to 4.
Definition: bno055.cpp:12507
BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_no_motion(u8 accel_nomotion_u8)
This API used to write the accel nomotion interrupt mask from page one register from 0x0F bit 7.
Definition: bno055.cpp:13297
BNO055_RETURN_FUNCTION_TYPE bno055_read_register(u8 addr_u8, u8 *data_u8, u8 len_u8)
This API reads the data from the given register address.
Definition: bno055.cpp:201
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_mg(float *accel_y_f)
This API is used to convert the accel y raw data to millig output as float.
Definition: bno055.cpp:2775
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_sleep_durn(u8 sleep_durn)
This API used to write the gyro sleep duration from page one register from 0x0D bit 0 to 2.
Definition: bno055.cpp:12105
BNO055_RETURN_FUNCTION_TYPE bno055_get_clk_src(u8 *clk_src_u8)
This API used to read the clk source from register from 0x3F bit 7.
Definition: bno055.cpp:7693
BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_durn(u8 gyro_highrate_y_durn_u8)
This API used to write gyro highrate y duration from page one register from 0x1B bit 0 to 7.
Definition: bno055.cpp:16775
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_deg(double *euler_h_d)
This API is used to convert the Euler h raw data to degree output as double.
Definition: bno055.cpp:5066
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_x_msq(double *gravity_x_d)
This API is used to convert the gravity x raw data to meterpersecseq output as double.
Definition: bno055.cpp:5549
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_no_motion(u8 *accel_nomotion_u8)
This API used to read the accel nomotion interrupt mask from page one register from 0x0F bit 7.
Definition: bno055.cpp:13230
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_y(s16 *mag_y_s16)
This API reads mag data y values from register 0x10 and 0x11 it is a two byte data.
Definition: bno055.cpp:933
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_high_g(u8 *accel_high_g_u8)
This API used to read the accel highg interrupt from page one register from 0x10 bit 5.
Definition: bno055.cpp:13684
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_filter(u8 *gyro_any_motion_filter_u8)
This API used to read gyro anymotion filter from page one register from 0x17 bit 6.
Definition: bno055.cpp:15819
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_auto_sleep_durn(u8 *auto_sleep_durn_u8)
This API used to read the gyro auto sleep duration from page one register from 0x0D bit 3 to 5.
Definition: bno055.cpp:12182
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_slope_samples(u8 *gyro_any_motion_slope_samples_u8)
This API used to read gyro anymotion slope samples from page one register from 0x1F bit 0 to 1.
Definition: bno055.cpp:17379
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_rps(struct bno055_gyro_float_t *gyro_xyz_data)
This API is used to convert the gyro xyz raw data to rps output as float.
Definition: bno055.cpp:3462
BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_source(u8 *temp_source_u8)
This API used to read the temperature source from register from 0x40 bit 0 and 1.
Definition: bno055.cpp:8018
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_z_msq(float *gravity_z_f)
This API is used to convert the gravity z raw data to meterpersecseq output as float.
Definition: bno055.cpp:4034
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_y(s16 *accel_y_s16)
This API reads acceleration data Y values from register 0x0A and 0x0B it is a two byte data.
Definition: bno055.cpp:650
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_celsius(float *temp_f)
This API is used to convert the temperature data to Celsius output as float.
Definition: bno055.cpp:4148
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_deg(float *euler_r_f)
This API is used to convert the Euler r raw data to degree output as float.
Definition: bno055.cpp:3589
BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_highrate(u8 *gyro_highrate_u8)
This API used to read the stat_s8 of gyro highrate interrupt from register from 0x37 bit 3.
Definition: bno055.cpp:6199
BNO055_RETURN_FUNCTION_TYPE bno055_write_register(u8 addr_u8, u8 *data_u8, u8 len_u8)
This API gives data to the given register and the data is written in the corresponding register addre...
Definition: bno055.cpp:170
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_hyst(u8 *gyro_highrate_z_hyst_u8)
This API used to read gyro highrate z hysteresis from page one register from 0x1C bit 5 to 6.
Definition: bno055.cpp:16991
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_x_uT(float *mag_x_f)
This API is used to convert the mag x raw data to microTesla output as float.
Definition: bno055.cpp:3011
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_offset(struct bno055_accel_offset_t *accel_offset)
This API is used to read accel offset and accel radius offset form register 0x55 to 0x5A and radius f...
Definition: bno055.cpp:9373
BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_xyz(struct bno055_accel_t *accel)
This API reads acceleration data xyz values from register 0x08 to 0x0D it is a six byte data.
Definition: bno055.cpp:775
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_hyst(u8 *gyro_highrate_x_hyst_u8)
This API used to read gyro highrate x hysteresis from page one register from 0x18 bit 5 to 6.
Definition: bno055.cpp:16207
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_axis_enable(u8 channel_u8, u8 *data_u8)
This API used to read the gyro highrate enable from page one register from 0x17 bit 3 to 5.
Definition: bno055.cpp:15617
BNO055_RETURN_FUNCTION_TYPE bno055_read_chip_id(u8 *chip_id_u8)
This API reads chip id from register 0x00 it is a byte of data.
Definition: bno055.cpp:228
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_deg(struct bno055_euler_double_t *euler_hpr)
This API is used to convert the Euler hpr raw data to degree output as double.
Definition: bno055.cpp:5314
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_z_msq(float *linear_accel_z_f)
This API is used to convert the linear accel z raw data to meterpersecseq output as float.
Definition: bno055.cpp:3906
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_msq(float *accel_x_f)
This API is used to convert the accel x raw data to meterpersecseq output as float.
Definition: bno055.cpp:2642
BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_x_sign(u8 remap_x_sign_u8)
This API used to write the x-axis remap sign from register from 0x42 bit 2.
Definition: bno055.cpp:8362
BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_r(s16 *euler_r_s16)
This API reads Euler data r values from register 0x1C and 0x1D it is a two byte data.
Definition: bno055.cpp:1471
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_durn(u8 accel_slow_no_motion_durn_u8)
This API used to write accel slownomotion duration from page one register from 0x16 bit 1 to 6.
Definition: bno055.cpp:15324
BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_x(s16 *gravity_x_s16)
This API reads gravity data x values from register 0x2E and 0x2F it is a two byte data.
Definition: bno055.cpp:2323
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_rad(struct bno055_euler_double_t *euler_hpr)
This API is used to convert the Euler hpr raw data to radians output as double.
Definition: bno055.cpp:5366
unsigned char u8
Definition: bno055.h:192
BNO055_RETURN_FUNCTION_TYPE bno055_read_sic_matrix(struct bno055_sic_matrix_t *sic_matrix)
This API is used to read soft iron calibration matrix from the register 0x43 to 0x53 it is a 18 bytes...
Definition: bno055.cpp:8671
BNO055_RETURN_FUNCTION_TYPE bno055_get_axis_remap_value(u8 *remap_axis_u8)
This API used to read the axis remap value from register from 0x41 bit 0 and 5.
Definition: bno055.cpp:8150
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_unit(u8 accel_unit_u8)
This API used to write the accel unit from register from 0x3B bit 0.
Definition: bno055.cpp:6601
BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_calib_stat(u8 *sys_calib_u8)
This API used to read system calibration status from register from 0x35 bit 6 and 7.
Definition: bno055.cpp:5896
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mag(u8 *selftest_mag_u8)
This API used to read self test of mag from register from 0x36 bit 1.
Definition: bno055.cpp:5993
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_rps(float *gyro_y_f)
This API is used to convert the gyro y raw data to rps output as float.
Definition: bno055.cpp:3275
BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mcu(u8 *selftest_mcu_u8)
This API used to read self test of micro controller from register from 0x36 bit 3.
Definition: bno055.cpp:6089
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_unit(u8 *gyro_unit_u8)
This API used to read the gyro unit from register from 0x3B bit 1.
Definition: bno055.cpp:6668
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_deg(float *euler_p_f)
This API is used to convert the Euler p raw data to degree output as float.
Definition: bno055.cpp:3667
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_msq(double *accel_x_d)
This API is used to convert the accel x raw data to meterpersecseq output as double.
Definition: bno055.cpp:4194
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_rad(double *euler_r_d)
This API is used to convert the Euler r raw data to radians output as double.
Definition: bno055.cpp:5186
BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_durn(u8 accel_any_motion_durn_u8)
This API used to write the accel anymotion duration from page one register from 0x12 bit 0 to 1.
Definition: bno055.cpp:14268
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_hyst(u8 *gyro_highrate_y_hyst_u8)
This API used to read gyro highrate y hysteresis from page one register from 0x1A bit 5 to 6.
Definition: bno055.cpp:16600
BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_thres(u8 *accel_slow_no_motion_thres_u8)
This API used to read the accel slownomotion threshold from page one register from 0x15 bit 0 to 7.
Definition: bno055.cpp:15032
BNO055_RETURN_FUNCTION_TYPE bno055_set_clk_src(u8 clk_src_u8)
This API used to write the clk source from register from 0x3F bit 7.
Definition: bno055.cpp:7741
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_xyz_msq(struct bno055_linear_accel_float_t *linear_accel_xyz)
This API is used to convert the linear accel xyz raw data to meterpersecseq output as float.
Definition: bno055.cpp:3943
BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_durn(u8 *gyro_highrate_x_durn_u8)
This API used to read gyro highrate x duration from page one register from 0x19 bit 0 to 7.
Definition: bno055.cpp:16337
BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_fahrenheit(float *temp_f)
This API is used to convert the temperature data to Fahrenheit output as float.
Definition: bno055.cpp:4105
BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_xyz(struct bno055_mag_t *mag)
This API reads mag data xyz values from register 0x0E to 0x13 it is a six byte data.
Definition: bno055.cpp:1059
BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_rps(double *gyro_y_d)
This API is used to convert the gyro y raw data to rps output as double.
Definition: bno055.cpp:4834
BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_z(s16 *gyro_z_s16)
This API reads gyro data z values from register 0x18 and 0x19 it is a two byte data.
Definition: bno055.cpp:1264
BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_z_sign(u8 *remap_z_sign_u8)
This API used to read the z-axis remap sign from register from 0x42 bit 0.
Definition: bno055.cpp:8546
BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_x_msq(float *gravity_x_f)
This API is used to convert the gravity x raw data to meterpersecseq output as float.
Definition: bno055.cpp:3977
struct for Accel-output data of precision double
Definition: bno055.h:591
double z
Definition: bno055.h:594
double y
Definition: bno055.h:593
double x
Definition: bno055.h:592
struct for Accel-output data of precision float
Definition: bno055.h:641
float z
Definition: bno055.h:644
float x
Definition: bno055.h:642
float y
Definition: bno055.h:643
struct for Accel offset
Definition: bno055.h:690
s16 y
Definition: bno055.h:692
s16 x
Definition: bno055.h:691
s16 r
Definition: bno055.h:694
s16 z
Definition: bno055.h:693
struct for accel data read from registers
Definition: bno055.h:533
s16 x
Definition: bno055.h:534
s16 y
Definition: bno055.h:535
s16 z
Definition: bno055.h:536
struct for Euler-output data of precision double
Definition: bno055.h:615
double r
Definition: bno055.h:617
double p
Definition: bno055.h:618
double h
Definition: bno055.h:616
struct for Euler-output data of precision float
Definition: bno055.h:665
float p
Definition: bno055.h:668
float h
Definition: bno055.h:666
float r
Definition: bno055.h:667
struct for Euler data read from registers
Definition: bno055.h:557
s16 p
Definition: bno055.h:560
s16 h
Definition: bno055.h:558
s16 r
Definition: bno055.h:559
struct for Gravity-output data of precision double
Definition: bno055.h:631
double x
Definition: bno055.h:632
double z
Definition: bno055.h:634
double y
Definition: bno055.h:633
struct for Gravity-output data of precision float
Definition: bno055.h:681
float x
Definition: bno055.h:682
float y
Definition: bno055.h:683
float z
Definition: bno055.h:684
struct for Gravity data read from registers
Definition: bno055.h:582
s16 x
Definition: bno055.h:583
s16 z
Definition: bno055.h:585
s16 y
Definition: bno055.h:584
struct for Gyro-output data of precision double
Definition: bno055.h:607
double y
Definition: bno055.h:609
double x
Definition: bno055.h:608
double z
Definition: bno055.h:610
struct for Gyro-output data of precision float
Definition: bno055.h:657
float z
Definition: bno055.h:660
float x
Definition: bno055.h:658
float y
Definition: bno055.h:659
struct for Gyro offset
Definition: bno055.h:699
s16 x
Definition: bno055.h:700
s16 z
Definition: bno055.h:702
s16 y
Definition: bno055.h:701
struct for Gyro data read from registers
Definition: bno055.h:549
s16 z
Definition: bno055.h:552
s16 y
Definition: bno055.h:551
s16 x
Definition: bno055.h:550
struct for Linear Accel-output data of precision double
Definition: bno055.h:623
double z
Definition: bno055.h:626
double x
Definition: bno055.h:624
double y
Definition: bno055.h:625
struct for Linear accel-output data of precision float
Definition: bno055.h:673
float x
Definition: bno055.h:674
float y
Definition: bno055.h:675
float z
Definition: bno055.h:676
struct for Linear Accel data read from registers
Definition: bno055.h:574
s16 z
Definition: bno055.h:577
s16 y
Definition: bno055.h:576
s16 x
Definition: bno055.h:575
struct for Mag-output data of precision double
Definition: bno055.h:599
double x
Definition: bno055.h:600
double y
Definition: bno055.h:601
double z
Definition: bno055.h:602
struct for Mag-output data of precision float
Definition: bno055.h:649
float y
Definition: bno055.h:651
float z
Definition: bno055.h:652
float x
Definition: bno055.h:650
struct for Mag offset
Definition: bno055.h:707
s16 x
Definition: bno055.h:708
s16 r
Definition: bno055.h:711
s16 z
Definition: bno055.h:710
s16 y
Definition: bno055.h:709
struct for Mag data read from registers
Definition: bno055.h:541
s16 x
Definition: bno055.h:542
s16 z
Definition: bno055.h:544
s16 y
Definition: bno055.h:543
struct for Quaternion data read from registers
Definition: bno055.h:565
s16 z
Definition: bno055.h:569
s16 y
Definition: bno055.h:568
s16 w
Definition: bno055.h:566
s16 x
Definition: bno055.h:567
struct for soft iron calibration matrix
Definition: bno055.h:716
s16 sic_1
Definition: bno055.h:718
s16 sic_2
Definition: bno055.h:719
s16 sic_6
Definition: bno055.h:723
s16 sic_0
Definition: bno055.h:717
s16 sic_5
Definition: bno055.h:722
s16 sic_8
Definition: bno055.h:725
s16 sic_3
Definition: bno055.h:720
s16 sic_4
Definition: bno055.h:721
s16 sic_7
Definition: bno055.h:724
bno055 struct
Definition: bno055.h:517
BNO055_RD_FUNC_PTR
Definition: bno055.h:527
u8 accel_rev_id
Definition: bno055.h:521
u8 dev_addr
Definition: bno055.h:525
BNO055_WR_FUNC_PTR
Definition: bno055.h:526
u16 sw_rev_id
Definition: bno055.h:519
u8 mag_rev_id
Definition: bno055.h:522
void(* delay_msec)(BNO055_MDELAY_DATA_TYPE)
Definition: bno055.h:528
u8 page_id
Definition: bno055.h:520
u8 gyro_rev_id
Definition: bno055.h:523
u8 bl_rev_id
Definition: bno055.h:524
u8 chip_id
Definition: bno055.h:518