BNO055 library using Bosch's code

Committer:
gume
Date:
Sat Jul 01 01:24:03 2017 +0000
Revision:
0:1f82672b8755
Initial commit. Library based on Bosch's code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gume 0:1f82672b8755 1 /** \mainpage
gume 0:1f82672b8755 2 *
gume 0:1f82672b8755 3 ****************************************************************************
gume 0:1f82672b8755 4 * Copyright (C) 2015 - 2016 Bosch Sensortec GmbH
gume 0:1f82672b8755 5 *
gume 0:1f82672b8755 6 * File : bno055.h
gume 0:1f82672b8755 7 *
gume 0:1f82672b8755 8 * Date : 2016/03/14
gume 0:1f82672b8755 9 *
gume 0:1f82672b8755 10 * Revision : 2.0.3 $
gume 0:1f82672b8755 11 *
gume 0:1f82672b8755 12 * Usage: Sensor Driver file for BNO055 sensor
gume 0:1f82672b8755 13 *
gume 0:1f82672b8755 14 ****************************************************************************
gume 0:1f82672b8755 15 * \section License
gume 0:1f82672b8755 16 *
gume 0:1f82672b8755 17 * Redistribution and use in source and binary forms, with or without
gume 0:1f82672b8755 18 * modification, are permitted provided that the following conditions are met:
gume 0:1f82672b8755 19 *
gume 0:1f82672b8755 20 * Redistributions of source code must retain the above copyright
gume 0:1f82672b8755 21 * notice, this list of conditions and the following disclaimer.
gume 0:1f82672b8755 22 *
gume 0:1f82672b8755 23 * Redistributions in binary form must reproduce the above copyright
gume 0:1f82672b8755 24 * notice, this list of conditions and the following disclaimer in the
gume 0:1f82672b8755 25 * documentation and/or other materials provided with the distribution.
gume 0:1f82672b8755 26 *
gume 0:1f82672b8755 27 * Neither the name of the copyright holder nor the names of the
gume 0:1f82672b8755 28 * contributors may be used to endorse or promote products derived from
gume 0:1f82672b8755 29 * this software without specific prior written permission.
gume 0:1f82672b8755 30 *
gume 0:1f82672b8755 31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
gume 0:1f82672b8755 32 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
gume 0:1f82672b8755 33 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
gume 0:1f82672b8755 34 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
gume 0:1f82672b8755 35 * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER
gume 0:1f82672b8755 36 * OR CONTRIBUTORS BE LIABLE FOR ANY
gume 0:1f82672b8755 37 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
gume 0:1f82672b8755 38 * OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO,
gume 0:1f82672b8755 39 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
gume 0:1f82672b8755 40 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
gume 0:1f82672b8755 41 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
gume 0:1f82672b8755 42 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
gume 0:1f82672b8755 43 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
gume 0:1f82672b8755 44 * ANY WAY OUT OF THE USE OF THIS
gume 0:1f82672b8755 45 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
gume 0:1f82672b8755 46 *
gume 0:1f82672b8755 47 * The information provided is believed to be accurate and reliable.
gume 0:1f82672b8755 48 * The copyright holder assumes no responsibility
gume 0:1f82672b8755 49 * for the consequences of use
gume 0:1f82672b8755 50 * of such information nor for any infringement of patents or
gume 0:1f82672b8755 51 * other rights of third parties which may result from its use.
gume 0:1f82672b8755 52 * No license is granted by implication or otherwise under any patent or
gume 0:1f82672b8755 53 * patent rights of the copyright holder.
gume 0:1f82672b8755 54 **************************************************************************/
gume 0:1f82672b8755 55 /*! \file BNO055.h
gume 0:1f82672b8755 56 \brief BNO055 Sensor Driver Support Header File */
gume 0:1f82672b8755 57
gume 0:1f82672b8755 58 #ifndef __BNO055_H__
gume 0:1f82672b8755 59 #define __BNO055_H__
gume 0:1f82672b8755 60 /****************************************************************/
gume 0:1f82672b8755 61 /**\name DATA TYPES INCLUDES */
gume 0:1f82672b8755 62 /************************************************************/
gume 0:1f82672b8755 63 /*!
gume 0:1f82672b8755 64 * @brief The following definition uses for define the data types
gume 0:1f82672b8755 65 *
gume 0:1f82672b8755 66 * @note While porting the API please consider the following
gume 0:1f82672b8755 67 * @note Please check the version of C standard
gume 0:1f82672b8755 68 * @note Are you using Linux platform
gume 0:1f82672b8755 69 */
gume 0:1f82672b8755 70
gume 0:1f82672b8755 71 /*!
gume 0:1f82672b8755 72 * @brief For the Linux platform support
gume 0:1f82672b8755 73 * Please use the types.h for your data types definitions
gume 0:1f82672b8755 74 */
gume 0:1f82672b8755 75 #ifdef __KERNEL__
gume 0:1f82672b8755 76
gume 0:1f82672b8755 77 #include <linux/types.h>
gume 0:1f82672b8755 78 /* singed integer type*/
gume 0:1f82672b8755 79 typedef int8_t s8;/**< used for signed 8bit */
gume 0:1f82672b8755 80 typedef int16_t s16;/**< used for signed 16bit */
gume 0:1f82672b8755 81 typedef int32_t s32;/**< used for signed 32bit */
gume 0:1f82672b8755 82 typedef int64_t s64;/**< used for signed 64bit */
gume 0:1f82672b8755 83
gume 0:1f82672b8755 84 typedef u_int8_t u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 85 typedef u_int16_t u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 86 typedef u_int32_t u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 87 typedef u_int64_t u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 88
gume 0:1f82672b8755 89
gume 0:1f82672b8755 90
gume 0:1f82672b8755 91 #else /* ! __KERNEL__ */
gume 0:1f82672b8755 92 /**********************************************************
gume 0:1f82672b8755 93 * These definition uses for define the C
gume 0:1f82672b8755 94 * standard version data types
gume 0:1f82672b8755 95 ***********************************************************/
gume 0:1f82672b8755 96 # if !defined(__STDC_VERSION__)
gume 0:1f82672b8755 97
gume 0:1f82672b8755 98 /************************************************
gume 0:1f82672b8755 99 * compiler is C11 C standard
gume 0:1f82672b8755 100 ************************************************/
gume 0:1f82672b8755 101 #if (__STDC_VERSION__ == 201112L)
gume 0:1f82672b8755 102
gume 0:1f82672b8755 103 /************************************************/
gume 0:1f82672b8755 104 #include <stdint.h>
gume 0:1f82672b8755 105 /************************************************/
gume 0:1f82672b8755 106
gume 0:1f82672b8755 107 /*unsigned integer types*/
gume 0:1f82672b8755 108 typedef uint8_t u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 109 typedef uint16_t u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 110 typedef uint32_t u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 111 typedef uint64_t u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 112
gume 0:1f82672b8755 113 /*signed integer types*/
gume 0:1f82672b8755 114 typedef int8_t s8;/**< used for signed 8bit */
gume 0:1f82672b8755 115 typedef int16_t s16;/**< used for signed 16bit */
gume 0:1f82672b8755 116 typedef int32_t s32;/**< used for signed 32bit */
gume 0:1f82672b8755 117 typedef int64_t s64;/**< used for signed 64bit */
gume 0:1f82672b8755 118 /************************************************
gume 0:1f82672b8755 119 * compiler is C99 C standard
gume 0:1f82672b8755 120 ************************************************/
gume 0:1f82672b8755 121
gume 0:1f82672b8755 122 #elif (__STDC_VERSION__ == 199901L)
gume 0:1f82672b8755 123
gume 0:1f82672b8755 124 /* stdint.h is a C99 supported c library.
gume 0:1f82672b8755 125 which is used to fixed the integer size*/
gume 0:1f82672b8755 126 /************************************************/
gume 0:1f82672b8755 127 #include <stdint.h>
gume 0:1f82672b8755 128 /************************************************/
gume 0:1f82672b8755 129
gume 0:1f82672b8755 130 /*unsigned integer types*/
gume 0:1f82672b8755 131 typedef uint8_t u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 132 typedef uint16_t u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 133 typedef uint32_t u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 134 typedef uint64_t u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 135
gume 0:1f82672b8755 136 /*signed integer types*/
gume 0:1f82672b8755 137 typedef int8_t s8;/**< used for signed 8bit */
gume 0:1f82672b8755 138 typedef int16_t s16;/**< used for signed 16bit */
gume 0:1f82672b8755 139 typedef int32_t s32;/**< used for signed 32bit */
gume 0:1f82672b8755 140 typedef int64_t s64;/**< used for signed 64bit */
gume 0:1f82672b8755 141 /************************************************
gume 0:1f82672b8755 142 * compiler is C89 or other C standard
gume 0:1f82672b8755 143 ************************************************/
gume 0:1f82672b8755 144
gume 0:1f82672b8755 145 #else /* !defined(__STDC_VERSION__) */
gume 0:1f82672b8755 146 /*!
gume 0:1f82672b8755 147 * @brief By default it is defined as 32 bit machine configuration
gume 0:1f82672b8755 148 * define your data types based on your
gume 0:1f82672b8755 149 * machine/compiler/controller configuration
gume 0:1f82672b8755 150 */
gume 0:1f82672b8755 151 #define MACHINE_32_BIT
gume 0:1f82672b8755 152
gume 0:1f82672b8755 153 /*! @brief
gume 0:1f82672b8755 154 * If your machine support 16 bit
gume 0:1f82672b8755 155 * define the MACHINE_16_BIT
gume 0:1f82672b8755 156 */
gume 0:1f82672b8755 157 #ifdef MACHINE_16_BIT
gume 0:1f82672b8755 158 #include <limits.h>
gume 0:1f82672b8755 159 /*signed integer types*/
gume 0:1f82672b8755 160 typedef signed char s8;/**< used for signed 8bit */
gume 0:1f82672b8755 161 typedef signed short int s16;/**< used for signed 16bit */
gume 0:1f82672b8755 162 typedef signed long int s32;/**< used for signed 32bit */
gume 0:1f82672b8755 163
gume 0:1f82672b8755 164 #if defined(LONG_MAX) && LONG_MAX == 0x7fffffffffffffffL
gume 0:1f82672b8755 165 typedef long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 166 typedef unsigned long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 167 #elif defined(LLONG_MAX) && (LLONG_MAX == 0x7fffffffffffffffLL)
gume 0:1f82672b8755 168 typedef long long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 169 typedef unsigned long long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 170 #else
gume 0:1f82672b8755 171 #warning Either the correct data type for signed 64 bit integer \
gume 0:1f82672b8755 172 could not be found, or 64 bit integers are not supported in your environment.
gume 0:1f82672b8755 173 #warning If 64 bit integers are supported on your platform, \
gume 0:1f82672b8755 174 please set s64 manually.
gume 0:1f82672b8755 175 #endif
gume 0:1f82672b8755 176
gume 0:1f82672b8755 177 /*unsigned integer types*/
gume 0:1f82672b8755 178 typedef unsigned char u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 179 typedef unsigned short int u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 180 typedef unsigned long int u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 181
gume 0:1f82672b8755 182 /* If your machine support 32 bit
gume 0:1f82672b8755 183 define the MACHINE_32_BIT*/
gume 0:1f82672b8755 184 #elif defined MACHINE_32_BIT
gume 0:1f82672b8755 185 /*signed integer types*/
gume 0:1f82672b8755 186 typedef signed char s8;/**< used for signed 8bit */
gume 0:1f82672b8755 187 typedef signed short int s16;/**< used for signed 16bit */
gume 0:1f82672b8755 188 typedef signed int s32;/**< used for signed 32bit */
gume 0:1f82672b8755 189 typedef signed long long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 190
gume 0:1f82672b8755 191 /*unsigned integer types*/
gume 0:1f82672b8755 192 typedef unsigned char u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 193 typedef unsigned short int u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 194 typedef unsigned int u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 195 typedef unsigned long long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 196
gume 0:1f82672b8755 197 /* If your machine support 64 bit
gume 0:1f82672b8755 198 define the MACHINE_64_BIT*/
gume 0:1f82672b8755 199 #elif defined MACHINE_64_BIT
gume 0:1f82672b8755 200 /*signed integer types*/
gume 0:1f82672b8755 201 typedef signed char s8;/**< used for signed 8bit */
gume 0:1f82672b8755 202 typedef signed short int s16;/**< used for signed 16bit */
gume 0:1f82672b8755 203 typedef signed int s32;/**< used for signed 32bit */
gume 0:1f82672b8755 204 typedef signed long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 205
gume 0:1f82672b8755 206 /*unsigned integer types*/
gume 0:1f82672b8755 207 typedef unsigned char u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 208 typedef unsigned short int u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 209 typedef unsigned int u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 210 typedef unsigned long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 211
gume 0:1f82672b8755 212 #else
gume 0:1f82672b8755 213 #warning The data types defined above which not supported \
gume 0:1f82672b8755 214 define the data types manually
gume 0:1f82672b8755 215 #endif
gume 0:1f82672b8755 216 #endif
gume 0:1f82672b8755 217
gume 0:1f82672b8755 218 /*** This else will execute for the compilers
gume 0:1f82672b8755 219 * which are not supported the C standards
gume 0:1f82672b8755 220 * Like C89/C99/C11***/
gume 0:1f82672b8755 221 #else
gume 0:1f82672b8755 222 /*!
gume 0:1f82672b8755 223 * @brief By default it is defined as 32 bit machine configuration
gume 0:1f82672b8755 224 * define your data types based on your
gume 0:1f82672b8755 225 * machine/compiler/controller configuration
gume 0:1f82672b8755 226 */
gume 0:1f82672b8755 227 #define MACHINE_32_BIT
gume 0:1f82672b8755 228
gume 0:1f82672b8755 229 /* If your machine support 16 bit
gume 0:1f82672b8755 230 define the MACHINE_16_BIT*/
gume 0:1f82672b8755 231 #ifdef MACHINE_16_BIT
gume 0:1f82672b8755 232 #include <limits.h>
gume 0:1f82672b8755 233 /*signed integer types*/
gume 0:1f82672b8755 234 typedef signed char s8;/**< used for signed 8bit */
gume 0:1f82672b8755 235 typedef signed short int s16;/**< used for signed 16bit */
gume 0:1f82672b8755 236 typedef signed long int s32;/**< used for signed 32bit */
gume 0:1f82672b8755 237
gume 0:1f82672b8755 238 #if defined(LONG_MAX) && LONG_MAX == 0x7fffffffffffffffL
gume 0:1f82672b8755 239 typedef long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 240 typedef unsigned long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 241 #elif defined(LLONG_MAX) && (LLONG_MAX == 0x7fffffffffffffffLL)
gume 0:1f82672b8755 242 typedef long long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 243 typedef unsigned long long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 244 #else
gume 0:1f82672b8755 245 #warning Either the correct data type for signed 64 bit integer \
gume 0:1f82672b8755 246 could not be found, or 64 bit integers are not supported in your environment.
gume 0:1f82672b8755 247 #warning If 64 bit integers are supported on your platform, \
gume 0:1f82672b8755 248 please set s64 manually.
gume 0:1f82672b8755 249 #endif
gume 0:1f82672b8755 250
gume 0:1f82672b8755 251 /*unsigned integer types*/
gume 0:1f82672b8755 252 typedef unsigned char u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 253 typedef unsigned short int u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 254 typedef unsigned long int u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 255
gume 0:1f82672b8755 256 /*! @brief If your machine support 32 bit
gume 0:1f82672b8755 257 define the MACHINE_32_BIT*/
gume 0:1f82672b8755 258 #elif defined MACHINE_32_BIT
gume 0:1f82672b8755 259 /*signed integer types*/
gume 0:1f82672b8755 260 typedef signed char s8;/**< used for signed 8bit */
gume 0:1f82672b8755 261 typedef signed short int s16;/**< used for signed 16bit */
gume 0:1f82672b8755 262 typedef signed int s32;/**< used for signed 32bit */
gume 0:1f82672b8755 263 typedef signed long long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 264
gume 0:1f82672b8755 265 /*unsigned integer types*/
gume 0:1f82672b8755 266 typedef unsigned char u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 267 typedef unsigned short int u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 268 typedef unsigned int u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 269 typedef unsigned long long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 270
gume 0:1f82672b8755 271 /* If your machine support 64 bit
gume 0:1f82672b8755 272 define the MACHINE_64_BIT*/
gume 0:1f82672b8755 273 #elif defined MACHINE_64_BIT
gume 0:1f82672b8755 274 /*signed integer types*/
gume 0:1f82672b8755 275 typedef signed char s8;/**< used for signed 8bit */
gume 0:1f82672b8755 276 typedef signed short int s16;/**< used for signed 16bit */
gume 0:1f82672b8755 277 typedef signed int s32;/**< used for signed 32bit */
gume 0:1f82672b8755 278 typedef signed long int s64;/**< used for signed 64bit */
gume 0:1f82672b8755 279
gume 0:1f82672b8755 280 /*unsigned integer types*/
gume 0:1f82672b8755 281 typedef unsigned char u8;/**< used for unsigned 8bit */
gume 0:1f82672b8755 282 typedef unsigned short int u16;/**< used for unsigned 16bit */
gume 0:1f82672b8755 283 typedef unsigned int u32;/**< used for unsigned 32bit */
gume 0:1f82672b8755 284 typedef unsigned long int u64;/**< used for unsigned 64bit */
gume 0:1f82672b8755 285
gume 0:1f82672b8755 286 #else
gume 0:1f82672b8755 287 #warning The data types defined above which not supported \
gume 0:1f82672b8755 288 define the data types manually
gume 0:1f82672b8755 289 #endif
gume 0:1f82672b8755 290 #endif
gume 0:1f82672b8755 291 #endif
gume 0:1f82672b8755 292 /***************************************************************/
gume 0:1f82672b8755 293 /**\name BUS READ AND WRITE FUNCTIONS */
gume 0:1f82672b8755 294 /***************************************************************/
gume 0:1f82672b8755 295 #define BNO055_WR_FUNC_PTR s8 (*bus_write)\
gume 0:1f82672b8755 296 (u8, u8, u8 *, u8)
gume 0:1f82672b8755 297
gume 0:1f82672b8755 298 #define BNO055_BUS_WRITE_FUNC(dev_addr, reg_addr, reg_data, wr_len)\
gume 0:1f82672b8755 299 bus_write(dev_addr, reg_addr, reg_data, wr_len)
gume 0:1f82672b8755 300
gume 0:1f82672b8755 301 #define BNO055_RD_FUNC_PTR s8 \
gume 0:1f82672b8755 302 (*bus_read)(u8, u8, u8 *, u8)
gume 0:1f82672b8755 303
gume 0:1f82672b8755 304 #define BNO055_BUS_READ_FUNC(dev_addr, reg_addr, reg_data, r_len)\
gume 0:1f82672b8755 305 bus_read(dev_addr, reg_addr, reg_data, r_len)
gume 0:1f82672b8755 306
gume 0:1f82672b8755 307 #define BNO055_DELAY_RETURN_TYPE void
gume 0:1f82672b8755 308
gume 0:1f82672b8755 309 #define BNO055_DELAY_PARAM_TYPES u32
gume 0:1f82672b8755 310
gume 0:1f82672b8755 311 #define BNO055_DELAY_FUNC(delay_in_msec)\
gume 0:1f82672b8755 312 delay_func(delay_in_msec)
gume 0:1f82672b8755 313
gume 0:1f82672b8755 314 /********************************************************/
gume 0:1f82672b8755 315 /**\name I2C ADDRESS DEFINITION FOR BNO055 */
gume 0:1f82672b8755 316 /********************************************************/
gume 0:1f82672b8755 317 /* bno055 I2C Address */
gume 0:1f82672b8755 318 #define BNO055_I2C_ADDR1 (0x28)
gume 0:1f82672b8755 319 #define BNO055_I2C_ADDR2 (0x29)
gume 0:1f82672b8755 320
gume 0:1f82672b8755 321 /***************************************************/
gume 0:1f82672b8755 322 /**\name REGISTER ADDRESS DEFINITION */
gume 0:1f82672b8755 323 /***************************************************/
gume 0:1f82672b8755 324 /* Page id register definition*/
gume 0:1f82672b8755 325 #define BNO055_PAGE_ID_ADDR (0X07)
gume 0:1f82672b8755 326
gume 0:1f82672b8755 327 /* PAGE0 REGISTER DEFINITION START*/
gume 0:1f82672b8755 328 #define BNO055_CHIP_ID_ADDR (0x00)
gume 0:1f82672b8755 329 #define BNO055_ACCEL_REV_ID_ADDR (0x01)
gume 0:1f82672b8755 330 #define BNO055_MAG_REV_ID_ADDR (0x02)
gume 0:1f82672b8755 331 #define BNO055_GYRO_REV_ID_ADDR (0x03)
gume 0:1f82672b8755 332 #define BNO055_SW_REV_ID_LSB_ADDR (0x04)
gume 0:1f82672b8755 333 #define BNO055_SW_REV_ID_MSB_ADDR (0x05)
gume 0:1f82672b8755 334 #define BNO055_BL_REV_ID_ADDR (0X06)
gume 0:1f82672b8755 335
gume 0:1f82672b8755 336 /* Accel data register*/
gume 0:1f82672b8755 337 #define BNO055_ACCEL_DATA_X_LSB_ADDR (0X08)
gume 0:1f82672b8755 338 #define BNO055_ACCEL_DATA_X_MSB_ADDR (0X09)
gume 0:1f82672b8755 339 #define BNO055_ACCEL_DATA_Y_LSB_ADDR (0X0A)
gume 0:1f82672b8755 340 #define BNO055_ACCEL_DATA_Y_MSB_ADDR (0X0B)
gume 0:1f82672b8755 341 #define BNO055_ACCEL_DATA_Z_LSB_ADDR (0X0C)
gume 0:1f82672b8755 342 #define BNO055_ACCEL_DATA_Z_MSB_ADDR (0X0D)
gume 0:1f82672b8755 343
gume 0:1f82672b8755 344 /*Mag data register*/
gume 0:1f82672b8755 345 #define BNO055_MAG_DATA_X_LSB_ADDR (0X0E)
gume 0:1f82672b8755 346 #define BNO055_MAG_DATA_X_MSB_ADDR (0X0F)
gume 0:1f82672b8755 347 #define BNO055_MAG_DATA_Y_LSB_ADDR (0X10)
gume 0:1f82672b8755 348 #define BNO055_MAG_DATA_Y_MSB_ADDR (0X11)
gume 0:1f82672b8755 349 #define BNO055_MAG_DATA_Z_LSB_ADDR (0X12)
gume 0:1f82672b8755 350 #define BNO055_MAG_DATA_Z_MSB_ADDR (0X13)
gume 0:1f82672b8755 351
gume 0:1f82672b8755 352 /*Gyro data registers*/
gume 0:1f82672b8755 353 #define BNO055_GYRO_DATA_X_LSB_ADDR (0X14)
gume 0:1f82672b8755 354 #define BNO055_GYRO_DATA_X_MSB_ADDR (0X15)
gume 0:1f82672b8755 355 #define BNO055_GYRO_DATA_Y_LSB_ADDR (0X16)
gume 0:1f82672b8755 356 #define BNO055_GYRO_DATA_Y_MSB_ADDR (0X17)
gume 0:1f82672b8755 357 #define BNO055_GYRO_DATA_Z_LSB_ADDR (0X18)
gume 0:1f82672b8755 358 #define BNO055_GYRO_DATA_Z_MSB_ADDR (0X19)
gume 0:1f82672b8755 359
gume 0:1f82672b8755 360 /*Euler data registers*/
gume 0:1f82672b8755 361 #define BNO055_EULER_H_LSB_ADDR (0X1A)
gume 0:1f82672b8755 362 #define BNO055_EULER_H_MSB_ADDR (0X1B)
gume 0:1f82672b8755 363
gume 0:1f82672b8755 364 #define BNO055_EULER_R_LSB_ADDR (0X1C)
gume 0:1f82672b8755 365 #define BNO055_EULER_R_MSB_ADDR (0X1D)
gume 0:1f82672b8755 366
gume 0:1f82672b8755 367 #define BNO055_EULER_P_LSB_ADDR (0X1E)
gume 0:1f82672b8755 368 #define BNO055_EULER_P_MSB_ADDR (0X1F)
gume 0:1f82672b8755 369
gume 0:1f82672b8755 370 /*Quaternion data registers*/
gume 0:1f82672b8755 371 #define BNO055_QUATERNION_DATA_W_LSB_ADDR (0X20)
gume 0:1f82672b8755 372 #define BNO055_QUATERNION_DATA_W_MSB_ADDR (0X21)
gume 0:1f82672b8755 373 #define BNO055_QUATERNION_DATA_X_LSB_ADDR (0X22)
gume 0:1f82672b8755 374 #define BNO055_QUATERNION_DATA_X_MSB_ADDR (0X23)
gume 0:1f82672b8755 375 #define BNO055_QUATERNION_DATA_Y_LSB_ADDR (0X24)
gume 0:1f82672b8755 376 #define BNO055_QUATERNION_DATA_Y_MSB_ADDR (0X25)
gume 0:1f82672b8755 377 #define BNO055_QUATERNION_DATA_Z_LSB_ADDR (0X26)
gume 0:1f82672b8755 378 #define BNO055_QUATERNION_DATA_Z_MSB_ADDR (0X27)
gume 0:1f82672b8755 379
gume 0:1f82672b8755 380 /* Linear acceleration data registers*/
gume 0:1f82672b8755 381 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR (0X28)
gume 0:1f82672b8755 382 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR (0X29)
gume 0:1f82672b8755 383 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR (0X2A)
gume 0:1f82672b8755 384 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR (0X2B)
gume 0:1f82672b8755 385 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR (0X2C)
gume 0:1f82672b8755 386 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR (0X2D)
gume 0:1f82672b8755 387
gume 0:1f82672b8755 388 /*Gravity data registers*/
gume 0:1f82672b8755 389 #define BNO055_GRAVITY_DATA_X_LSB_ADDR (0X2E)
gume 0:1f82672b8755 390 #define BNO055_GRAVITY_DATA_X_MSB_ADDR (0X2F)
gume 0:1f82672b8755 391 #define BNO055_GRAVITY_DATA_Y_LSB_ADDR (0X30)
gume 0:1f82672b8755 392 #define BNO055_GRAVITY_DATA_Y_MSB_ADDR (0X31)
gume 0:1f82672b8755 393 #define BNO055_GRAVITY_DATA_Z_LSB_ADDR (0X32)
gume 0:1f82672b8755 394 #define BNO055_GRAVITY_DATA_Z_MSB_ADDR (0X33)
gume 0:1f82672b8755 395
gume 0:1f82672b8755 396 /* Temperature data register*/
gume 0:1f82672b8755 397 #define BNO055_TEMP_ADDR (0X34)
gume 0:1f82672b8755 398
gume 0:1f82672b8755 399 /* Status registers*/
gume 0:1f82672b8755 400 #define BNO055_CALIB_STAT_ADDR (0X35)
gume 0:1f82672b8755 401 #define BNO055_SELFTEST_RESULT_ADDR (0X36)
gume 0:1f82672b8755 402 #define BNO055_INTR_STAT_ADDR (0X37)
gume 0:1f82672b8755 403 #define BNO055_SYS_CLK_STAT_ADDR (0X38)
gume 0:1f82672b8755 404 #define BNO055_SYS_STAT_ADDR (0X39)
gume 0:1f82672b8755 405 #define BNO055_SYS_ERR_ADDR (0X3A)
gume 0:1f82672b8755 406
gume 0:1f82672b8755 407 /* Unit selection register*/
gume 0:1f82672b8755 408 #define BNO055_UNIT_SEL_ADDR (0X3B)
gume 0:1f82672b8755 409 #define BNO055_DATA_SELECT_ADDR (0X3C)
gume 0:1f82672b8755 410
gume 0:1f82672b8755 411 /* Mode registers*/
gume 0:1f82672b8755 412 #define BNO055_OPR_MODE_ADDR (0X3D)
gume 0:1f82672b8755 413 #define BNO055_PWR_MODE_ADDR (0X3E)
gume 0:1f82672b8755 414
gume 0:1f82672b8755 415 #define BNO055_SYS_TRIGGER_ADDR (0X3F)
gume 0:1f82672b8755 416 #define BNO055_TEMP_SOURCE_ADDR (0X40)
gume 0:1f82672b8755 417 /* Axis remap registers*/
gume 0:1f82672b8755 418 #define BNO055_AXIS_MAP_CONFIG_ADDR (0X41)
gume 0:1f82672b8755 419 #define BNO055_AXIS_MAP_SIGN_ADDR (0X42)
gume 0:1f82672b8755 420
gume 0:1f82672b8755 421 /* SIC registers*/
gume 0:1f82672b8755 422 #define BNO055_SIC_MATRIX_0_LSB_ADDR (0X43)
gume 0:1f82672b8755 423 #define BNO055_SIC_MATRIX_0_MSB_ADDR (0X44)
gume 0:1f82672b8755 424 #define BNO055_SIC_MATRIX_1_LSB_ADDR (0X45)
gume 0:1f82672b8755 425 #define BNO055_SIC_MATRIX_1_MSB_ADDR (0X46)
gume 0:1f82672b8755 426 #define BNO055_SIC_MATRIX_2_LSB_ADDR (0X47)
gume 0:1f82672b8755 427 #define BNO055_SIC_MATRIX_2_MSB_ADDR (0X48)
gume 0:1f82672b8755 428 #define BNO055_SIC_MATRIX_3_LSB_ADDR (0X49)
gume 0:1f82672b8755 429 #define BNO055_SIC_MATRIX_3_MSB_ADDR (0X4A)
gume 0:1f82672b8755 430 #define BNO055_SIC_MATRIX_4_LSB_ADDR (0X4B)
gume 0:1f82672b8755 431 #define BNO055_SIC_MATRIX_4_MSB_ADDR (0X4C)
gume 0:1f82672b8755 432 #define BNO055_SIC_MATRIX_5_LSB_ADDR (0X4D)
gume 0:1f82672b8755 433 #define BNO055_SIC_MATRIX_5_MSB_ADDR (0X4E)
gume 0:1f82672b8755 434 #define BNO055_SIC_MATRIX_6_LSB_ADDR (0X4F)
gume 0:1f82672b8755 435 #define BNO055_SIC_MATRIX_6_MSB_ADDR (0X50)
gume 0:1f82672b8755 436 #define BNO055_SIC_MATRIX_7_LSB_ADDR (0X51)
gume 0:1f82672b8755 437 #define BNO055_SIC_MATRIX_7_MSB_ADDR (0X52)
gume 0:1f82672b8755 438 #define BNO055_SIC_MATRIX_8_LSB_ADDR (0X53)
gume 0:1f82672b8755 439 #define BNO055_SIC_MATRIX_8_MSB_ADDR (0X54)
gume 0:1f82672b8755 440
gume 0:1f82672b8755 441 /* Accelerometer Offset registers*/
gume 0:1f82672b8755 442 #define BNO055_ACCEL_OFFSET_X_LSB_ADDR (0X55)
gume 0:1f82672b8755 443 #define BNO055_ACCEL_OFFSET_X_MSB_ADDR (0X56)
gume 0:1f82672b8755 444 #define BNO055_ACCEL_OFFSET_Y_LSB_ADDR (0X57)
gume 0:1f82672b8755 445 #define BNO055_ACCEL_OFFSET_Y_MSB_ADDR (0X58)
gume 0:1f82672b8755 446 #define BNO055_ACCEL_OFFSET_Z_LSB_ADDR (0X59)
gume 0:1f82672b8755 447 #define BNO055_ACCEL_OFFSET_Z_MSB_ADDR (0X5A)
gume 0:1f82672b8755 448
gume 0:1f82672b8755 449 /* Magnetometer Offset registers*/
gume 0:1f82672b8755 450 #define BNO055_MAG_OFFSET_X_LSB_ADDR (0X5B)
gume 0:1f82672b8755 451 #define BNO055_MAG_OFFSET_X_MSB_ADDR (0X5C)
gume 0:1f82672b8755 452 #define BNO055_MAG_OFFSET_Y_LSB_ADDR (0X5D)
gume 0:1f82672b8755 453 #define BNO055_MAG_OFFSET_Y_MSB_ADDR (0X5E)
gume 0:1f82672b8755 454 #define BNO055_MAG_OFFSET_Z_LSB_ADDR (0X5F)
gume 0:1f82672b8755 455 #define BNO055_MAG_OFFSET_Z_MSB_ADDR (0X60)
gume 0:1f82672b8755 456
gume 0:1f82672b8755 457 /* Gyroscope Offset registers*/
gume 0:1f82672b8755 458 #define BNO055_GYRO_OFFSET_X_LSB_ADDR (0X61)
gume 0:1f82672b8755 459 #define BNO055_GYRO_OFFSET_X_MSB_ADDR (0X62)
gume 0:1f82672b8755 460 #define BNO055_GYRO_OFFSET_Y_LSB_ADDR (0X63)
gume 0:1f82672b8755 461 #define BNO055_GYRO_OFFSET_Y_MSB_ADDR (0X64)
gume 0:1f82672b8755 462 #define BNO055_GYRO_OFFSET_Z_LSB_ADDR (0X65)
gume 0:1f82672b8755 463 #define BNO055_GYRO_OFFSET_Z_MSB_ADDR (0X66)
gume 0:1f82672b8755 464
gume 0:1f82672b8755 465 /* Radius registers*/
gume 0:1f82672b8755 466 #define BNO055_ACCEL_RADIUS_LSB_ADDR (0X67)
gume 0:1f82672b8755 467 #define BNO055_ACCEL_RADIUS_MSB_ADDR (0X68)
gume 0:1f82672b8755 468 #define BNO055_MAG_RADIUS_LSB_ADDR (0X69)
gume 0:1f82672b8755 469 #define BNO055_MAG_RADIUS_MSB_ADDR (0X6A)
gume 0:1f82672b8755 470 /* PAGE0 REGISTERS DEFINITION END*/
gume 0:1f82672b8755 471
gume 0:1f82672b8755 472 /* PAGE1 REGISTERS DEFINITION START*/
gume 0:1f82672b8755 473 /* Configuration registers*/
gume 0:1f82672b8755 474 #define BNO055_ACCEL_CONFIG_ADDR (0X08)
gume 0:1f82672b8755 475 #define BNO055_MAG_CONFIG_ADDR (0X09)
gume 0:1f82672b8755 476 #define BNO055_GYRO_CONFIG_ADDR (0X0A)
gume 0:1f82672b8755 477 #define BNO055_GYRO_MODE_CONFIG_ADDR (0X0B)
gume 0:1f82672b8755 478 #define BNO055_ACCEL_SLEEP_CONFIG_ADDR (0X0C)
gume 0:1f82672b8755 479 #define BNO055_GYRO_SLEEP_CONFIG_ADDR (0X0D)
gume 0:1f82672b8755 480 #define BNO055_MAG_SLEEP_CONFIG_ADDR (0x0E)
gume 0:1f82672b8755 481
gume 0:1f82672b8755 482 /* Interrupt registers*/
gume 0:1f82672b8755 483 #define BNO055_INT_MASK_ADDR (0X0F)
gume 0:1f82672b8755 484 #define BNO055_INT_ADDR (0X10)
gume 0:1f82672b8755 485 #define BNO055_ACCEL_ANY_MOTION_THRES_ADDR (0X11)
gume 0:1f82672b8755 486 #define BNO055_ACCEL_INTR_SETTINGS_ADDR (0X12)
gume 0:1f82672b8755 487 #define BNO055_ACCEL_HIGH_G_DURN_ADDR (0X13)
gume 0:1f82672b8755 488 #define BNO055_ACCEL_HIGH_G_THRES_ADDR (0X14)
gume 0:1f82672b8755 489 #define BNO055_ACCEL_NO_MOTION_THRES_ADDR (0X15)
gume 0:1f82672b8755 490 #define BNO055_ACCEL_NO_MOTION_SET_ADDR (0X16)
gume 0:1f82672b8755 491 #define BNO055_GYRO_INTR_SETING_ADDR (0X17)
gume 0:1f82672b8755 492 #define BNO055_GYRO_HIGHRATE_X_SET_ADDR (0X18)
gume 0:1f82672b8755 493 #define BNO055_GYRO_DURN_X_ADDR (0X19)
gume 0:1f82672b8755 494 #define BNO055_GYRO_HIGHRATE_Y_SET_ADDR (0X1A)
gume 0:1f82672b8755 495 #define BNO055_GYRO_DURN_Y_ADDR (0X1B)
gume 0:1f82672b8755 496 #define BNO055_GYRO_HIGHRATE_Z_SET_ADDR (0X1C)
gume 0:1f82672b8755 497 #define BNO055_GYRO_DURN_Z_ADDR (0X1D)
gume 0:1f82672b8755 498 #define BNO055_GYRO_ANY_MOTION_THRES_ADDR (0X1E)
gume 0:1f82672b8755 499 #define BNO055_GYRO_ANY_MOTION_SET_ADDR (0X1F)
gume 0:1f82672b8755 500 /* PAGE1 REGISTERS DEFINITION END*/
gume 0:1f82672b8755 501
gume 0:1f82672b8755 502
gume 0:1f82672b8755 503 #define BNO055_MDELAY_DATA_TYPE u32
gume 0:1f82672b8755 504
gume 0:1f82672b8755 505 /*< This refers BNO055 return type as s8 */
gume 0:1f82672b8755 506 #define BNO055_RETURN_FUNCTION_TYPE s8
gume 0:1f82672b8755 507
gume 0:1f82672b8755 508 /* Compile switch definition for Float and double*/
gume 0:1f82672b8755 509 #define BNO055_FLOAT_ENABLE
gume 0:1f82672b8755 510 #define BNO055_DOUBLE_ENABLE
gume 0:1f82672b8755 511 /**************************************************************/
gume 0:1f82672b8755 512 /**\name STRUCTURE DEFINITIONS */
gume 0:1f82672b8755 513 /**************************************************************/
gume 0:1f82672b8755 514 /*!
gume 0:1f82672b8755 515 * @brief bno055 struct
gume 0:1f82672b8755 516 */
gume 0:1f82672b8755 517 struct bno055_t {
gume 0:1f82672b8755 518 u8 chip_id;/**< chip_id of bno055 */
gume 0:1f82672b8755 519 u16 sw_rev_id;/**< software revision id of bno055 */
gume 0:1f82672b8755 520 u8 page_id;/**< page_id of bno055 */
gume 0:1f82672b8755 521 u8 accel_rev_id;/**< accel revision id of bno055 */
gume 0:1f82672b8755 522 u8 mag_rev_id;/**< mag revision id of bno055 */
gume 0:1f82672b8755 523 u8 gyro_rev_id;/**< gyro revision id of bno055 */
gume 0:1f82672b8755 524 u8 bl_rev_id;/**< boot loader revision id of bno055 */
gume 0:1f82672b8755 525 u8 dev_addr;/**< i2c device address of bno055 */
gume 0:1f82672b8755 526 BNO055_WR_FUNC_PTR;/**< bus write function pointer */
gume 0:1f82672b8755 527 BNO055_RD_FUNC_PTR;/**<bus read function pointer */
gume 0:1f82672b8755 528 void (*delay_msec)(BNO055_MDELAY_DATA_TYPE);/**< delay function pointer */
gume 0:1f82672b8755 529 };
gume 0:1f82672b8755 530 /*!
gume 0:1f82672b8755 531 * @brief struct for accel data read from registers
gume 0:1f82672b8755 532 */
gume 0:1f82672b8755 533 struct bno055_accel_t {
gume 0:1f82672b8755 534 s16 x;/**< accel x data */
gume 0:1f82672b8755 535 s16 y;/**< accel y data */
gume 0:1f82672b8755 536 s16 z;/**< accel z data */
gume 0:1f82672b8755 537 };
gume 0:1f82672b8755 538 /*!
gume 0:1f82672b8755 539 * @brief struct for Mag data read from registers
gume 0:1f82672b8755 540 */
gume 0:1f82672b8755 541 struct bno055_mag_t {
gume 0:1f82672b8755 542 s16 x;/**< mag x data */
gume 0:1f82672b8755 543 s16 y;/**< mag y data */
gume 0:1f82672b8755 544 s16 z;/**< mag z data */
gume 0:1f82672b8755 545 };
gume 0:1f82672b8755 546 /*!
gume 0:1f82672b8755 547 * @brief struct for Gyro data read from registers
gume 0:1f82672b8755 548 */
gume 0:1f82672b8755 549 struct bno055_gyro_t {
gume 0:1f82672b8755 550 s16 x;/**< gyro x data */
gume 0:1f82672b8755 551 s16 y;/**< gyro y data */
gume 0:1f82672b8755 552 s16 z;/**< gyro z data */
gume 0:1f82672b8755 553 };
gume 0:1f82672b8755 554 /*!
gume 0:1f82672b8755 555 * @brief struct for Euler data read from registers
gume 0:1f82672b8755 556 */
gume 0:1f82672b8755 557 struct bno055_euler_t {
gume 0:1f82672b8755 558 s16 h;/**< Euler h data */
gume 0:1f82672b8755 559 s16 r;/**< Euler r data */
gume 0:1f82672b8755 560 s16 p;/**< Euler p data */
gume 0:1f82672b8755 561 };
gume 0:1f82672b8755 562 /*!
gume 0:1f82672b8755 563 * @brief struct for Quaternion data read from registers
gume 0:1f82672b8755 564 */
gume 0:1f82672b8755 565 struct bno055_quaternion_t {
gume 0:1f82672b8755 566 s16 w;/**< Quaternion w data */
gume 0:1f82672b8755 567 s16 x;/**< Quaternion x data */
gume 0:1f82672b8755 568 s16 y;/**< Quaternion y data */
gume 0:1f82672b8755 569 s16 z;/**< Quaternion z data */
gume 0:1f82672b8755 570 };
gume 0:1f82672b8755 571 /*!
gume 0:1f82672b8755 572 * @brief struct for Linear Accel data read from registers
gume 0:1f82672b8755 573 */
gume 0:1f82672b8755 574 struct bno055_linear_accel_t {
gume 0:1f82672b8755 575 s16 x; /**< Linear Accel x data */
gume 0:1f82672b8755 576 s16 y; /**< Linear Accel y data */
gume 0:1f82672b8755 577 s16 z; /**< Linear Accel z data */
gume 0:1f82672b8755 578 };
gume 0:1f82672b8755 579 /*!
gume 0:1f82672b8755 580 * @brief struct for Gravity data read from registers
gume 0:1f82672b8755 581 */
gume 0:1f82672b8755 582 struct bno055_gravity_t {
gume 0:1f82672b8755 583 s16 x;/**< Gravity x data */
gume 0:1f82672b8755 584 s16 y;/**< Gravity y data */
gume 0:1f82672b8755 585 s16 z;/**< Gravity z data */
gume 0:1f82672b8755 586 };
gume 0:1f82672b8755 587 #ifdef BNO055_DOUBLE_ENABLE
gume 0:1f82672b8755 588 /*!
gume 0:1f82672b8755 589 * @brief struct for Accel-output data of precision double
gume 0:1f82672b8755 590 */
gume 0:1f82672b8755 591 struct bno055_accel_double_t {
gume 0:1f82672b8755 592 double x;/**< Accel x double data */
gume 0:1f82672b8755 593 double y;/**< Accel y double data */
gume 0:1f82672b8755 594 double z;/**< Accel z double data */
gume 0:1f82672b8755 595 };
gume 0:1f82672b8755 596 /*!
gume 0:1f82672b8755 597 * @brief struct for Mag-output data of precision double
gume 0:1f82672b8755 598 */
gume 0:1f82672b8755 599 struct bno055_mag_double_t {
gume 0:1f82672b8755 600 double x;/**< Mag x double data */
gume 0:1f82672b8755 601 double y;/**< Mag y double data */
gume 0:1f82672b8755 602 double z;/**< Mag z double data */
gume 0:1f82672b8755 603 };
gume 0:1f82672b8755 604 /*!
gume 0:1f82672b8755 605 * @brief struct for Gyro-output data of precision double
gume 0:1f82672b8755 606 */
gume 0:1f82672b8755 607 struct bno055_gyro_double_t {
gume 0:1f82672b8755 608 double x;/**< Gyro x double data */
gume 0:1f82672b8755 609 double y;/**< Gyro y double data */
gume 0:1f82672b8755 610 double z;/**< Gyro z double data */
gume 0:1f82672b8755 611 };
gume 0:1f82672b8755 612 /*!
gume 0:1f82672b8755 613 * @brief struct for Euler-output data of precision double
gume 0:1f82672b8755 614 */
gume 0:1f82672b8755 615 struct bno055_euler_double_t {
gume 0:1f82672b8755 616 double h;/**< Euler h double data */
gume 0:1f82672b8755 617 double r;/**< Euler r double data */
gume 0:1f82672b8755 618 double p;/**< Euler p double data */
gume 0:1f82672b8755 619 };
gume 0:1f82672b8755 620 /*!
gume 0:1f82672b8755 621 * @brief struct for Linear Accel-output data of precision double
gume 0:1f82672b8755 622 */
gume 0:1f82672b8755 623 struct bno055_linear_accel_double_t {
gume 0:1f82672b8755 624 double x;/**< linear accel x double data */
gume 0:1f82672b8755 625 double y;/**< linear accel y double data */
gume 0:1f82672b8755 626 double z;/**< linear accel z double data */
gume 0:1f82672b8755 627 };
gume 0:1f82672b8755 628 /*!
gume 0:1f82672b8755 629 * @brief struct for Gravity-output data of precision double
gume 0:1f82672b8755 630 */
gume 0:1f82672b8755 631 struct bno055_gravity_double_t {
gume 0:1f82672b8755 632 double x;/**< Gravity x double data */
gume 0:1f82672b8755 633 double y;/**< Gravity y double data */
gume 0:1f82672b8755 634 double z;/**< Gravity z double data */
gume 0:1f82672b8755 635 };
gume 0:1f82672b8755 636 #endif
gume 0:1f82672b8755 637 #ifdef BNO055_FLOAT_ENABLE
gume 0:1f82672b8755 638 /*!
gume 0:1f82672b8755 639 * @brief struct for Accel-output data of precision float
gume 0:1f82672b8755 640 */
gume 0:1f82672b8755 641 struct bno055_accel_float_t {
gume 0:1f82672b8755 642 float x;/**< accel x float data */
gume 0:1f82672b8755 643 float y;/**< accel y float data */
gume 0:1f82672b8755 644 float z;/**< accel z float data */
gume 0:1f82672b8755 645 };
gume 0:1f82672b8755 646 /*!
gume 0:1f82672b8755 647 * @brief struct for Mag-output data of precision float
gume 0:1f82672b8755 648 */
gume 0:1f82672b8755 649 struct bno055_mag_float_t {
gume 0:1f82672b8755 650 float x;/**< Mag x float data */
gume 0:1f82672b8755 651 float y;/**< Mag y float data */
gume 0:1f82672b8755 652 float z;/**< Mag z float data */
gume 0:1f82672b8755 653 };
gume 0:1f82672b8755 654 /*!
gume 0:1f82672b8755 655 * @brief struct for Gyro-output data of precision float
gume 0:1f82672b8755 656 */
gume 0:1f82672b8755 657 struct bno055_gyro_float_t {
gume 0:1f82672b8755 658 float x;/**< Gyro x float data */
gume 0:1f82672b8755 659 float y;/**< Gyro y float data */
gume 0:1f82672b8755 660 float z;/**< Gyro z float data */
gume 0:1f82672b8755 661 };
gume 0:1f82672b8755 662 /*!
gume 0:1f82672b8755 663 * @brief struct for Euler-output data of precision float
gume 0:1f82672b8755 664 */
gume 0:1f82672b8755 665 struct bno055_euler_float_t {
gume 0:1f82672b8755 666 float h;/**< Euler h float data */
gume 0:1f82672b8755 667 float r;/**< Euler r float data */
gume 0:1f82672b8755 668 float p;/**< Euler p float data */
gume 0:1f82672b8755 669 };
gume 0:1f82672b8755 670 /*!
gume 0:1f82672b8755 671 * @brief struct for Linear accel-output data of precision float
gume 0:1f82672b8755 672 */
gume 0:1f82672b8755 673 struct bno055_linear_accel_float_t {
gume 0:1f82672b8755 674 float x;/**< Linear accel x float data */
gume 0:1f82672b8755 675 float y;/**< Linear accel y float data */
gume 0:1f82672b8755 676 float z;/**< Linear accel z float data */
gume 0:1f82672b8755 677 };
gume 0:1f82672b8755 678 /*!
gume 0:1f82672b8755 679 * @brief struct for Gravity-output data of precision float
gume 0:1f82672b8755 680 */
gume 0:1f82672b8755 681 struct bno055_gravity_float_t {
gume 0:1f82672b8755 682 float x;/**< Gravity x float data */
gume 0:1f82672b8755 683 float y;/**< Gravity y float data */
gume 0:1f82672b8755 684 float z;/**< Gravity z float data */
gume 0:1f82672b8755 685 };
gume 0:1f82672b8755 686 #endif
gume 0:1f82672b8755 687 /*!
gume 0:1f82672b8755 688 * @brief struct for Accel offset
gume 0:1f82672b8755 689 */
gume 0:1f82672b8755 690 struct bno055_accel_offset_t {
gume 0:1f82672b8755 691 s16 x;/**< Accel offset x data */
gume 0:1f82672b8755 692 s16 y;/**< Accel offset y data */
gume 0:1f82672b8755 693 s16 z;/**< Accel offset z data */
gume 0:1f82672b8755 694 s16 r;/**< Accel radius r data */
gume 0:1f82672b8755 695 };
gume 0:1f82672b8755 696 /*!
gume 0:1f82672b8755 697 * @brief struct for Gyro offset
gume 0:1f82672b8755 698 */
gume 0:1f82672b8755 699 struct bno055_gyro_offset_t {
gume 0:1f82672b8755 700 s16 x;/**< Gyro offset x data */
gume 0:1f82672b8755 701 s16 y;/**< Gyro offset y data */
gume 0:1f82672b8755 702 s16 z;/**< Gyro offset z data */
gume 0:1f82672b8755 703 };
gume 0:1f82672b8755 704 /*!
gume 0:1f82672b8755 705 * @brief struct for Mag offset
gume 0:1f82672b8755 706 */
gume 0:1f82672b8755 707 struct bno055_mag_offset_t {
gume 0:1f82672b8755 708 s16 x;/**< Mag offset x data */
gume 0:1f82672b8755 709 s16 y;/**< Mag offset y data */
gume 0:1f82672b8755 710 s16 z;/**< Mag offset z data */
gume 0:1f82672b8755 711 s16 r;/**< Mag radius x data */
gume 0:1f82672b8755 712 };
gume 0:1f82672b8755 713 /*!
gume 0:1f82672b8755 714 * @brief struct for soft iron calibration matrix
gume 0:1f82672b8755 715 */
gume 0:1f82672b8755 716 struct bno055_sic_matrix_t {
gume 0:1f82672b8755 717 s16 sic_0;/**< soft iron calibration matrix 0 data */
gume 0:1f82672b8755 718 s16 sic_1;/**< soft iron calibration matrix 1 data */
gume 0:1f82672b8755 719 s16 sic_2;/**< soft iron calibration matrix 2 data */
gume 0:1f82672b8755 720 s16 sic_3;/**< soft iron calibration matrix 3 data */
gume 0:1f82672b8755 721 s16 sic_4;/**< soft iron calibration matrix 4 data */
gume 0:1f82672b8755 722 s16 sic_5;/**< soft iron calibration matrix 5 data */
gume 0:1f82672b8755 723 s16 sic_6;/**< soft iron calibration matrix 6 data */
gume 0:1f82672b8755 724 s16 sic_7;/**< soft iron calibration matrix 7 data */
gume 0:1f82672b8755 725 s16 sic_8;/**< soft iron calibration matrix 8 data */
gume 0:1f82672b8755 726 };
gume 0:1f82672b8755 727 /***************************************************/
gume 0:1f82672b8755 728 /**\name CONSTANT DEFINITIONS */
gume 0:1f82672b8755 729 /***************************************************/
gume 0:1f82672b8755 730 #define BNO055_INIT_VALUE ((u8)0)
gume 0:1f82672b8755 731 #define BNO055_GEN_READ_WRITE_LENGTH ((u8)1)
gume 0:1f82672b8755 732 #define BNO055_LSB_MSB_READ_LENGTH ((u8)2)
gume 0:1f82672b8755 733 #define BNO055_MAG_POWER_MODE_RANGE ((u8)4)
gume 0:1f82672b8755 734 #define BNO055_MAG_OPR_MODE_RANGE ((u8)5)
gume 0:1f82672b8755 735 #define BNO055_ACCEL_POWER_MODE_RANGE ((u8)6)
gume 0:1f82672b8755 736 #define BNO055_ACCEL_SLEEP_DURATION_RANGE ((u8)16)
gume 0:1f82672b8755 737 #define BNO055_GYRO_AUTO_SLEEP_DURATION_RANGE ((u8)8)
gume 0:1f82672b8755 738 #define BNO055_ACCEL_GYRO_BW_RANGE ((u8)8)
gume 0:1f82672b8755 739 #define BNO055_MAG_OUTPUT_RANGE ((u8)8)
gume 0:1f82672b8755 740 #define BNO055_ACCEL_RANGE ((u8)5)
gume 0:1f82672b8755 741 #define BNO055_SHIFT_EIGHT_BITS ((u8)8)
gume 0:1f82672b8755 742 #define BNO055_GYRO_RANGE ((u8)5)
gume 0:1f82672b8755 743 #define BNO055_ACCEL_SLEEP_MODE_RANGE ((u8)2)
gume 0:1f82672b8755 744 /* BNO055 API BNO055_ERROR codes */
gume 0:1f82672b8755 745 #define BNO055_E_NULL_PTR ((s8)-127)
gume 0:1f82672b8755 746 #define BNO055_OUT_OF_RANGE ((s8)-2)
gume 0:1f82672b8755 747 #define BNO055_SUCCESS ((u8)0)
gume 0:1f82672b8755 748 #define BNO055_ERROR ((s8)-1)
gume 0:1f82672b8755 749
gume 0:1f82672b8755 750 /* Selection for bit enable and disable */
gume 0:1f82672b8755 751 #define BNO055_BIT_ENABLE (0x01)
gume 0:1f82672b8755 752 #define BNO055_BIT_DISABLE (0x00)
gume 0:1f82672b8755 753
gume 0:1f82672b8755 754 /* Page ID */
gume 0:1f82672b8755 755 #define BNO055_PAGE_ZERO (0X00)
gume 0:1f82672b8755 756 #define BNO055_PAGE_ONE (0X01)
gume 0:1f82672b8755 757
gume 0:1f82672b8755 758 /* Enable the temperature source */
gume 0:1f82672b8755 759 #define BNO055_ACCEL_TEMP_EN (0x00)
gume 0:1f82672b8755 760 #define BNO055_GYRO_TEMP_EN (0x01)
gume 0:1f82672b8755 761 #define BNO055_MCU_TEMP_EN (0x03)
gume 0:1f82672b8755 762
gume 0:1f82672b8755 763 /*Accel unit*/
gume 0:1f82672b8755 764 #define BNO055_ACCEL_UNIT_MSQ (0x00)
gume 0:1f82672b8755 765 #define BNO055_ACCEL_UNIT_MG (0x01)
gume 0:1f82672b8755 766
gume 0:1f82672b8755 767 /*Gyro unit*/
gume 0:1f82672b8755 768 #define BNO055_GYRO_UNIT_DPS (0x00)
gume 0:1f82672b8755 769 #define BNO055_GYRO_UNIT_RPS (0x01)
gume 0:1f82672b8755 770
gume 0:1f82672b8755 771 /* Euler unit*/
gume 0:1f82672b8755 772 #define BNO055_EULER_UNIT_DEG (0x00)
gume 0:1f82672b8755 773 #define BNO055_EULER_UNIT_RAD (0x01)
gume 0:1f82672b8755 774
gume 0:1f82672b8755 775 /*Temperature unit*/
gume 0:1f82672b8755 776 #define BNO055_TEMP_UNIT_CELSIUS (0x00)
gume 0:1f82672b8755 777 #define BNO055_TEMP_UNIT_FAHRENHEIT (0x01)
gume 0:1f82672b8755 778
gume 0:1f82672b8755 779 /*Accel division factor*/
gume 0:1f82672b8755 780 #define BNO055_ACCEL_DIV_MSQ (100.0)
gume 0:1f82672b8755 781 #define BNO055_ACCEL_DIV_MG (1)
gume 0:1f82672b8755 782
gume 0:1f82672b8755 783 /*Mag division factor*/
gume 0:1f82672b8755 784 #define BNO055_MAG_DIV_UT (16.0)
gume 0:1f82672b8755 785
gume 0:1f82672b8755 786 /*Gyro division factor*/
gume 0:1f82672b8755 787 #define BNO055_GYRO_DIV_DPS (16.0)
gume 0:1f82672b8755 788 #define BNO055_GYRO_DIV_RPS (900.0)
gume 0:1f82672b8755 789
gume 0:1f82672b8755 790 /*Euler division factor*/
gume 0:1f82672b8755 791 #define BNO055_EULER_DIV_DEG (16.0)
gume 0:1f82672b8755 792 #define BNO055_EULER_DIV_RAD (900.0)
gume 0:1f82672b8755 793
gume 0:1f82672b8755 794 /*Linear accel division factor*/
gume 0:1f82672b8755 795 #define BNO055_LINEAR_ACCEL_DIV_MSQ (100.0)
gume 0:1f82672b8755 796
gume 0:1f82672b8755 797 /*Gravity accel division factor*/
gume 0:1f82672b8755 798 #define BNO055_GRAVITY_DIV_MSQ (100.0)
gume 0:1f82672b8755 799
gume 0:1f82672b8755 800 /* Temperature division factor*/
gume 0:1f82672b8755 801 #define BNO055_TEMP_DIV_FAHRENHEIT (0.5)
gume 0:1f82672b8755 802 #define BNO055_TEMP_DIV_CELSIUS (1)
gume 0:1f82672b8755 803
gume 0:1f82672b8755 804 #define BNO055_MODE_SWITCHING_DELAY (600)
gume 0:1f82672b8755 805 #define BNO055_CONFIG_MODE_SWITCHING_DELAY ((u8)20)
gume 0:1f82672b8755 806
gume 0:1f82672b8755 807
gume 0:1f82672b8755 808
gume 0:1f82672b8755 809 /* Operation mode settings*/
gume 0:1f82672b8755 810 #define BNO055_OPERATION_MODE_CONFIG (0X00)
gume 0:1f82672b8755 811 #define BNO055_OPERATION_MODE_ACCONLY (0X01)
gume 0:1f82672b8755 812 #define BNO055_OPERATION_MODE_MAGONLY (0X02)
gume 0:1f82672b8755 813 #define BNO055_OPERATION_MODE_GYRONLY (0X03)
gume 0:1f82672b8755 814 #define BNO055_OPERATION_MODE_ACCMAG (0X04)
gume 0:1f82672b8755 815 #define BNO055_OPERATION_MODE_ACCGYRO (0X05)
gume 0:1f82672b8755 816 #define BNO055_OPERATION_MODE_MAGGYRO (0X06)
gume 0:1f82672b8755 817 #define BNO055_OPERATION_MODE_AMG (0X07)
gume 0:1f82672b8755 818 #define BNO055_OPERATION_MODE_IMUPLUS (0X08)
gume 0:1f82672b8755 819 #define BNO055_OPERATION_MODE_COMPASS (0X09)
gume 0:1f82672b8755 820 #define BNO055_OPERATION_MODE_M4G (0X0A)
gume 0:1f82672b8755 821 #define BNO055_OPERATION_MODE_NDOF_FMC_OFF (0X0B)
gume 0:1f82672b8755 822 #define BNO055_OPERATION_MODE_NDOF (0X0C)
gume 0:1f82672b8755 823
gume 0:1f82672b8755 824 /* Power mode*/
gume 0:1f82672b8755 825 #define BNO055_POWER_MODE_NORMAL (0X00)
gume 0:1f82672b8755 826 #define BNO055_POWER_MODE_LOWPOWER (0X01)
gume 0:1f82672b8755 827 #define BNO055_POWER_MODE_SUSPEND (0X02)
gume 0:1f82672b8755 828
gume 0:1f82672b8755 829 /* PAGE-1 definitions*/
gume 0:1f82672b8755 830 /* Accel Range */
gume 0:1f82672b8755 831
gume 0:1f82672b8755 832 #define BNO055_ACCEL_RANGE_2G (0X00)
gume 0:1f82672b8755 833 #define BNO055_ACCEL_RANGE_4G (0X01)
gume 0:1f82672b8755 834 #define BNO055_ACCEL_RANGE_8G (0X02)
gume 0:1f82672b8755 835 #define BNO055_ACCEL_RANGE_16G (0X03)
gume 0:1f82672b8755 836
gume 0:1f82672b8755 837 /* Accel Bandwidth*/
gume 0:1f82672b8755 838 #define BNO055_ACCEL_BW_7_81HZ (0x00)
gume 0:1f82672b8755 839 #define BNO055_ACCEL_BW_15_63HZ (0x01)
gume 0:1f82672b8755 840 #define BNO055_ACCEL_BW_31_25HZ (0x02)
gume 0:1f82672b8755 841 #define BNO055_ACCEL_BW_62_5HZ (0X03)
gume 0:1f82672b8755 842 #define BNO055_ACCEL_BW_125HZ (0X04)
gume 0:1f82672b8755 843 #define BNO055_ACCEL_BW_250HZ (0X05)
gume 0:1f82672b8755 844 #define BNO055_ACCEL_BW_500HZ (0X06)
gume 0:1f82672b8755 845 #define BNO055_ACCEL_BW_1000HZ (0X07)
gume 0:1f82672b8755 846
gume 0:1f82672b8755 847 /* Accel Power mode*/
gume 0:1f82672b8755 848 #define BNO055_ACCEL_NORMAL (0X00)
gume 0:1f82672b8755 849 #define BNO055_ACCEL_SUSPEND (0X01)
gume 0:1f82672b8755 850 #define BNO055_ACCEL_LOWPOWER_1 (0X02)
gume 0:1f82672b8755 851 #define BNO055_ACCEL_STANDBY (0X03)
gume 0:1f82672b8755 852 #define BNO055_ACCEL_LOWPOWER_2 (0X04)
gume 0:1f82672b8755 853 #define BNO055_ACCEL_DEEPSUSPEND (0X05)
gume 0:1f82672b8755 854
gume 0:1f82672b8755 855 /* Mag data output rate*/
gume 0:1f82672b8755 856 #define BNO055_MAG_DATA_OUTRATE_2HZ (0X00)
gume 0:1f82672b8755 857 #define BNO055_MAG_DATA_OUTRATE_6HZ (0X01)
gume 0:1f82672b8755 858 #define BNO055_MAG_DATA_OUTRATE_8HZ (0X02)
gume 0:1f82672b8755 859 #define BNO055_MAG_DATA_OUTRATE_10HZ (0X03)
gume 0:1f82672b8755 860 #define BNO055_MAG_DATA_OUTRATE_15HZ (0X04)
gume 0:1f82672b8755 861 #define BNO055_MAG_DATA_OUTRATE_20HZ (0X05)
gume 0:1f82672b8755 862 #define BNO055_MAG_DATA_OUTRATE_25HZ (0X06)
gume 0:1f82672b8755 863 #define BNO055_MAG_DATA_OUTRATE_30HZ (0X07)
gume 0:1f82672b8755 864
gume 0:1f82672b8755 865 /* Mag Operation mode*/
gume 0:1f82672b8755 866 #define BNO055_MAG_OPERATION_MODE_LOWPOWER (0X00)
gume 0:1f82672b8755 867 #define BNO055_MAG_OPERATION_MODE_REGULAR (0X01)
gume 0:1f82672b8755 868 #define BNO055_MAG_OPERATION_MODE_ENHANCED_REGULAR (0X02)
gume 0:1f82672b8755 869 #define BNO055_MAG_OPERATION_MODE_HIGH_ACCURACY (0X03)
gume 0:1f82672b8755 870
gume 0:1f82672b8755 871 /* Mag power mode*/
gume 0:1f82672b8755 872 #define BNO055_MAG_POWER_MODE_NORMAL (0X00)
gume 0:1f82672b8755 873 #define BNO055_MAG_POWER_MODE_SLEEP (0X01)
gume 0:1f82672b8755 874 #define BNO055_MAG_POWER_MODE_SUSPEND (0X02)
gume 0:1f82672b8755 875 #define BNO055_MAG_POWER_MODE_FORCE_MODE (0X03)
gume 0:1f82672b8755 876
gume 0:1f82672b8755 877 /* Gyro range*/
gume 0:1f82672b8755 878 #define BNO055_GYRO_RANGE_2000DPS (0x00)
gume 0:1f82672b8755 879 #define BNO055_GYRO_RANGE_1000DPS (0x01)
gume 0:1f82672b8755 880 #define BNO055_GYRO_RANGE_500DPS (0x02)
gume 0:1f82672b8755 881 #define BNO055_GYRO_RANGE_250DPS (0x03)
gume 0:1f82672b8755 882 #define BNO055_GYRO_RANGE_125DPS (0x04)
gume 0:1f82672b8755 883
gume 0:1f82672b8755 884 /* Gyro Bandwidth*/
gume 0:1f82672b8755 885 #define BNO055_GYRO_BW_523HZ (0x00)
gume 0:1f82672b8755 886 #define BNO055_GYRO_BW_230HZ (0x01)
gume 0:1f82672b8755 887 #define BNO055_GYRO_BW_116HZ (0x02)
gume 0:1f82672b8755 888 #define BNO055_GYRO_BW_47HZ (0x03)
gume 0:1f82672b8755 889 #define BNO055_GYRO_BW_23HZ (0x04)
gume 0:1f82672b8755 890 #define BNO055_GYRO_BW_12HZ (0x05)
gume 0:1f82672b8755 891 #define BNO055_GYRO_BW_64HZ (0x06)
gume 0:1f82672b8755 892 #define BNO055_GYRO_BW_32HZ (0x07)
gume 0:1f82672b8755 893
gume 0:1f82672b8755 894 /* Gyro power mode*/
gume 0:1f82672b8755 895 #define BNO055_GYRO_POWER_MODE_NORMAL (0X00)
gume 0:1f82672b8755 896 #define BNO055_GYRO_POWER_MODE_FASTPOWERUP (0X01)
gume 0:1f82672b8755 897 #define BNO055_GYRO_POWER_MODE_DEEPSUSPEND (0X02)
gume 0:1f82672b8755 898 #define BNO055_GYRO_POWER_MODE_SUSPEND (0X03)
gume 0:1f82672b8755 899 #define BNO055_GYRO_POWER_MODE_ADVANCE_POWERSAVE (0X04)
gume 0:1f82672b8755 900
gume 0:1f82672b8755 901 /* Accel Sleep Duration */
gume 0:1f82672b8755 902 #define BNO055_ACCEL_SLEEP_DURN_0_5MS (0x05)
gume 0:1f82672b8755 903 /* sets sleep duration to 0.5 ms */
gume 0:1f82672b8755 904 #define BNO055_ACCEL_SLEEP_DURN_1MS (0x06)
gume 0:1f82672b8755 905 /* sets sleep duration to 1 ms */
gume 0:1f82672b8755 906 #define BNO055_ACCEL_SLEEP_DURN_2MS (0x07)
gume 0:1f82672b8755 907 /* sets sleep duration to 2 ms */
gume 0:1f82672b8755 908 #define BNO055_ACCEL_SLEEP_DURN_4MS (0x08)
gume 0:1f82672b8755 909 /* sets sleep duration to 4 ms */
gume 0:1f82672b8755 910 #define BNO055_ACCEL_SLEEP_DURN_6MS (0x09)
gume 0:1f82672b8755 911 /* sets sleep duration to 6 ms*/
gume 0:1f82672b8755 912 #define BNO055_ACCEL_SLEEP_DURN_10MS (0x0A)
gume 0:1f82672b8755 913 /* sets sleep duration to 10 ms */
gume 0:1f82672b8755 914 #define BNO055_ACCEL_SLEEP_DURN_25MS (0x0B)
gume 0:1f82672b8755 915 /* sets sleep duration to 25 ms */
gume 0:1f82672b8755 916 #define BNO055_ACCEL_SLEEP_DURN_50MS (0x0C)
gume 0:1f82672b8755 917 /* sets sleep duration to 50 ms */
gume 0:1f82672b8755 918 #define BNO055_ACCEL_SLEEP_DURN_100MS (0x0D)
gume 0:1f82672b8755 919 /* sets sleep duration to 100 ms */
gume 0:1f82672b8755 920 #define BNO055_ACCEL_SLEEP_DURN_500MS (0x0E)
gume 0:1f82672b8755 921 /* sets sleep duration to 500 ms */
gume 0:1f82672b8755 922 #define BNO055_ACCEL_SLEEP_DURN_1S (0x0F)
gume 0:1f82672b8755 923 /* sets sleep duration to 1 s */
gume 0:1f82672b8755 924
gume 0:1f82672b8755 925 /* Gyro Auto sleep duration*/
gume 0:1f82672b8755 926 #define BNO055_GYRO_No_AUTOSLPDUR (0x00)
gume 0:1f82672b8755 927 #define BNO055_GYRO_4MS_AUTOSLPDUR (0x01)
gume 0:1f82672b8755 928 #define BNO055_GYRO_5MS_AUTOSLPDUR (0x02)
gume 0:1f82672b8755 929 #define BNO055_GYRO_8MS_AUTOSLPDUR (0x03)
gume 0:1f82672b8755 930 #define BNO055_GYRO_10MS_AUTOSLPDUR (0x04)
gume 0:1f82672b8755 931 #define BNO055_GYRO_15MS_AUTOSLPDUR (0x05)
gume 0:1f82672b8755 932 #define BNO055_GYRO_20MS_AUTOSLPDUR (0x06)
gume 0:1f82672b8755 933 #define BNO055_GYRO_40MS_AUTOSLPDUR (0x07)
gume 0:1f82672b8755 934
gume 0:1f82672b8755 935 /* Accel Any/No motion axis selection*/
gume 0:1f82672b8755 936 #define BNO055_ACCEL_ANY_MOTION_NO_MOTION_X_AXIS (0)
gume 0:1f82672b8755 937 #define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS (1)
gume 0:1f82672b8755 938 #define BNO055_ACCEL_ANY_MOTION_NO_MOTION_Z_AXIS (2)
gume 0:1f82672b8755 939
gume 0:1f82672b8755 940 /* Accel High g axis selection*/
gume 0:1f82672b8755 941 #define BNO055_ACCEL_HIGH_G_X_AXIS (0)
gume 0:1f82672b8755 942 #define BNO055_ACCEL_HIGH_G_Y_AXIS (1)
gume 0:1f82672b8755 943 #define BNO055_ACCEL_HIGH_G_Z_AXIS (2)
gume 0:1f82672b8755 944
gume 0:1f82672b8755 945 /* Gyro Any motion axis selection*/
gume 0:1f82672b8755 946 #define BNO055_GYRO_ANY_MOTION_X_AXIS (0)
gume 0:1f82672b8755 947 #define BNO055_GYRO_ANY_MOTION_Y_AXIS (1)
gume 0:1f82672b8755 948 #define BNO055_GYRO_ANY_MOTION_Z_AXIS (2)
gume 0:1f82672b8755 949
gume 0:1f82672b8755 950
gume 0:1f82672b8755 951 /* Gyro High rate axis selection*/
gume 0:1f82672b8755 952 #define BNO055_GYRO_HIGHRATE_X_AXIS (0)
gume 0:1f82672b8755 953 #define BNO055_GYRO_HIGHRATE_Y_AXIS (1)
gume 0:1f82672b8755 954 #define BNO055_GYRO_HIGHRATE_Z_AXIS (2)
gume 0:1f82672b8755 955
gume 0:1f82672b8755 956 /* Axis remap values*/
gume 0:1f82672b8755 957 #define BNO055_REMAP_X_Y (0X21)
gume 0:1f82672b8755 958 #define BNO055_REMAP_Y_Z (0X18)
gume 0:1f82672b8755 959 #define BNO055_REMAP_Z_X (0X06)
gume 0:1f82672b8755 960 #define BNO055_REMAP_X_Y_Z_TYPE0 (0X12)
gume 0:1f82672b8755 961 #define BNO055_REMAP_X_Y_Z_TYPE1 (0X09)
gume 0:1f82672b8755 962 #define BNO055_DEFAULT_AXIS (0X24)
gume 0:1f82672b8755 963
gume 0:1f82672b8755 964 /* Axis remap sign */
gume 0:1f82672b8755 965 #define BNO055_REMAP_AXIS_POSITIVE (0X00)
gume 0:1f82672b8755 966 #define BNO055_REMAP_AXIS_NEGATIVE (0X01)
gume 0:1f82672b8755 967
gume 0:1f82672b8755 968 /* Gyro anymotion and high rate filter configuration */
gume 0:1f82672b8755 969 #define BNO055_GYRO_FILTERED_CONFIG (0x00)
gume 0:1f82672b8755 970 #define BNO055_GYRO_UNFILTERED_CONFIG (0x01)
gume 0:1f82672b8755 971
gume 0:1f82672b8755 972 /* mask definitions*/
gume 0:1f82672b8755 973 #define BNO055_SIC_HEX_0_0_F_F_DATA (0x00FF)
gume 0:1f82672b8755 974 /****************************************************/
gume 0:1f82672b8755 975 /**\name ARRAY SIZE DEFINITIONS */
gume 0:1f82672b8755 976 /***************************************************/
gume 0:1f82672b8755 977 #define BNO055_REV_ID_SIZE (2)
gume 0:1f82672b8755 978 #define BNO055_ACCEL_DATA_SIZE (2)
gume 0:1f82672b8755 979 #define BNO055_ACCEL_XYZ_DATA_SIZE (6)
gume 0:1f82672b8755 980 #define BNO055_MAG_DATA_SIZE (2)
gume 0:1f82672b8755 981 #define BNO055_MAG_XYZ_DATA_SIZE (6)
gume 0:1f82672b8755 982 #define BNO055_GYRO_DATA_SIZE (2)
gume 0:1f82672b8755 983 #define BNO055_GYRO_XYZ_DATA_SIZE (6)
gume 0:1f82672b8755 984 #define BNO055_EULER_DATA_SIZE (2)
gume 0:1f82672b8755 985 #define BNO055_EULER_HRP_DATA_SIZE (6)
gume 0:1f82672b8755 986 #define BNO055_QUATERNION_DATA_SIZE (2)
gume 0:1f82672b8755 987 #define BNO055_QUATERNION_WXYZ_DATA_SIZE (8)
gume 0:1f82672b8755 988 #define BNO055_GRAVITY_DATA_SIZE (2)
gume 0:1f82672b8755 989 #define BNO055_GRAVITY_XYZ_DATA_SIZE (6)
gume 0:1f82672b8755 990 #define BNO055_ACCEL_OFFSET_ARRAY (6)
gume 0:1f82672b8755 991 #define BNO055_MAG_OFFSET_ARRAY (6)
gume 0:1f82672b8755 992 #define BNO055_GYRO_OFFSET_ARRAY (6)
gume 0:1f82672b8755 993 #define BNO055_SOFT_IRON_CALIBRATION_MATRIX_SIZE (18)
gume 0:1f82672b8755 994
gume 0:1f82672b8755 995
gume 0:1f82672b8755 996 /*ARRAY INDEX DEFINITIONS*/
gume 0:1f82672b8755 997 #define BNO055_SW_ID_LSB (0)
gume 0:1f82672b8755 998 #define BNO055_SW_ID_MSB (1)
gume 0:1f82672b8755 999 #define BNO055_SENSOR_DATA_LSB (0)
gume 0:1f82672b8755 1000 #define BNO055_SENSOR_DATA_MSB (1)
gume 0:1f82672b8755 1001 #define BNO055_SENSOR_DATA_EULER_LSB (0)
gume 0:1f82672b8755 1002 #define BNO055_SENSOR_DATA_EULER_MSB (1)
gume 0:1f82672b8755 1003 #define BNO055_SENSOR_DATA_QUATERNION_LSB (0)
gume 0:1f82672b8755 1004 #define BNO055_SENSOR_DATA_QUATERNION_MSB (1)
gume 0:1f82672b8755 1005
gume 0:1f82672b8755 1006 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_LSB (0)
gume 0:1f82672b8755 1007 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_W_MSB (1)
gume 0:1f82672b8755 1008 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_LSB (2)
gume 0:1f82672b8755 1009 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_X_MSB (3)
gume 0:1f82672b8755 1010 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_LSB (4)
gume 0:1f82672b8755 1011 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Y_MSB (5)
gume 0:1f82672b8755 1012 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_LSB (6)
gume 0:1f82672b8755 1013 #define BNO055_SENSOR_DATA_QUATERNION_WXYZ_Z_MSB (7)
gume 0:1f82672b8755 1014
gume 0:1f82672b8755 1015 #define BNO055_SENSOR_DATA_XYZ_X_LSB (0)
gume 0:1f82672b8755 1016 #define BNO055_SENSOR_DATA_XYZ_X_MSB (1)
gume 0:1f82672b8755 1017 #define BNO055_SENSOR_DATA_XYZ_Y_LSB (2)
gume 0:1f82672b8755 1018 #define BNO055_SENSOR_DATA_XYZ_Y_MSB (3)
gume 0:1f82672b8755 1019 #define BNO055_SENSOR_DATA_XYZ_Z_LSB (4)
gume 0:1f82672b8755 1020 #define BNO055_SENSOR_DATA_XYZ_Z_MSB (5)
gume 0:1f82672b8755 1021
gume 0:1f82672b8755 1022
gume 0:1f82672b8755 1023 #define BNO055_SENSOR_DATA_EULER_HRP_H_LSB (0)
gume 0:1f82672b8755 1024 #define BNO055_SENSOR_DATA_EULER_HRP_H_MSB (1)
gume 0:1f82672b8755 1025 #define BNO055_SENSOR_DATA_EULER_HRP_R_LSB (2)
gume 0:1f82672b8755 1026 #define BNO055_SENSOR_DATA_EULER_HRP_R_MSB (3)
gume 0:1f82672b8755 1027 #define BNO055_SENSOR_DATA_EULER_HRP_P_LSB (4)
gume 0:1f82672b8755 1028 #define BNO055_SENSOR_DATA_EULER_HRP_P_MSB (5)
gume 0:1f82672b8755 1029
gume 0:1f82672b8755 1030 #define BNO055_SOFT_IRON_CALIB_0_LSB (0)
gume 0:1f82672b8755 1031 #define BNO055_SOFT_IRON_CALIB_0_MSB (1)
gume 0:1f82672b8755 1032 #define BNO055_SOFT_IRON_CALIB_1_LSB (2)
gume 0:1f82672b8755 1033 #define BNO055_SOFT_IRON_CALIB_1_MSB (3)
gume 0:1f82672b8755 1034 #define BNO055_SOFT_IRON_CALIB_2_LSB (4)
gume 0:1f82672b8755 1035 #define BNO055_SOFT_IRON_CALIB_2_MSB (5)
gume 0:1f82672b8755 1036 #define BNO055_SOFT_IRON_CALIB_3_LSB (6)
gume 0:1f82672b8755 1037 #define BNO055_SOFT_IRON_CALIB_3_MSB (7)
gume 0:1f82672b8755 1038 #define BNO055_SOFT_IRON_CALIB_4_LSB (8)
gume 0:1f82672b8755 1039 #define BNO055_SOFT_IRON_CALIB_4_MSB (9)
gume 0:1f82672b8755 1040 #define BNO055_SOFT_IRON_CALIB_5_LSB (10)
gume 0:1f82672b8755 1041 #define BNO055_SOFT_IRON_CALIB_5_MSB (11)
gume 0:1f82672b8755 1042 #define BNO055_SOFT_IRON_CALIB_6_LSB (12)
gume 0:1f82672b8755 1043 #define BNO055_SOFT_IRON_CALIB_6_MSB (13)
gume 0:1f82672b8755 1044 #define BNO055_SOFT_IRON_CALIB_7_LSB (14)
gume 0:1f82672b8755 1045 #define BNO055_SOFT_IRON_CALIB_7_MSB (15)
gume 0:1f82672b8755 1046 #define BNO055_SOFT_IRON_CALIB_8_LSB (16)
gume 0:1f82672b8755 1047 #define BNO055_SOFT_IRON_CALIB_8_MSB (17)
gume 0:1f82672b8755 1048
gume 0:1f82672b8755 1049 #define BNO055_SENSOR_OFFSET_DATA_X_LSB (0)
gume 0:1f82672b8755 1050 #define BNO055_SENSOR_OFFSET_DATA_X_MSB (1)
gume 0:1f82672b8755 1051 #define BNO055_SENSOR_OFFSET_DATA_Y_LSB (2)
gume 0:1f82672b8755 1052 #define BNO055_SENSOR_OFFSET_DATA_Y_MSB (3)
gume 0:1f82672b8755 1053 #define BNO055_SENSOR_OFFSET_DATA_Z_LSB (4)
gume 0:1f82672b8755 1054 #define BNO055_SENSOR_OFFSET_DATA_Z_MSB (5)
gume 0:1f82672b8755 1055
gume 0:1f82672b8755 1056 #define BNO055_OFFSET_RADIUS_LSB (0)
gume 0:1f82672b8755 1057 #define BNO055_OFFSET_RADIUS_MSB (1)
gume 0:1f82672b8755 1058 /*********************************************************/
gume 0:1f82672b8755 1059 /**\name PAGE0 DATA REGISTERS DEFINITION */
gume 0:1f82672b8755 1060 /*********************************************************/
gume 0:1f82672b8755 1061 /* Chip ID */
gume 0:1f82672b8755 1062 #define BNO055_CHIP_ID_POS (0)
gume 0:1f82672b8755 1063 #define BNO055_CHIP_ID_MSK (0xFF)
gume 0:1f82672b8755 1064 #define BNO055_CHIP_ID_LEN (8)
gume 0:1f82672b8755 1065 #define BNO055_CHIP_ID_REG BNO055_CHIP_ID_ADDR
gume 0:1f82672b8755 1066
gume 0:1f82672b8755 1067 /* Accel revision id*/
gume 0:1f82672b8755 1068 #define BNO055_ACCEL_REV_ID_POS (0)
gume 0:1f82672b8755 1069 #define BNO055_ACCEL_REV_ID_MSK (0xFF)
gume 0:1f82672b8755 1070 #define BNO055_ACCEL_REV_ID_LEN (8)
gume 0:1f82672b8755 1071 #define BNO055_ACCEL_REV_ID_REG BNO055_ACCEL_REV_ID_ADDR
gume 0:1f82672b8755 1072
gume 0:1f82672b8755 1073 /* Mag revision id*/
gume 0:1f82672b8755 1074 #define BNO055_MAG_REV_ID_POS (0)
gume 0:1f82672b8755 1075 #define BNO055_MAG_REV_ID_MSK (0xFF)
gume 0:1f82672b8755 1076 #define BNO055_MAG_REV_ID_LEN (8)
gume 0:1f82672b8755 1077 #define BNO055_MAG_REV_ID_REG BNO055_MAG_REV_ID_ADDR
gume 0:1f82672b8755 1078
gume 0:1f82672b8755 1079 /* Gyro revision id*/
gume 0:1f82672b8755 1080 #define BNO055_GYRO_REV_ID_POS (0)
gume 0:1f82672b8755 1081 #define BNO055_GYRO_REV_ID_MSK (0xFF)
gume 0:1f82672b8755 1082 #define BNO055_GYRO_REV_ID_LEN (8)
gume 0:1f82672b8755 1083 #define BNO055_GYRO_REV_ID_REG BNO055_GYRO_REV_ID_ADDR
gume 0:1f82672b8755 1084
gume 0:1f82672b8755 1085 /*Software revision id LSB*/
gume 0:1f82672b8755 1086 #define BNO055_SW_REV_ID_LSB_POS (0)
gume 0:1f82672b8755 1087 #define BNO055_SW_REV_ID_LSB_MSK (0xFF)
gume 0:1f82672b8755 1088 #define BNO055_SW_REV_ID_LSB_LEN (8)
gume 0:1f82672b8755 1089 #define BNO055_SW_REV_ID_LSB_REG BNO055_SW_REV_ID_LSB_ADDR
gume 0:1f82672b8755 1090
gume 0:1f82672b8755 1091 /*Software revision id MSB*/
gume 0:1f82672b8755 1092 #define BNO055_SW_REV_ID_MSB_POS (0)
gume 0:1f82672b8755 1093 #define BNO055_SW_REV_ID_MSB_MSK (0xFF)
gume 0:1f82672b8755 1094 #define BNO055_SW_REV_ID_MSB_LEN (8)
gume 0:1f82672b8755 1095 #define BNO055_SW_REV_ID_MSB_REG BNO055_SW_REV_ID_MSB_ADDR
gume 0:1f82672b8755 1096
gume 0:1f82672b8755 1097 /* BOOTLODER revision id*/
gume 0:1f82672b8755 1098 #define BNO055_BL_REV_ID_POS (0)
gume 0:1f82672b8755 1099 #define BNO055_BL_REV_ID_MSK (0xFF)
gume 0:1f82672b8755 1100 #define BNO055_BL_REV_ID_LEN (8)
gume 0:1f82672b8755 1101 #define BNO055_BL_REV_ID_REG BNO055_BL_REV_ID_ADDR
gume 0:1f82672b8755 1102
gume 0:1f82672b8755 1103 /*Page id*/
gume 0:1f82672b8755 1104 #define BNO055_PAGE_ID_POS (0)
gume 0:1f82672b8755 1105 #define BNO055_PAGE_ID_MSK (0xFF)
gume 0:1f82672b8755 1106 #define BNO055_PAGE_ID_LEN (8)
gume 0:1f82672b8755 1107 #define BNO055_PAGE_ID_REG BNO055_PAGE_ID_ADDR
gume 0:1f82672b8755 1108
gume 0:1f82672b8755 1109 /* Accel data X-LSB register*/
gume 0:1f82672b8755 1110 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_POS (0)
gume 0:1f82672b8755 1111 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1112 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1113 #define BNO055_ACCEL_DATA_X_LSB_VALUEX_REG \
gume 0:1f82672b8755 1114 BNO055_ACCEL_DATA_X_LSB_ADDR
gume 0:1f82672b8755 1115
gume 0:1f82672b8755 1116 /* Accel data X-MSB register*/
gume 0:1f82672b8755 1117 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_POS (0)
gume 0:1f82672b8755 1118 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1119 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1120 #define BNO055_ACCEL_DATA_X_MSB_VALUEX_REG \
gume 0:1f82672b8755 1121 BNO055_ACCEL_DATA_X_MSB_ADDR
gume 0:1f82672b8755 1122
gume 0:1f82672b8755 1123 /* Accel data Y-LSB register*/
gume 0:1f82672b8755 1124 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_POS (0)
gume 0:1f82672b8755 1125 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1126 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1127 #define BNO055_ACCEL_DATA_Y_LSB_VALUEY_REG \
gume 0:1f82672b8755 1128 BNO055_ACCEL_DATA_Y_LSB_ADDR
gume 0:1f82672b8755 1129
gume 0:1f82672b8755 1130 /* Accel data Y-MSB register*/
gume 0:1f82672b8755 1131 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_POS (0)
gume 0:1f82672b8755 1132 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1133 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1134 #define BNO055_ACCEL_DATA_Y_MSB_VALUEY_REG \
gume 0:1f82672b8755 1135 BNO055_ACCEL_DATA_Y_MSB_ADDR
gume 0:1f82672b8755 1136
gume 0:1f82672b8755 1137 /* Accel data Z-LSB register*/
gume 0:1f82672b8755 1138 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1139 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1140 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1141 #define BNO055_ACCEL_DATA_Z_LSB_VALUEZ_REG \
gume 0:1f82672b8755 1142 BNO055_ACCEL_DATA_Z_LSB_ADDR
gume 0:1f82672b8755 1143
gume 0:1f82672b8755 1144 /* Accel data Z-MSB register*/
gume 0:1f82672b8755 1145 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1146 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1147 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1148 #define BNO055_ACCEL_DATA_Z_MSB_VALUEZ_REG \
gume 0:1f82672b8755 1149 BNO055_ACCEL_DATA_Z_MSB_ADDR
gume 0:1f82672b8755 1150
gume 0:1f82672b8755 1151 /* Mag data X-LSB register*/
gume 0:1f82672b8755 1152 #define BNO055_MAG_DATA_X_LSB_VALUEX_POS (0)
gume 0:1f82672b8755 1153 #define BNO055_MAG_DATA_X_LSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1154 #define BNO055_MAG_DATA_X_LSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1155 #define BNO055_MAG_DATA_X_LSB_VALUEX_REG \
gume 0:1f82672b8755 1156 BNO055_MAG_DATA_X_LSB_ADDR
gume 0:1f82672b8755 1157
gume 0:1f82672b8755 1158 /* Mag data X-MSB register*/
gume 0:1f82672b8755 1159 #define BNO055_MAG_DATA_X_MSB_VALUEX_POS (0)
gume 0:1f82672b8755 1160 #define BNO055_MAG_DATA_X_MSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1161 #define BNO055_MAG_DATA_X_MSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1162 #define BNO055_MAG_DATA_X_MSB_VALUEX_REG BNO055_MAG_DATA_X_MSB_ADDR
gume 0:1f82672b8755 1163
gume 0:1f82672b8755 1164 /* Mag data Y-LSB register*/
gume 0:1f82672b8755 1165 #define BNO055_MAG_DATA_Y_LSB_VALUEY_POS (0)
gume 0:1f82672b8755 1166 #define BNO055_MAG_DATA_Y_LSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1167 #define BNO055_MAG_DATA_Y_LSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1168 #define BNO055_MAG_DATA_Y_LSB_VALUEY_REG BNO055_MAG_DATA_Y_LSB_ADDR
gume 0:1f82672b8755 1169
gume 0:1f82672b8755 1170 /* Mag data Y-MSB register*/
gume 0:1f82672b8755 1171 #define BNO055_MAG_DATA_Y_MSB_VALUEY_POS (0)
gume 0:1f82672b8755 1172 #define BNO055_MAG_DATA_Y_MSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1173 #define BNO055_MAG_DATA_Y_MSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1174 #define BNO055_MAG_DATA_Y_MSB_VALUEY_REG BNO055_MAG_DATA_Y_MSB_ADDR
gume 0:1f82672b8755 1175
gume 0:1f82672b8755 1176 /* Mag data Z-LSB register*/
gume 0:1f82672b8755 1177 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1178 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1179 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1180 #define BNO055_MAG_DATA_Z_LSB_VALUEZ_REG BNO055_MAG_DATA_Z_LSB_ADDR
gume 0:1f82672b8755 1181
gume 0:1f82672b8755 1182 /* Mag data Z-MSB register*/
gume 0:1f82672b8755 1183 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1184 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1185 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1186 #define BNO055_MAG_DATA_Z_MSB_VALUEZ_REG BNO055_MAG_DATA_Z_MSB_ADDR
gume 0:1f82672b8755 1187
gume 0:1f82672b8755 1188 /* Gyro data X-LSB register*/
gume 0:1f82672b8755 1189 #define BNO055_GYRO_DATA_X_LSB_VALUEX_POS (0)
gume 0:1f82672b8755 1190 #define BNO055_GYRO_DATA_X_LSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1191 #define BNO055_GYRO_DATA_X_LSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1192 #define BNO055_GYRO_DATA_X_LSB_VALUEX_REG BNO055_GYRO_DATA_X_LSB_ADDR
gume 0:1f82672b8755 1193
gume 0:1f82672b8755 1194 /* Gyro data X-MSB register*/
gume 0:1f82672b8755 1195 #define BNO055_GYRO_DATA_X_MSB_VALUEX_POS (0)
gume 0:1f82672b8755 1196 #define BNO055_GYRO_DATA_X_MSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1197 #define BNO055_GYRO_DATA_X_MSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1198 #define BNO055_GYRO_DATA_X_MSB_VALUEX_REG BNO055_GYRO_DATA_X_MSB_ADDR
gume 0:1f82672b8755 1199
gume 0:1f82672b8755 1200 /* Gyro data Y-LSB register*/
gume 0:1f82672b8755 1201 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_POS (0)
gume 0:1f82672b8755 1202 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1203 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1204 #define BNO055_GYRO_DATA_Y_LSB_VALUEY_REG BNO055_GYRO_DATA_Y_LSB_ADDR
gume 0:1f82672b8755 1205
gume 0:1f82672b8755 1206 /* Gyro data Y-MSB register*/
gume 0:1f82672b8755 1207 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_POS (0)
gume 0:1f82672b8755 1208 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1209 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1210 #define BNO055_GYRO_DATA_Y_MSB_VALUEY_REG BNO055_GYRO_DATA_Y_MSB_ADDR
gume 0:1f82672b8755 1211
gume 0:1f82672b8755 1212 /* Gyro data Z-LSB register*/
gume 0:1f82672b8755 1213 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1214 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1215 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1216 #define BNO055_GYRO_DATA_Z_LSB_VALUEZ_REG BNO055_GYRO_DATA_Z_LSB_ADDR
gume 0:1f82672b8755 1217
gume 0:1f82672b8755 1218 /* Gyro data Z-MSB register*/
gume 0:1f82672b8755 1219 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1220 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1221 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1222 #define BNO055_GYRO_DATA_Z_MSB_VALUEZ_REG BNO055_GYRO_DATA_Z_MSB_ADDR
gume 0:1f82672b8755 1223
gume 0:1f82672b8755 1224 /* Euler data HEADING-LSB register*/
gume 0:1f82672b8755 1225 #define BNO055_EULER_H_LSB_VALUEH_POS (0)
gume 0:1f82672b8755 1226 #define BNO055_EULER_H_LSB_VALUEH_MSK (0xFF)
gume 0:1f82672b8755 1227 #define BNO055_EULER_H_LSB_VALUEH_LEN (8)
gume 0:1f82672b8755 1228 #define BNO055_EULER_H_LSB_VALUEH_REG BNO055_EULER_H_LSB_ADDR
gume 0:1f82672b8755 1229
gume 0:1f82672b8755 1230 /* Euler data HEADING-MSB register*/
gume 0:1f82672b8755 1231 #define BNO055_EULER_H_MSB_VALUEH_POS (0)
gume 0:1f82672b8755 1232 #define BNO055_EULER_H_MSB_VALUEH_MSK (0xFF)
gume 0:1f82672b8755 1233 #define BNO055_EULER_H_MSB_VALUEH_LEN (8)
gume 0:1f82672b8755 1234 #define BNO055_EULER_H_MSB_VALUEH_REG BNO055_EULER_H_MSB_ADDR
gume 0:1f82672b8755 1235
gume 0:1f82672b8755 1236 /* Euler data ROLL-LSB register*/
gume 0:1f82672b8755 1237 #define BNO055_EULER_R_LSB_VALUER_POS (0)
gume 0:1f82672b8755 1238 #define BNO055_EULER_R_LSB_VALUER_MSK (0xFF)
gume 0:1f82672b8755 1239 #define BNO055_EULER_R_LSB_VALUER_LEN (8)
gume 0:1f82672b8755 1240 #define BNO055_EULER_R_LSB_VALUER_REG BNO055_EULER_R_LSB_ADDR
gume 0:1f82672b8755 1241
gume 0:1f82672b8755 1242 /* Euler data ROLL-MSB register*/
gume 0:1f82672b8755 1243 #define BNO055_EULER_R_MSB_VALUER_POS (0)
gume 0:1f82672b8755 1244 #define BNO055_EULER_R_MSB_VALUER_MSK (0xFF)
gume 0:1f82672b8755 1245 #define BNO055_EULER_R_MSB_VALUER_LEN (8)
gume 0:1f82672b8755 1246 #define BNO055_EULER_R_MSB_VALUER_REG BNO055_EULER_R_MSB_ADDR
gume 0:1f82672b8755 1247
gume 0:1f82672b8755 1248 /* Euler data PITCH-LSB register*/
gume 0:1f82672b8755 1249 #define BNO055_EULER_P_LSB_VALUEP_POS (0)
gume 0:1f82672b8755 1250 #define BNO055_EULER_P_LSB_VALUEP_MSK (0xFF)
gume 0:1f82672b8755 1251 #define BNO055_EULER_P_LSB_VALUEP_LEN (8)
gume 0:1f82672b8755 1252 #define BNO055_EULER_P_LSB_VALUEP_REG BNO055_EULER_P_LSB_ADDR
gume 0:1f82672b8755 1253
gume 0:1f82672b8755 1254 /* Euler data HEADING-MSB register*/
gume 0:1f82672b8755 1255 #define BNO055_EULER_P_MSB_VALUEP_POS (0)
gume 0:1f82672b8755 1256 #define BNO055_EULER_P_MSB_VALUEP_MSK (0xFF)
gume 0:1f82672b8755 1257 #define BNO055_EULER_P_MSB_VALUEP_LEN (8)
gume 0:1f82672b8755 1258 #define BNO055_EULER_P_MSB_VALUEP_REG BNO055_EULER_P_MSB_ADDR
gume 0:1f82672b8755 1259
gume 0:1f82672b8755 1260 /* Quaternion data W-LSB register*/
gume 0:1f82672b8755 1261 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_POS (0)
gume 0:1f82672b8755 1262 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_MSK (0xFF)
gume 0:1f82672b8755 1263 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_LEN (8)
gume 0:1f82672b8755 1264 #define BNO055_QUATERNION_DATA_W_LSB_VALUEW_REG \
gume 0:1f82672b8755 1265 BNO055_QUATERNION_DATA_W_LSB_ADDR
gume 0:1f82672b8755 1266
gume 0:1f82672b8755 1267 /* Quaternion data W-MSB register*/
gume 0:1f82672b8755 1268 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_POS (0)
gume 0:1f82672b8755 1269 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_MSK (0xFF)
gume 0:1f82672b8755 1270 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_LEN (8)
gume 0:1f82672b8755 1271 #define BNO055_QUATERNION_DATA_W_MSB_VALUEW_REG \
gume 0:1f82672b8755 1272 BNO055_QUATERNION_DATA_W_MSB_ADDR
gume 0:1f82672b8755 1273
gume 0:1f82672b8755 1274 /* Quaternion data X-LSB register*/
gume 0:1f82672b8755 1275 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_POS (0)
gume 0:1f82672b8755 1276 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1277 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1278 #define BNO055_QUATERNION_DATA_X_LSB_VALUEX_REG \
gume 0:1f82672b8755 1279 BNO055_QUATERNION_DATA_X_LSB_ADDR
gume 0:1f82672b8755 1280
gume 0:1f82672b8755 1281 /* Quaternion data X-MSB register*/
gume 0:1f82672b8755 1282 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_POS (0)
gume 0:1f82672b8755 1283 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1284 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1285 #define BNO055_QUATERNION_DATA_X_MSB_VALUEX_REG \
gume 0:1f82672b8755 1286 BNO055_QUATERNION_DATA_X_MSB_ADDR
gume 0:1f82672b8755 1287
gume 0:1f82672b8755 1288 /* Quaternion data Y-LSB register*/
gume 0:1f82672b8755 1289 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_POS (0)
gume 0:1f82672b8755 1290 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1291 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1292 #define BNO055_QUATERNION_DATA_Y_LSB_VALUEY_REG \
gume 0:1f82672b8755 1293 BNO055_QUATERNION_DATA_Y_LSB_ADDR
gume 0:1f82672b8755 1294
gume 0:1f82672b8755 1295 /* Quaternion data Y-MSB register*/
gume 0:1f82672b8755 1296 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_POS (0)
gume 0:1f82672b8755 1297 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1298 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1299 #define BNO055_QUATERNION_DATA_Y_MSB_VALUEY_REG \
gume 0:1f82672b8755 1300 BNO055_QUATERNION_DATA_Y_MSB_ADDR
gume 0:1f82672b8755 1301
gume 0:1f82672b8755 1302 /* Quaternion data Z-LSB register*/
gume 0:1f82672b8755 1303 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1304 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1305 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1306 #define BNO055_QUATERNION_DATA_Z_LSB_VALUEZ_REG \
gume 0:1f82672b8755 1307 BNO055_QUATERNION_DATA_Z_LSB_ADDR
gume 0:1f82672b8755 1308
gume 0:1f82672b8755 1309 /* Quaternion data Z-MSB register*/
gume 0:1f82672b8755 1310 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1311 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1312 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1313 #define BNO055_QUATERNION_DATA_Z_MSB_VALUEZ_REG \
gume 0:1f82672b8755 1314 BNO055_QUATERNION_DATA_Z_MSB_ADDR
gume 0:1f82672b8755 1315
gume 0:1f82672b8755 1316 /* Linear acceleration data X-LSB register*/
gume 0:1f82672b8755 1317 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_POS (0)
gume 0:1f82672b8755 1318 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1319 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1320 #define BNO055_LINEAR_ACCEL_DATA_X_LSB_VALUEX_REG \
gume 0:1f82672b8755 1321 BNO055_LINEAR_ACCEL_DATA_X_LSB_ADDR
gume 0:1f82672b8755 1322
gume 0:1f82672b8755 1323 /* Linear acceleration data X-MSB register*/
gume 0:1f82672b8755 1324 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_POS (0)
gume 0:1f82672b8755 1325 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1326 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1327 #define BNO055_LINEAR_ACCEL_DATA_X_MSB_VALUEX_REG \
gume 0:1f82672b8755 1328 BNO055_LINEAR_ACCEL_DATA_X_MSB_ADDR
gume 0:1f82672b8755 1329
gume 0:1f82672b8755 1330 /* Linear acceleration data Y-LSB register*/
gume 0:1f82672b8755 1331 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_POS (0)
gume 0:1f82672b8755 1332 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1333 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1334 #define BNO055_LINEAR_ACCEL_DATA_Y_LSB_VALUEY_REG \
gume 0:1f82672b8755 1335 BNO055_LINEAR_ACCEL_DATA_Y_LSB_ADDR
gume 0:1f82672b8755 1336
gume 0:1f82672b8755 1337 /* Linear acceleration data Y-MSB register*/
gume 0:1f82672b8755 1338 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_POS (0)
gume 0:1f82672b8755 1339 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1340 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1341 #define BNO055_LINEAR_ACCEL_DATA_Y_MSB_VALUEY_REG \
gume 0:1f82672b8755 1342 BNO055_LINEAR_ACCEL_DATA_Y_MSB_ADDR
gume 0:1f82672b8755 1343
gume 0:1f82672b8755 1344 /* Linear acceleration data Z-LSB register*/
gume 0:1f82672b8755 1345 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1346 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1347 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1348 #define BNO055_LINEAR_ACCEL_DATA_Z_LSB_VALUEZ_REG \
gume 0:1f82672b8755 1349 BNO055_LINEAR_ACCEL_DATA_Z_LSB_ADDR
gume 0:1f82672b8755 1350
gume 0:1f82672b8755 1351 /* Linear acceleration data Z-MSB register*/
gume 0:1f82672b8755 1352 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1353 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1354 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1355 #define BNO055_LINEAR_ACCEL_DATA_Z_MSB_VALUEZ_REG \
gume 0:1f82672b8755 1356 BNO055_LINEAR_ACCEL_DATA_Z_MSB_ADDR
gume 0:1f82672b8755 1357
gume 0:1f82672b8755 1358 /* Gravity data X-LSB register*/
gume 0:1f82672b8755 1359 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_POS (0)
gume 0:1f82672b8755 1360 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1361 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1362 #define BNO055_GRAVITY_DATA_X_LSB_VALUEX_REG \
gume 0:1f82672b8755 1363 BNO055_GRAVITY_DATA_X_LSB_ADDR
gume 0:1f82672b8755 1364
gume 0:1f82672b8755 1365 /* Gravity data X-MSB register*/
gume 0:1f82672b8755 1366 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_POS (0)
gume 0:1f82672b8755 1367 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_MSK (0xFF)
gume 0:1f82672b8755 1368 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_LEN (8)
gume 0:1f82672b8755 1369 #define BNO055_GRAVITY_DATA_X_MSB_VALUEX_REG \
gume 0:1f82672b8755 1370 BNO055_GRAVITY_DATA_X_MSB_ADDR
gume 0:1f82672b8755 1371
gume 0:1f82672b8755 1372 /* Gravity data Y-LSB register*/
gume 0:1f82672b8755 1373 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_POS (0)
gume 0:1f82672b8755 1374 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1375 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1376 #define BNO055_GRAVITY_DATA_Y_LSB_VALUEY_REG \
gume 0:1f82672b8755 1377 BNO055_GRAVITY_DATA_Y_LSB_ADDR
gume 0:1f82672b8755 1378
gume 0:1f82672b8755 1379 /* Gravity data Y-MSB register*/
gume 0:1f82672b8755 1380 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_POS (0)
gume 0:1f82672b8755 1381 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_MSK (0xFF)
gume 0:1f82672b8755 1382 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_LEN (8)
gume 0:1f82672b8755 1383 #define BNO055_GRAVITY_DATA_Y_MSB_VALUEY_REG \
gume 0:1f82672b8755 1384 BNO055_GRAVITY_DATA_Y_MSB_ADDR
gume 0:1f82672b8755 1385
gume 0:1f82672b8755 1386 /* Gravity data Z-LSB register*/
gume 0:1f82672b8755 1387 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1388 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1389 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1390 #define BNO055_GRAVITY_DATA_Z_LSB_VALUEZ_REG \
gume 0:1f82672b8755 1391 BNO055_GRAVITY_DATA_Z_LSB_ADDR
gume 0:1f82672b8755 1392
gume 0:1f82672b8755 1393 /* Gravity data Z-MSB register*/
gume 0:1f82672b8755 1394 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_POS (0)
gume 0:1f82672b8755 1395 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_MSK (0xFF)
gume 0:1f82672b8755 1396 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_LEN (8)
gume 0:1f82672b8755 1397 #define BNO055_GRAVITY_DATA_Z_MSB_VALUEZ_REG \
gume 0:1f82672b8755 1398 BNO055_GRAVITY_DATA_Z_MSB_ADDR
gume 0:1f82672b8755 1399
gume 0:1f82672b8755 1400 /* Temperature register*/
gume 0:1f82672b8755 1401 #define BNO055_TEMP_POS (0)
gume 0:1f82672b8755 1402 #define BNO055_TEMP_MSK (0xFF)
gume 0:1f82672b8755 1403 #define BNO055_TEMP_LEN (8)
gume 0:1f82672b8755 1404 #define BNO055_TEMP_REG BNO055_TEMP_ADDR
gume 0:1f82672b8755 1405
gume 0:1f82672b8755 1406 /*Mag_Calib status register*/
gume 0:1f82672b8755 1407 #define BNO055_MAG_CALIB_STAT_POS (0)
gume 0:1f82672b8755 1408 #define BNO055_MAG_CALIB_STAT_MSK (0X03)
gume 0:1f82672b8755 1409 #define BNO055_MAG_CALIB_STAT_LEN (2)
gume 0:1f82672b8755 1410 #define BNO055_MAG_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
gume 0:1f82672b8755 1411
gume 0:1f82672b8755 1412 /*Acc_Calib status register*/
gume 0:1f82672b8755 1413 #define BNO055_ACCEL_CALIB_STAT_POS (2)
gume 0:1f82672b8755 1414 #define BNO055_ACCEL_CALIB_STAT_MSK (0X0C)
gume 0:1f82672b8755 1415 #define BNO055_ACCEL_CALIB_STAT_LEN (2)
gume 0:1f82672b8755 1416 #define BNO055_ACCEL_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
gume 0:1f82672b8755 1417
gume 0:1f82672b8755 1418 /*Gyro_Calib status register*/
gume 0:1f82672b8755 1419 #define BNO055_GYRO_CALIB_STAT_POS (4)
gume 0:1f82672b8755 1420 #define BNO055_GYRO_CALIB_STAT_MSK (0X30)
gume 0:1f82672b8755 1421 #define BNO055_GYRO_CALIB_STAT_LEN (2)
gume 0:1f82672b8755 1422 #define BNO055_GYRO_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
gume 0:1f82672b8755 1423
gume 0:1f82672b8755 1424 /*Sys_Calib status register*/
gume 0:1f82672b8755 1425 #define BNO055_SYS_CALIB_STAT_POS (6)
gume 0:1f82672b8755 1426 #define BNO055_SYS_CALIB_STAT_MSK (0XC0)
gume 0:1f82672b8755 1427 #define BNO055_SYS_CALIB_STAT_LEN (2)
gume 0:1f82672b8755 1428 #define BNO055_SYS_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
gume 0:1f82672b8755 1429
gume 0:1f82672b8755 1430 /*All_Calib status register*/
gume 0:1f82672b8755 1431 #define BNO055_ALL_CALIB_STAT_POS (0)
gume 0:1f82672b8755 1432 #define BNO055_ALL_CALIB_STAT_MSK (0XFF)
gume 0:1f82672b8755 1433 #define BNO055_ALL_CALIB_STAT_LEN (8)
gume 0:1f82672b8755 1434 #define BNO055_ALL_CALIB_STAT_REG BNO055_CALIB_STAT_ADDR
gume 0:1f82672b8755 1435
gume 0:1f82672b8755 1436 /*ST_ACCEL register*/
gume 0:1f82672b8755 1437 #define BNO055_SELFTEST_ACCEL_POS (0)
gume 0:1f82672b8755 1438 #define BNO055_SELFTEST_ACCEL_MSK (0X01)
gume 0:1f82672b8755 1439 #define BNO055_SELFTEST_ACCEL_LEN (1)
gume 0:1f82672b8755 1440 #define BNO055_SELFTEST_ACCEL_REG BNO055_SELFTEST_RESULT_ADDR
gume 0:1f82672b8755 1441
gume 0:1f82672b8755 1442 /*ST_MAG register*/
gume 0:1f82672b8755 1443 #define BNO055_SELFTEST_MAG_POS (1)
gume 0:1f82672b8755 1444 #define BNO055_SELFTEST_MAG_MSK (0X02)
gume 0:1f82672b8755 1445 #define BNO055_SELFTEST_MAG_LEN (1)
gume 0:1f82672b8755 1446 #define BNO055_SELFTEST_MAG_REG BNO055_SELFTEST_RESULT_ADDR
gume 0:1f82672b8755 1447
gume 0:1f82672b8755 1448 /*ST_GYRO register*/
gume 0:1f82672b8755 1449 #define BNO055_SELFTEST_GYRO_POS (2)
gume 0:1f82672b8755 1450 #define BNO055_SELFTEST_GYRO_MSK (0X04)
gume 0:1f82672b8755 1451 #define BNO055_SELFTEST_GYRO_LEN (1)
gume 0:1f82672b8755 1452 #define BNO055_SELFTEST_GYRO_REG BNO055_SELFTEST_RESULT_ADDR
gume 0:1f82672b8755 1453
gume 0:1f82672b8755 1454 /*ST_MCU register*/
gume 0:1f82672b8755 1455 #define BNO055_SELFTEST_MCU_POS (3)
gume 0:1f82672b8755 1456 #define BNO055_SELFTEST_MCU_MSK (0X08)
gume 0:1f82672b8755 1457 #define BNO055_SELFTEST_MCU_LEN (1)
gume 0:1f82672b8755 1458 #define BNO055_SELFTEST_MCU_REG BNO055_SELFTEST_RESULT_ADDR
gume 0:1f82672b8755 1459
gume 0:1f82672b8755 1460 /*Interrupt status registers*/
gume 0:1f82672b8755 1461 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_POS (2)
gume 0:1f82672b8755 1462 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_MSK (0X04)
gume 0:1f82672b8755 1463 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_LEN (1)
gume 0:1f82672b8755 1464 #define BNO055_INTR_STAT_GYRO_ANY_MOTION_REG BNO055_INTR_STAT_ADDR
gume 0:1f82672b8755 1465
gume 0:1f82672b8755 1466 #define BNO055_INTR_STAT_GYRO_HIGHRATE_POS (3)
gume 0:1f82672b8755 1467 #define BNO055_INTR_STAT_GYRO_HIGHRATE_MSK (0X08)
gume 0:1f82672b8755 1468 #define BNO055_INTR_STAT_GYRO_HIGHRATE_LEN (1)
gume 0:1f82672b8755 1469 #define BNO055_INTR_STAT_GYRO_HIGHRATE_REG BNO055_INTR_STAT_ADDR
gume 0:1f82672b8755 1470
gume 0:1f82672b8755 1471 #define BNO055_INTR_STAT_ACCEL_HIGH_G_POS (5)
gume 0:1f82672b8755 1472 #define BNO055_INTR_STAT_ACCEL_HIGH_G_MSK (0X20)
gume 0:1f82672b8755 1473 #define BNO055_INTR_STAT_ACCEL_HIGH_G_LEN (1)
gume 0:1f82672b8755 1474 #define BNO055_INTR_STAT_ACCEL_HIGH_G_REG BNO055_INTR_STAT_ADDR
gume 0:1f82672b8755 1475
gume 0:1f82672b8755 1476 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_POS (6)
gume 0:1f82672b8755 1477 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_MSK (0X40)
gume 0:1f82672b8755 1478 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_LEN (1)
gume 0:1f82672b8755 1479 #define BNO055_INTR_STAT_ACCEL_ANY_MOTION_REG BNO055_INTR_STAT_ADDR
gume 0:1f82672b8755 1480
gume 0:1f82672b8755 1481 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_POS (7)
gume 0:1f82672b8755 1482 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_MSK (0X80)
gume 0:1f82672b8755 1483 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_LEN (1)
gume 0:1f82672b8755 1484 #define BNO055_INTR_STAT_ACCEL_NO_MOTION_REG BNO055_INTR_STAT_ADDR
gume 0:1f82672b8755 1485
gume 0:1f82672b8755 1486 /* system clock status register*/
gume 0:1f82672b8755 1487 #define BNO055_SYS_MAIN_CLK_POS (0)
gume 0:1f82672b8755 1488 #define BNO055_SYS_MAIN_CLK_MSK (0X10)
gume 0:1f82672b8755 1489 #define BNO055_SYS_MAIN_CLK_LEN (1)
gume 0:1f82672b8755 1490 #define BNO055_SYS_MAIN_CLK_REG BNO055_SYS_CLK_STAT_ADDR
gume 0:1f82672b8755 1491
gume 0:1f82672b8755 1492 /* System registers*/
gume 0:1f82672b8755 1493 #define BNO055_SYS_STAT_CODE_POS (0)
gume 0:1f82672b8755 1494 #define BNO055_SYS_STAT_CODE_MSK (0XFF)
gume 0:1f82672b8755 1495 #define BNO055_SYS_STAT_CODE_LEN (8)
gume 0:1f82672b8755 1496 #define BNO055_SYS_STAT_CODE_REG BNO055_SYS_STAT_ADDR
gume 0:1f82672b8755 1497
gume 0:1f82672b8755 1498 #define BNO055_SYS_ERROR_CODE_POS (0)
gume 0:1f82672b8755 1499 #define BNO055_SYS_ERROR_CODE_MSK (0XFF)
gume 0:1f82672b8755 1500 #define BNO055_SYS_ERROR_CODE_LEN (8)
gume 0:1f82672b8755 1501 #define BNO055_SYS_ERROR_CODE_REG BNO055_SYS_ERR_ADDR
gume 0:1f82672b8755 1502
gume 0:1f82672b8755 1503 /* Accel_Unit register*/
gume 0:1f82672b8755 1504 #define BNO055_ACCEL_UNIT_POS (0)
gume 0:1f82672b8755 1505 #define BNO055_ACCEL_UNIT_MSK (0X01)
gume 0:1f82672b8755 1506 #define BNO055_ACCEL_UNIT_LEN (1)
gume 0:1f82672b8755 1507 #define BNO055_ACCEL_UNIT_REG BNO055_UNIT_SEL_ADDR
gume 0:1f82672b8755 1508
gume 0:1f82672b8755 1509 /* Gyro_Unit register*/
gume 0:1f82672b8755 1510 #define BNO055_GYRO_UNIT_POS (1)
gume 0:1f82672b8755 1511 #define BNO055_GYRO_UNIT_MSK (0X02)
gume 0:1f82672b8755 1512 #define BNO055_GYRO_UNIT_LEN (1)
gume 0:1f82672b8755 1513 #define BNO055_GYRO_UNIT_REG BNO055_UNIT_SEL_ADDR
gume 0:1f82672b8755 1514
gume 0:1f82672b8755 1515 /* Euler_Unit register*/
gume 0:1f82672b8755 1516 #define BNO055_EULER_UNIT_POS (2)
gume 0:1f82672b8755 1517 #define BNO055_EULER_UNIT_MSK (0X04)
gume 0:1f82672b8755 1518 #define BNO055_EULER_UNIT_LEN (1)
gume 0:1f82672b8755 1519 #define BNO055_EULER_UNIT_REG BNO055_UNIT_SEL_ADDR
gume 0:1f82672b8755 1520
gume 0:1f82672b8755 1521 /* Tilt_Unit register*/
gume 0:1f82672b8755 1522 #define BNO055_TILT_UNIT_POS (3)
gume 0:1f82672b8755 1523 #define BNO055_TILT_UNIT_MSK (0X08)
gume 0:1f82672b8755 1524 #define BNO055_TILT_UNIT_LEN (1)
gume 0:1f82672b8755 1525 #define BNO055_TILT_UNIT_REG BNO055_UNIT_SEL_ADDR
gume 0:1f82672b8755 1526
gume 0:1f82672b8755 1527 /* Temperature_Unit register*/
gume 0:1f82672b8755 1528 #define BNO055_TEMP_UNIT_POS (4)
gume 0:1f82672b8755 1529 #define BNO055_TEMP_UNIT_MSK (0X10)
gume 0:1f82672b8755 1530 #define BNO055_TEMP_UNIT_LEN (1)
gume 0:1f82672b8755 1531 #define BNO055_TEMP_UNIT_REG BNO055_UNIT_SEL_ADDR
gume 0:1f82672b8755 1532
gume 0:1f82672b8755 1533 /* ORI android-windows register*/
gume 0:1f82672b8755 1534 #define BNO055_DATA_OUTPUT_FORMAT_POS (7)
gume 0:1f82672b8755 1535 #define BNO055_DATA_OUTPUT_FORMAT_MSK (0X80)
gume 0:1f82672b8755 1536 #define BNO055_DATA_OUTPUT_FORMAT_LEN (1)
gume 0:1f82672b8755 1537 #define BNO055_DATA_OUTPUT_FORMAT_REG BNO055_UNIT_SEL_ADDR
gume 0:1f82672b8755 1538 /*Operation Mode data register*/
gume 0:1f82672b8755 1539 #define BNO055_OPERATION_MODE_POS (0)
gume 0:1f82672b8755 1540 #define BNO055_OPERATION_MODE_MSK (0X0F)
gume 0:1f82672b8755 1541 #define BNO055_OPERATION_MODE_LEN (4)
gume 0:1f82672b8755 1542 #define BNO055_OPERATION_MODE_REG BNO055_OPR_MODE_ADDR
gume 0:1f82672b8755 1543 /* Power Mode register*/
gume 0:1f82672b8755 1544 #define BNO055_POWER_MODE_POS (0)
gume 0:1f82672b8755 1545 #define BNO055_POWER_MODE_MSK (0X03)
gume 0:1f82672b8755 1546 #define BNO055_POWER_MODE_LEN (2)
gume 0:1f82672b8755 1547 #define BNO055_POWER_MODE_REG BNO055_PWR_MODE_ADDR
gume 0:1f82672b8755 1548
gume 0:1f82672b8755 1549 /*Self Test register*/
gume 0:1f82672b8755 1550 #define BNO055_SELFTEST_POS (0)
gume 0:1f82672b8755 1551 #define BNO055_SELFTEST_MSK (0X01)
gume 0:1f82672b8755 1552 #define BNO055_SELFTEST_LEN (1)
gume 0:1f82672b8755 1553 #define BNO055_SELFTEST_REG BNO055_SYS_TRIGGER_ADDR
gume 0:1f82672b8755 1554
gume 0:1f82672b8755 1555 /* RST_SYS register*/
gume 0:1f82672b8755 1556 #define BNO055_SYS_RST_POS (5)
gume 0:1f82672b8755 1557 #define BNO055_SYS_RST_MSK (0X20)
gume 0:1f82672b8755 1558 #define BNO055_SYS_RST_LEN (1)
gume 0:1f82672b8755 1559 #define BNO055_SYS_RST_REG BNO055_SYS_TRIGGER_ADDR
gume 0:1f82672b8755 1560
gume 0:1f82672b8755 1561 /* RST_INT register*/
gume 0:1f82672b8755 1562 #define BNO055_INTR_RST_POS (6)
gume 0:1f82672b8755 1563 #define BNO055_INTR_RST_MSK (0X40)
gume 0:1f82672b8755 1564 #define BNO055_INTR_RST_LEN (1)
gume 0:1f82672b8755 1565 #define BNO055_INTR_RST_REG BNO055_SYS_TRIGGER_ADDR
gume 0:1f82672b8755 1566
gume 0:1f82672b8755 1567 /* CLK_SRC register*/
gume 0:1f82672b8755 1568 #define BNO055_CLK_SRC_POS (7)
gume 0:1f82672b8755 1569 #define BNO055_CLK_SRC_MSK (0X80)
gume 0:1f82672b8755 1570 #define BNO055_CLK_SRC_LEN (1)
gume 0:1f82672b8755 1571 #define BNO055_CLK_SRC_REG BNO055_SYS_TRIGGER_ADDR
gume 0:1f82672b8755 1572
gume 0:1f82672b8755 1573 /* Temp source register*/
gume 0:1f82672b8755 1574 #define BNO055_TEMP_SOURCE_POS (0)
gume 0:1f82672b8755 1575 #define BNO055_TEMP_SOURCE_MSK (0X03)
gume 0:1f82672b8755 1576 #define BNO055_TEMP_SOURCE_LEN (2)
gume 0:1f82672b8755 1577 #define BNO055_TEMP_SOURCE_REG BNO055_TEMP_SOURCE_ADDR
gume 0:1f82672b8755 1578
gume 0:1f82672b8755 1579 /* Axis remap value register*/
gume 0:1f82672b8755 1580 #define BNO055_REMAP_AXIS_VALUE_POS (0)
gume 0:1f82672b8755 1581 #define BNO055_REMAP_AXIS_VALUE_MSK (0X3F)
gume 0:1f82672b8755 1582 #define BNO055_REMAP_AXIS_VALUE_LEN (6)
gume 0:1f82672b8755 1583 #define BNO055_REMAP_AXIS_VALUE_REG BNO055_AXIS_MAP_CONFIG_ADDR
gume 0:1f82672b8755 1584
gume 0:1f82672b8755 1585 /* Axis sign value register*/
gume 0:1f82672b8755 1586 #define BNO055_REMAP_Z_SIGN_POS (0)
gume 0:1f82672b8755 1587 #define BNO055_REMAP_Z_SIGN_MSK (0X01)
gume 0:1f82672b8755 1588 #define BNO055_REMAP_Z_SIGN_LEN (1)
gume 0:1f82672b8755 1589 #define BNO055_REMAP_Z_SIGN_REG BNO055_AXIS_MAP_SIGN_ADDR
gume 0:1f82672b8755 1590
gume 0:1f82672b8755 1591 #define BNO055_REMAP_Y_SIGN_POS (1)
gume 0:1f82672b8755 1592 #define BNO055_REMAP_Y_SIGN_MSK (0X02)
gume 0:1f82672b8755 1593 #define BNO055_REMAP_Y_SIGN_LEN (1)
gume 0:1f82672b8755 1594 #define BNO055_REMAP_Y_SIGN_REG BNO055_AXIS_MAP_SIGN_ADDR
gume 0:1f82672b8755 1595
gume 0:1f82672b8755 1596 #define BNO055_REMAP_X_SIGN_POS (2)
gume 0:1f82672b8755 1597 #define BNO055_REMAP_X_SIGN_MSK (0X04)
gume 0:1f82672b8755 1598 #define BNO055_REMAP_X_SIGN_LEN (1)
gume 0:1f82672b8755 1599 #define BNO055_REMAP_X_SIGN_REG BNO055_AXIS_MAP_SIGN_ADDR
gume 0:1f82672b8755 1600
gume 0:1f82672b8755 1601 /* Soft Iron Calibration matrix register*/
gume 0:1f82672b8755 1602 #define BNO055_SIC_MATRIX_0_LSB_POS (0)
gume 0:1f82672b8755 1603 #define BNO055_SIC_MATRIX_0_LSB_MSK (0XFF)
gume 0:1f82672b8755 1604 #define BNO055_SIC_MATRIX_0_LSB_LEN (8)
gume 0:1f82672b8755 1605 #define BNO055_SIC_MATRIX_0_LSB_REG BNO055_SIC_MATRIX_0_LSB_ADDR
gume 0:1f82672b8755 1606
gume 0:1f82672b8755 1607 #define BNO055_SIC_MATRIX_0_MSB_POS (0)
gume 0:1f82672b8755 1608 #define BNO055_SIC_MATRIX_0_MSB_MSK (0XFF)
gume 0:1f82672b8755 1609 #define BNO055_SIC_MATRIX_0_MSB_LEN (8)
gume 0:1f82672b8755 1610 #define BNO055_SIC_MATRIX_0_MSB_REG BNO055_SIC_MATRIX_0_MSB_ADDR
gume 0:1f82672b8755 1611
gume 0:1f82672b8755 1612 #define BNO055_SIC_MATRIX_1_LSB_POS (0)
gume 0:1f82672b8755 1613 #define BNO055_SIC_MATRIX_1_LSB_MSK (0XFF)
gume 0:1f82672b8755 1614 #define BNO055_SIC_MATRIX_1_LSB_LEN (8)
gume 0:1f82672b8755 1615 #define BNO055_SIC_MATRIX_1_LSB_REG BNO055_SIC_MATRIX_1_LSB_ADDR
gume 0:1f82672b8755 1616
gume 0:1f82672b8755 1617 #define BNO055_SIC_MATRIX_1_MSB_POS (0)
gume 0:1f82672b8755 1618 #define BNO055_SIC_MATRIX_1_MSB_MSK (0XFF)
gume 0:1f82672b8755 1619 #define BNO055_SIC_MATRIX_1_MSB_LEN (8)
gume 0:1f82672b8755 1620 #define BNO055_SIC_MATRIX_1_MSB_REG BNO055_SIC_MATRIX_1_MSB_ADDR
gume 0:1f82672b8755 1621
gume 0:1f82672b8755 1622 #define BNO055_SIC_MATRIX_2_LSB_POS (0)
gume 0:1f82672b8755 1623 #define BNO055_SIC_MATRIX_2_LSB_MSK (0XFF)
gume 0:1f82672b8755 1624 #define BNO055_SIC_MATRIX_2_LSB_LEN (8)
gume 0:1f82672b8755 1625 #define BNO055_SIC_MATRIX_2_LSB_REG BNO055_SIC_MATRIX_2_LSB_ADDR
gume 0:1f82672b8755 1626
gume 0:1f82672b8755 1627 #define BNO055_SIC_MATRIX_2_MSB_POS (0)
gume 0:1f82672b8755 1628 #define BNO055_SIC_MATRIX_2_MSB_MSK (0XFF)
gume 0:1f82672b8755 1629 #define BNO055_SIC_MATRIX_2_MSB_LEN (8)
gume 0:1f82672b8755 1630 #define BNO055_SIC_MATRIX_2_MSB_REG BNO055_SIC_MATRIX_2_MSB_ADDR
gume 0:1f82672b8755 1631
gume 0:1f82672b8755 1632 #define BNO055_SIC_MATRIX_3_LSB_POS (0)
gume 0:1f82672b8755 1633 #define BNO055_SIC_MATRIX_3_LSB_MSK (0XFF)
gume 0:1f82672b8755 1634 #define BNO055_SIC_MATRIX_3_LSB_LEN (8)
gume 0:1f82672b8755 1635 #define BNO055_SIC_MATRIX_3_LSB_REG BNO055_SIC_MATRIX_3_LSB_ADDR
gume 0:1f82672b8755 1636
gume 0:1f82672b8755 1637 #define BNO055_SIC_MATRIX_3_MSB_POS (0)
gume 0:1f82672b8755 1638 #define BNO055_SIC_MATRIX_3_MSB_MSK (0XFF)
gume 0:1f82672b8755 1639 #define BNO055_SIC_MATRIX_3_MSB_LEN (8)
gume 0:1f82672b8755 1640 #define BNO055_SIC_MATRIX_3_MSB_REG BNO055_SIC_MATRIX_3_MSB_ADDR
gume 0:1f82672b8755 1641
gume 0:1f82672b8755 1642 #define BNO055_SIC_MATRIX_4_LSB_POS (0)
gume 0:1f82672b8755 1643 #define BNO055_SIC_MATRIX_4_LSB_MSK (0XFF)
gume 0:1f82672b8755 1644 #define BNO055_SIC_MATRIX_4_LSB_LEN (8)
gume 0:1f82672b8755 1645 #define BNO055_SIC_MATRIX_4_LSB_REG BNO055_SIC_MATRIX_4_LSB_ADDR
gume 0:1f82672b8755 1646
gume 0:1f82672b8755 1647 #define BNO055_SIC_MATRIX_4_MSB_POS (0)
gume 0:1f82672b8755 1648 #define BNO055_SIC_MATRIX_4_MSB_MSK (0XFF)
gume 0:1f82672b8755 1649 #define BNO055_SIC_MATRIX_4_MSB_LEN (8)
gume 0:1f82672b8755 1650 #define BNO055_SIC_MATRIX_4_MSB_REG BNO055_SIC_MATRIX_4_MSB_ADDR
gume 0:1f82672b8755 1651
gume 0:1f82672b8755 1652 #define BNO055_SIC_MATRIX_5_LSB_POS (0)
gume 0:1f82672b8755 1653 #define BNO055_SIC_MATRIX_5_LSB_MSK (0XFF)
gume 0:1f82672b8755 1654 #define BNO055_SIC_MATRIX_5_LSB_LEN (8)
gume 0:1f82672b8755 1655 #define BNO055_SIC_MATRIX_5_LSB_REG BNO055_SIC_MATRIX_5_LSB_ADDR
gume 0:1f82672b8755 1656
gume 0:1f82672b8755 1657 #define BNO055_SIC_MATRIX_5_MSB_POS (0)
gume 0:1f82672b8755 1658 #define BNO055_SIC_MATRIX_5_MSB_MSK (0XFF)
gume 0:1f82672b8755 1659 #define BNO055_SIC_MATRIX_5_MSB_LEN (8)
gume 0:1f82672b8755 1660 #define BNO055_SIC_MATRIX_5_MSB_REG BNO055_SIC_MATRIX_5_MSB_ADDR
gume 0:1f82672b8755 1661
gume 0:1f82672b8755 1662 #define BNO055_SIC_MATRIX_6_LSB_POS (0)
gume 0:1f82672b8755 1663 #define BNO055_SIC_MATRIX_6_LSB_MSK (0XFF)
gume 0:1f82672b8755 1664 #define BNO055_SIC_MATRIX_6_LSB_LEN (8)
gume 0:1f82672b8755 1665 #define BNO055_SIC_MATRIX_6_LSB_REG BNO055_SIC_MATRIX_6_LSB_ADDR
gume 0:1f82672b8755 1666
gume 0:1f82672b8755 1667 #define BNO055_SIC_MATRIX_6_MSB_POS (0)
gume 0:1f82672b8755 1668 #define BNO055_SIC_MATRIX_6_MSB_MSK (0XFF)
gume 0:1f82672b8755 1669 #define BNO055_SIC_MATRIX_6_MSB_LEN (8)
gume 0:1f82672b8755 1670 #define BNO055_SIC_MATRIX_6_MSB_REG BNO055_SIC_MATRIX_6_MSB_ADDR
gume 0:1f82672b8755 1671
gume 0:1f82672b8755 1672 #define BNO055_SIC_MATRIX_7_LSB_POS (0)
gume 0:1f82672b8755 1673 #define BNO055_SIC_MATRIX_7_LSB_MSK (0XFF)
gume 0:1f82672b8755 1674 #define BNO055_SIC_MATRIX_7_LSB_LEN (8)
gume 0:1f82672b8755 1675 #define BNO055_SIC_MATRIX_7_LSB_REG BNO055_SIC_MATRIX_7_LSB_ADDR
gume 0:1f82672b8755 1676
gume 0:1f82672b8755 1677 #define BNO055_SIC_MATRIX_7_MSB_POS (0)
gume 0:1f82672b8755 1678 #define BNO055_SIC_MATRIX_7_MSB_MSK (0XFF)
gume 0:1f82672b8755 1679 #define BNO055_SIC_MATRIX_7_MSB_LEN (8)
gume 0:1f82672b8755 1680 #define BNO055_SIC_MATRIX_7_MSB_REG BNO055_SIC_MATRIX_7_MSB_ADDR
gume 0:1f82672b8755 1681
gume 0:1f82672b8755 1682 #define BNO055_SIC_MATRIX_8_LSB_POS (0)
gume 0:1f82672b8755 1683 #define BNO055_SIC_MATRIX_8_LSB_MSK (0XFF)
gume 0:1f82672b8755 1684 #define BNO055_SIC_MATRIX_8_LSB_LEN (8)
gume 0:1f82672b8755 1685 #define BNO055_SIC_MATRIX_8_LSB_REG BNO055_SIC_MATRIX_8_LSB_ADDR
gume 0:1f82672b8755 1686
gume 0:1f82672b8755 1687 #define BNO055_SIC_MATRIX_8_MSB_POS (0)
gume 0:1f82672b8755 1688 #define BNO055_SIC_MATRIX_8_MSB_MSK (0XFF)
gume 0:1f82672b8755 1689 #define BNO055_SIC_MATRIX_8_MSB_LEN (8)
gume 0:1f82672b8755 1690 #define BNO055_SIC_MATRIX_8_MSB_REG BNO055_SIC_MATRIX_8_MSB_ADDR
gume 0:1f82672b8755 1691
gume 0:1f82672b8755 1692 /*Accel Offset registers*/
gume 0:1f82672b8755 1693 #define BNO055_ACCEL_OFFSET_X_LSB_POS (0)
gume 0:1f82672b8755 1694 #define BNO055_ACCEL_OFFSET_X_LSB_MSK (0XFF)
gume 0:1f82672b8755 1695 #define BNO055_ACCEL_OFFSET_X_LSB_LEN (8)
gume 0:1f82672b8755 1696 #define BNO055_ACCEL_OFFSET_X_LSB_REG BNO055_ACCEL_OFFSET_X_LSB_ADDR
gume 0:1f82672b8755 1697
gume 0:1f82672b8755 1698 #define BNO055_ACCEL_OFFSET_X_MSB_POS (0)
gume 0:1f82672b8755 1699 #define BNO055_ACCEL_OFFSET_X_MSB_MSK (0XFF)
gume 0:1f82672b8755 1700 #define BNO055_ACCEL_OFFSET_X_MSB_LEN (8)
gume 0:1f82672b8755 1701 #define BNO055_ACCEL_OFFSET_X_MSB_REG BNO055_ACCEL_OFFSET_X_MSB_ADDR
gume 0:1f82672b8755 1702
gume 0:1f82672b8755 1703 #define BNO055_ACCEL_OFFSET_Y_LSB_POS (0)
gume 0:1f82672b8755 1704 #define BNO055_ACCEL_OFFSET_Y_LSB_MSK (0XFF)
gume 0:1f82672b8755 1705 #define BNO055_ACCEL_OFFSET_Y_LSB_LEN (8)
gume 0:1f82672b8755 1706 #define BNO055_ACCEL_OFFSET_Y_LSB_REG BNO055_ACCEL_OFFSET_Y_LSB_ADDR
gume 0:1f82672b8755 1707
gume 0:1f82672b8755 1708 #define BNO055_ACCEL_OFFSET_Y_MSB_POS (0)
gume 0:1f82672b8755 1709 #define BNO055_ACCEL_OFFSET_Y_MSB_MSK (0XFF)
gume 0:1f82672b8755 1710 #define BNO055_ACCEL_OFFSET_Y_MSB_LEN (8)
gume 0:1f82672b8755 1711 #define BNO055_ACCEL_OFFSET_Y_MSB_REG BNO055_ACCEL_OFFSET_Y_MSB_ADDR
gume 0:1f82672b8755 1712
gume 0:1f82672b8755 1713 #define BNO055_ACCEL_OFFSET_Z_LSB_POS (0)
gume 0:1f82672b8755 1714 #define BNO055_ACCEL_OFFSET_Z_LSB_MSK (0XFF)
gume 0:1f82672b8755 1715 #define BNO055_ACCEL_OFFSET_Z_LSB_LEN (8)
gume 0:1f82672b8755 1716 #define BNO055_ACCEL_OFFSET_Z_LSB_REG BNO055_ACCEL_OFFSET_Z_LSB_ADDR
gume 0:1f82672b8755 1717
gume 0:1f82672b8755 1718 #define BNO055_ACCEL_OFFSET_Z_MSB_POS (0)
gume 0:1f82672b8755 1719 #define BNO055_ACCEL_OFFSET_Z_MSB_MSK (0XFF)
gume 0:1f82672b8755 1720 #define BNO055_ACCEL_OFFSET_Z_MSB_LEN (8)
gume 0:1f82672b8755 1721 #define BNO055_ACCEL_OFFSET_Z_MSB_REG BNO055_ACCEL_OFFSET_Z_MSB_ADDR
gume 0:1f82672b8755 1722
gume 0:1f82672b8755 1723 /*Mag Offset registers*/
gume 0:1f82672b8755 1724 #define BNO055_MAG_OFFSET_X_LSB_POS (0)
gume 0:1f82672b8755 1725 #define BNO055_MAG_OFFSET_X_LSB_MSK (0XFF)
gume 0:1f82672b8755 1726 #define BNO055_MAG_OFFSET_X_LSB_LEN (8)
gume 0:1f82672b8755 1727 #define BNO055_MAG_OFFSET_X_LSB_REG BNO055_MAG_OFFSET_X_LSB_ADDR
gume 0:1f82672b8755 1728
gume 0:1f82672b8755 1729 #define BNO055_MAG_OFFSET_X_MSB_POS (0)
gume 0:1f82672b8755 1730 #define BNO055_MAG_OFFSET_X_MSB_MSK (0XFF)
gume 0:1f82672b8755 1731 #define BNO055_MAG_OFFSET_X_MSB_LEN (8)
gume 0:1f82672b8755 1732 #define BNO055_MAG_OFFSET_X_MSB_REG BNO055_MAG_OFFSET_X_MSB_ADDR
gume 0:1f82672b8755 1733
gume 0:1f82672b8755 1734 #define BNO055_MAG_OFFSET_Y_LSB_POS (0)
gume 0:1f82672b8755 1735 #define BNO055_MAG_OFFSET_Y_LSB_MSK (0XFF)
gume 0:1f82672b8755 1736 #define BNO055_MAG_OFFSET_Y_LSB_LEN (8)
gume 0:1f82672b8755 1737 #define BNO055_MAG_OFFSET_Y_LSB_REG BNO055_MAG_OFFSET_Y_LSB_ADDR
gume 0:1f82672b8755 1738
gume 0:1f82672b8755 1739 #define BNO055_MAG_OFFSET_Y_MSB_POS (0)
gume 0:1f82672b8755 1740 #define BNO055_MAG_OFFSET_Y_MSB_MSK (0XFF)
gume 0:1f82672b8755 1741 #define BNO055_MAG_OFFSET_Y_MSB_LEN (8)
gume 0:1f82672b8755 1742 #define BNO055_MAG_OFFSET_Y_MSB_REG BNO055_MAG_OFFSET_Y_MSB_ADDR
gume 0:1f82672b8755 1743
gume 0:1f82672b8755 1744 #define BNO055_MAG_OFFSET_Z_LSB_POS (0)
gume 0:1f82672b8755 1745 #define BNO055_MAG_OFFSET_Z_LSB_MSK (0XFF)
gume 0:1f82672b8755 1746 #define BNO055_MAG_OFFSET_Z_LSB_LEN (8)
gume 0:1f82672b8755 1747 #define BNO055_MAG_OFFSET_Z_LSB_REG BNO055_MAG_OFFSET_Z_LSB_ADDR
gume 0:1f82672b8755 1748
gume 0:1f82672b8755 1749 #define BNO055_MAG_OFFSET_Z_MSB_POS (0)
gume 0:1f82672b8755 1750 #define BNO055_MAG_OFFSET_Z_MSB_MSK (0XFF)
gume 0:1f82672b8755 1751 #define BNO055_MAG_OFFSET_Z_MSB_LEN (8)
gume 0:1f82672b8755 1752 #define BNO055_MAG_OFFSET_Z_MSB_REG BNO055_MAG_OFFSET_Z_MSB_ADDR
gume 0:1f82672b8755 1753
gume 0:1f82672b8755 1754 /* Gyro Offset registers*/
gume 0:1f82672b8755 1755 #define BNO055_GYRO_OFFSET_X_LSB_POS (0)
gume 0:1f82672b8755 1756 #define BNO055_GYRO_OFFSET_X_LSB_MSK (0XFF)
gume 0:1f82672b8755 1757 #define BNO055_GYRO_OFFSET_X_LSB_LEN (8)
gume 0:1f82672b8755 1758 #define BNO055_GYRO_OFFSET_X_LSB_REG BNO055_GYRO_OFFSET_X_LSB_ADDR
gume 0:1f82672b8755 1759
gume 0:1f82672b8755 1760 #define BNO055_GYRO_OFFSET_X_MSB_POS (0)
gume 0:1f82672b8755 1761 #define BNO055_GYRO_OFFSET_X_MSB_MSK (0XFF)
gume 0:1f82672b8755 1762 #define BNO055_GYRO_OFFSET_X_MSB_LEN (8)
gume 0:1f82672b8755 1763 #define BNO055_GYRO_OFFSET_X_MSB_REG BNO055_GYRO_OFFSET_X_MSB_ADDR
gume 0:1f82672b8755 1764
gume 0:1f82672b8755 1765 #define BNO055_GYRO_OFFSET_Y_LSB_POS (0)
gume 0:1f82672b8755 1766 #define BNO055_GYRO_OFFSET_Y_LSB_MSK (0XFF)
gume 0:1f82672b8755 1767 #define BNO055_GYRO_OFFSET_Y_LSB_LEN (8)
gume 0:1f82672b8755 1768 #define BNO055_GYRO_OFFSET_Y_LSB_REG BNO055_GYRO_OFFSET_Y_LSB_ADDR
gume 0:1f82672b8755 1769
gume 0:1f82672b8755 1770 #define BNO055_GYRO_OFFSET_Y_MSB_POS (0)
gume 0:1f82672b8755 1771 #define BNO055_GYRO_OFFSET_Y_MSB_MSK (0XFF)
gume 0:1f82672b8755 1772 #define BNO055_GYRO_OFFSET_Y_MSB_LEN (8)
gume 0:1f82672b8755 1773 #define BNO055_GYRO_OFFSET_Y_MSB_REG BNO055_GYRO_OFFSET_Y_MSB_ADDR
gume 0:1f82672b8755 1774
gume 0:1f82672b8755 1775 #define BNO055_GYRO_OFFSET_Z_LSB_POS (0)
gume 0:1f82672b8755 1776 #define BNO055_GYRO_OFFSET_Z_LSB_MSK (0XFF)
gume 0:1f82672b8755 1777 #define BNO055_GYRO_OFFSET_Z_LSB_LEN (8)
gume 0:1f82672b8755 1778 #define BNO055_GYRO_OFFSET_Z_LSB_REG BNO055_GYRO_OFFSET_Z_LSB_ADDR
gume 0:1f82672b8755 1779
gume 0:1f82672b8755 1780 #define BNO055_GYRO_OFFSET_Z_MSB_POS (0)
gume 0:1f82672b8755 1781 #define BNO055_GYRO_OFFSET_Z_MSB_MSK (0XFF)
gume 0:1f82672b8755 1782 #define BNO055_GYRO_OFFSET_Z_MSB_LEN (8)
gume 0:1f82672b8755 1783 #define BNO055_GYRO_OFFSET_Z_MSB_REG BNO055_GYRO_OFFSET_Z_MSB_ADDR
gume 0:1f82672b8755 1784
gume 0:1f82672b8755 1785 /* Radius register definition*/
gume 0:1f82672b8755 1786 #define BNO055_ACCEL_RADIUS_LSB_POS (0)
gume 0:1f82672b8755 1787 #define BNO055_ACCEL_RADIUS_LSB_MSK (0XFF)
gume 0:1f82672b8755 1788 #define BNO055_ACCEL_RADIUS_LSB_LEN (8)
gume 0:1f82672b8755 1789 #define BNO055_ACCEL_RADIUS_LSB_REG BNO055_ACCEL_RADIUS_LSB_ADDR
gume 0:1f82672b8755 1790
gume 0:1f82672b8755 1791 #define BNO055_ACCEL_RADIUS_MSB_POS (0)
gume 0:1f82672b8755 1792 #define BNO055_ACCEL_RADIUS_MSB_MSK (0XFF)
gume 0:1f82672b8755 1793 #define BNO055_ACCEL_RADIUS_MSB_LEN (8)
gume 0:1f82672b8755 1794 #define BNO055_ACCEL_RADIUS_MSB_REG BNO055_ACCEL_RADIUS_MSB_ADDR
gume 0:1f82672b8755 1795
gume 0:1f82672b8755 1796 #define BNO055_MAG_RADIUS_LSB_POS (0)
gume 0:1f82672b8755 1797 #define BNO055_MAG_RADIUS_LSB_MSK (0XFF)
gume 0:1f82672b8755 1798 #define BNO055_MAG_RADIUS_LSB_LEN (8)
gume 0:1f82672b8755 1799 #define BNO055_MAG_RADIUS_LSB_REG BNO055_MAG_RADIUS_LSB_ADDR
gume 0:1f82672b8755 1800
gume 0:1f82672b8755 1801 #define BNO055_MAG_RADIUS_MSB_POS (0)
gume 0:1f82672b8755 1802 #define BNO055_MAG_RADIUS_MSB_MSK (0XFF)
gume 0:1f82672b8755 1803 #define BNO055_MAG_RADIUS_MSB_LEN (8)
gume 0:1f82672b8755 1804 #define BNO055_MAG_RADIUS_MSB_REG BNO055_MAG_RADIUS_MSB_ADDR
gume 0:1f82672b8755 1805
gume 0:1f82672b8755 1806 /* PAGE0 DATA REGISTERS DEFINITION END*/
gume 0:1f82672b8755 1807 /*************************************************/
gume 0:1f82672b8755 1808 /**\name PAGE1 DATA REGISTERS DEFINITION */
gume 0:1f82672b8755 1809 /*************************************************/
gume 0:1f82672b8755 1810 /* Configuration registers*/
gume 0:1f82672b8755 1811 /* Accel range configuration register*/
gume 0:1f82672b8755 1812 #define BNO055_ACCEL_RANGE_POS (0)
gume 0:1f82672b8755 1813 #define BNO055_ACCEL_RANGE_MSK (0X03)
gume 0:1f82672b8755 1814 #define BNO055_ACCEL_RANGE_LEN (2)
gume 0:1f82672b8755 1815 #define BNO055_ACCEL_RANGE_REG BNO055_ACCEL_CONFIG_ADDR
gume 0:1f82672b8755 1816
gume 0:1f82672b8755 1817 /* Accel bandwidth configuration register*/
gume 0:1f82672b8755 1818 #define BNO055_ACCEL_BW_POS (2)
gume 0:1f82672b8755 1819 #define BNO055_ACCEL_BW_MSK (0X1C)
gume 0:1f82672b8755 1820 #define BNO055_ACCEL_BW_LEN (3)
gume 0:1f82672b8755 1821 #define BNO055_ACCEL_BW_REG BNO055_ACCEL_CONFIG_ADDR
gume 0:1f82672b8755 1822
gume 0:1f82672b8755 1823 /* Accel power mode configuration register*/
gume 0:1f82672b8755 1824 #define BNO055_ACCEL_POWER_MODE_POS (5)
gume 0:1f82672b8755 1825 #define BNO055_ACCEL_POWER_MODE_MSK (0XE0)
gume 0:1f82672b8755 1826 #define BNO055_ACCEL_POWER_MODE_LEN (3)
gume 0:1f82672b8755 1827 #define BNO055_ACCEL_POWER_MODE_REG BNO055_ACCEL_CONFIG_ADDR
gume 0:1f82672b8755 1828
gume 0:1f82672b8755 1829 /* Mag data output rate configuration register*/
gume 0:1f82672b8755 1830 #define BNO055_MAG_DATA_OUTPUT_RATE_POS (0)
gume 0:1f82672b8755 1831 #define BNO055_MAG_DATA_OUTPUT_RATE_MSK (0X07)
gume 0:1f82672b8755 1832 #define BNO055_MAG_DATA_OUTPUT_RATE_LEN (3)
gume 0:1f82672b8755 1833 #define BNO055_MAG_DATA_OUTPUT_RATE_REG BNO055_MAG_CONFIG_ADDR
gume 0:1f82672b8755 1834
gume 0:1f82672b8755 1835 /* Mag operation mode configuration register*/
gume 0:1f82672b8755 1836 #define BNO055_MAG_OPERATION_MODE_POS (3)
gume 0:1f82672b8755 1837 #define BNO055_MAG_OPERATION_MODE_MSK (0X18)
gume 0:1f82672b8755 1838 #define BNO055_MAG_OPERATION_MODE_LEN (2)
gume 0:1f82672b8755 1839 #define BNO055_MAG_OPERATION_MODE_REG BNO055_MAG_CONFIG_ADDR
gume 0:1f82672b8755 1840
gume 0:1f82672b8755 1841 /* Mag power mode configuration register*/
gume 0:1f82672b8755 1842 #define BNO055_MAG_POWER_MODE_POS (5)
gume 0:1f82672b8755 1843 #define BNO055_MAG_POWER_MODE_MSK (0X60)
gume 0:1f82672b8755 1844 #define BNO055_MAG_POWER_MODE_LEN (2)
gume 0:1f82672b8755 1845 #define BNO055_MAG_POWER_MODE_REG BNO055_MAG_CONFIG_ADDR
gume 0:1f82672b8755 1846
gume 0:1f82672b8755 1847 /* Gyro range configuration register*/
gume 0:1f82672b8755 1848 #define BNO055_GYRO_RANGE_POS (0)
gume 0:1f82672b8755 1849 #define BNO055_GYRO_RANGE_MSK (0X07)
gume 0:1f82672b8755 1850 #define BNO055_GYRO_RANGE_LEN (3)
gume 0:1f82672b8755 1851 #define BNO055_GYRO_RANGE_REG BNO055_GYRO_CONFIG_ADDR
gume 0:1f82672b8755 1852
gume 0:1f82672b8755 1853 /* Gyro bandwidth configuration register*/
gume 0:1f82672b8755 1854 #define BNO055_GYRO_BW_POS (3)
gume 0:1f82672b8755 1855 #define BNO055_GYRO_BW_MSK (0X38)
gume 0:1f82672b8755 1856 #define BNO055_GYRO_BW_LEN (3)
gume 0:1f82672b8755 1857 #define BNO055_GYRO_BW_REG BNO055_GYRO_CONFIG_ADDR
gume 0:1f82672b8755 1858
gume 0:1f82672b8755 1859 /* Gyro power mode configuration register*/
gume 0:1f82672b8755 1860 #define BNO055_GYRO_POWER_MODE_POS (0)
gume 0:1f82672b8755 1861 #define BNO055_GYRO_POWER_MODE_MSK (0X07)
gume 0:1f82672b8755 1862 #define BNO055_GYRO_POWER_MODE_LEN (3)
gume 0:1f82672b8755 1863 #define BNO055_GYRO_POWER_MODE_REG BNO055_GYRO_MODE_CONFIG_ADDR
gume 0:1f82672b8755 1864
gume 0:1f82672b8755 1865 /* Sleep configuration registers*/
gume 0:1f82672b8755 1866 /* Accel sleep mode configuration register*/
gume 0:1f82672b8755 1867 #define BNO055_ACCEL_SLEEP_MODE_POS (0)
gume 0:1f82672b8755 1868 #define BNO055_ACCEL_SLEEP_MODE_MSK (0X01)
gume 0:1f82672b8755 1869 #define BNO055_ACCEL_SLEEP_MODE_LEN (1)
gume 0:1f82672b8755 1870 #define BNO055_ACCEL_SLEEP_MODE_REG BNO055_ACCEL_SLEEP_CONFIG_ADDR
gume 0:1f82672b8755 1871
gume 0:1f82672b8755 1872 /* Accel sleep duration configuration register*/
gume 0:1f82672b8755 1873 #define BNO055_ACCEL_SLEEP_DURN_POS (1)
gume 0:1f82672b8755 1874 #define BNO055_ACCEL_SLEEP_DURN_MSK (0X1E)
gume 0:1f82672b8755 1875 #define BNO055_ACCEL_SLEEP_DURN_LEN (4)
gume 0:1f82672b8755 1876 #define BNO055_ACCEL_SLEEP_DURN_REG BNO055_ACCEL_SLEEP_CONFIG_ADDR
gume 0:1f82672b8755 1877
gume 0:1f82672b8755 1878 /* Gyro sleep duration configuration register*/
gume 0:1f82672b8755 1879 #define BNO055_GYRO_SLEEP_DURN_POS (0)
gume 0:1f82672b8755 1880 #define BNO055_GYRO_SLEEP_DURN_MSK (0X07)
gume 0:1f82672b8755 1881 #define BNO055_GYRO_SLEEP_DURN_LEN (3)
gume 0:1f82672b8755 1882 #define BNO055_GYRO_SLEEP_DURN_REG BNO055_GYRO_SLEEP_CONFIG_ADDR
gume 0:1f82672b8755 1883
gume 0:1f82672b8755 1884 /* Gyro auto sleep duration configuration register*/
gume 0:1f82672b8755 1885 #define BNO055_GYRO_AUTO_SLEEP_DURN_POS (3)
gume 0:1f82672b8755 1886 #define BNO055_GYRO_AUTO_SLEEP_DURN_MSK (0X38)
gume 0:1f82672b8755 1887 #define BNO055_GYRO_AUTO_SLEEP_DURN_LEN (3)
gume 0:1f82672b8755 1888 #define BNO055_GYRO_AUTO_SLEEP_DURN_REG BNO055_GYRO_SLEEP_CONFIG_ADDR
gume 0:1f82672b8755 1889
gume 0:1f82672b8755 1890 /* Mag sleep mode configuration register*/
gume 0:1f82672b8755 1891 #define BNO055_MAG_SLEEP_MODE_POS (0)
gume 0:1f82672b8755 1892 #define BNO055_MAG_SLEEP_MODE_MSK (0X01)
gume 0:1f82672b8755 1893 #define BNO055_MAG_SLEEP_MODE_LEN (1)
gume 0:1f82672b8755 1894 #define BNO055_MAG_SLEEP_MODE_REG BNO055_MAG_SLEEP_CONFIG_ADDR
gume 0:1f82672b8755 1895
gume 0:1f82672b8755 1896 /* Mag sleep duration configuration register*/
gume 0:1f82672b8755 1897 #define BNO055_MAG_SLEEP_DURN_POS (1)
gume 0:1f82672b8755 1898 #define BNO055_MAG_SLEEP_DURN_MSK (0X1E)
gume 0:1f82672b8755 1899 #define BNO055_MAG_SLEEP_DURN_LEN (4)
gume 0:1f82672b8755 1900 #define BNO055_MAG_SLEEP_DURN_REG BNO055_MAG_SLEEP_CONFIG_ADDR
gume 0:1f82672b8755 1901
gume 0:1f82672b8755 1902 /* Interrupt registers*/
gume 0:1f82672b8755 1903 /* Gyro any motion interrupt msk register*/
gume 0:1f82672b8755 1904 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_POS (2)
gume 0:1f82672b8755 1905 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_MSK (0X04)
gume 0:1f82672b8755 1906 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_LEN (1)
gume 0:1f82672b8755 1907 #define BNO055_GYRO_ANY_MOTION_INTR_MASK_REG BNO055_INT_MASK_ADDR
gume 0:1f82672b8755 1908
gume 0:1f82672b8755 1909 /* Gyro high rate interrupt msk register*/
gume 0:1f82672b8755 1910 #define BNO055_GYRO_HIGHRATE_INTR_MASK_POS (3)
gume 0:1f82672b8755 1911 #define BNO055_GYRO_HIGHRATE_INTR_MASK_MSK (0X08)
gume 0:1f82672b8755 1912 #define BNO055_GYRO_HIGHRATE_INTR_MASK_LEN (1)
gume 0:1f82672b8755 1913 #define BNO055_GYRO_HIGHRATE_INTR_MASK_REG BNO055_INT_MASK_ADDR
gume 0:1f82672b8755 1914
gume 0:1f82672b8755 1915 /* Accel high g interrupt msk register*/
gume 0:1f82672b8755 1916 #define BNO055_ACCEL_HIGH_G_INTR_MASK_POS (5)
gume 0:1f82672b8755 1917 #define BNO055_ACCEL_HIGH_G_INTR_MASK_MSK (0X20)
gume 0:1f82672b8755 1918 #define BNO055_ACCEL_HIGH_G_INTR_MASK_LEN (1)
gume 0:1f82672b8755 1919 #define BNO055_ACCEL_HIGH_G_INTR_MASK_REG BNO055_INT_MASK_ADDR
gume 0:1f82672b8755 1920
gume 0:1f82672b8755 1921 /* Accel any motion interrupt msk register*/
gume 0:1f82672b8755 1922 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_POS (6)
gume 0:1f82672b8755 1923 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_MSK (0X40)
gume 0:1f82672b8755 1924 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_LEN (1)
gume 0:1f82672b8755 1925 #define BNO055_ACCEL_ANY_MOTION_INTR_MASK_REG BNO055_INT_MASK_ADDR
gume 0:1f82672b8755 1926
gume 0:1f82672b8755 1927 /* Accel any motion interrupt msk register*/
gume 0:1f82672b8755 1928 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_POS (7)
gume 0:1f82672b8755 1929 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_MSK (0X80)
gume 0:1f82672b8755 1930 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_LEN (1)
gume 0:1f82672b8755 1931 #define BNO055_ACCEL_NO_MOTION_INTR_MASK_REG BNO055_INT_MASK_ADDR
gume 0:1f82672b8755 1932
gume 0:1f82672b8755 1933 /* Gyro any motion interrupt register*/
gume 0:1f82672b8755 1934 #define BNO055_GYRO_ANY_MOTION_INTR_POS (2)
gume 0:1f82672b8755 1935 #define BNO055_GYRO_ANY_MOTION_INTR_MSK (0X04)
gume 0:1f82672b8755 1936 #define BNO055_GYRO_ANY_MOTION_INTR_LEN (1)
gume 0:1f82672b8755 1937 #define BNO055_GYRO_ANY_MOTION_INTR_REG BNO055_INT_ADDR
gume 0:1f82672b8755 1938
gume 0:1f82672b8755 1939 /* Gyro high rate interrupt register*/
gume 0:1f82672b8755 1940 #define BNO055_GYRO_HIGHRATE_INTR_POS (3)
gume 0:1f82672b8755 1941 #define BNO055_GYRO_HIGHRATE_INTR_MSK (0X08)
gume 0:1f82672b8755 1942 #define BNO055_GYRO_HIGHRATE_INTR_LEN (1)
gume 0:1f82672b8755 1943 #define BNO055_GYRO_HIGHRATE_INTR_REG BNO055_INT_ADDR
gume 0:1f82672b8755 1944
gume 0:1f82672b8755 1945 /* Accel high g interrupt register*/
gume 0:1f82672b8755 1946 #define BNO055_ACCEL_HIGH_G_INTR_POS (5)
gume 0:1f82672b8755 1947 #define BNO055_ACCEL_HIGH_G_INTR_MSK (0X20)
gume 0:1f82672b8755 1948 #define BNO055_ACCEL_HIGH_G_INTR_LEN (1)
gume 0:1f82672b8755 1949 #define BNO055_ACCEL_HIGH_G_INTR_REG BNO055_INT_ADDR
gume 0:1f82672b8755 1950
gume 0:1f82672b8755 1951 /* Accel any motion interrupt register*/
gume 0:1f82672b8755 1952 #define BNO055_ACCEL_ANY_MOTION_INTR_POS (6)
gume 0:1f82672b8755 1953 #define BNO055_ACCEL_ANY_MOTION_INTR_MSK (0X40)
gume 0:1f82672b8755 1954 #define BNO055_ACCEL_ANY_MOTION_INTR_LEN (1)
gume 0:1f82672b8755 1955 #define BNO055_ACCEL_ANY_MOTION_INTR_REG BNO055_INT_ADDR
gume 0:1f82672b8755 1956
gume 0:1f82672b8755 1957 /*Accel any motion interrupt register*/
gume 0:1f82672b8755 1958 #define BNO055_ACCEL_NO_MOTION_INTR_POS (7)
gume 0:1f82672b8755 1959 #define BNO055_ACCEL_NO_MOTION_INTR_MSK (0X80)
gume 0:1f82672b8755 1960 #define BNO055_ACCEL_NO_MOTION_INTR_LEN (1)
gume 0:1f82672b8755 1961 #define BNO055_ACCEL_NO_MOTION_INTR_REG BNO055_INT_ADDR
gume 0:1f82672b8755 1962
gume 0:1f82672b8755 1963 /*Accel any motion threshold setting*/
gume 0:1f82672b8755 1964 #define BNO055_ACCEL_ANY_MOTION_THRES_POS (0)
gume 0:1f82672b8755 1965 #define BNO055_ACCEL_ANY_MOTION_THRES_MSK (0XFF)
gume 0:1f82672b8755 1966 #define BNO055_ACCEL_ANY_MOTION_THRES_LEN (8)
gume 0:1f82672b8755 1967 #define BNO055_ACCEL_ANY_MOTION_THRES_REG BNO055_ACCEL_ANY_MOTION_THRES_ADDR
gume 0:1f82672b8755 1968
gume 0:1f82672b8755 1969 /*Accel interrupt setting register*/
gume 0:1f82672b8755 1970 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_POS (0)
gume 0:1f82672b8755 1971 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_MSK (0X03)
gume 0:1f82672b8755 1972 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_LEN (2)
gume 0:1f82672b8755 1973 #define BNO055_ACCEL_ANY_MOTION_DURN_SET_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
gume 0:1f82672b8755 1974
gume 0:1f82672b8755 1975 /* Accel AM/NM axis selection register*/
gume 0:1f82672b8755 1976 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_POS (2)
gume 0:1f82672b8755 1977 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_MSK (0X04)
gume 0:1f82672b8755 1978 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_LEN (1)
gume 0:1f82672b8755 1979 #define BNO055_ACCEL_ANY_MOTION_X_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
gume 0:1f82672b8755 1980
gume 0:1f82672b8755 1981 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_POS (3)
gume 0:1f82672b8755 1982 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_MSK (0X08)
gume 0:1f82672b8755 1983 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_LEN (1)
gume 0:1f82672b8755 1984 #define BNO055_ACCEL_ANY_MOTION_Y_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
gume 0:1f82672b8755 1985
gume 0:1f82672b8755 1986 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_POS (4)
gume 0:1f82672b8755 1987 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_MSK (0X10)
gume 0:1f82672b8755 1988 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_LEN (1)
gume 0:1f82672b8755 1989 #define BNO055_ACCEL_ANY_MOTION_Z_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
gume 0:1f82672b8755 1990
gume 0:1f82672b8755 1991 /* Accel high g axis selection register*/
gume 0:1f82672b8755 1992 #define BNO055_ACCEL_HIGH_G_X_AXIS_POS (5)
gume 0:1f82672b8755 1993 #define BNO055_ACCEL_HIGH_G_X_AXIS_MSK (0X20)
gume 0:1f82672b8755 1994 #define BNO055_ACCEL_HIGH_G_X_AXIS_LEN (1)
gume 0:1f82672b8755 1995 #define BNO055_ACCEL_HIGH_G_X_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
gume 0:1f82672b8755 1996
gume 0:1f82672b8755 1997 #define BNO055_ACCEL_HIGH_G_Y_AXIS_POS (6)
gume 0:1f82672b8755 1998 #define BNO055_ACCEL_HIGH_G_Y_AXIS_MSK (0X40)
gume 0:1f82672b8755 1999 #define BNO055_ACCEL_HIGH_G_Y_AXIS_LEN (1)
gume 0:1f82672b8755 2000 #define BNO055_ACCEL_HIGH_G_Y_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
gume 0:1f82672b8755 2001
gume 0:1f82672b8755 2002 #define BNO055_ACCEL_HIGH_G_Z_AXIS_POS (7)
gume 0:1f82672b8755 2003 #define BNO055_ACCEL_HIGH_G_Z_AXIS_MSK (0X80)
gume 0:1f82672b8755 2004 #define BNO055_ACCEL_HIGH_G_Z_AXIS_LEN (1)
gume 0:1f82672b8755 2005 #define BNO055_ACCEL_HIGH_G_Z_AXIS_REG BNO055_ACCEL_INTR_SETTINGS_ADDR
gume 0:1f82672b8755 2006
gume 0:1f82672b8755 2007 /* Accel High g duration setting register*/
gume 0:1f82672b8755 2008 #define BNO055_ACCEL_HIGH_G_DURN_POS (0)
gume 0:1f82672b8755 2009 #define BNO055_ACCEL_HIGH_G_DURN_MSK (0XFF)
gume 0:1f82672b8755 2010 #define BNO055_ACCEL_HIGH_G_DURN_LEN (8)
gume 0:1f82672b8755 2011 #define BNO055_ACCEL_HIGH_G_DURN_REG BNO055_ACCEL_HIGH_G_DURN_ADDR
gume 0:1f82672b8755 2012
gume 0:1f82672b8755 2013 /* Accel High g threshold setting register*/
gume 0:1f82672b8755 2014 #define BNO055_ACCEL_HIGH_G_THRES_POS (0)
gume 0:1f82672b8755 2015 #define BNO055_ACCEL_HIGH_G_THRES_MSK (0XFF)
gume 0:1f82672b8755 2016 #define BNO055_ACCEL_HIGH_G_THRES_LEN (8)
gume 0:1f82672b8755 2017 #define BNO055_ACCEL_HIGH_G_THRES_REG BNO055_ACCEL_HIGH_G_THRES_ADDR
gume 0:1f82672b8755 2018
gume 0:1f82672b8755 2019 /* Accel no/slow motion threshold setting*/
gume 0:1f82672b8755 2020 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_POS (0)
gume 0:1f82672b8755 2021 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_MSK (0XFF)
gume 0:1f82672b8755 2022 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_LEN (8)
gume 0:1f82672b8755 2023 #define BNO055_ACCEL_SLOW_NO_MOTION_THRES_REG \
gume 0:1f82672b8755 2024 BNO055_ACCEL_NO_MOTION_THRES_ADDR
gume 0:1f82672b8755 2025
gume 0:1f82672b8755 2026 /* Accel no/slow motion enable setting*/
gume 0:1f82672b8755 2027 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_POS (0)
gume 0:1f82672b8755 2028 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_MSK (0X01)
gume 0:1f82672b8755 2029 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_LEN (1)
gume 0:1f82672b8755 2030 #define BNO055_ACCEL_SLOW_NO_MOTION_ENABLE_REG BNO055_ACCEL_NO_MOTION_SET_ADDR
gume 0:1f82672b8755 2031
gume 0:1f82672b8755 2032 /* Accel no/slow motion duration setting*/
gume 0:1f82672b8755 2033 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_POS (1)
gume 0:1f82672b8755 2034 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_MSK (0X7E)
gume 0:1f82672b8755 2035 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_LEN (6)
gume 0:1f82672b8755 2036 #define BNO055_ACCEL_SLOW_NO_MOTION_DURN_REG BNO055_ACCEL_NO_MOTION_SET_ADDR
gume 0:1f82672b8755 2037
gume 0:1f82672b8755 2038 /*Gyro interrupt setting register*/
gume 0:1f82672b8755 2039 /*Gyro any motion axis setting*/
gume 0:1f82672b8755 2040 #define BNO055_GYRO_ANY_MOTION_X_AXIS_POS (0)
gume 0:1f82672b8755 2041 #define BNO055_GYRO_ANY_MOTION_X_AXIS_MSK (0X01)
gume 0:1f82672b8755 2042 #define BNO055_GYRO_ANY_MOTION_X_AXIS_LEN (1)
gume 0:1f82672b8755 2043 #define BNO055_GYRO_ANY_MOTION_X_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2044
gume 0:1f82672b8755 2045 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_POS (1)
gume 0:1f82672b8755 2046 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_MSK (0X02)
gume 0:1f82672b8755 2047 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_LEN (1)
gume 0:1f82672b8755 2048 #define BNO055_GYRO_ANY_MOTION_Y_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2049
gume 0:1f82672b8755 2050 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_POS (2)
gume 0:1f82672b8755 2051 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_MSK (0X04)
gume 0:1f82672b8755 2052 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_LEN (1)
gume 0:1f82672b8755 2053 #define BNO055_GYRO_ANY_MOTION_Z_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2054
gume 0:1f82672b8755 2055 /*Gyro high rate axis setting*/
gume 0:1f82672b8755 2056 #define BNO055_GYRO_HIGHRATE_X_AXIS_POS (3)
gume 0:1f82672b8755 2057 #define BNO055_GYRO_HIGHRATE_X_AXIS_MSK (0X08)
gume 0:1f82672b8755 2058 #define BNO055_GYRO_HIGHRATE_X_AXIS_LEN (1)
gume 0:1f82672b8755 2059 #define BNO055_GYRO_HIGHRATE_X_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2060
gume 0:1f82672b8755 2061 #define BNO055_GYRO_HIGHRATE_Y_AXIS_POS (4)
gume 0:1f82672b8755 2062 #define BNO055_GYRO_HIGHRATE_Y_AXIS_MSK (0X10)
gume 0:1f82672b8755 2063 #define BNO055_GYRO_HIGHRATE_Y_AXIS_LEN (1)
gume 0:1f82672b8755 2064 #define BNO055_GYRO_HIGHRATE_Y_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2065
gume 0:1f82672b8755 2066 #define BNO055_GYRO_HIGHRATE_Z_AXIS_POS (5)
gume 0:1f82672b8755 2067 #define BNO055_GYRO_HIGHRATE_Z_AXIS_MSK (0X20)
gume 0:1f82672b8755 2068 #define BNO055_GYRO_HIGHRATE_Z_AXIS_LEN (1)
gume 0:1f82672b8755 2069 #define BNO055_GYRO_HIGHRATE_Z_AXIS_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2070
gume 0:1f82672b8755 2071 /* Gyro filter setting*/
gume 0:1f82672b8755 2072 #define BNO055_GYRO_ANY_MOTION_FILTER_POS (6)
gume 0:1f82672b8755 2073 #define BNO055_GYRO_ANY_MOTION_FILTER_MSK (0X40)
gume 0:1f82672b8755 2074 #define BNO055_GYRO_ANY_MOTION_FILTER_LEN (1)
gume 0:1f82672b8755 2075 #define BNO055_GYRO_ANY_MOTION_FILTER_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2076
gume 0:1f82672b8755 2077 #define BNO055_GYRO_HIGHRATE_FILTER_POS (7)
gume 0:1f82672b8755 2078 #define BNO055_GYRO_HIGHRATE_FILTER_MSK (0X80)
gume 0:1f82672b8755 2079 #define BNO055_GYRO_HIGHRATE_FILTER_LEN (1)
gume 0:1f82672b8755 2080 #define BNO055_GYRO_HIGHRATE_FILTER_REG BNO055_GYRO_INTR_SETING_ADDR
gume 0:1f82672b8755 2081
gume 0:1f82672b8755 2082 /* Gyro high rate X axis settings*/
gume 0:1f82672b8755 2083 #define BNO055_GYRO_HIGHRATE_X_THRES_POS (0)
gume 0:1f82672b8755 2084 #define BNO055_GYRO_HIGHRATE_X_THRES_MSK (0X1F)
gume 0:1f82672b8755 2085 #define BNO055_GYRO_HIGHRATE_X_THRES_LEN (5)
gume 0:1f82672b8755 2086 #define BNO055_GYRO_HIGHRATE_X_THRES_REG BNO055_GYRO_HIGHRATE_X_SET_ADDR
gume 0:1f82672b8755 2087
gume 0:1f82672b8755 2088 #define BNO055_GYRO_HIGHRATE_X_HYST_POS (5)
gume 0:1f82672b8755 2089 #define BNO055_GYRO_HIGHRATE_X_HYST_MSK (0X60)
gume 0:1f82672b8755 2090 #define BNO055_GYRO_HIGHRATE_X_HYST_LEN (2)
gume 0:1f82672b8755 2091 #define BNO055_GYRO_HIGHRATE_X_HYST_REG BNO055_GYRO_HIGHRATE_X_SET_ADDR
gume 0:1f82672b8755 2092
gume 0:1f82672b8755 2093 #define BNO055_GYRO_HIGHRATE_X_DURN_POS (0)
gume 0:1f82672b8755 2094 #define BNO055_GYRO_HIGHRATE_X_DURN_MSK (0XFF)
gume 0:1f82672b8755 2095 #define BNO055_GYRO_HIGHRATE_X_DURN_LEN (8)
gume 0:1f82672b8755 2096 #define BNO055_GYRO_HIGHRATE_X_DURN_REG BNO055_GYRO_DURN_X_ADDR
gume 0:1f82672b8755 2097
gume 0:1f82672b8755 2098 /* Gyro high rate Y axis settings*/
gume 0:1f82672b8755 2099 #define BNO055_GYRO_HIGHRATE_Y_THRES_POS (0)
gume 0:1f82672b8755 2100 #define BNO055_GYRO_HIGHRATE_Y_THRES_MSK (0X1F)
gume 0:1f82672b8755 2101 #define BNO055_GYRO_HIGHRATE_Y_THRES_LEN (5)
gume 0:1f82672b8755 2102 #define BNO055_GYRO_HIGHRATE_Y_THRES_REG BNO055_GYRO_HIGHRATE_Y_SET_ADDR
gume 0:1f82672b8755 2103
gume 0:1f82672b8755 2104 #define BNO055_GYRO_HIGHRATE_Y_HYST_POS (5)
gume 0:1f82672b8755 2105 #define BNO055_GYRO_HIGHRATE_Y_HYST_MSK (0X60)
gume 0:1f82672b8755 2106 #define BNO055_GYRO_HIGHRATE_Y_HYST_LEN (2)
gume 0:1f82672b8755 2107 #define BNO055_GYRO_HIGHRATE_Y_HYST_REG BNO055_GYRO_HIGHRATE_Y_SET_ADDR
gume 0:1f82672b8755 2108
gume 0:1f82672b8755 2109 #define BNO055_GYRO_HIGHRATE_Y_DURN_POS (0)
gume 0:1f82672b8755 2110 #define BNO055_GYRO_HIGHRATE_Y_DURN_MSK (0XFF)
gume 0:1f82672b8755 2111 #define BNO055_GYRO_HIGHRATE_Y_DURN_LEN (8)
gume 0:1f82672b8755 2112 #define BNO055_GYRO_HIGHRATE_Y_DURN_REG BNO055_GYRO_DURN_Y_ADDR
gume 0:1f82672b8755 2113
gume 0:1f82672b8755 2114 /* Gyro high rate Z axis settings*/
gume 0:1f82672b8755 2115 #define BNO055_GYRO_HIGHRATE_Z_THRES_POS (0)
gume 0:1f82672b8755 2116 #define BNO055_GYRO_HIGHRATE_Z_THRES_MSK (0X1F)
gume 0:1f82672b8755 2117 #define BNO055_GYRO_HIGHRATE_Z_THRES_LEN (5)
gume 0:1f82672b8755 2118 #define BNO055_GYRO_HIGHRATE_Z_THRES_REG BNO055_GYRO_HIGHRATE_Z_SET_ADDR
gume 0:1f82672b8755 2119
gume 0:1f82672b8755 2120 #define BNO055_GYRO_HIGHRATE_Z_HYST_POS (5)
gume 0:1f82672b8755 2121 #define BNO055_GYRO_HIGHRATE_Z_HYST_MSK (0X60)
gume 0:1f82672b8755 2122 #define BNO055_GYRO_HIGHRATE_Z_HYST_LEN (2)
gume 0:1f82672b8755 2123 #define BNO055_GYRO_HIGHRATE_Z_HYST_REG BNO055_GYRO_HIGHRATE_Z_SET_ADDR
gume 0:1f82672b8755 2124
gume 0:1f82672b8755 2125 #define BNO055_GYRO_HIGHRATE_Z_DURN_POS (0)
gume 0:1f82672b8755 2126 #define BNO055_GYRO_HIGHRATE_Z_DURN_MSK (0XFF)
gume 0:1f82672b8755 2127 #define BNO055_GYRO_HIGHRATE_Z_DURN_LEN (8)
gume 0:1f82672b8755 2128 #define BNO055_GYRO_HIGHRATE_Z_DURN_REG (BNO055_GYRO_DURN_Z_ADDR)
gume 0:1f82672b8755 2129
gume 0:1f82672b8755 2130 /*Gyro any motion threshold setting*/
gume 0:1f82672b8755 2131 #define BNO055_GYRO_ANY_MOTION_THRES_POS (0)
gume 0:1f82672b8755 2132 #define BNO055_GYRO_ANY_MOTION_THRES_MSK (0X7F)
gume 0:1f82672b8755 2133 #define BNO055_GYRO_ANY_MOTION_THRES_LEN (7)
gume 0:1f82672b8755 2134 #define BNO055_GYRO_ANY_MOTION_THRES_REG \
gume 0:1f82672b8755 2135 BNO055_GYRO_ANY_MOTION_THRES_ADDR
gume 0:1f82672b8755 2136
gume 0:1f82672b8755 2137 /* Gyro any motion slope sample setting*/
gume 0:1f82672b8755 2138 #define BNO055_GYRO_SLOPE_SAMPLES_POS (0)
gume 0:1f82672b8755 2139 #define BNO055_GYRO_SLOPE_SAMPLES_MSK (0X03)
gume 0:1f82672b8755 2140 #define BNO055_GYRO_SLOPE_SAMPLES_LEN (2)
gume 0:1f82672b8755 2141 #define BNO055_GYRO_SLOPE_SAMPLES_REG BNO055_GYRO_ANY_MOTION_SET_ADDR
gume 0:1f82672b8755 2142
gume 0:1f82672b8755 2143 /* Gyro awake duration setting*/
gume 0:1f82672b8755 2144 #define BNO055_GYRO_AWAKE_DURN_POS (2)
gume 0:1f82672b8755 2145 #define BNO055_GYRO_AWAKE_DURN_MSK (0X0C)
gume 0:1f82672b8755 2146 #define BNO055_GYRO_AWAKE_DURN_LEN (2)
gume 0:1f82672b8755 2147 #define BNO055_GYRO_AWAKE_DURN_REG BNO055_GYRO_ANY_MOTION_SET_ADDR
gume 0:1f82672b8755 2148
gume 0:1f82672b8755 2149 /* PAGE1 DATA REGISTERS DEFINITION END*/
gume 0:1f82672b8755 2150 /*************************************************/
gume 0:1f82672b8755 2151 /**\name GET AND SET BITSLICE FUNCTIONS */
gume 0:1f82672b8755 2152 /*************************************************/
gume 0:1f82672b8755 2153 #define BNO055_GET_BITSLICE(regvar, bitname)\
gume 0:1f82672b8755 2154 ((regvar & bitname##_MSK) >> bitname##_POS)
gume 0:1f82672b8755 2155
gume 0:1f82672b8755 2156
gume 0:1f82672b8755 2157 #define BNO055_SET_BITSLICE(regvar, bitname, val)\
gume 0:1f82672b8755 2158 ((regvar & ~bitname##_MSK) | ((val<<bitname##_POS)&bitname##_MSK))
gume 0:1f82672b8755 2159 /*************************************************/
gume 0:1f82672b8755 2160 /**\name FUNCTION DECLARATION */
gume 0:1f82672b8755 2161 /*************************************************/
gume 0:1f82672b8755 2162 /**************************************************/
gume 0:1f82672b8755 2163 /**\name INITIALIZATION AND REVISION ID FUNCTIONS */
gume 0:1f82672b8755 2164 /**************************************************/
gume 0:1f82672b8755 2165 /*!
gume 0:1f82672b8755 2166 * @brief
gume 0:1f82672b8755 2167 * This API is used for initialize
gume 0:1f82672b8755 2168 * bus read, bus write function pointers,device
gume 0:1f82672b8755 2169 * address,accel revision id, gyro revision id
gume 0:1f82672b8755 2170 * mag revision id, software revision id, boot loader
gume 0:1f82672b8755 2171 * revision id and page id
gume 0:1f82672b8755 2172 *
gume 0:1f82672b8755 2173 * @param bno055 - structure pointer
gume 0:1f82672b8755 2174 *
gume 0:1f82672b8755 2175 *
gume 0:1f82672b8755 2176 * @return results of bus communication function
gume 0:1f82672b8755 2177 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2178 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2179 *
gume 0:1f82672b8755 2180 * @note While changing the parameter of the bno055_t
gume 0:1f82672b8755 2181 * consider the following point:
gume 0:1f82672b8755 2182 * Changing the reference value of the parameter
gume 0:1f82672b8755 2183 * will changes the local copy or local reference
gume 0:1f82672b8755 2184 * make sure your changes will not
gume 0:1f82672b8755 2185 * affect the reference value of the parameter
gume 0:1f82672b8755 2186 * (Better case don't change the reference value of the parameter)
gume 0:1f82672b8755 2187 */
gume 0:1f82672b8755 2188 BNO055_RETURN_FUNCTION_TYPE bno055_init(struct bno055_t *bno055);
gume 0:1f82672b8755 2189 /*!
gume 0:1f82672b8755 2190 * @brief
gume 0:1f82672b8755 2191 * This API gives data to the given register and
gume 0:1f82672b8755 2192 * the data is written in the corresponding register address
gume 0:1f82672b8755 2193 *
gume 0:1f82672b8755 2194 * @param addr_u8 : Address of the register
gume 0:1f82672b8755 2195 * @param data_u8 : Data to be written to the register
gume 0:1f82672b8755 2196 * @param len_u8 : Length of the Data
gume 0:1f82672b8755 2197 *
gume 0:1f82672b8755 2198 * @return results of bus communication function
gume 0:1f82672b8755 2199 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2200 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2201 *
gume 0:1f82672b8755 2202 *
gume 0:1f82672b8755 2203 */
gume 0:1f82672b8755 2204 BNO055_RETURN_FUNCTION_TYPE bno055_write_register(u8 addr_u8,
gume 0:1f82672b8755 2205 u8 *data_u8, u8 len_u8);
gume 0:1f82672b8755 2206 /*!
gume 0:1f82672b8755 2207 * @brief This API reads the data from
gume 0:1f82672b8755 2208 * the given register address
gume 0:1f82672b8755 2209 *
gume 0:1f82672b8755 2210 * @param addr_u8 : Address of the register
gume 0:1f82672b8755 2211 * @param data_u8 : address of the variable,
gume 0:1f82672b8755 2212 * read value will be kept
gume 0:1f82672b8755 2213 * @param len_u8 : Length of the data
gume 0:1f82672b8755 2214 *
gume 0:1f82672b8755 2215 *
gume 0:1f82672b8755 2216 * @return results of bus communication function
gume 0:1f82672b8755 2217 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2218 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2219 *
gume 0:1f82672b8755 2220 */
gume 0:1f82672b8755 2221 BNO055_RETURN_FUNCTION_TYPE bno055_read_register(u8 addr_u8,
gume 0:1f82672b8755 2222 u8 *data_u8, u8 len_u8);
gume 0:1f82672b8755 2223 /*!
gume 0:1f82672b8755 2224 * @brief This API reads chip id
gume 0:1f82672b8755 2225 * from register 0x00 it is a byte of data
gume 0:1f82672b8755 2226 *
gume 0:1f82672b8755 2227 *
gume 0:1f82672b8755 2228 * @param chip_id_u8 : The chip id value 0xA0
gume 0:1f82672b8755 2229 *
gume 0:1f82672b8755 2230 * @return results of bus communication function
gume 0:1f82672b8755 2231 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2232 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2233 */
gume 0:1f82672b8755 2234 BNO055_RETURN_FUNCTION_TYPE bno055_read_chip_id(u8 *chip_id_u8);
gume 0:1f82672b8755 2235 /*!
gume 0:1f82672b8755 2236 * @brief This API reads software revision id
gume 0:1f82672b8755 2237 * from register 0x04 and 0x05 it is a two byte of data
gume 0:1f82672b8755 2238 *
gume 0:1f82672b8755 2239 * @param sw_id_u8 : The SW revision id
gume 0:1f82672b8755 2240 *
gume 0:1f82672b8755 2241 * @return results of bus communication function
gume 0:1f82672b8755 2242 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2243 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2244 *
gume 0:1f82672b8755 2245 *
gume 0:1f82672b8755 2246 */
gume 0:1f82672b8755 2247 BNO055_RETURN_FUNCTION_TYPE bno055_read_sw_rev_id(u16 *sw_id_u8);
gume 0:1f82672b8755 2248 /*!
gume 0:1f82672b8755 2249 * @brief This API reads page id
gume 0:1f82672b8755 2250 * from register 0x07 it is a byte of data
gume 0:1f82672b8755 2251 *
gume 0:1f82672b8755 2252 *
gume 0:1f82672b8755 2253 * @param page_id_u8 : The value of page id
gume 0:1f82672b8755 2254 *
gume 0:1f82672b8755 2255 * BNO055_PAGE_ZERO -> 0x00
gume 0:1f82672b8755 2256 * BNO055_PAGE_ONE -> 0x01
gume 0:1f82672b8755 2257 *
gume 0:1f82672b8755 2258 * @return results of bus communication function
gume 0:1f82672b8755 2259 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2260 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2261 *
gume 0:1f82672b8755 2262 *
gume 0:1f82672b8755 2263 */
gume 0:1f82672b8755 2264 BNO055_RETURN_FUNCTION_TYPE bno055_read_page_id(u8 *page_id_u8);
gume 0:1f82672b8755 2265 /*!
gume 0:1f82672b8755 2266 * @brief This API used to write
gume 0:1f82672b8755 2267 * the page id register 0x07
gume 0:1f82672b8755 2268 *
gume 0:1f82672b8755 2269 * @param page_id_u8 : The value of page id
gume 0:1f82672b8755 2270 *
gume 0:1f82672b8755 2271 * BNO055_PAGE_ZERO -> 0x00
gume 0:1f82672b8755 2272 * BNO055_PAGE_ONE -> 0x01
gume 0:1f82672b8755 2273 *
gume 0:1f82672b8755 2274 * @return results of bus communication function
gume 0:1f82672b8755 2275 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2276 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2277 *
gume 0:1f82672b8755 2278 *
gume 0:1f82672b8755 2279 */
gume 0:1f82672b8755 2280 BNO055_RETURN_FUNCTION_TYPE bno055_write_page_id(u8 page_id_u8);
gume 0:1f82672b8755 2281 /*!
gume 0:1f82672b8755 2282 * @brief This API reads accel revision id
gume 0:1f82672b8755 2283 * from register 0x01 it is a byte of value
gume 0:1f82672b8755 2284 *
gume 0:1f82672b8755 2285 * @param accel_rev_id_u8 : The accel revision id 0xFB
gume 0:1f82672b8755 2286 *
gume 0:1f82672b8755 2287 * @return results of bus communication function
gume 0:1f82672b8755 2288 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2289 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2290 *
gume 0:1f82672b8755 2291 *
gume 0:1f82672b8755 2292 */
gume 0:1f82672b8755 2293 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_rev_id(
gume 0:1f82672b8755 2294 u8 *accel_rev_id_u8);
gume 0:1f82672b8755 2295 /*!
gume 0:1f82672b8755 2296 * @brief This API reads mag revision id
gume 0:1f82672b8755 2297 * from register 0x02 it is a byte of value
gume 0:1f82672b8755 2298 *
gume 0:1f82672b8755 2299 * @param mag_rev_id_u8 : The mag revision id 0x32
gume 0:1f82672b8755 2300 *
gume 0:1f82672b8755 2301 * @return results of bus communication function
gume 0:1f82672b8755 2302 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2303 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2304 *
gume 0:1f82672b8755 2305 *
gume 0:1f82672b8755 2306 */
gume 0:1f82672b8755 2307 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_rev_id(
gume 0:1f82672b8755 2308 u8 *mag_rev_id_u8);
gume 0:1f82672b8755 2309 /*!
gume 0:1f82672b8755 2310 * @brief This API reads gyro revision id
gume 0:1f82672b8755 2311 * from register 0x03 it is a byte of value
gume 0:1f82672b8755 2312 *
gume 0:1f82672b8755 2313 * @param gyro_rev_id_u8 : The gyro revision id 0xF0
gume 0:1f82672b8755 2314 *
gume 0:1f82672b8755 2315 *
gume 0:1f82672b8755 2316 *
gume 0:1f82672b8755 2317 * @return results of bus communication function
gume 0:1f82672b8755 2318 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2319 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2320 *
gume 0:1f82672b8755 2321 *
gume 0:1f82672b8755 2322 */
gume 0:1f82672b8755 2323 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_rev_id(
gume 0:1f82672b8755 2324 u8 *gyro_rev_id_u8);
gume 0:1f82672b8755 2325 /*!
gume 0:1f82672b8755 2326 * @brief This API used to read boot loader revision id
gume 0:1f82672b8755 2327 * from register 0x06 it is a byte of value
gume 0:1f82672b8755 2328 *
gume 0:1f82672b8755 2329 * @param bl_rev_id_u8 : The boot loader revision id
gume 0:1f82672b8755 2330 *
gume 0:1f82672b8755 2331 *
gume 0:1f82672b8755 2332 * @return results of bus communication function
gume 0:1f82672b8755 2333 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2334 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2335 *
gume 0:1f82672b8755 2336 *
gume 0:1f82672b8755 2337 */
gume 0:1f82672b8755 2338 BNO055_RETURN_FUNCTION_TYPE bno055_read_bl_rev_id(
gume 0:1f82672b8755 2339 u8 *bl_rev_id_u8);
gume 0:1f82672b8755 2340 /**************************************************/
gume 0:1f82672b8755 2341 /**\name ACCEL DATA READ FUNCTIONS */
gume 0:1f82672b8755 2342 /**************************************************/
gume 0:1f82672b8755 2343 /*!
gume 0:1f82672b8755 2344 * @brief This API reads acceleration data X values
gume 0:1f82672b8755 2345 * from register 0x08 and 0x09 it is a two byte data
gume 0:1f82672b8755 2346 *
gume 0:1f82672b8755 2347 *
gume 0:1f82672b8755 2348 *
gume 0:1f82672b8755 2349 *
gume 0:1f82672b8755 2350 * @param accel_x_s16 : The X raw data
gume 0:1f82672b8755 2351 *
gume 0:1f82672b8755 2352 *
gume 0:1f82672b8755 2353 *
gume 0:1f82672b8755 2354 * @return results of bus communication function
gume 0:1f82672b8755 2355 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2356 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2357 *
gume 0:1f82672b8755 2358 *
gume 0:1f82672b8755 2359 */
gume 0:1f82672b8755 2360 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_x(s16 *accel_x_s16);
gume 0:1f82672b8755 2361 /*!
gume 0:1f82672b8755 2362 * @brief This API reads acceleration data Y values
gume 0:1f82672b8755 2363 * from register 0x0A and 0x0B it is a two byte data
gume 0:1f82672b8755 2364 *
gume 0:1f82672b8755 2365 *
gume 0:1f82672b8755 2366 *
gume 0:1f82672b8755 2367 *
gume 0:1f82672b8755 2368 * @param accel_y_s16 : The Y raw data
gume 0:1f82672b8755 2369 *
gume 0:1f82672b8755 2370 *
gume 0:1f82672b8755 2371 *
gume 0:1f82672b8755 2372 * @return results of bus communication function
gume 0:1f82672b8755 2373 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2374 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2375 *
gume 0:1f82672b8755 2376 *
gume 0:1f82672b8755 2377 */
gume 0:1f82672b8755 2378 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_y(s16 *accel_y_s16);
gume 0:1f82672b8755 2379 /*!
gume 0:1f82672b8755 2380 * @brief This API reads acceleration data z values
gume 0:1f82672b8755 2381 * from register 0x0C and 0x0D it is a two byte data
gume 0:1f82672b8755 2382 *
gume 0:1f82672b8755 2383 *
gume 0:1f82672b8755 2384 *
gume 0:1f82672b8755 2385 *
gume 0:1f82672b8755 2386 * @param accel_z_s16 : The z raw data
gume 0:1f82672b8755 2387 *
gume 0:1f82672b8755 2388 *
gume 0:1f82672b8755 2389 *
gume 0:1f82672b8755 2390 * @return results of bus communication function
gume 0:1f82672b8755 2391 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2392 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2393 *
gume 0:1f82672b8755 2394 *
gume 0:1f82672b8755 2395 */
gume 0:1f82672b8755 2396 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_z(s16 *accel_z_s16);
gume 0:1f82672b8755 2397 /*!
gume 0:1f82672b8755 2398 * @brief This API reads acceleration data xyz values
gume 0:1f82672b8755 2399 * from register 0x08 to 0x0D it is a six byte data
gume 0:1f82672b8755 2400 *
gume 0:1f82672b8755 2401 *
gume 0:1f82672b8755 2402 * @param accel : The value of accel xyz data
gume 0:1f82672b8755 2403 *
gume 0:1f82672b8755 2404 * Parameter | result
gume 0:1f82672b8755 2405 * --------- | -----------------
gume 0:1f82672b8755 2406 * x | The accel x data
gume 0:1f82672b8755 2407 * y | The accel y data
gume 0:1f82672b8755 2408 * z | The accel z data
gume 0:1f82672b8755 2409 *
gume 0:1f82672b8755 2410 *
gume 0:1f82672b8755 2411 *
gume 0:1f82672b8755 2412 * @return results of bus communication function
gume 0:1f82672b8755 2413 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2414 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2415 *
gume 0:1f82672b8755 2416 */
gume 0:1f82672b8755 2417 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_xyz(
gume 0:1f82672b8755 2418 struct bno055_accel_t *accel);
gume 0:1f82672b8755 2419 /**************************************************/
gume 0:1f82672b8755 2420 /**\name MAG DATA READ FUNCTIONS */
gume 0:1f82672b8755 2421 /**************************************************/
gume 0:1f82672b8755 2422 /*!
gume 0:1f82672b8755 2423 * @brief This API reads mag data x values
gume 0:1f82672b8755 2424 * from register 0x0E and 0x0F it is a two byte data
gume 0:1f82672b8755 2425 *
gume 0:1f82672b8755 2426 *
gume 0:1f82672b8755 2427 *
gume 0:1f82672b8755 2428 *
gume 0:1f82672b8755 2429 * @param mag_x_s16 : The x raw data
gume 0:1f82672b8755 2430 *
gume 0:1f82672b8755 2431 *
gume 0:1f82672b8755 2432 *
gume 0:1f82672b8755 2433 * @return results of bus communication function
gume 0:1f82672b8755 2434 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2435 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2436 *
gume 0:1f82672b8755 2437 *
gume 0:1f82672b8755 2438 *
gume 0:1f82672b8755 2439 */
gume 0:1f82672b8755 2440 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_x(s16 *mag_x_s16);
gume 0:1f82672b8755 2441 /*!
gume 0:1f82672b8755 2442 * @brief This API reads mag data y values
gume 0:1f82672b8755 2443 * from register 0x10 and 0x11 it is a two byte data
gume 0:1f82672b8755 2444 *
gume 0:1f82672b8755 2445 *
gume 0:1f82672b8755 2446 *
gume 0:1f82672b8755 2447 *
gume 0:1f82672b8755 2448 * @param mag_y_s16 : The y raw data
gume 0:1f82672b8755 2449 *
gume 0:1f82672b8755 2450 *
gume 0:1f82672b8755 2451 *
gume 0:1f82672b8755 2452 * @return results of bus communication function
gume 0:1f82672b8755 2453 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2454 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2455 *
gume 0:1f82672b8755 2456 *
gume 0:1f82672b8755 2457 */
gume 0:1f82672b8755 2458 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_y(s16 *mag_y_s16);
gume 0:1f82672b8755 2459 /*!
gume 0:1f82672b8755 2460 * @brief This API reads mag data z values
gume 0:1f82672b8755 2461 * from register 0x12 and 0x13 it is a two byte data
gume 0:1f82672b8755 2462 *
gume 0:1f82672b8755 2463 *
gume 0:1f82672b8755 2464 *
gume 0:1f82672b8755 2465 *
gume 0:1f82672b8755 2466 * @param mag_z_s16 : The z raw data
gume 0:1f82672b8755 2467 *
gume 0:1f82672b8755 2468 *
gume 0:1f82672b8755 2469 *
gume 0:1f82672b8755 2470 * @return results of bus communication function
gume 0:1f82672b8755 2471 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2472 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2473 *
gume 0:1f82672b8755 2474 *
gume 0:1f82672b8755 2475 *
gume 0:1f82672b8755 2476 */
gume 0:1f82672b8755 2477 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_z(s16 *mag_z_s16);
gume 0:1f82672b8755 2478 /*!
gume 0:1f82672b8755 2479 * @brief This API reads mag data xyz values
gume 0:1f82672b8755 2480 * from register 0x0E to 0x13 it is a six byte data
gume 0:1f82672b8755 2481 *
gume 0:1f82672b8755 2482 *
gume 0:1f82672b8755 2483 * @param mag : The mag xyz values
gume 0:1f82672b8755 2484 *
gume 0:1f82672b8755 2485 * Parameter | result
gume 0:1f82672b8755 2486 * --------- | -----------------
gume 0:1f82672b8755 2487 * x | The mag x data
gume 0:1f82672b8755 2488 * y | The mag y data
gume 0:1f82672b8755 2489 * z | The mag z data
gume 0:1f82672b8755 2490 *
gume 0:1f82672b8755 2491 *
gume 0:1f82672b8755 2492 *
gume 0:1f82672b8755 2493 * @return results of bus communication function
gume 0:1f82672b8755 2494 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2495 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2496 *
gume 0:1f82672b8755 2497 */
gume 0:1f82672b8755 2498 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_xyz(struct bno055_mag_t *mag);
gume 0:1f82672b8755 2499 /**************************************************/
gume 0:1f82672b8755 2500 /**\name GYRO DATA READ FUNCTIONS */
gume 0:1f82672b8755 2501 /**************************************************/
gume 0:1f82672b8755 2502 /*!
gume 0:1f82672b8755 2503 * @brief This API reads gyro data x values
gume 0:1f82672b8755 2504 * from register 0x14 and 0x15 it is a two byte data
gume 0:1f82672b8755 2505 *
gume 0:1f82672b8755 2506 *
gume 0:1f82672b8755 2507 *
gume 0:1f82672b8755 2508 *
gume 0:1f82672b8755 2509 * @param gyro_x_s16 : The x raw data
gume 0:1f82672b8755 2510 *
gume 0:1f82672b8755 2511 *
gume 0:1f82672b8755 2512 *
gume 0:1f82672b8755 2513 * @return results of bus communication function
gume 0:1f82672b8755 2514 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2515 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2516 *
gume 0:1f82672b8755 2517 *
gume 0:1f82672b8755 2518 */
gume 0:1f82672b8755 2519 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_x(s16 *gyro_x_s16);
gume 0:1f82672b8755 2520 /*!
gume 0:1f82672b8755 2521 * @brief This API reads gyro data y values
gume 0:1f82672b8755 2522 * from register 0x16 and 0x17 it is a two byte data
gume 0:1f82672b8755 2523 *
gume 0:1f82672b8755 2524 *
gume 0:1f82672b8755 2525 *
gume 0:1f82672b8755 2526 *
gume 0:1f82672b8755 2527 * @param gyro_y_s16 : The y raw data
gume 0:1f82672b8755 2528 *
gume 0:1f82672b8755 2529 *
gume 0:1f82672b8755 2530 *
gume 0:1f82672b8755 2531 * @return results of bus communication function
gume 0:1f82672b8755 2532 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2533 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2534 *
gume 0:1f82672b8755 2535 *
gume 0:1f82672b8755 2536 */
gume 0:1f82672b8755 2537 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_y(s16 *gyro_y_s16);
gume 0:1f82672b8755 2538 /*!
gume 0:1f82672b8755 2539 * @brief This API reads gyro data z values
gume 0:1f82672b8755 2540 * from register 0x18 and 0x19 it is a two byte data
gume 0:1f82672b8755 2541 *
gume 0:1f82672b8755 2542 * @param gyro_z_s16 : The z raw data
gume 0:1f82672b8755 2543 *
gume 0:1f82672b8755 2544 * @return results of bus communication function
gume 0:1f82672b8755 2545 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2546 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2547 *
gume 0:1f82672b8755 2548 *
gume 0:1f82672b8755 2549 */
gume 0:1f82672b8755 2550 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_z(s16 *gyro_z_s16);
gume 0:1f82672b8755 2551 /*!
gume 0:1f82672b8755 2552 * @brief This API reads gyro data xyz values
gume 0:1f82672b8755 2553 * from register 0x14 to 0x19 it is a six byte data
gume 0:1f82672b8755 2554 *
gume 0:1f82672b8755 2555 *
gume 0:1f82672b8755 2556 * @param gyro : The value of gyro xyz data's
gume 0:1f82672b8755 2557 *
gume 0:1f82672b8755 2558 * Parameter | result
gume 0:1f82672b8755 2559 * --------- | -----------------
gume 0:1f82672b8755 2560 * x | The gyro x data
gume 0:1f82672b8755 2561 * y | The gyro y data
gume 0:1f82672b8755 2562 * z | The gyro z data
gume 0:1f82672b8755 2563 *
gume 0:1f82672b8755 2564 *
gume 0:1f82672b8755 2565 *
gume 0:1f82672b8755 2566 * @return results of bus communication function
gume 0:1f82672b8755 2567 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2568 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2569 *
gume 0:1f82672b8755 2570 */
gume 0:1f82672b8755 2571 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_xyz(struct bno055_gyro_t *gyro);
gume 0:1f82672b8755 2572 /**************************************************/
gume 0:1f82672b8755 2573 /**\name EULER DATA READ FUNCTIONS */
gume 0:1f82672b8755 2574 /**************************************************/
gume 0:1f82672b8755 2575 /*!
gume 0:1f82672b8755 2576 * @brief This API reads gyro data z values
gume 0:1f82672b8755 2577 * from register 0x1A and 0x1B it is a two byte data
gume 0:1f82672b8755 2578 *
gume 0:1f82672b8755 2579 * @param euler_h_s16 : The raw h data
gume 0:1f82672b8755 2580 *
gume 0:1f82672b8755 2581 * @return results of bus communication function
gume 0:1f82672b8755 2582 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2583 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2584 *
gume 0:1f82672b8755 2585 */
gume 0:1f82672b8755 2586 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_h(s16 *euler_h_s16);
gume 0:1f82672b8755 2587 /*!
gume 0:1f82672b8755 2588 * @brief This API reads Euler data r values
gume 0:1f82672b8755 2589 * from register 0x1C and 0x1D it is a two byte data
gume 0:1f82672b8755 2590 *
gume 0:1f82672b8755 2591 * @param euler_r_s16 : The raw r data
gume 0:1f82672b8755 2592 *
gume 0:1f82672b8755 2593 * @return results of bus communication function
gume 0:1f82672b8755 2594 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2595 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2596 *
gume 0:1f82672b8755 2597 */
gume 0:1f82672b8755 2598 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_r(s16 *euler_r_s16);
gume 0:1f82672b8755 2599 /*!
gume 0:1f82672b8755 2600 * @brief This API reads Euler data p values
gume 0:1f82672b8755 2601 * from register 0x1E and 0x1F it is a two byte data
gume 0:1f82672b8755 2602 *
gume 0:1f82672b8755 2603 * @param euler_p_s16 : The raw p data
gume 0:1f82672b8755 2604 *
gume 0:1f82672b8755 2605 * @return results of bus communication function
gume 0:1f82672b8755 2606 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2607 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2608 *
gume 0:1f82672b8755 2609 *
gume 0:1f82672b8755 2610 */
gume 0:1f82672b8755 2611 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_p(s16 *euler_p_s16);
gume 0:1f82672b8755 2612 /*!
gume 0:1f82672b8755 2613 * @brief This API reads Euler data hrp values
gume 0:1f82672b8755 2614 * from register 0x1A to 0x1F it is a six byte data
gume 0:1f82672b8755 2615 *
gume 0:1f82672b8755 2616 *
gume 0:1f82672b8755 2617 * @param euler : The Euler hrp data's
gume 0:1f82672b8755 2618 *
gume 0:1f82672b8755 2619 * Parameter | result
gume 0:1f82672b8755 2620 * --------- | -----------------
gume 0:1f82672b8755 2621 * h | The Euler h data
gume 0:1f82672b8755 2622 * r | The Euler r data
gume 0:1f82672b8755 2623 * p | The Euler p data
gume 0:1f82672b8755 2624 *
gume 0:1f82672b8755 2625 *
gume 0:1f82672b8755 2626 * @return results of bus communication function
gume 0:1f82672b8755 2627 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2628 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2629 *
gume 0:1f82672b8755 2630 */
gume 0:1f82672b8755 2631 BNO055_RETURN_FUNCTION_TYPE bno055_read_euler_hrp(
gume 0:1f82672b8755 2632 struct bno055_euler_t *euler);
gume 0:1f82672b8755 2633 /**************************************************/
gume 0:1f82672b8755 2634 /**\name QUATERNION DATA READ FUNCTIONS */
gume 0:1f82672b8755 2635 /**************************************************/
gume 0:1f82672b8755 2636 /*!
gume 0:1f82672b8755 2637 * @brief This API reads quaternion data w values
gume 0:1f82672b8755 2638 * from register 0x20 and 0x21 it is a two byte data
gume 0:1f82672b8755 2639 *
gume 0:1f82672b8755 2640 * @param quaternion_w_s16 : The raw w data
gume 0:1f82672b8755 2641 *
gume 0:1f82672b8755 2642 * @return results of bus communication function
gume 0:1f82672b8755 2643 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2644 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2645 *
gume 0:1f82672b8755 2646 *
gume 0:1f82672b8755 2647 */
gume 0:1f82672b8755 2648 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_w(
gume 0:1f82672b8755 2649 s16 *quaternion_w_s16);
gume 0:1f82672b8755 2650 /*!
gume 0:1f82672b8755 2651 * @brief This API reads quaternion data x values
gume 0:1f82672b8755 2652 * from register 0x22 and 0x23 it is a two byte data
gume 0:1f82672b8755 2653 *
gume 0:1f82672b8755 2654 * @param quaternion_x_s16 : The raw x data
gume 0:1f82672b8755 2655 *
gume 0:1f82672b8755 2656 * @return results of bus communication function
gume 0:1f82672b8755 2657 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2658 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2659 *
gume 0:1f82672b8755 2660 *
gume 0:1f82672b8755 2661 */
gume 0:1f82672b8755 2662 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_x(
gume 0:1f82672b8755 2663 s16 *quaternion_x_s16);
gume 0:1f82672b8755 2664 /*!
gume 0:1f82672b8755 2665 * @brief This API reads quaternion data y values
gume 0:1f82672b8755 2666 * from register 0x24 and 0x25 it is a two byte data
gume 0:1f82672b8755 2667 *
gume 0:1f82672b8755 2668 * @param quaternion_y_s16 : The raw y data
gume 0:1f82672b8755 2669 *
gume 0:1f82672b8755 2670 * @return results of bus communication function
gume 0:1f82672b8755 2671 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2672 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2673 *
gume 0:1f82672b8755 2674 *
gume 0:1f82672b8755 2675 */
gume 0:1f82672b8755 2676 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_y(
gume 0:1f82672b8755 2677 s16 *quaternion_y_s16);
gume 0:1f82672b8755 2678 /*!
gume 0:1f82672b8755 2679 * @brief This API reads quaternion data z values
gume 0:1f82672b8755 2680 * from register 0x26 and 0x27 it is a two byte data
gume 0:1f82672b8755 2681 *
gume 0:1f82672b8755 2682 * @param quaternion_z_s16 : The raw z data
gume 0:1f82672b8755 2683 *
gume 0:1f82672b8755 2684 * @return results of bus communication function
gume 0:1f82672b8755 2685 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2686 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2687 *
gume 0:1f82672b8755 2688 *
gume 0:1f82672b8755 2689 */
gume 0:1f82672b8755 2690 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_z(
gume 0:1f82672b8755 2691 s16 *quaternion_z_s16);
gume 0:1f82672b8755 2692 /*!
gume 0:1f82672b8755 2693 * @brief This API reads Quaternion data wxyz values
gume 0:1f82672b8755 2694 * from register 0x20 to 0x27 it is a six byte data
gume 0:1f82672b8755 2695 *
gume 0:1f82672b8755 2696 *
gume 0:1f82672b8755 2697 * @param quaternion : The value of quaternion wxyz data's
gume 0:1f82672b8755 2698 *
gume 0:1f82672b8755 2699 * Parameter | result
gume 0:1f82672b8755 2700 * --------- | -----------------
gume 0:1f82672b8755 2701 * w | The quaternion w data
gume 0:1f82672b8755 2702 * x | The quaternion x data
gume 0:1f82672b8755 2703 * y | The quaternion y data
gume 0:1f82672b8755 2704 * z | The quaternion z data
gume 0:1f82672b8755 2705 *
gume 0:1f82672b8755 2706 *
gume 0:1f82672b8755 2707 *
gume 0:1f82672b8755 2708 * @return results of bus communication function
gume 0:1f82672b8755 2709 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2710 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2711 *
gume 0:1f82672b8755 2712 */
gume 0:1f82672b8755 2713 BNO055_RETURN_FUNCTION_TYPE bno055_read_quaternion_wxyz(
gume 0:1f82672b8755 2714 struct bno055_quaternion_t *quaternion);
gume 0:1f82672b8755 2715 /**************************************************/
gume 0:1f82672b8755 2716 /**\name LINEAR ACCEL DATA READ FUNCTIONS */
gume 0:1f82672b8755 2717 /**************************************************/
gume 0:1f82672b8755 2718 /*!
gume 0:1f82672b8755 2719 * @brief This API reads Linear accel data x values
gume 0:1f82672b8755 2720 * from register 0x29 and 0x2A it is a two byte data
gume 0:1f82672b8755 2721 *
gume 0:1f82672b8755 2722 * @param linear_accel_x_s16 : The raw x data
gume 0:1f82672b8755 2723 *
gume 0:1f82672b8755 2724 * @return results of bus communication function
gume 0:1f82672b8755 2725 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2726 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2727 *
gume 0:1f82672b8755 2728 *
gume 0:1f82672b8755 2729 */
gume 0:1f82672b8755 2730 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_x(
gume 0:1f82672b8755 2731 s16 *linear_accel_x_s16);
gume 0:1f82672b8755 2732 /*!
gume 0:1f82672b8755 2733 * @brief This API reads Linear accel data x values
gume 0:1f82672b8755 2734 * from register 0x2B and 0x2C it is a two byte data
gume 0:1f82672b8755 2735 *
gume 0:1f82672b8755 2736 * @param linear_accel_y_s16 : The raw y data
gume 0:1f82672b8755 2737 *
gume 0:1f82672b8755 2738 * @return results of bus communication function
gume 0:1f82672b8755 2739 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2740 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2741 *
gume 0:1f82672b8755 2742 *
gume 0:1f82672b8755 2743 */
gume 0:1f82672b8755 2744 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_y(
gume 0:1f82672b8755 2745 s16 *linear_accel_y_s16);
gume 0:1f82672b8755 2746 /*!
gume 0:1f82672b8755 2747 * @brief This API reads Linear accel data x values
gume 0:1f82672b8755 2748 * from register 0x2C and 0x2D it is a two byte data
gume 0:1f82672b8755 2749 *
gume 0:1f82672b8755 2750 * @param linear_accel_z_s16 : The raw z data
gume 0:1f82672b8755 2751 *
gume 0:1f82672b8755 2752 * @return results of bus communication function
gume 0:1f82672b8755 2753 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2754 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2755 *
gume 0:1f82672b8755 2756 *
gume 0:1f82672b8755 2757 */
gume 0:1f82672b8755 2758 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_z(
gume 0:1f82672b8755 2759 s16 *linear_accel_z_s16);
gume 0:1f82672b8755 2760 /*!
gume 0:1f82672b8755 2761 * @brief This API reads Linear accel data xyz values
gume 0:1f82672b8755 2762 * from register 0x28 to 0x2D it is a six byte data
gume 0:1f82672b8755 2763 *
gume 0:1f82672b8755 2764 *
gume 0:1f82672b8755 2765 * @param linear_accel : The value of linear accel xyz data's
gume 0:1f82672b8755 2766 *
gume 0:1f82672b8755 2767 * Parameter | result
gume 0:1f82672b8755 2768 * --------- | -----------------
gume 0:1f82672b8755 2769 * x | The linear accel x data
gume 0:1f82672b8755 2770 * y | The linear accel y data
gume 0:1f82672b8755 2771 * z | The linear accel z data
gume 0:1f82672b8755 2772 *
gume 0:1f82672b8755 2773 *
gume 0:1f82672b8755 2774 * @return results of bus communication function
gume 0:1f82672b8755 2775 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2776 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2777 */
gume 0:1f82672b8755 2778 BNO055_RETURN_FUNCTION_TYPE bno055_read_linear_accel_xyz(
gume 0:1f82672b8755 2779 struct bno055_linear_accel_t *linear_accel);
gume 0:1f82672b8755 2780 /**************************************************/
gume 0:1f82672b8755 2781 /**\name GRAVITY DATA READ FUNCTIONS */
gume 0:1f82672b8755 2782 /**************************************************/
gume 0:1f82672b8755 2783 /*!
gume 0:1f82672b8755 2784 * @brief This API reads gravity data x values
gume 0:1f82672b8755 2785 * from register 0x2E and 0x2F it is a two byte data
gume 0:1f82672b8755 2786 *
gume 0:1f82672b8755 2787 * @param gravity_x_s16 : The raw x data
gume 0:1f82672b8755 2788 *
gume 0:1f82672b8755 2789 * @return results of bus communication function
gume 0:1f82672b8755 2790 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2791 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2792 *
gume 0:1f82672b8755 2793 *
gume 0:1f82672b8755 2794 */
gume 0:1f82672b8755 2795 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_x(
gume 0:1f82672b8755 2796 s16 *gravity_x_s16);
gume 0:1f82672b8755 2797 /*!
gume 0:1f82672b8755 2798 * @brief This API reads gravity data y values
gume 0:1f82672b8755 2799 * from register 0x30 and 0x31 it is a two byte data
gume 0:1f82672b8755 2800 *
gume 0:1f82672b8755 2801 * @param gravity_y_s16 : The raw y data
gume 0:1f82672b8755 2802 *
gume 0:1f82672b8755 2803 * @return results of bus communication function
gume 0:1f82672b8755 2804 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2805 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2806 *
gume 0:1f82672b8755 2807 *
gume 0:1f82672b8755 2808 */
gume 0:1f82672b8755 2809 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_y(
gume 0:1f82672b8755 2810 s16 *gravity_y_s16);
gume 0:1f82672b8755 2811 /*!
gume 0:1f82672b8755 2812 * @brief This API reads gravity data z values
gume 0:1f82672b8755 2813 * from register 0x32 and 0x33 it is a two byte data
gume 0:1f82672b8755 2814 *
gume 0:1f82672b8755 2815 * @param gravity_z_s16 : The raw z data
gume 0:1f82672b8755 2816 *
gume 0:1f82672b8755 2817 * @return results of bus communication function
gume 0:1f82672b8755 2818 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2819 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2820 *
gume 0:1f82672b8755 2821 *
gume 0:1f82672b8755 2822 */
gume 0:1f82672b8755 2823 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_z(
gume 0:1f82672b8755 2824 s16 *gravity_z_s16);
gume 0:1f82672b8755 2825 /*!
gume 0:1f82672b8755 2826 * @brief This API reads gravity data xyz values
gume 0:1f82672b8755 2827 * from register 0x2E to 0x33 it is a six byte data
gume 0:1f82672b8755 2828 *
gume 0:1f82672b8755 2829 *
gume 0:1f82672b8755 2830 * @param gravity : The value of gravity xyz data's
gume 0:1f82672b8755 2831 *
gume 0:1f82672b8755 2832 * Parameter | result
gume 0:1f82672b8755 2833 * --------- | -----------------
gume 0:1f82672b8755 2834 * x | The gravity x data
gume 0:1f82672b8755 2835 * y | The gravity y data
gume 0:1f82672b8755 2836 * z | The gravity z data
gume 0:1f82672b8755 2837 *
gume 0:1f82672b8755 2838 *
gume 0:1f82672b8755 2839 * @return results of bus communication function
gume 0:1f82672b8755 2840 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2841 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2842 *
gume 0:1f82672b8755 2843 */
gume 0:1f82672b8755 2844 BNO055_RETURN_FUNCTION_TYPE bno055_read_gravity_xyz(
gume 0:1f82672b8755 2845 struct bno055_gravity_t *gravity);
gume 0:1f82672b8755 2846 /**************************************************/
gume 0:1f82672b8755 2847 /**\name TEMPERATURE DATA READ FUNCTIONS */
gume 0:1f82672b8755 2848 /**************************************************/
gume 0:1f82672b8755 2849 /*!
gume 0:1f82672b8755 2850 * @brief This API reads temperature values
gume 0:1f82672b8755 2851 * from register 0x33 it is a byte data
gume 0:1f82672b8755 2852 *
gume 0:1f82672b8755 2853 * @param temp_s8 : The raw temperature data
gume 0:1f82672b8755 2854 *
gume 0:1f82672b8755 2855 * @return results of bus communication function
gume 0:1f82672b8755 2856 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2857 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2858 *
gume 0:1f82672b8755 2859 *
gume 0:1f82672b8755 2860 */
gume 0:1f82672b8755 2861 BNO055_RETURN_FUNCTION_TYPE bno055_read_temp_data(s8 *temp_s8);
gume 0:1f82672b8755 2862 #ifdef BNO055_FLOAT_ENABLE
gume 0:1f82672b8755 2863 /********************************************************************/
gume 0:1f82672b8755 2864 /**\name FUNCTIONS FOR READING ACCEL DATA OUTPUT AS FLOAT PRECISION */
gume 0:1f82672b8755 2865 /********************************************************************/
gume 0:1f82672b8755 2866 /*!
gume 0:1f82672b8755 2867 * @brief This API is used to convert the accel x raw data
gume 0:1f82672b8755 2868 * to meterpersecseq output as float
gume 0:1f82672b8755 2869 *
gume 0:1f82672b8755 2870 * @param accel_x_f : The accel x meterpersecseq data
gume 0:1f82672b8755 2871 *
gume 0:1f82672b8755 2872 *
gume 0:1f82672b8755 2873 *
gume 0:1f82672b8755 2874 * @return results of bus communication function
gume 0:1f82672b8755 2875 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2876 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2877 *
gume 0:1f82672b8755 2878 *
gume 0:1f82672b8755 2879 */
gume 0:1f82672b8755 2880 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_msq(
gume 0:1f82672b8755 2881 float *accel_x_f);
gume 0:1f82672b8755 2882 /*!
gume 0:1f82672b8755 2883 * @brief This API is used to convert the accel x raw data
gume 0:1f82672b8755 2884 * to meterpersecseq output as float
gume 0:1f82672b8755 2885 *
gume 0:1f82672b8755 2886 * @param accel_y_f : The accel y meterpersecseq data
gume 0:1f82672b8755 2887 *
gume 0:1f82672b8755 2888 *
gume 0:1f82672b8755 2889 *
gume 0:1f82672b8755 2890 * @return results of bus communication function
gume 0:1f82672b8755 2891 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2892 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2893 *
gume 0:1f82672b8755 2894 *
gume 0:1f82672b8755 2895 */
gume 0:1f82672b8755 2896 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_msq(
gume 0:1f82672b8755 2897 float *accel_y_f);
gume 0:1f82672b8755 2898 /*!
gume 0:1f82672b8755 2899 * @brief This API is used to convert the accel z raw data
gume 0:1f82672b8755 2900 * to meterpersecseq output as float
gume 0:1f82672b8755 2901 *
gume 0:1f82672b8755 2902 * @param accel_z_f : The accel z meterpersecseq data
gume 0:1f82672b8755 2903 *
gume 0:1f82672b8755 2904 *
gume 0:1f82672b8755 2905 *
gume 0:1f82672b8755 2906 * @return results of bus communication function
gume 0:1f82672b8755 2907 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2908 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2909 *
gume 0:1f82672b8755 2910 *
gume 0:1f82672b8755 2911 */
gume 0:1f82672b8755 2912 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_msq(
gume 0:1f82672b8755 2913 float *accel_z_f);
gume 0:1f82672b8755 2914 /*!
gume 0:1f82672b8755 2915 * @brief This API is used to convert the accel y raw data
gume 0:1f82672b8755 2916 * to millig output as float
gume 0:1f82672b8755 2917 *
gume 0:1f82672b8755 2918 * @param accel_x_f : The accel y millig data
gume 0:1f82672b8755 2919 *
gume 0:1f82672b8755 2920 *
gume 0:1f82672b8755 2921 *
gume 0:1f82672b8755 2922 * @return results of bus communication function
gume 0:1f82672b8755 2923 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2924 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2925 *
gume 0:1f82672b8755 2926 */
gume 0:1f82672b8755 2927 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_x_mg(
gume 0:1f82672b8755 2928 float *accel_x_f);
gume 0:1f82672b8755 2929 /*!
gume 0:1f82672b8755 2930 * @brief This API is used to convert the accel y raw data
gume 0:1f82672b8755 2931 * to millig output as float
gume 0:1f82672b8755 2932 *
gume 0:1f82672b8755 2933 * @param accel_y_f : The accel y millig data
gume 0:1f82672b8755 2934 *
gume 0:1f82672b8755 2935 *
gume 0:1f82672b8755 2936 *
gume 0:1f82672b8755 2937 * @return results of bus communication function
gume 0:1f82672b8755 2938 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2939 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2940 *
gume 0:1f82672b8755 2941 */
gume 0:1f82672b8755 2942 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_y_mg(
gume 0:1f82672b8755 2943 float *accel_y_f);
gume 0:1f82672b8755 2944 /*!
gume 0:1f82672b8755 2945 * @brief This API is used to convert the accel z raw data
gume 0:1f82672b8755 2946 * to millig output as float
gume 0:1f82672b8755 2947 *
gume 0:1f82672b8755 2948 * @param accel_z_f : The accel z millig data
gume 0:1f82672b8755 2949 *
gume 0:1f82672b8755 2950 *
gume 0:1f82672b8755 2951 *
gume 0:1f82672b8755 2952 * @return results of bus communication function
gume 0:1f82672b8755 2953 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2954 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2955 *
gume 0:1f82672b8755 2956 *
gume 0:1f82672b8755 2957 */
gume 0:1f82672b8755 2958 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_z_mg(
gume 0:1f82672b8755 2959 float *accel_z_f);
gume 0:1f82672b8755 2960 /*!
gume 0:1f82672b8755 2961 * @brief This API is used to convert the accel xyz raw data
gume 0:1f82672b8755 2962 * to meterpersecseq output as float
gume 0:1f82672b8755 2963 *
gume 0:1f82672b8755 2964 * @param accel_xyz : The meterpersecseq data of accel xyz
gume 0:1f82672b8755 2965 *
gume 0:1f82672b8755 2966 * Parameter | result
gume 0:1f82672b8755 2967 * --------- | -----------------
gume 0:1f82672b8755 2968 * x | meterpersecseq data of accel
gume 0:1f82672b8755 2969 * y | meterpersecseq data of accel
gume 0:1f82672b8755 2970 * z | meterpersecseq data of accel
gume 0:1f82672b8755 2971 *
gume 0:1f82672b8755 2972 * @return results of bus communication function
gume 0:1f82672b8755 2973 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2974 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2975 *
gume 0:1f82672b8755 2976 *
gume 0:1f82672b8755 2977 */
gume 0:1f82672b8755 2978 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_msq(
gume 0:1f82672b8755 2979 struct bno055_accel_float_t *accel_xyz);
gume 0:1f82672b8755 2980 /*!
gume 0:1f82672b8755 2981 * @brief This API is used to convert the accel xyz raw data
gume 0:1f82672b8755 2982 * to millig output as float
gume 0:1f82672b8755 2983 *
gume 0:1f82672b8755 2984 * @param accel_xyz : The millig data of accel xyz
gume 0:1f82672b8755 2985 *
gume 0:1f82672b8755 2986 * Parameter | result
gume 0:1f82672b8755 2987 * --------- | -----------------
gume 0:1f82672b8755 2988 * x | millig data of accel
gume 0:1f82672b8755 2989 * y | millig data of accel
gume 0:1f82672b8755 2990 * z | millig data of accel
gume 0:1f82672b8755 2991 *
gume 0:1f82672b8755 2992 *
gume 0:1f82672b8755 2993 * @return results of bus communication function
gume 0:1f82672b8755 2994 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 2995 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 2996 *
gume 0:1f82672b8755 2997 *
gume 0:1f82672b8755 2998 */
gume 0:1f82672b8755 2999 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_accel_xyz_mg(
gume 0:1f82672b8755 3000 struct bno055_accel_float_t *accel_xyz);
gume 0:1f82672b8755 3001 /********************************************************************/
gume 0:1f82672b8755 3002 /**\name FUNCTIONS FOR READING MAG DATA OUTPUT AS FLOAT PRECISION */
gume 0:1f82672b8755 3003 /********************************************************************/
gume 0:1f82672b8755 3004 /*!
gume 0:1f82672b8755 3005 * @brief This API is used to convert the mag x raw data
gume 0:1f82672b8755 3006 * to microTesla output as float
gume 0:1f82672b8755 3007 *
gume 0:1f82672b8755 3008 * @param mag_x_f : The mag x microTesla data
gume 0:1f82672b8755 3009 *
gume 0:1f82672b8755 3010 *
gume 0:1f82672b8755 3011 *
gume 0:1f82672b8755 3012 * @return results of bus communication function
gume 0:1f82672b8755 3013 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3014 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3015 *
gume 0:1f82672b8755 3016 *
gume 0:1f82672b8755 3017 */
gume 0:1f82672b8755 3018 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_x_uT(
gume 0:1f82672b8755 3019 float *mag_x_f);
gume 0:1f82672b8755 3020 /*!
gume 0:1f82672b8755 3021 * @brief This API is used to convert the mag y raw data
gume 0:1f82672b8755 3022 * to microTesla output as float
gume 0:1f82672b8755 3023 *
gume 0:1f82672b8755 3024 * @param mag_y_f : The mag y microTesla data
gume 0:1f82672b8755 3025 *
gume 0:1f82672b8755 3026 *
gume 0:1f82672b8755 3027 *
gume 0:1f82672b8755 3028 * @return results of bus communication function
gume 0:1f82672b8755 3029 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3030 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3031 *
gume 0:1f82672b8755 3032 */
gume 0:1f82672b8755 3033 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_y_uT(
gume 0:1f82672b8755 3034 float *mag_y_f);
gume 0:1f82672b8755 3035 /*!
gume 0:1f82672b8755 3036 * @brief This API is used to convert the mag z raw data
gume 0:1f82672b8755 3037 * to microTesla output as float
gume 0:1f82672b8755 3038 *
gume 0:1f82672b8755 3039 * @param mag_z_f : The mag z microTesla data
gume 0:1f82672b8755 3040 *
gume 0:1f82672b8755 3041 *
gume 0:1f82672b8755 3042 *
gume 0:1f82672b8755 3043 * @return results of bus communication function
gume 0:1f82672b8755 3044 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3045 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3046 *
gume 0:1f82672b8755 3047 */
gume 0:1f82672b8755 3048 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_z_uT(
gume 0:1f82672b8755 3049 float *mag_z_f);
gume 0:1f82672b8755 3050 /*!
gume 0:1f82672b8755 3051 * @brief This API is used to convert the mag yz raw data
gume 0:1f82672b8755 3052 * to microTesla output as float
gume 0:1f82672b8755 3053 *
gume 0:1f82672b8755 3054 * @param mag_xyz_data : The microTesla data of mag xyz
gume 0:1f82672b8755 3055 *
gume 0:1f82672b8755 3056 * Parameter | result
gume 0:1f82672b8755 3057 * --------- | -----------------
gume 0:1f82672b8755 3058 * x | microTesla data of mag
gume 0:1f82672b8755 3059 * y | microTesla data of mag
gume 0:1f82672b8755 3060 * z | microTesla data of mag
gume 0:1f82672b8755 3061 *
gume 0:1f82672b8755 3062 *
gume 0:1f82672b8755 3063 * @return results of bus communication function
gume 0:1f82672b8755 3064 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3065 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3066 *
gume 0:1f82672b8755 3067 */
gume 0:1f82672b8755 3068 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_mag_xyz_uT(
gume 0:1f82672b8755 3069 struct bno055_mag_float_t *mag_xyz_data);
gume 0:1f82672b8755 3070 /********************************************************************/
gume 0:1f82672b8755 3071 /**\name FUNCTIONS FOR READING GYRO DATA OUTPUT AS FLOAT PRECISION */
gume 0:1f82672b8755 3072 /********************************************************************/
gume 0:1f82672b8755 3073 /*!
gume 0:1f82672b8755 3074 * @brief This API is used to convert the gyro x raw data
gume 0:1f82672b8755 3075 * to dps output as float
gume 0:1f82672b8755 3076 *
gume 0:1f82672b8755 3077 * @param gyro_x_f : The gyro x dps float data
gume 0:1f82672b8755 3078 *
gume 0:1f82672b8755 3079 *
gume 0:1f82672b8755 3080 *
gume 0:1f82672b8755 3081 * @return results of bus communication function
gume 0:1f82672b8755 3082 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3083 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3084 */
gume 0:1f82672b8755 3085 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_dps(
gume 0:1f82672b8755 3086 float *gyro_x_f);
gume 0:1f82672b8755 3087 /*!
gume 0:1f82672b8755 3088 * @brief This API is used to convert the gyro x raw data
gume 0:1f82672b8755 3089 * to rps output as float
gume 0:1f82672b8755 3090 *
gume 0:1f82672b8755 3091 * @param gyro_x_f : The gyro x dps float data
gume 0:1f82672b8755 3092 *
gume 0:1f82672b8755 3093 *
gume 0:1f82672b8755 3094 *
gume 0:1f82672b8755 3095 * @return results of bus communication function
gume 0:1f82672b8755 3096 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3097 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3098 *
gume 0:1f82672b8755 3099 */
gume 0:1f82672b8755 3100 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_x_rps(
gume 0:1f82672b8755 3101 float *gyro_x_f);
gume 0:1f82672b8755 3102 /*!
gume 0:1f82672b8755 3103 * @brief This API is used to convert the gyro y raw data
gume 0:1f82672b8755 3104 * to dps output as float
gume 0:1f82672b8755 3105 *
gume 0:1f82672b8755 3106 * @param gyro_y_f : The gyro y dps float data
gume 0:1f82672b8755 3107 *
gume 0:1f82672b8755 3108 *
gume 0:1f82672b8755 3109 *
gume 0:1f82672b8755 3110 * @return results of bus communication function
gume 0:1f82672b8755 3111 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3112 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3113 *
gume 0:1f82672b8755 3114 */
gume 0:1f82672b8755 3115 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_dps(
gume 0:1f82672b8755 3116 float *gyro_y_f);
gume 0:1f82672b8755 3117 /*!
gume 0:1f82672b8755 3118 * @brief This API is used to convert the gyro y raw data
gume 0:1f82672b8755 3119 * to rps output as float
gume 0:1f82672b8755 3120 *
gume 0:1f82672b8755 3121 * @param gyro_y_f : The gyro y dps float data
gume 0:1f82672b8755 3122 *
gume 0:1f82672b8755 3123 *
gume 0:1f82672b8755 3124 *
gume 0:1f82672b8755 3125 * @return results of bus communication function
gume 0:1f82672b8755 3126 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3127 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3128 *
gume 0:1f82672b8755 3129 *
gume 0:1f82672b8755 3130 */
gume 0:1f82672b8755 3131 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_y_rps(
gume 0:1f82672b8755 3132 float *gyro_y_f);
gume 0:1f82672b8755 3133 /*!
gume 0:1f82672b8755 3134 * @brief This API is used to convert the gyro z raw data
gume 0:1f82672b8755 3135 * to dps output as float
gume 0:1f82672b8755 3136 *
gume 0:1f82672b8755 3137 * @param gyro_z_f : The gyro z dps float data
gume 0:1f82672b8755 3138 *
gume 0:1f82672b8755 3139 *
gume 0:1f82672b8755 3140 *
gume 0:1f82672b8755 3141 * @return results of bus communication function
gume 0:1f82672b8755 3142 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3143 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3144 *
gume 0:1f82672b8755 3145 */
gume 0:1f82672b8755 3146 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_dps(
gume 0:1f82672b8755 3147 float *gyro_z_f);
gume 0:1f82672b8755 3148 /*!
gume 0:1f82672b8755 3149 * @brief This API is used to convert the gyro z raw data
gume 0:1f82672b8755 3150 * to rps output as float
gume 0:1f82672b8755 3151 *
gume 0:1f82672b8755 3152 * @param gyro_z_f : The gyro z rps float data
gume 0:1f82672b8755 3153 *
gume 0:1f82672b8755 3154 *
gume 0:1f82672b8755 3155 *
gume 0:1f82672b8755 3156 * @return results of bus communication function
gume 0:1f82672b8755 3157 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3158 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3159 *
gume 0:1f82672b8755 3160 */
gume 0:1f82672b8755 3161 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_z_rps(
gume 0:1f82672b8755 3162 float *gyro_z_f);
gume 0:1f82672b8755 3163 /*!
gume 0:1f82672b8755 3164 * @brief This API is used to convert the gyro xyz raw data
gume 0:1f82672b8755 3165 * to dps output as float
gume 0:1f82672b8755 3166 *
gume 0:1f82672b8755 3167 * @param gyro_xyz_data : The dps data of gyro xyz
gume 0:1f82672b8755 3168 *
gume 0:1f82672b8755 3169 * Parameter | result
gume 0:1f82672b8755 3170 * --------- | -----------------
gume 0:1f82672b8755 3171 * x | dps data of gyro
gume 0:1f82672b8755 3172 * y | dps data of gyro
gume 0:1f82672b8755 3173 * z | dps data of gyro
gume 0:1f82672b8755 3174 *
gume 0:1f82672b8755 3175 *
gume 0:1f82672b8755 3176 * @return results of bus communication function
gume 0:1f82672b8755 3177 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3178 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3179 *
gume 0:1f82672b8755 3180 *
gume 0:1f82672b8755 3181 */
gume 0:1f82672b8755 3182 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_dps(
gume 0:1f82672b8755 3183 struct bno055_gyro_float_t *gyro_xyz_data);
gume 0:1f82672b8755 3184 /*!
gume 0:1f82672b8755 3185 * @brief This API is used to convert the gyro xyz raw data
gume 0:1f82672b8755 3186 * to rps output as float
gume 0:1f82672b8755 3187 *
gume 0:1f82672b8755 3188 * @param gyro_xyz_data : The rps data of gyro xyz
gume 0:1f82672b8755 3189 *
gume 0:1f82672b8755 3190 * Parameter | result
gume 0:1f82672b8755 3191 * --------- | -----------------
gume 0:1f82672b8755 3192 * x | rps data of gyro
gume 0:1f82672b8755 3193 * y | rps data of gyro
gume 0:1f82672b8755 3194 * z | rps data of gyro
gume 0:1f82672b8755 3195 *
gume 0:1f82672b8755 3196 *
gume 0:1f82672b8755 3197 * @return results of bus communication function
gume 0:1f82672b8755 3198 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3199 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3200 *
gume 0:1f82672b8755 3201 *
gume 0:1f82672b8755 3202 */
gume 0:1f82672b8755 3203 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gyro_xyz_rps(
gume 0:1f82672b8755 3204 struct bno055_gyro_float_t *gyro_xyz_data);
gume 0:1f82672b8755 3205 /********************************************************************/
gume 0:1f82672b8755 3206 /**\name FUNCTIONS FOR READING EULER DATA OUTPUT AS FLOAT PRECISION */
gume 0:1f82672b8755 3207 /********************************************************************/
gume 0:1f82672b8755 3208 /*!
gume 0:1f82672b8755 3209 * @brief This API is used to convert the Euler h raw data
gume 0:1f82672b8755 3210 * to degree output as float
gume 0:1f82672b8755 3211 *
gume 0:1f82672b8755 3212 * @param euler_h_f : The float value of Euler h degree
gume 0:1f82672b8755 3213 *
gume 0:1f82672b8755 3214 * @return results of bus communication function
gume 0:1f82672b8755 3215 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3216 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3217 *
gume 0:1f82672b8755 3218 *
gume 0:1f82672b8755 3219 */
gume 0:1f82672b8755 3220 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_deg(
gume 0:1f82672b8755 3221 float *euler_h_f);
gume 0:1f82672b8755 3222 /*!
gume 0:1f82672b8755 3223 * @brief This API is used to convert the Euler h raw data
gume 0:1f82672b8755 3224 * to radians output as float
gume 0:1f82672b8755 3225 *
gume 0:1f82672b8755 3226 * @param euler_h_f : The float value of Euler h radians
gume 0:1f82672b8755 3227 *
gume 0:1f82672b8755 3228 * @return results of bus communication function
gume 0:1f82672b8755 3229 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3230 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3231 *
gume 0:1f82672b8755 3232 *
gume 0:1f82672b8755 3233 */
gume 0:1f82672b8755 3234 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_h_rad(
gume 0:1f82672b8755 3235 float *euler_h_f);
gume 0:1f82672b8755 3236 /*!
gume 0:1f82672b8755 3237 * @brief This API is used to convert the Euler r raw data
gume 0:1f82672b8755 3238 * to degree output as float
gume 0:1f82672b8755 3239 *
gume 0:1f82672b8755 3240 * @param euler_r_f : The float value of Euler r degree
gume 0:1f82672b8755 3241 *
gume 0:1f82672b8755 3242 * @return results of bus communication function
gume 0:1f82672b8755 3243 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3244 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3245 *
gume 0:1f82672b8755 3246 */
gume 0:1f82672b8755 3247 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_deg(
gume 0:1f82672b8755 3248 float *euler_r_f);
gume 0:1f82672b8755 3249 /*!
gume 0:1f82672b8755 3250 * @brief This API is used to convert the Euler r raw data
gume 0:1f82672b8755 3251 * to radians output as float
gume 0:1f82672b8755 3252 *
gume 0:1f82672b8755 3253 * @param euler_r_f : The float value of Euler r radians
gume 0:1f82672b8755 3254 *
gume 0:1f82672b8755 3255 * @return results of bus communication function
gume 0:1f82672b8755 3256 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3257 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3258 *
gume 0:1f82672b8755 3259 */
gume 0:1f82672b8755 3260 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_r_rad(
gume 0:1f82672b8755 3261 float *euler_r_f);
gume 0:1f82672b8755 3262 /*!
gume 0:1f82672b8755 3263 * @brief This API is used to convert the Euler p raw data
gume 0:1f82672b8755 3264 * to degree output as float
gume 0:1f82672b8755 3265 *
gume 0:1f82672b8755 3266 * @param euler_p_f : The float value of Euler p degree
gume 0:1f82672b8755 3267 *
gume 0:1f82672b8755 3268 * @return results of bus communication function
gume 0:1f82672b8755 3269 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3270 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3271 *
gume 0:1f82672b8755 3272 */
gume 0:1f82672b8755 3273 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_deg(
gume 0:1f82672b8755 3274 float *euler_p_f);
gume 0:1f82672b8755 3275 /*!
gume 0:1f82672b8755 3276 * @brief This API is used to convert the Euler p raw data
gume 0:1f82672b8755 3277 * to radians output as float
gume 0:1f82672b8755 3278 *
gume 0:1f82672b8755 3279 * @param euler_p_f : The float value of Euler p radians
gume 0:1f82672b8755 3280 *
gume 0:1f82672b8755 3281 * @return results of bus communication function
gume 0:1f82672b8755 3282 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3283 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3284 *
gume 0:1f82672b8755 3285 *
gume 0:1f82672b8755 3286 */
gume 0:1f82672b8755 3287 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_p_rad(
gume 0:1f82672b8755 3288 float *euler_p_f);
gume 0:1f82672b8755 3289 /*!
gume 0:1f82672b8755 3290 * @brief This API is used to convert the Euler hrp raw data
gume 0:1f82672b8755 3291 * to degree output as float
gume 0:1f82672b8755 3292 *
gume 0:1f82672b8755 3293 * @param euler_hpr : The degree data of Euler hrp
gume 0:1f82672b8755 3294 *
gume 0:1f82672b8755 3295 * Parameter | result
gume 0:1f82672b8755 3296 * --------- | -----------------
gume 0:1f82672b8755 3297 * h | degree data of Euler
gume 0:1f82672b8755 3298 * r | degree data of Euler
gume 0:1f82672b8755 3299 * p | degree data of Euler
gume 0:1f82672b8755 3300 *
gume 0:1f82672b8755 3301 *
gume 0:1f82672b8755 3302 * @return results of bus communication function
gume 0:1f82672b8755 3303 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3304 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3305 *
gume 0:1f82672b8755 3306 */
gume 0:1f82672b8755 3307 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_deg(
gume 0:1f82672b8755 3308 struct bno055_euler_float_t *euler_hpr);
gume 0:1f82672b8755 3309 /*!
gume 0:1f82672b8755 3310 * @brief This API is used to convert the Euler xyz raw data
gume 0:1f82672b8755 3311 * to radians output as float
gume 0:1f82672b8755 3312 *
gume 0:1f82672b8755 3313 * @param euler_hpr : The radians data of Euler hrp
gume 0:1f82672b8755 3314 *
gume 0:1f82672b8755 3315 * Parameter | result
gume 0:1f82672b8755 3316 * --------- | -----------------
gume 0:1f82672b8755 3317 * h | radians data of Euler
gume 0:1f82672b8755 3318 * r | radians data of Euler
gume 0:1f82672b8755 3319 * p | radians data of Euler
gume 0:1f82672b8755 3320 *
gume 0:1f82672b8755 3321 *
gume 0:1f82672b8755 3322 * @return results of bus communication function
gume 0:1f82672b8755 3323 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3324 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3325 *
gume 0:1f82672b8755 3326 */
gume 0:1f82672b8755 3327 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_euler_hpr_rad(
gume 0:1f82672b8755 3328 struct bno055_euler_float_t *euler_hpr);
gume 0:1f82672b8755 3329 /***************************************************************************/
gume 0:1f82672b8755 3330 /**\name FUNCTIONS FOR READING LINEAR ACCEL DATA OUTPUT AS FLOAT PRECISION */
gume 0:1f82672b8755 3331 /**************************************************************************/
gume 0:1f82672b8755 3332 /*!
gume 0:1f82672b8755 3333 * @brief This API is used to convert the linear
gume 0:1f82672b8755 3334 * accel x raw data to meterpersecseq output as float
gume 0:1f82672b8755 3335 *
gume 0:1f82672b8755 3336 * @param linear_accel_x_f : The float value of linear accel x meterpersecseq
gume 0:1f82672b8755 3337 *
gume 0:1f82672b8755 3338 * @return results of bus communication function
gume 0:1f82672b8755 3339 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3340 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3341 */
gume 0:1f82672b8755 3342 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_x_msq(
gume 0:1f82672b8755 3343 float *linear_accel_x_f);
gume 0:1f82672b8755 3344 /*!
gume 0:1f82672b8755 3345 * @brief This API is used to convert the linear
gume 0:1f82672b8755 3346 * accel y raw data to meterpersecseq output as float
gume 0:1f82672b8755 3347 *
gume 0:1f82672b8755 3348 * @param linear_accel_y_f : The float value of linear accel y meterpersecseq
gume 0:1f82672b8755 3349 *
gume 0:1f82672b8755 3350 * @return results of bus communication function
gume 0:1f82672b8755 3351 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3352 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3353 */
gume 0:1f82672b8755 3354 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_y_msq(
gume 0:1f82672b8755 3355 float *linear_accel_y_f);
gume 0:1f82672b8755 3356 /*!
gume 0:1f82672b8755 3357 * @brief This API is used to convert the linear
gume 0:1f82672b8755 3358 * accel z raw data to meterpersecseq output as float
gume 0:1f82672b8755 3359 *
gume 0:1f82672b8755 3360 * @param linear_accel_z_f : The float value of linear accel z meterpersecseq
gume 0:1f82672b8755 3361 *
gume 0:1f82672b8755 3362 * @return results of bus communication function
gume 0:1f82672b8755 3363 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3364 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3365 *
gume 0:1f82672b8755 3366 */
gume 0:1f82672b8755 3367 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_z_msq(
gume 0:1f82672b8755 3368 float *linear_accel_z_f);
gume 0:1f82672b8755 3369 /*!
gume 0:1f82672b8755 3370 * @brief This API is used to convert the linear accel xyz raw data
gume 0:1f82672b8755 3371 * to meterpersecseq output as float
gume 0:1f82672b8755 3372 *
gume 0:1f82672b8755 3373 * @param linear_accel_xyz : The meterpersecseq data of linear accel xyz
gume 0:1f82672b8755 3374 *
gume 0:1f82672b8755 3375 * Parameter | result
gume 0:1f82672b8755 3376 * --------- | -----------------
gume 0:1f82672b8755 3377 * x | meterpersecseq data of linear accel
gume 0:1f82672b8755 3378 * y | meterpersecseq data of linear accel
gume 0:1f82672b8755 3379 * z | meterpersecseq data of linear accel
gume 0:1f82672b8755 3380 *
gume 0:1f82672b8755 3381 *
gume 0:1f82672b8755 3382 * @return results of bus communication function
gume 0:1f82672b8755 3383 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3384 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3385 *
gume 0:1f82672b8755 3386 *
gume 0:1f82672b8755 3387 */
gume 0:1f82672b8755 3388 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_linear_accel_xyz_msq(
gume 0:1f82672b8755 3389 struct bno055_linear_accel_float_t *linear_accel_xyz);
gume 0:1f82672b8755 3390 /********************************************************************/
gume 0:1f82672b8755 3391 /**\name FUNCTIONS FOR READING GRAVITY DATA OUTPUT AS FLOAT PRECISION */
gume 0:1f82672b8755 3392 /********************************************************************/
gume 0:1f82672b8755 3393 /*!
gume 0:1f82672b8755 3394 * @brief This API is used to convert the gravity
gume 0:1f82672b8755 3395 * x raw data to meterpersecseq output as float
gume 0:1f82672b8755 3396 *
gume 0:1f82672b8755 3397 * @param gravity_x_f : The float value of gravity x meterpersecseq
gume 0:1f82672b8755 3398 *
gume 0:1f82672b8755 3399 * @return results of bus communication function
gume 0:1f82672b8755 3400 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3401 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3402 *
gume 0:1f82672b8755 3403 *
gume 0:1f82672b8755 3404 */
gume 0:1f82672b8755 3405 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_x_msq(
gume 0:1f82672b8755 3406 float *gravity_x_f);
gume 0:1f82672b8755 3407 /*!
gume 0:1f82672b8755 3408 * @brief This API is used to convert the gravity
gume 0:1f82672b8755 3409 * y raw data to meterpersecseq output as float
gume 0:1f82672b8755 3410 *
gume 0:1f82672b8755 3411 * @param gravity_y_f : The float value of gravity y meterpersecseq
gume 0:1f82672b8755 3412 *
gume 0:1f82672b8755 3413 * @return results of bus communication function
gume 0:1f82672b8755 3414 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3415 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3416 *
gume 0:1f82672b8755 3417 *
gume 0:1f82672b8755 3418 */
gume 0:1f82672b8755 3419 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_y_msq(
gume 0:1f82672b8755 3420 float *gravity_y_f);
gume 0:1f82672b8755 3421 /*!
gume 0:1f82672b8755 3422 * @brief This API is used to convert the gravity
gume 0:1f82672b8755 3423 * z raw data to meterpersecseq output as float
gume 0:1f82672b8755 3424 *
gume 0:1f82672b8755 3425 * @param gravity_z_f : The float value of gravity z meterpersecseq
gume 0:1f82672b8755 3426 *
gume 0:1f82672b8755 3427 * @return results of bus communication function
gume 0:1f82672b8755 3428 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3429 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3430 *
gume 0:1f82672b8755 3431 */
gume 0:1f82672b8755 3432 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_float_z_msq(
gume 0:1f82672b8755 3433 float *gravity_z_f);
gume 0:1f82672b8755 3434 /*!
gume 0:1f82672b8755 3435 * @brief This API is used to convert the gravity xyz raw data
gume 0:1f82672b8755 3436 * to meterpersecseq output as float
gume 0:1f82672b8755 3437 *
gume 0:1f82672b8755 3438 * @param gravity_xyz : The meterpersecseq data of gravity xyz
gume 0:1f82672b8755 3439 *
gume 0:1f82672b8755 3440 * Parameter | result
gume 0:1f82672b8755 3441 * --------- | -----------------
gume 0:1f82672b8755 3442 * x | meterpersecseq data of gravity
gume 0:1f82672b8755 3443 * y | meterpersecseq data of gravity
gume 0:1f82672b8755 3444 * z | meterpersecseq data of gravity
gume 0:1f82672b8755 3445 *
gume 0:1f82672b8755 3446 *
gume 0:1f82672b8755 3447 * @return results of bus communication function
gume 0:1f82672b8755 3448 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3449 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3450 *
gume 0:1f82672b8755 3451 *
gume 0:1f82672b8755 3452 */
gume 0:1f82672b8755 3453 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_gravity_xyz_msq(
gume 0:1f82672b8755 3454 struct bno055_gravity_float_t *gravity_xyz);
gume 0:1f82672b8755 3455 /**************************************************************************/
gume 0:1f82672b8755 3456 /**\name FUNCTIONS FOR READING TEMPERATURE DATA OUTPUT AS FLOAT PRECISION */
gume 0:1f82672b8755 3457 /*************************************************************************/
gume 0:1f82672b8755 3458 /*!
gume 0:1f82672b8755 3459 * @brief This API is used to convert the temperature
gume 0:1f82672b8755 3460 * data to Fahrenheit output as float
gume 0:1f82672b8755 3461 *
gume 0:1f82672b8755 3462 * @param temp_f : The float value of temperature Fahrenheit
gume 0:1f82672b8755 3463 *
gume 0:1f82672b8755 3464 * @return results of bus communication function
gume 0:1f82672b8755 3465 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3466 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3467 *
gume 0:1f82672b8755 3468 *
gume 0:1f82672b8755 3469 */
gume 0:1f82672b8755 3470 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_fahrenheit(
gume 0:1f82672b8755 3471 float *temp_f);
gume 0:1f82672b8755 3472 /*!
gume 0:1f82672b8755 3473 * @brief This API is used to convert the temperature
gume 0:1f82672b8755 3474 * data to Celsius output as float
gume 0:1f82672b8755 3475 *
gume 0:1f82672b8755 3476 * @param temp_f : The float value of temperature Celsius
gume 0:1f82672b8755 3477 *
gume 0:1f82672b8755 3478 * @return results of bus communication function
gume 0:1f82672b8755 3479 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3480 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3481 *
gume 0:1f82672b8755 3482 *
gume 0:1f82672b8755 3483 *
gume 0:1f82672b8755 3484 */
gume 0:1f82672b8755 3485 BNO055_RETURN_FUNCTION_TYPE bno055_convert_float_temp_celsius(
gume 0:1f82672b8755 3486 float *temp_f);
gume 0:1f82672b8755 3487 #endif
gume 0:1f82672b8755 3488 #ifdef BNO055_DOUBLE_ENABLE
gume 0:1f82672b8755 3489 /**************************************************************************/
gume 0:1f82672b8755 3490 /**\name FUNCTIONS FOR READING ACCEL DATA OUTPUT AS DOUBLE PRECISION */
gume 0:1f82672b8755 3491 /*************************************************************************/
gume 0:1f82672b8755 3492 /*!
gume 0:1f82672b8755 3493 * @brief This API is used to convert the accel x raw data
gume 0:1f82672b8755 3494 * to meterpersecseq output as double
gume 0:1f82672b8755 3495 *
gume 0:1f82672b8755 3496 * @param accel_x_d : The accel x meterpersecseq data
gume 0:1f82672b8755 3497 *
gume 0:1f82672b8755 3498 *
gume 0:1f82672b8755 3499 *
gume 0:1f82672b8755 3500 * @return results of bus communication function
gume 0:1f82672b8755 3501 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3502 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3503 *
gume 0:1f82672b8755 3504 *
gume 0:1f82672b8755 3505 */
gume 0:1f82672b8755 3506 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_msq(
gume 0:1f82672b8755 3507 double *accel_x_d);
gume 0:1f82672b8755 3508 /*!
gume 0:1f82672b8755 3509 * @brief This API is used to convert the accel y raw data
gume 0:1f82672b8755 3510 * to meterpersecseq output as double
gume 0:1f82672b8755 3511 *
gume 0:1f82672b8755 3512 * @param accel_y_d : The accel y meterpersecseq data
gume 0:1f82672b8755 3513 *
gume 0:1f82672b8755 3514 *
gume 0:1f82672b8755 3515 *
gume 0:1f82672b8755 3516 * @return results of bus communication function
gume 0:1f82672b8755 3517 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3518 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3519 *
gume 0:1f82672b8755 3520 *
gume 0:1f82672b8755 3521 *
gume 0:1f82672b8755 3522 */
gume 0:1f82672b8755 3523 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_msq(
gume 0:1f82672b8755 3524 double *accel_y_d);
gume 0:1f82672b8755 3525 /*!
gume 0:1f82672b8755 3526 * @brief This API is used to convert the accel z raw data
gume 0:1f82672b8755 3527 * to meterpersecseq output as double
gume 0:1f82672b8755 3528 *
gume 0:1f82672b8755 3529 * @param accel_z_d : The accel z meterpersecseq data
gume 0:1f82672b8755 3530 *
gume 0:1f82672b8755 3531 *
gume 0:1f82672b8755 3532 *
gume 0:1f82672b8755 3533 * @return results of bus communication function
gume 0:1f82672b8755 3534 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3535 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3536 */
gume 0:1f82672b8755 3537 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_msq(
gume 0:1f82672b8755 3538 double *accel_z_d);
gume 0:1f82672b8755 3539 /*!
gume 0:1f82672b8755 3540 * @brief This API is used to convert the accel x raw data
gume 0:1f82672b8755 3541 * to millig output as double
gume 0:1f82672b8755 3542 *
gume 0:1f82672b8755 3543 * @param accel_x_d : The accel x millig data
gume 0:1f82672b8755 3544 *
gume 0:1f82672b8755 3545 *
gume 0:1f82672b8755 3546 *
gume 0:1f82672b8755 3547 * @return results of bus communication function
gume 0:1f82672b8755 3548 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3549 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3550 *
gume 0:1f82672b8755 3551 *
gume 0:1f82672b8755 3552 *
gume 0:1f82672b8755 3553 */
gume 0:1f82672b8755 3554 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_x_mg(
gume 0:1f82672b8755 3555 double *accel_x_d);
gume 0:1f82672b8755 3556 /*!
gume 0:1f82672b8755 3557 * @brief This API is used to convert the accel y raw data
gume 0:1f82672b8755 3558 * to millig output as double
gume 0:1f82672b8755 3559 *
gume 0:1f82672b8755 3560 * @param accel_y_d : The accel y millig data
gume 0:1f82672b8755 3561 *
gume 0:1f82672b8755 3562 *
gume 0:1f82672b8755 3563 *
gume 0:1f82672b8755 3564 * @return results of bus communication function
gume 0:1f82672b8755 3565 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3566 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3567 *
gume 0:1f82672b8755 3568 *
gume 0:1f82672b8755 3569 */
gume 0:1f82672b8755 3570 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_y_mg(
gume 0:1f82672b8755 3571 double *accel_y_d);
gume 0:1f82672b8755 3572 /*!
gume 0:1f82672b8755 3573 * @brief This API is used to convert the accel z raw data
gume 0:1f82672b8755 3574 * to millig output as double
gume 0:1f82672b8755 3575 *
gume 0:1f82672b8755 3576 * @param accel_z_d : The accel z millig data
gume 0:1f82672b8755 3577 *
gume 0:1f82672b8755 3578 *
gume 0:1f82672b8755 3579 *
gume 0:1f82672b8755 3580 * @return results of bus communication function
gume 0:1f82672b8755 3581 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3582 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3583 *
gume 0:1f82672b8755 3584 */
gume 0:1f82672b8755 3585 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_z_mg(
gume 0:1f82672b8755 3586 double *accel_z_d);
gume 0:1f82672b8755 3587 /*!
gume 0:1f82672b8755 3588 * @brief This API is used to convert the accel xyz raw data
gume 0:1f82672b8755 3589 * to meterpersecseq output as double
gume 0:1f82672b8755 3590 *
gume 0:1f82672b8755 3591 * @param accel_xyz : The meterpersecseq data of accel xyz
gume 0:1f82672b8755 3592 *
gume 0:1f82672b8755 3593 * Parameter | result
gume 0:1f82672b8755 3594 * --------- | -----------------
gume 0:1f82672b8755 3595 * x | meterpersecseq data of accel
gume 0:1f82672b8755 3596 * y | meterpersecseq data of accel
gume 0:1f82672b8755 3597 * z | meterpersecseq data of accel
gume 0:1f82672b8755 3598 *
gume 0:1f82672b8755 3599 *
gume 0:1f82672b8755 3600 * @return results of bus communication function
gume 0:1f82672b8755 3601 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3602 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3603 *
gume 0:1f82672b8755 3604 *
gume 0:1f82672b8755 3605 */
gume 0:1f82672b8755 3606 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_msq(
gume 0:1f82672b8755 3607 struct bno055_accel_double_t *accel_xyz);
gume 0:1f82672b8755 3608 /*!
gume 0:1f82672b8755 3609 * @brief This API is used to convert the accel xyz raw data
gume 0:1f82672b8755 3610 * to millig output as double
gume 0:1f82672b8755 3611 *
gume 0:1f82672b8755 3612 * @param accel_xyz : The millig data of accel xyz
gume 0:1f82672b8755 3613 *
gume 0:1f82672b8755 3614 * Parameter | result
gume 0:1f82672b8755 3615 * --------- | -----------------
gume 0:1f82672b8755 3616 * x | millig data of accel
gume 0:1f82672b8755 3617 * y | millig data of accel
gume 0:1f82672b8755 3618 * z | millig data of accel
gume 0:1f82672b8755 3619 *
gume 0:1f82672b8755 3620 *
gume 0:1f82672b8755 3621 * @return results of bus communication function
gume 0:1f82672b8755 3622 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3623 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3624 *
gume 0:1f82672b8755 3625 */
gume 0:1f82672b8755 3626 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_accel_xyz_mg(
gume 0:1f82672b8755 3627 struct bno055_accel_double_t *accel_xyz);
gume 0:1f82672b8755 3628 /**************************************************************************/
gume 0:1f82672b8755 3629 /**\name FUNCTIONS FOR READING MAG DATA OUTPUT AS DOUBLE PRECISION */
gume 0:1f82672b8755 3630 /*************************************************************************/
gume 0:1f82672b8755 3631 /*!
gume 0:1f82672b8755 3632 * @brief This API is used to convert the mag x raw data
gume 0:1f82672b8755 3633 * to microTesla output as double
gume 0:1f82672b8755 3634 *
gume 0:1f82672b8755 3635 * @param mag_x_d : The mag x microTesla data
gume 0:1f82672b8755 3636 *
gume 0:1f82672b8755 3637 *
gume 0:1f82672b8755 3638 *
gume 0:1f82672b8755 3639 * @return results of bus communication function
gume 0:1f82672b8755 3640 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3641 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3642 *
gume 0:1f82672b8755 3643 *
gume 0:1f82672b8755 3644 *
gume 0:1f82672b8755 3645 */
gume 0:1f82672b8755 3646 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_x_uT(
gume 0:1f82672b8755 3647 double *mag_x_d);
gume 0:1f82672b8755 3648 /*!
gume 0:1f82672b8755 3649 * @brief This API is used to convert the mag x raw data
gume 0:1f82672b8755 3650 * to microTesla output as double
gume 0:1f82672b8755 3651 *
gume 0:1f82672b8755 3652 * @param mag_y_d : The mag x microTesla data
gume 0:1f82672b8755 3653 *
gume 0:1f82672b8755 3654 *
gume 0:1f82672b8755 3655 *
gume 0:1f82672b8755 3656 * @return results of bus communication function
gume 0:1f82672b8755 3657 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3658 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3659 *
gume 0:1f82672b8755 3660 *
gume 0:1f82672b8755 3661 *
gume 0:1f82672b8755 3662 */
gume 0:1f82672b8755 3663 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_y_uT(
gume 0:1f82672b8755 3664 double *mag_y_d);
gume 0:1f82672b8755 3665 /*!
gume 0:1f82672b8755 3666 * @brief This API is used to convert the mag z raw data
gume 0:1f82672b8755 3667 * to microTesla output as double
gume 0:1f82672b8755 3668 *
gume 0:1f82672b8755 3669 * @param mag_z_d : The mag z microTesla data
gume 0:1f82672b8755 3670 *
gume 0:1f82672b8755 3671 *
gume 0:1f82672b8755 3672 *
gume 0:1f82672b8755 3673 * @return results of bus communication function
gume 0:1f82672b8755 3674 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3675 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3676 *
gume 0:1f82672b8755 3677 *
gume 0:1f82672b8755 3678 */
gume 0:1f82672b8755 3679 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_z_uT(
gume 0:1f82672b8755 3680 double *mag_z_d);
gume 0:1f82672b8755 3681 /*!
gume 0:1f82672b8755 3682 * @brief This API is used to convert the mag yz raw data
gume 0:1f82672b8755 3683 * to microTesla output as double
gume 0:1f82672b8755 3684 *
gume 0:1f82672b8755 3685 * @param mag_xyz : The microTesla data of mag xyz
gume 0:1f82672b8755 3686 *
gume 0:1f82672b8755 3687 * Parameter | result
gume 0:1f82672b8755 3688 * --------- | -----------------
gume 0:1f82672b8755 3689 * x | microTesla data of mag
gume 0:1f82672b8755 3690 * y | microTesla data of mag
gume 0:1f82672b8755 3691 * z | microTesla data of mag
gume 0:1f82672b8755 3692 *
gume 0:1f82672b8755 3693 *
gume 0:1f82672b8755 3694 * @return results of bus communication function
gume 0:1f82672b8755 3695 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3696 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3697 *
gume 0:1f82672b8755 3698 */
gume 0:1f82672b8755 3699 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_mag_xyz_uT(
gume 0:1f82672b8755 3700 struct bno055_mag_double_t *mag_xyz);
gume 0:1f82672b8755 3701 /**************************************************************************/
gume 0:1f82672b8755 3702 /**\name FUNCTIONS FOR READING GYRO DATA OUTPUT AS DOUBLE PRECISION */
gume 0:1f82672b8755 3703 /*************************************************************************/
gume 0:1f82672b8755 3704 /*!
gume 0:1f82672b8755 3705 * @brief This API is used to convert the gyro x raw data
gume 0:1f82672b8755 3706 * to dps output as double
gume 0:1f82672b8755 3707 *
gume 0:1f82672b8755 3708 * @param gyro_x_d : The gyro x dps double data
gume 0:1f82672b8755 3709 *
gume 0:1f82672b8755 3710 *
gume 0:1f82672b8755 3711 *
gume 0:1f82672b8755 3712 * @return results of bus communication function
gume 0:1f82672b8755 3713 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3714 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3715 *
gume 0:1f82672b8755 3716 *
gume 0:1f82672b8755 3717 */
gume 0:1f82672b8755 3718 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_dps(
gume 0:1f82672b8755 3719 double *gyro_x_d);
gume 0:1f82672b8755 3720 /*!
gume 0:1f82672b8755 3721 * @brief This API is used to convert the gyro y raw data
gume 0:1f82672b8755 3722 * to dps output as double
gume 0:1f82672b8755 3723 *
gume 0:1f82672b8755 3724 * @param gyro_y_d : The gyro y dps double data
gume 0:1f82672b8755 3725 *
gume 0:1f82672b8755 3726 *
gume 0:1f82672b8755 3727 *
gume 0:1f82672b8755 3728 * @return results of bus communication function
gume 0:1f82672b8755 3729 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3730 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3731 *
gume 0:1f82672b8755 3732 *
gume 0:1f82672b8755 3733 */
gume 0:1f82672b8755 3734 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_dps(
gume 0:1f82672b8755 3735 double *gyro_y_d);
gume 0:1f82672b8755 3736 /*!
gume 0:1f82672b8755 3737 * @brief This API is used to convert the gyro z raw data
gume 0:1f82672b8755 3738 * to dps output as double
gume 0:1f82672b8755 3739 *
gume 0:1f82672b8755 3740 * @param gyro_z_d : The gyro z dps double data
gume 0:1f82672b8755 3741 *
gume 0:1f82672b8755 3742 *
gume 0:1f82672b8755 3743 *
gume 0:1f82672b8755 3744 * @return results of bus communication function
gume 0:1f82672b8755 3745 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3746 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3747 *
gume 0:1f82672b8755 3748 *
gume 0:1f82672b8755 3749 */
gume 0:1f82672b8755 3750 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_dps(
gume 0:1f82672b8755 3751 double *gyro_z_d);
gume 0:1f82672b8755 3752 /*!
gume 0:1f82672b8755 3753 * @brief This API is used to convert the gyro x raw data
gume 0:1f82672b8755 3754 * to rps output as double
gume 0:1f82672b8755 3755 *
gume 0:1f82672b8755 3756 * @param gyro_x_d : The gyro x dps double data
gume 0:1f82672b8755 3757 *
gume 0:1f82672b8755 3758 *
gume 0:1f82672b8755 3759 *
gume 0:1f82672b8755 3760 * @return results of bus communication function
gume 0:1f82672b8755 3761 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3762 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3763 *
gume 0:1f82672b8755 3764 *
gume 0:1f82672b8755 3765 */
gume 0:1f82672b8755 3766 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_x_rps(
gume 0:1f82672b8755 3767 double *gyro_x_d);
gume 0:1f82672b8755 3768 /*!
gume 0:1f82672b8755 3769 * @brief This API is used to convert the gyro y raw data
gume 0:1f82672b8755 3770 * to rps output as double
gume 0:1f82672b8755 3771 *
gume 0:1f82672b8755 3772 * @param gyro_y_d : The gyro y dps double data
gume 0:1f82672b8755 3773 *
gume 0:1f82672b8755 3774 *
gume 0:1f82672b8755 3775 *
gume 0:1f82672b8755 3776 * @return results of bus communication function
gume 0:1f82672b8755 3777 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3778 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3779 *
gume 0:1f82672b8755 3780 *
gume 0:1f82672b8755 3781 */
gume 0:1f82672b8755 3782 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_y_rps(
gume 0:1f82672b8755 3783 double *gyro_y_d);
gume 0:1f82672b8755 3784 /*!
gume 0:1f82672b8755 3785 * @brief This API is used to convert the gyro z raw data
gume 0:1f82672b8755 3786 * to rps output as double
gume 0:1f82672b8755 3787 *
gume 0:1f82672b8755 3788 * @param gyro_z_d : The gyro z rps double data
gume 0:1f82672b8755 3789 *
gume 0:1f82672b8755 3790 *
gume 0:1f82672b8755 3791 *
gume 0:1f82672b8755 3792 * @return results of bus communication function
gume 0:1f82672b8755 3793 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3794 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3795 *
gume 0:1f82672b8755 3796 *
gume 0:1f82672b8755 3797 */
gume 0:1f82672b8755 3798 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_z_rps(
gume 0:1f82672b8755 3799 double *gyro_z_d);
gume 0:1f82672b8755 3800 /*!
gume 0:1f82672b8755 3801 * @brief This API is used to convert the gyro xyz raw data
gume 0:1f82672b8755 3802 * to dps output as double
gume 0:1f82672b8755 3803 *
gume 0:1f82672b8755 3804 * @param gyro_xyz : The dps data of gyro xyz
gume 0:1f82672b8755 3805 *
gume 0:1f82672b8755 3806 * Parameter | result
gume 0:1f82672b8755 3807 * --------- | -----------------
gume 0:1f82672b8755 3808 * x | dps data of gyro
gume 0:1f82672b8755 3809 * y | dps data of gyro
gume 0:1f82672b8755 3810 * z | dps data of gyro
gume 0:1f82672b8755 3811 *
gume 0:1f82672b8755 3812 *
gume 0:1f82672b8755 3813 * @return results of bus communication function
gume 0:1f82672b8755 3814 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3815 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3816 *
gume 0:1f82672b8755 3817 */
gume 0:1f82672b8755 3818 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_dps(
gume 0:1f82672b8755 3819 struct bno055_gyro_double_t *gyro_xyz);
gume 0:1f82672b8755 3820 /*!
gume 0:1f82672b8755 3821 * @brief This API is used to convert the gyro xyz raw data
gume 0:1f82672b8755 3822 * to rps output as double
gume 0:1f82672b8755 3823 *
gume 0:1f82672b8755 3824 * @param gyro_xyz : The rps data of gyro xyz
gume 0:1f82672b8755 3825 *
gume 0:1f82672b8755 3826 * Parameter | result
gume 0:1f82672b8755 3827 * --------- | -----------------
gume 0:1f82672b8755 3828 * x | rps data of gyro
gume 0:1f82672b8755 3829 * y | rps data of gyro
gume 0:1f82672b8755 3830 * z | rps data of gyro
gume 0:1f82672b8755 3831 *
gume 0:1f82672b8755 3832 *
gume 0:1f82672b8755 3833 * @return results of bus communication function
gume 0:1f82672b8755 3834 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3835 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3836 *
gume 0:1f82672b8755 3837 */
gume 0:1f82672b8755 3838 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gyro_xyz_rps(
gume 0:1f82672b8755 3839 struct bno055_gyro_double_t *gyro_xyz);
gume 0:1f82672b8755 3840 /**************************************************************************/
gume 0:1f82672b8755 3841 /**\name FUNCTIONS FOR READING EULER DATA OUTPUT AS DOUBLE PRECISION */
gume 0:1f82672b8755 3842 /*************************************************************************/
gume 0:1f82672b8755 3843 /*!
gume 0:1f82672b8755 3844 * @brief This API is used to convert the Euler h raw data
gume 0:1f82672b8755 3845 * to degree output as double
gume 0:1f82672b8755 3846 *
gume 0:1f82672b8755 3847 * @param euler_h_d : The double value of Euler h degree
gume 0:1f82672b8755 3848 *
gume 0:1f82672b8755 3849 * @return results of bus communication function
gume 0:1f82672b8755 3850 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3851 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3852 *
gume 0:1f82672b8755 3853 *
gume 0:1f82672b8755 3854 */
gume 0:1f82672b8755 3855 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_deg(
gume 0:1f82672b8755 3856 double *euler_h_d);
gume 0:1f82672b8755 3857 /*!
gume 0:1f82672b8755 3858 * @brief This API is used to convert the Euler p raw data
gume 0:1f82672b8755 3859 * to degree output as double
gume 0:1f82672b8755 3860 *
gume 0:1f82672b8755 3861 * @param euler_p_d : The double value of Euler p degree
gume 0:1f82672b8755 3862 *
gume 0:1f82672b8755 3863 * @return results of bus communication function
gume 0:1f82672b8755 3864 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3865 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3866 *
gume 0:1f82672b8755 3867 *
gume 0:1f82672b8755 3868 */
gume 0:1f82672b8755 3869 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_deg(
gume 0:1f82672b8755 3870 double *euler_p_d);
gume 0:1f82672b8755 3871 /*!
gume 0:1f82672b8755 3872 * @brief This API is used to convert the Euler r raw data
gume 0:1f82672b8755 3873 * to degree output as double
gume 0:1f82672b8755 3874 *
gume 0:1f82672b8755 3875 * @param euler_r_d : The double value of Euler r degree
gume 0:1f82672b8755 3876 *
gume 0:1f82672b8755 3877 * @return results of bus communication function
gume 0:1f82672b8755 3878 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3879 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3880 *
gume 0:1f82672b8755 3881 *
gume 0:1f82672b8755 3882 */
gume 0:1f82672b8755 3883 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_deg(
gume 0:1f82672b8755 3884 double *euler_r_d);
gume 0:1f82672b8755 3885 /*!
gume 0:1f82672b8755 3886 * @brief This API is used to convert the Euler h raw data
gume 0:1f82672b8755 3887 * to radians output as double
gume 0:1f82672b8755 3888 *
gume 0:1f82672b8755 3889 * @param euler_h_d : The double value of Euler h radians
gume 0:1f82672b8755 3890 *
gume 0:1f82672b8755 3891 * @return results of bus communication function
gume 0:1f82672b8755 3892 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3893 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3894 *
gume 0:1f82672b8755 3895 *
gume 0:1f82672b8755 3896 */
gume 0:1f82672b8755 3897 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_h_rad(
gume 0:1f82672b8755 3898 double *euler_h_d);
gume 0:1f82672b8755 3899 /*!
gume 0:1f82672b8755 3900 * @brief This API is used to convert the Euler p raw data
gume 0:1f82672b8755 3901 * to radians output as double
gume 0:1f82672b8755 3902 *
gume 0:1f82672b8755 3903 * @param euler_p_d : The double value of Euler p radians
gume 0:1f82672b8755 3904 *
gume 0:1f82672b8755 3905 * @return results of bus communication function
gume 0:1f82672b8755 3906 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3907 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3908 *
gume 0:1f82672b8755 3909 *
gume 0:1f82672b8755 3910 */
gume 0:1f82672b8755 3911
gume 0:1f82672b8755 3912 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_p_rad(
gume 0:1f82672b8755 3913 double *euler_p_d);
gume 0:1f82672b8755 3914 /*!
gume 0:1f82672b8755 3915 * @brief This API is used to convert the Euler r raw data
gume 0:1f82672b8755 3916 * to radians output as double
gume 0:1f82672b8755 3917 *
gume 0:1f82672b8755 3918 * @param euler_r_d : The double value of Euler r radians
gume 0:1f82672b8755 3919 *
gume 0:1f82672b8755 3920 * @return results of bus communication function
gume 0:1f82672b8755 3921 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3922 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3923 *
gume 0:1f82672b8755 3924 *
gume 0:1f82672b8755 3925 */
gume 0:1f82672b8755 3926 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_r_rad(
gume 0:1f82672b8755 3927 double *euler_r_d);
gume 0:1f82672b8755 3928 /*!
gume 0:1f82672b8755 3929 * @brief This API is used to convert the Euler hpr raw data
gume 0:1f82672b8755 3930 * to degree output as double
gume 0:1f82672b8755 3931 *
gume 0:1f82672b8755 3932 * @param euler_hpr : The degree data of Euler hpr
gume 0:1f82672b8755 3933 *
gume 0:1f82672b8755 3934 * Parameter | result
gume 0:1f82672b8755 3935 * --------- | -----------------
gume 0:1f82672b8755 3936 * h | degree data of Euler
gume 0:1f82672b8755 3937 * r | degree data of Euler
gume 0:1f82672b8755 3938 * p | degree data of Euler
gume 0:1f82672b8755 3939 *
gume 0:1f82672b8755 3940 *
gume 0:1f82672b8755 3941 * @return results of bus communication function
gume 0:1f82672b8755 3942 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3943 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3944 *
gume 0:1f82672b8755 3945 */
gume 0:1f82672b8755 3946 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_deg(
gume 0:1f82672b8755 3947 struct bno055_euler_double_t *euler_hpr);
gume 0:1f82672b8755 3948 /*!
gume 0:1f82672b8755 3949 * @brief This API is used to convert the Euler hpr raw data
gume 0:1f82672b8755 3950 * to radians output as double
gume 0:1f82672b8755 3951 *
gume 0:1f82672b8755 3952 * @param euler_hpr : The radians data of Euler hpr
gume 0:1f82672b8755 3953 *
gume 0:1f82672b8755 3954 * Parameter | result
gume 0:1f82672b8755 3955 * --------- | -----------------
gume 0:1f82672b8755 3956 * h | radians data of Euler
gume 0:1f82672b8755 3957 * r | radians data of Euler
gume 0:1f82672b8755 3958 * p | radians data of Euler
gume 0:1f82672b8755 3959 *
gume 0:1f82672b8755 3960 *
gume 0:1f82672b8755 3961 * @return results of bus communication function
gume 0:1f82672b8755 3962 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3963 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3964 *
gume 0:1f82672b8755 3965 */
gume 0:1f82672b8755 3966 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_euler_hpr_rad(
gume 0:1f82672b8755 3967 struct bno055_euler_double_t *euler_hpr);
gume 0:1f82672b8755 3968 /****************************************************************************/
gume 0:1f82672b8755 3969 /**\name FUNCTIONS FOR READING LINEAR ACCEL DATA OUTPUT AS DOUBLE PRECISION */
gume 0:1f82672b8755 3970 /****************************************************************************/
gume 0:1f82672b8755 3971 /*!
gume 0:1f82672b8755 3972 * @brief This API is used to convert the linear
gume 0:1f82672b8755 3973 * accel x raw data to meterpersecseq output as double
gume 0:1f82672b8755 3974 *
gume 0:1f82672b8755 3975 * @param linear_accel_x_d : The double value of
gume 0:1f82672b8755 3976 * linear accel x meterpersecseq
gume 0:1f82672b8755 3977 *
gume 0:1f82672b8755 3978 * @return results of bus communication function
gume 0:1f82672b8755 3979 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3980 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3981 *
gume 0:1f82672b8755 3982 *
gume 0:1f82672b8755 3983 */
gume 0:1f82672b8755 3984 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_x_msq(
gume 0:1f82672b8755 3985 double *linear_accel_x_d);
gume 0:1f82672b8755 3986 /*!
gume 0:1f82672b8755 3987 * @brief This API is used to convert the linear
gume 0:1f82672b8755 3988 * accel y raw data to meterpersecseq output as double
gume 0:1f82672b8755 3989 *
gume 0:1f82672b8755 3990 * @param linear_accel_y_d : The double value of
gume 0:1f82672b8755 3991 * linear accel y meterpersecseq
gume 0:1f82672b8755 3992 *
gume 0:1f82672b8755 3993 * @return results of bus communication function
gume 0:1f82672b8755 3994 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 3995 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 3996 *
gume 0:1f82672b8755 3997 *
gume 0:1f82672b8755 3998 */
gume 0:1f82672b8755 3999 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_y_msq(
gume 0:1f82672b8755 4000 double *linear_accel_y_d);
gume 0:1f82672b8755 4001 /*!
gume 0:1f82672b8755 4002 * @brief This API is used to convert the linear
gume 0:1f82672b8755 4003 * accel z raw data to meterpersecseq output as double
gume 0:1f82672b8755 4004 *
gume 0:1f82672b8755 4005 * @param linear_accel_z_d : The double value of
gume 0:1f82672b8755 4006 * linear accel z meterpersecseq
gume 0:1f82672b8755 4007 *
gume 0:1f82672b8755 4008 * @return results of bus communication function
gume 0:1f82672b8755 4009 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4010 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4011 *
gume 0:1f82672b8755 4012 *
gume 0:1f82672b8755 4013 */
gume 0:1f82672b8755 4014
gume 0:1f82672b8755 4015 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_z_msq(
gume 0:1f82672b8755 4016 double *linear_accel_z_d);
gume 0:1f82672b8755 4017 /*!
gume 0:1f82672b8755 4018 * @brief This API is used to convert the linear accel xyz raw data
gume 0:1f82672b8755 4019 * to meterpersecseq output as double
gume 0:1f82672b8755 4020 *
gume 0:1f82672b8755 4021 * @param linear_accel_xyz : The meterpersecseq data of linear accel xyz
gume 0:1f82672b8755 4022 *
gume 0:1f82672b8755 4023 * Parameter | result
gume 0:1f82672b8755 4024 * --------- | -----------------
gume 0:1f82672b8755 4025 * x | meterpersecseq data of linear accel
gume 0:1f82672b8755 4026 * y | meterpersecseq data of linear accel
gume 0:1f82672b8755 4027 * z | meterpersecseq data of linear accel
gume 0:1f82672b8755 4028 *
gume 0:1f82672b8755 4029 *
gume 0:1f82672b8755 4030 * @return results of bus communication function
gume 0:1f82672b8755 4031 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4032 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4033 *
gume 0:1f82672b8755 4034 */
gume 0:1f82672b8755 4035
gume 0:1f82672b8755 4036 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_linear_accel_xyz_msq(
gume 0:1f82672b8755 4037 struct bno055_linear_accel_double_t *linear_accel_xyz);
gume 0:1f82672b8755 4038 /**************************************************************************/
gume 0:1f82672b8755 4039 /**\name FUNCTIONS FOR READING GRAVITY DATA OUTPUT AS DOUBLE PRECISION */
gume 0:1f82672b8755 4040 /*************************************************************************/
gume 0:1f82672b8755 4041 /*!
gume 0:1f82672b8755 4042 * @brief This API is used to convert the gravity
gume 0:1f82672b8755 4043 * x raw data to meterpersecseq output as double
gume 0:1f82672b8755 4044 *
gume 0:1f82672b8755 4045 * @param gravity_x_d : The double value of gravity x meterpersecseq
gume 0:1f82672b8755 4046 *
gume 0:1f82672b8755 4047 * @return results of bus communication function
gume 0:1f82672b8755 4048 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4049 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4050 *
gume 0:1f82672b8755 4051 *
gume 0:1f82672b8755 4052 */
gume 0:1f82672b8755 4053 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_x_msq(
gume 0:1f82672b8755 4054 double *gravity_x_d);
gume 0:1f82672b8755 4055 /*!
gume 0:1f82672b8755 4056 * @brief This API is used to convert the gravity
gume 0:1f82672b8755 4057 * y raw data to meterpersecseq output as double
gume 0:1f82672b8755 4058 *
gume 0:1f82672b8755 4059 * @param gravity_y_d : The double value of gravity y meterpersecseq
gume 0:1f82672b8755 4060 *
gume 0:1f82672b8755 4061 * @return results of bus communication function
gume 0:1f82672b8755 4062 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4063 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4064 *
gume 0:1f82672b8755 4065 *
gume 0:1f82672b8755 4066 */
gume 0:1f82672b8755 4067 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_y_msq(
gume 0:1f82672b8755 4068 double *gravity_y_d);
gume 0:1f82672b8755 4069 /*!
gume 0:1f82672b8755 4070 * @brief This API is used to convert the gravity
gume 0:1f82672b8755 4071 * z raw data to meterpersecseq output as double
gume 0:1f82672b8755 4072 *
gume 0:1f82672b8755 4073 * @param gravity_z_d : The double value of gravity z meterpersecseq
gume 0:1f82672b8755 4074 *
gume 0:1f82672b8755 4075 * @return results of bus communication function
gume 0:1f82672b8755 4076 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4077 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4078 *
gume 0:1f82672b8755 4079 *
gume 0:1f82672b8755 4080 */
gume 0:1f82672b8755 4081 BNO055_RETURN_FUNCTION_TYPE bno055_convert_gravity_double_z_msq(
gume 0:1f82672b8755 4082 double *gravity_z_d);
gume 0:1f82672b8755 4083 /*!
gume 0:1f82672b8755 4084 * @brief This API is used to convert the gravity xyz raw data
gume 0:1f82672b8755 4085 * to meterpersecseq output as double
gume 0:1f82672b8755 4086 *
gume 0:1f82672b8755 4087 * @param gravity_xyz : The meterpersecseq data of gravity xyz
gume 0:1f82672b8755 4088 *
gume 0:1f82672b8755 4089 * Parameter | result
gume 0:1f82672b8755 4090 * --------- | -----------------
gume 0:1f82672b8755 4091 * x | meterpersecseq data of gravity
gume 0:1f82672b8755 4092 * y | meterpersecseq data of gravity
gume 0:1f82672b8755 4093 * z | meterpersecseq data of gravity
gume 0:1f82672b8755 4094 *
gume 0:1f82672b8755 4095 *
gume 0:1f82672b8755 4096 * @return results of bus communication function
gume 0:1f82672b8755 4097 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4098 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4099 *
gume 0:1f82672b8755 4100 */
gume 0:1f82672b8755 4101 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_gravity_xyz_msq(
gume 0:1f82672b8755 4102 struct bno055_gravity_double_t *gravity_xyz);
gume 0:1f82672b8755 4103 /**************************************************************************/
gume 0:1f82672b8755 4104 /**\name FUNCTIONS FOR READING TEMPERATURE DATA OUTPUT AS DOUBLE PRECISION*/
gume 0:1f82672b8755 4105 /*************************************************************************/
gume 0:1f82672b8755 4106 /*!
gume 0:1f82672b8755 4107 * @brief This API is used to convert the temperature
gume 0:1f82672b8755 4108 * data to Fahrenheit output as double
gume 0:1f82672b8755 4109 *
gume 0:1f82672b8755 4110 * @param temp_d : The double value of temperature Fahrenheit
gume 0:1f82672b8755 4111 *
gume 0:1f82672b8755 4112 * @return results of bus communication function
gume 0:1f82672b8755 4113 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4114 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4115 *
gume 0:1f82672b8755 4116 *
gume 0:1f82672b8755 4117 */
gume 0:1f82672b8755 4118 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_fahrenheit(
gume 0:1f82672b8755 4119 double *temp_d);
gume 0:1f82672b8755 4120 /*!
gume 0:1f82672b8755 4121 * @brief This API is used to convert the temperature
gume 0:1f82672b8755 4122 * data to Celsius output as double
gume 0:1f82672b8755 4123 *
gume 0:1f82672b8755 4124 * @param temp_d : The double value of temperature Celsius
gume 0:1f82672b8755 4125 *
gume 0:1f82672b8755 4126 * @return results of bus communication function
gume 0:1f82672b8755 4127 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4128 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4129 *
gume 0:1f82672b8755 4130 *
gume 0:1f82672b8755 4131 */
gume 0:1f82672b8755 4132 BNO055_RETURN_FUNCTION_TYPE bno055_convert_double_temp_celsius(
gume 0:1f82672b8755 4133 double *temp_d);
gume 0:1f82672b8755 4134 #endif
gume 0:1f82672b8755 4135 /**************************************************************************/
gume 0:1f82672b8755 4136 /**\name FUNCTIONS FOR READING ACCEL,MAG,GYRO AND SYSTEM CALIBRATION STATUS*/
gume 0:1f82672b8755 4137 /*************************************************************************/
gume 0:1f82672b8755 4138 /*!
gume 0:1f82672b8755 4139 * @brief This API used to read
gume 0:1f82672b8755 4140 * mag calibration status from register from 0x35 bit 0 and 1
gume 0:1f82672b8755 4141 *
gume 0:1f82672b8755 4142 * @param mag_calib_u8 : The value of mag calib status
gume 0:1f82672b8755 4143 *
gume 0:1f82672b8755 4144 *
gume 0:1f82672b8755 4145 * @return results of bus communication function
gume 0:1f82672b8755 4146 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4147 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4148 *
gume 0:1f82672b8755 4149 */
gume 0:1f82672b8755 4150 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_calib_stat(
gume 0:1f82672b8755 4151 u8 *mag_calib_u8);
gume 0:1f82672b8755 4152 /*!
gume 0:1f82672b8755 4153 * @brief This API used to read
gume 0:1f82672b8755 4154 * accel calibration status from register from 0x35 bit 2 and 3
gume 0:1f82672b8755 4155 *
gume 0:1f82672b8755 4156 * @param accel_calib_u8 : The value of accel calib status
gume 0:1f82672b8755 4157 *
gume 0:1f82672b8755 4158 *
gume 0:1f82672b8755 4159 * @return results of bus communication function
gume 0:1f82672b8755 4160 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4161 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4162 *
gume 0:1f82672b8755 4163 */
gume 0:1f82672b8755 4164 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_calib_stat(
gume 0:1f82672b8755 4165 u8 *accel_calib_u8);
gume 0:1f82672b8755 4166 /*!
gume 0:1f82672b8755 4167 * @brief This API used to read
gume 0:1f82672b8755 4168 * gyro calibration status from register from 0x35 bit 4 and 5
gume 0:1f82672b8755 4169 *
gume 0:1f82672b8755 4170 * @param gyro_calib_u8 : The value of gyro calib status
gume 0:1f82672b8755 4171 *
gume 0:1f82672b8755 4172 *
gume 0:1f82672b8755 4173 * @return results of bus communication function
gume 0:1f82672b8755 4174 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4175 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4176 *
gume 0:1f82672b8755 4177 */
gume 0:1f82672b8755 4178 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_calib_stat(
gume 0:1f82672b8755 4179 u8 *gyro_calib_u8);
gume 0:1f82672b8755 4180 /*!
gume 0:1f82672b8755 4181 * @brief This API used to read
gume 0:1f82672b8755 4182 * system calibration status from register from 0x35 bit 6 and 7
gume 0:1f82672b8755 4183 *
gume 0:1f82672b8755 4184 * @param sys_calib_u8 : The value of system calib status
gume 0:1f82672b8755 4185 *
gume 0:1f82672b8755 4186 *
gume 0:1f82672b8755 4187 * @return results of bus communication function
gume 0:1f82672b8755 4188 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4189 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4190 *
gume 0:1f82672b8755 4191 */
gume 0:1f82672b8755 4192 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_calib_stat(
gume 0:1f82672b8755 4193 u8 *sys_calib_u8);
gume 0:1f82672b8755 4194 /*!
gume 0:1f82672b8755 4195 * @brief This API used to read
gume 0:1f82672b8755 4196 * all calibration status from register from 0x35
gume 0:1f82672b8755 4197 *
gume 0:1f82672b8755 4198 * @param all_calib_u8 : The value of all calib status
gume 0:1f82672b8755 4199 *
gume 0:1f82672b8755 4200 *
gume 0:1f82672b8755 4201 * @return results of bus communication function
gume 0:1f82672b8755 4202 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4203 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4204 *
gume 0:1f82672b8755 4205 */
gume 0:1f82672b8755 4206 BNO055_RETURN_FUNCTION_TYPE bno055_get_all_calib_stat(
gume 0:1f82672b8755 4207 u8 *all_calib_u8);
gume 0:1f82672b8755 4208 /******************************************************************/
gume 0:1f82672b8755 4209 /**\name FUNCTIONS FOR READING ACCEL,MAG,GYRO AND SYSTEM SELF TEST */
gume 0:1f82672b8755 4210 /******************************************************************/
gume 0:1f82672b8755 4211 /*!
gume 0:1f82672b8755 4212 * @brief This API used to read
gume 0:1f82672b8755 4213 * self test of accel from register from 0x36 bit 0
gume 0:1f82672b8755 4214 *
gume 0:1f82672b8755 4215 * @param selftest_accel_u8 : The value of self test of accel
gume 0:1f82672b8755 4216 *
gume 0:1f82672b8755 4217 * selftest_accel_u8 | result
gume 0:1f82672b8755 4218 * -------------------- | ---------------------
gume 0:1f82672b8755 4219 * 0x00 | indicates test failed
gume 0:1f82672b8755 4220 * 0x01 | indicated test passed
gume 0:1f82672b8755 4221 *
gume 0:1f82672b8755 4222 * @return results of bus communication function
gume 0:1f82672b8755 4223 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4224 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4225 *
gume 0:1f82672b8755 4226 */
gume 0:1f82672b8755 4227 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_accel(
gume 0:1f82672b8755 4228 u8 *selftest_accel_u8);
gume 0:1f82672b8755 4229 /*!
gume 0:1f82672b8755 4230 * @brief This API used to read
gume 0:1f82672b8755 4231 * self test of mag from register from 0x36 bit 1
gume 0:1f82672b8755 4232 *
gume 0:1f82672b8755 4233 * @param selftest_mag_u8 : The value of self test of mag
gume 0:1f82672b8755 4234 *
gume 0:1f82672b8755 4235 * selftest_mag_u8 | result
gume 0:1f82672b8755 4236 * -------------------- | ---------------------
gume 0:1f82672b8755 4237 * 0x00 | indicates test failed
gume 0:1f82672b8755 4238 * 0x01 | indicated test passed
gume 0:1f82672b8755 4239 *
gume 0:1f82672b8755 4240 * @return results of bus communication function
gume 0:1f82672b8755 4241 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4242 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4243 *
gume 0:1f82672b8755 4244 */
gume 0:1f82672b8755 4245 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mag(
gume 0:1f82672b8755 4246 u8 *selftest_mag_u8);
gume 0:1f82672b8755 4247 /*!
gume 0:1f82672b8755 4248 * @brief This API used to read
gume 0:1f82672b8755 4249 * self test of gyro from register from 0x36 bit 2
gume 0:1f82672b8755 4250 *
gume 0:1f82672b8755 4251 * @param selftest_gyro_u8 : The value of self test of gyro
gume 0:1f82672b8755 4252 *
gume 0:1f82672b8755 4253 * selftest_gyro_u8 | result
gume 0:1f82672b8755 4254 * -------------------- | ---------------------
gume 0:1f82672b8755 4255 * 0x00 | indicates test failed
gume 0:1f82672b8755 4256 * 0x01 | indicated test passed
gume 0:1f82672b8755 4257 *
gume 0:1f82672b8755 4258 * @return results of bus communication function
gume 0:1f82672b8755 4259 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4260 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4261 *
gume 0:1f82672b8755 4262 */
gume 0:1f82672b8755 4263 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_gyro(
gume 0:1f82672b8755 4264 u8 *selftest_gyro_u8);
gume 0:1f82672b8755 4265 /*!
gume 0:1f82672b8755 4266 * @brief This API used to read
gume 0:1f82672b8755 4267 * self test of micro controller from register from 0x36 bit 3
gume 0:1f82672b8755 4268 *
gume 0:1f82672b8755 4269 * @param selftest_mcu_u8 : The value of self test of micro controller
gume 0:1f82672b8755 4270 *
gume 0:1f82672b8755 4271 * selftest_mcu_u8 | result
gume 0:1f82672b8755 4272 * -------------------- | ---------------------
gume 0:1f82672b8755 4273 * 0x00 | indicates test failed
gume 0:1f82672b8755 4274 * 0x01 | indicated test passed
gume 0:1f82672b8755 4275 *
gume 0:1f82672b8755 4276 * @return results of bus communication function
gume 0:1f82672b8755 4277 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4278 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4279 *
gume 0:1f82672b8755 4280 */
gume 0:1f82672b8755 4281 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest_mcu(
gume 0:1f82672b8755 4282 u8 *selftest_mcu_u8);
gume 0:1f82672b8755 4283 /*****************************************************/
gume 0:1f82672b8755 4284 /**\name FUNCTIONS FOR READING GYRO INTERRUPT STATUS */
gume 0:1f82672b8755 4285 /*****************************************************/
gume 0:1f82672b8755 4286 /*!
gume 0:1f82672b8755 4287 * @brief This API used to read the stat_s8 of
gume 0:1f82672b8755 4288 * gyro anymotion interrupt from register from 0x37 bit 2
gume 0:1f82672b8755 4289 *
gume 0:1f82672b8755 4290 * @param gyro_any_motion_u8 : The value of gyro anymotion interrupt
gume 0:1f82672b8755 4291 *
gume 0:1f82672b8755 4292 * gyro_any_motion_u8 | result
gume 0:1f82672b8755 4293 * -------------------- | ---------------------
gume 0:1f82672b8755 4294 * 0x00 | indicates no interrupt triggered
gume 0:1f82672b8755 4295 * 0x01 | indicates interrupt triggered
gume 0:1f82672b8755 4296 *
gume 0:1f82672b8755 4297 * @return results of bus communication function
gume 0:1f82672b8755 4298 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4299 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4300 *
gume 0:1f82672b8755 4301 * @note Gyro anymotion interrupt can be BNO055_BIT_ENABLE
gume 0:1f82672b8755 4302 * by the following APIs
gume 0:1f82672b8755 4303 *
gume 0:1f82672b8755 4304 * bno055_set_intr_mask_gyro_any_motion()
gume 0:1f82672b8755 4305 *
gume 0:1f82672b8755 4306 * bno055_set_intr_gyro_any_motion()
gume 0:1f82672b8755 4307 *
gume 0:1f82672b8755 4308 */
gume 0:1f82672b8755 4309 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_any_motion(
gume 0:1f82672b8755 4310 u8 *gyro_any_motion_u8);
gume 0:1f82672b8755 4311 /*!
gume 0:1f82672b8755 4312 * @brief This API used to read the stat_s8 of
gume 0:1f82672b8755 4313 * gyro highrate interrupt from register from 0x37 bit 3
gume 0:1f82672b8755 4314 *
gume 0:1f82672b8755 4315 * @param gyro_highrate_u8 : The value of gyro highrate interrupt
gume 0:1f82672b8755 4316 *
gume 0:1f82672b8755 4317 * gyro_highrate_u8 | result
gume 0:1f82672b8755 4318 * ------------------- | ---------------------
gume 0:1f82672b8755 4319 * 0x00 | indicates no interrupt triggered
gume 0:1f82672b8755 4320 * 0x01 | indicates interrupt triggered
gume 0:1f82672b8755 4321 *
gume 0:1f82672b8755 4322 * @return results of bus communication function
gume 0:1f82672b8755 4323 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4324 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4325 *
gume 0:1f82672b8755 4326 * @note Gyro highrate interrupt can be configured
gume 0:1f82672b8755 4327 * by the following APIs
gume 0:1f82672b8755 4328 *
gume 0:1f82672b8755 4329 * bno055_set_intr_mask_gyro_highrate()
gume 0:1f82672b8755 4330 *
gume 0:1f82672b8755 4331 * bno055_set_intr_gyro_highrate()
gume 0:1f82672b8755 4332 */
gume 0:1f82672b8755 4333 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_gyro_highrate(
gume 0:1f82672b8755 4334 u8 *gyro_highrate_u8);
gume 0:1f82672b8755 4335 /*****************************************************/
gume 0:1f82672b8755 4336 /**\name FUNCTIONS FOR READING ACCEL INTERRUPT STATUS */
gume 0:1f82672b8755 4337 /*****************************************************/
gume 0:1f82672b8755 4338 /*!
gume 0:1f82672b8755 4339 * @brief This API used to read the status of
gume 0:1f82672b8755 4340 * accel highg interrupt from register from 0x37 bit 5
gume 0:1f82672b8755 4341 *
gume 0:1f82672b8755 4342 * @param accel_high_g_u8 : The value of accel highg interrupt
gume 0:1f82672b8755 4343 *
gume 0:1f82672b8755 4344 * accel_high_g_u8 | result
gume 0:1f82672b8755 4345 * ------------------- | ---------------------
gume 0:1f82672b8755 4346 * 0x00 | indicates no interrupt triggered
gume 0:1f82672b8755 4347 * 0x01 | indicates interrupt triggered
gume 0:1f82672b8755 4348 *
gume 0:1f82672b8755 4349 * @return results of bus communication function
gume 0:1f82672b8755 4350 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4351 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4352 *
gume 0:1f82672b8755 4353 * @note Accel highg interrupt can be configured
gume 0:1f82672b8755 4354 * by the following APIs
gume 0:1f82672b8755 4355 *
gume 0:1f82672b8755 4356 * bno055_set_intr_mask_accel_high_g()
gume 0:1f82672b8755 4357 *
gume 0:1f82672b8755 4358 * bno055_set_intr_accel_high_g()
gume 0:1f82672b8755 4359 *
gume 0:1f82672b8755 4360 */
gume 0:1f82672b8755 4361 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_high_g(
gume 0:1f82672b8755 4362 u8 *accel_high_g_u8);
gume 0:1f82672b8755 4363 /*!
gume 0:1f82672b8755 4364 * @brief This API used to read the stat_s8 of
gume 0:1f82672b8755 4365 * accel anymotion interrupt from register from 0x37 bit 6
gume 0:1f82672b8755 4366 *
gume 0:1f82672b8755 4367 * @param accel_any_motion_u8 : The value of accel anymotion interrupt
gume 0:1f82672b8755 4368 *
gume 0:1f82672b8755 4369 * accel_any_motion_u8 | result
gume 0:1f82672b8755 4370 * ------------------- | ---------------------
gume 0:1f82672b8755 4371 * 0x00 | indicates no interrupt triggered
gume 0:1f82672b8755 4372 * 0x01 | indicates interrupt triggered
gume 0:1f82672b8755 4373 *
gume 0:1f82672b8755 4374 * @return results of bus communication function
gume 0:1f82672b8755 4375 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4376 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4377 *
gume 0:1f82672b8755 4378 * @note Accel anymotion interrupt can be configured
gume 0:1f82672b8755 4379 * by the following APIs
gume 0:1f82672b8755 4380 *
gume 0:1f82672b8755 4381 * bno055_set_intr_mask_accel_any_motion()
gume 0:1f82672b8755 4382 *
gume 0:1f82672b8755 4383 * bno055_set_intr_accel_any_motion()
gume 0:1f82672b8755 4384 */
gume 0:1f82672b8755 4385 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_any_motion(
gume 0:1f82672b8755 4386 u8 *accel_any_motion_u8);
gume 0:1f82672b8755 4387 /*!
gume 0:1f82672b8755 4388 * @brief This API used to read the stat_s8 of
gume 0:1f82672b8755 4389 * accel nomotion/slowmotion interrupt from register from 0x37 bit 6
gume 0:1f82672b8755 4390 *
gume 0:1f82672b8755 4391 * @param accel_no_motion_u8 :
gume 0:1f82672b8755 4392 * The value of accel nomotion/slowmotion interrupt
gume 0:1f82672b8755 4393 *
gume 0:1f82672b8755 4394 * accel_no_motion_u8 | result
gume 0:1f82672b8755 4395 * ------------------- | ---------------------
gume 0:1f82672b8755 4396 * 0x00 | indicates no interrupt triggered
gume 0:1f82672b8755 4397 * 0x01 | indicates interrupt triggered
gume 0:1f82672b8755 4398 *
gume 0:1f82672b8755 4399 * @return results of bus communication function
gume 0:1f82672b8755 4400 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4401 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4402 *
gume 0:1f82672b8755 4403 * @note Accel nomotion/slowmotion interrupt can be configured
gume 0:1f82672b8755 4404 * by the following APIs
gume 0:1f82672b8755 4405 *
gume 0:1f82672b8755 4406 * bno055_set_intr_mask_accel_nomotion()
gume 0:1f82672b8755 4407 *
gume 0:1f82672b8755 4408 * bno055_set_intr_accel_nomotion()
gume 0:1f82672b8755 4409 */
gume 0:1f82672b8755 4410 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_stat_accel_no_motion(
gume 0:1f82672b8755 4411 u8 *accel_no_motion_u8);
gume 0:1f82672b8755 4412 /**************************************************************************/
gume 0:1f82672b8755 4413 /**\name FUNCTIONS FOR READING SYSTEM CLOCK, STATUS AND BNO055_ERROR CODE */
gume 0:1f82672b8755 4414 /*************************************************************************/
gume 0:1f82672b8755 4415 /*!
gume 0:1f82672b8755 4416 * @brief This API is used to read status of main clock
gume 0:1f82672b8755 4417 * from the register 0x38 bit 0
gume 0:1f82672b8755 4418 *
gume 0:1f82672b8755 4419 * @param stat_main_clk_u8 : the status of main clock
gume 0:1f82672b8755 4420 *
gume 0:1f82672b8755 4421 *
gume 0:1f82672b8755 4422 * @return results of bus communication function
gume 0:1f82672b8755 4423 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4424 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4425 *
gume 0:1f82672b8755 4426 */
gume 0:1f82672b8755 4427 BNO055_RETURN_FUNCTION_TYPE bno055_get_stat_main_clk(
gume 0:1f82672b8755 4428 u8 *stat_main_clk_u8);
gume 0:1f82672b8755 4429 /*!
gume 0:1f82672b8755 4430 * @brief This API is used to read system status
gume 0:1f82672b8755 4431 * code from the register 0x39 it is a byte of data
gume 0:1f82672b8755 4432 *
gume 0:1f82672b8755 4433 * @param sys_stat_u8 : the status of system
gume 0:1f82672b8755 4434 *
gume 0:1f82672b8755 4435 *
gume 0:1f82672b8755 4436 * @return results of bus communication function
gume 0:1f82672b8755 4437 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4438 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4439 *
gume 0:1f82672b8755 4440 */
gume 0:1f82672b8755 4441 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_stat_code(
gume 0:1f82672b8755 4442 u8 *sys_stat_u8);
gume 0:1f82672b8755 4443 /*!
gume 0:1f82672b8755 4444 * @brief This API is used to read system BNO055_ERROR
gume 0:1f82672b8755 4445 * code from the register 0x3A it is a byte of data
gume 0:1f82672b8755 4446 *
gume 0:1f82672b8755 4447 * @param sys_error_u8 : The value of system BNO055_ERROR code
gume 0:1f82672b8755 4448 *
gume 0:1f82672b8755 4449 *
gume 0:1f82672b8755 4450 * @return results of bus communication function
gume 0:1f82672b8755 4451 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4452 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4453 *
gume 0:1f82672b8755 4454 *
gume 0:1f82672b8755 4455 */
gume 0:1f82672b8755 4456 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_error_code(
gume 0:1f82672b8755 4457 u8 *sys_error_u8);
gume 0:1f82672b8755 4458 /********************************************/
gume 0:1f82672b8755 4459 /**\name FUNCTIONS FOR ACCEL UNIT SELECTION */
gume 0:1f82672b8755 4460 /********************************************/
gume 0:1f82672b8755 4461 /*!
gume 0:1f82672b8755 4462 * @brief This API used to read the accel unit
gume 0:1f82672b8755 4463 * from register from 0x3B bit 0
gume 0:1f82672b8755 4464 *
gume 0:1f82672b8755 4465 * @param accel_unit_u8 : The value of accel unit
gume 0:1f82672b8755 4466 *
gume 0:1f82672b8755 4467 * accel_unit_u8 | result
gume 0:1f82672b8755 4468 * ------------- | ---------------
gume 0:1f82672b8755 4469 * 0x00 | BNO055_ACCEL_UNIT_MSQ
gume 0:1f82672b8755 4470 * 0x01 | BNO055_ACCEL_UNIT_MG
gume 0:1f82672b8755 4471 *
gume 0:1f82672b8755 4472 * @return results of bus communication function
gume 0:1f82672b8755 4473 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4474 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4475 *
gume 0:1f82672b8755 4476 */
gume 0:1f82672b8755 4477 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_unit(
gume 0:1f82672b8755 4478 u8 *accel_unit_u8);
gume 0:1f82672b8755 4479 /*!
gume 0:1f82672b8755 4480 * @brief This API used to write the accel unit
gume 0:1f82672b8755 4481 * from register from 0x3B bit 0
gume 0:1f82672b8755 4482 *
gume 0:1f82672b8755 4483 * @param accel_unit_u8 : The value of accel unit
gume 0:1f82672b8755 4484 *
gume 0:1f82672b8755 4485 * accel_unit_u8 | result
gume 0:1f82672b8755 4486 * ------------- | ---------------
gume 0:1f82672b8755 4487 * 0x00 | BNO055_ACCEL_UNIT_MSQ
gume 0:1f82672b8755 4488 * 0x01 | BNO055_ACCEL_UNIT_MG
gume 0:1f82672b8755 4489 *
gume 0:1f82672b8755 4490 * @return results of bus communication function
gume 0:1f82672b8755 4491 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4492 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4493 *
gume 0:1f82672b8755 4494 *
gume 0:1f82672b8755 4495 */
gume 0:1f82672b8755 4496 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_unit(
gume 0:1f82672b8755 4497 u8 accel_unit_u8);
gume 0:1f82672b8755 4498 /********************************************/
gume 0:1f82672b8755 4499 /**\name FUNCTIONS FOR GYRO UNIT SELECTION */
gume 0:1f82672b8755 4500 /********************************************/
gume 0:1f82672b8755 4501 /*!
gume 0:1f82672b8755 4502 * @brief This API used to read the gyro unit
gume 0:1f82672b8755 4503 * from register from 0x3B bit 1
gume 0:1f82672b8755 4504 *
gume 0:1f82672b8755 4505 * @param gyro_unit_u8 : The value of accel unit
gume 0:1f82672b8755 4506 *
gume 0:1f82672b8755 4507 * gyro_unit_u8 | result
gume 0:1f82672b8755 4508 * ------------- | -----------
gume 0:1f82672b8755 4509 * 0x00 | BNO055_GYRO_UNIT_DPS
gume 0:1f82672b8755 4510 * 0x01 | BNO055_GYRO_UNIT_RPS
gume 0:1f82672b8755 4511 *
gume 0:1f82672b8755 4512 * @return results of bus communication function
gume 0:1f82672b8755 4513 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4514 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4515 *
gume 0:1f82672b8755 4516 *
gume 0:1f82672b8755 4517 */
gume 0:1f82672b8755 4518 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_unit(
gume 0:1f82672b8755 4519 u8 *gyro_unit_u8);
gume 0:1f82672b8755 4520 /*!
gume 0:1f82672b8755 4521 * @brief This API used to write the gyro unit
gume 0:1f82672b8755 4522 * from register from 0x3B bit 1
gume 0:1f82672b8755 4523 *
gume 0:1f82672b8755 4524 * @param gyro_unit_u8 : The value of accel unit
gume 0:1f82672b8755 4525 *
gume 0:1f82672b8755 4526 * gyro_unit_u8 | result
gume 0:1f82672b8755 4527 * ------------- | -----------
gume 0:1f82672b8755 4528 * 0x00 | BNO055_GYRO_UNIT_DPS
gume 0:1f82672b8755 4529 * 0x01 | BNO055_GYRO_UNIT_RPS
gume 0:1f82672b8755 4530 *
gume 0:1f82672b8755 4531 * @return results of bus communication function
gume 0:1f82672b8755 4532 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4533 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4534 *
gume 0:1f82672b8755 4535 *
gume 0:1f82672b8755 4536 */
gume 0:1f82672b8755 4537 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_unit(u8 gyro_unit_u8);
gume 0:1f82672b8755 4538 /********************************************/
gume 0:1f82672b8755 4539 /**\name FUNCTIONS FOR EULER UNIT SELECTION */
gume 0:1f82672b8755 4540 /********************************************/
gume 0:1f82672b8755 4541 /*!
gume 0:1f82672b8755 4542 * @brief This API used to read the Euler unit
gume 0:1f82672b8755 4543 * from register from 0x3B bit 2
gume 0:1f82672b8755 4544 *
gume 0:1f82672b8755 4545 * @param euler_unit_u8 : The value of accel unit
gume 0:1f82672b8755 4546 *
gume 0:1f82672b8755 4547 * euler_unit_u8 | result
gume 0:1f82672b8755 4548 * -------------- | -----------
gume 0:1f82672b8755 4549 * 0x00 | BNO055_EULER_UNIT_DEG
gume 0:1f82672b8755 4550 * 0x01 | BNO055_EULER_UNIT_RAD
gume 0:1f82672b8755 4551 *
gume 0:1f82672b8755 4552 * @return results of bus communication function
gume 0:1f82672b8755 4553 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4554 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4555 *
gume 0:1f82672b8755 4556 *
gume 0:1f82672b8755 4557 */
gume 0:1f82672b8755 4558 BNO055_RETURN_FUNCTION_TYPE bno055_get_euler_unit(
gume 0:1f82672b8755 4559 u8 *euler_unit_u8);
gume 0:1f82672b8755 4560 /*!
gume 0:1f82672b8755 4561 * @brief This API used to write the Euler unit
gume 0:1f82672b8755 4562 * from register from 0x3B bit 2
gume 0:1f82672b8755 4563 *
gume 0:1f82672b8755 4564 * @param euler_unit_u8 : The value of Euler unit
gume 0:1f82672b8755 4565 *
gume 0:1f82672b8755 4566 * euler_unit_u8 | result
gume 0:1f82672b8755 4567 * -------------- | -----------
gume 0:1f82672b8755 4568 * 0x00 | BNO055_EULER_UNIT_DEG
gume 0:1f82672b8755 4569 * 0x01 | BNO055_EULER_UNIT_RAD
gume 0:1f82672b8755 4570 *
gume 0:1f82672b8755 4571 * @return results of bus communication function
gume 0:1f82672b8755 4572 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4573 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4574 *
gume 0:1f82672b8755 4575 *
gume 0:1f82672b8755 4576 */
gume 0:1f82672b8755 4577 BNO055_RETURN_FUNCTION_TYPE bno055_set_euler_unit(u8 euler_unit_u8);
gume 0:1f82672b8755 4578 /********************************************/
gume 0:1f82672b8755 4579 /**\name FUNCTIONS FOR TILT UNIT SELECTION */
gume 0:1f82672b8755 4580 /********************************************/
gume 0:1f82672b8755 4581 /*!
gume 0:1f82672b8755 4582 * @brief This API used to write the tilt unit
gume 0:1f82672b8755 4583 * from register from 0x3B bit 3
gume 0:1f82672b8755 4584 *
gume 0:1f82672b8755 4585 * @param tilt_unit_u8 : The value of tilt unit
gume 0:1f82672b8755 4586 *
gume 0:1f82672b8755 4587 * tilt_unit_u8 | result
gume 0:1f82672b8755 4588 * --------------- | ---------
gume 0:1f82672b8755 4589 * 0x00 | degrees
gume 0:1f82672b8755 4590 * 0x01 | radians
gume 0:1f82672b8755 4591 *
gume 0:1f82672b8755 4592 * @return results of bus communication function
gume 0:1f82672b8755 4593 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4594 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4595 *
gume 0:1f82672b8755 4596 *
gume 0:1f82672b8755 4597 */
gume 0:1f82672b8755 4598 BNO055_RETURN_FUNCTION_TYPE bno055_get_tilt_unit(
gume 0:1f82672b8755 4599 u8 *tilt_unit_u8);
gume 0:1f82672b8755 4600 /*!
gume 0:1f82672b8755 4601 * @brief This API used to write the tilt unit
gume 0:1f82672b8755 4602 * from register from 0x3B bit 3
gume 0:1f82672b8755 4603 *
gume 0:1f82672b8755 4604 * @param tilt_unit_u8 : The value of tilt unit
gume 0:1f82672b8755 4605 *
gume 0:1f82672b8755 4606 * tilt_unit_u8 | result
gume 0:1f82672b8755 4607 * --------------- | ---------
gume 0:1f82672b8755 4608 * 0x00 | degrees
gume 0:1f82672b8755 4609 * 0x01 | radians
gume 0:1f82672b8755 4610 *
gume 0:1f82672b8755 4611 * @return results of bus communication function
gume 0:1f82672b8755 4612 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4613 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4614 *
gume 0:1f82672b8755 4615 *
gume 0:1f82672b8755 4616 *
gume 0:1f82672b8755 4617 * \return Communication results
gume 0:1f82672b8755 4618 *
gume 0:1f82672b8755 4619 *
gume 0:1f82672b8755 4620 */
gume 0:1f82672b8755 4621 BNO055_RETURN_FUNCTION_TYPE bno055_set_tilt_unit(
gume 0:1f82672b8755 4622 u8 tilt_unit_u8);
gume 0:1f82672b8755 4623 /**************************************************/
gume 0:1f82672b8755 4624 /**\name FUNCTIONS FOR TEMPERATURE UNIT SELECTION */
gume 0:1f82672b8755 4625 /**************************************************/
gume 0:1f82672b8755 4626 /*!
gume 0:1f82672b8755 4627 * @brief This API used to read the temperature unit
gume 0:1f82672b8755 4628 * from register from 0x3B bit 4
gume 0:1f82672b8755 4629 *
gume 0:1f82672b8755 4630 * @param temp_unit_u8 : The value of temperature unit
gume 0:1f82672b8755 4631 *
gume 0:1f82672b8755 4632 * temp_unit_u8 | result
gume 0:1f82672b8755 4633 * ----------- | --------------
gume 0:1f82672b8755 4634 * 0x00 | BNO055_TEMP_UNIT_CELSIUS
gume 0:1f82672b8755 4635 * 0x01 | BNO055_TEMP_UNIT_FAHRENHEIT
gume 0:1f82672b8755 4636 *
gume 0:1f82672b8755 4637 * @return results of bus communication function
gume 0:1f82672b8755 4638 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4639 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4640 *
gume 0:1f82672b8755 4641 */
gume 0:1f82672b8755 4642 BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_unit(
gume 0:1f82672b8755 4643 u8 *temp_unit_u8);
gume 0:1f82672b8755 4644 /*!
gume 0:1f82672b8755 4645 * @brief This API used to write the temperature unit
gume 0:1f82672b8755 4646 * from register from 0x3B bit 4
gume 0:1f82672b8755 4647 *
gume 0:1f82672b8755 4648 * @param temp_unit_u8 : The value of temperature unit
gume 0:1f82672b8755 4649 *
gume 0:1f82672b8755 4650 * temp_unit_u8 | result
gume 0:1f82672b8755 4651 * ----------- | --------------
gume 0:1f82672b8755 4652 * 0x00 | BNO055_TEMP_UNIT_CELSIUS
gume 0:1f82672b8755 4653 * 0x01 | BNO055_TEMP_UNIT_FAHRENHEIT
gume 0:1f82672b8755 4654 *
gume 0:1f82672b8755 4655 * @return results of bus communication function
gume 0:1f82672b8755 4656 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4657 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4658 *
gume 0:1f82672b8755 4659 *
gume 0:1f82672b8755 4660 */
gume 0:1f82672b8755 4661 BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_unit(
gume 0:1f82672b8755 4662 u8 temp_unit_u8);
gume 0:1f82672b8755 4663 /**************************************************/
gume 0:1f82672b8755 4664 /**\name FUNCTIONS FOR DATA OUTPUT FORMAT SELECT */
gume 0:1f82672b8755 4665 /**************************************************/
gume 0:1f82672b8755 4666 /*!
gume 0:1f82672b8755 4667 * @brief This API used to read the current selected orientation mode
gume 0:1f82672b8755 4668 * from register from 0x3B bit 7
gume 0:1f82672b8755 4669 *
gume 0:1f82672b8755 4670 * @param data_output_format_u8 : The value of data output format
gume 0:1f82672b8755 4671 *
gume 0:1f82672b8755 4672 * data_output_format_u8 | result
gume 0:1f82672b8755 4673 * -------------------- | --------
gume 0:1f82672b8755 4674 * 0x00 | Windows
gume 0:1f82672b8755 4675 * 0x01 | Android
gume 0:1f82672b8755 4676 *
gume 0:1f82672b8755 4677 * @return results of bus communication function
gume 0:1f82672b8755 4678 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4679 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4680 *
gume 0:1f82672b8755 4681 */
gume 0:1f82672b8755 4682 BNO055_RETURN_FUNCTION_TYPE bno055_get_data_output_format(
gume 0:1f82672b8755 4683 u8 *data_output_format_u8);
gume 0:1f82672b8755 4684 /*!
gume 0:1f82672b8755 4685 * @brief This API used to read the current selected orientation mode
gume 0:1f82672b8755 4686 * from register from 0x3B bit 7
gume 0:1f82672b8755 4687 *
gume 0:1f82672b8755 4688 * @param data_output_format_u8 : The value of data output format
gume 0:1f82672b8755 4689 *
gume 0:1f82672b8755 4690 * data_output_format_u8 | result
gume 0:1f82672b8755 4691 * -------------------- | --------
gume 0:1f82672b8755 4692 * 0x00 | Windows
gume 0:1f82672b8755 4693 * 0x01 | Android
gume 0:1f82672b8755 4694 *
gume 0:1f82672b8755 4695 * @return results of bus communication function
gume 0:1f82672b8755 4696 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4697 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4698 *
gume 0:1f82672b8755 4699 */
gume 0:1f82672b8755 4700 BNO055_RETURN_FUNCTION_TYPE bno055_set_data_output_format(
gume 0:1f82672b8755 4701 u8 data_output_format_u8);
gume 0:1f82672b8755 4702 /**************************************************/
gume 0:1f82672b8755 4703 /**\name FUNCTIONS FOR DATA OPERATION MODE */
gume 0:1f82672b8755 4704 /**************************************************/
gume 0:1f82672b8755 4705 /*! @brief This API used to read the operation mode
gume 0:1f82672b8755 4706 * from register from 0x3D bit 0 to 3
gume 0:1f82672b8755 4707 *
gume 0:1f82672b8755 4708 * @param operation_mode_u8 : The value of operation mode
gume 0:1f82672b8755 4709 *
gume 0:1f82672b8755 4710 * operation_mode_u8 | result | comments
gume 0:1f82672b8755 4711 * ----------|----------------------------|----------------------------
gume 0:1f82672b8755 4712 * 0x00 | BNO055_OPERATION_MODE_CONFIG | Configuration mode
gume 0:1f82672b8755 4713 * 0x01 | BNO055_OPERATION_MODE_ACCONLY | Reads accel data alone
gume 0:1f82672b8755 4714 * 0x02 | BNO055_OPERATION_MODE_MAGONLY | Reads mag data alone
gume 0:1f82672b8755 4715 * 0x03 | BNO055_OPERATION_MODE_GYRONLY | Reads gyro data alone
gume 0:1f82672b8755 4716 * 0x04 | BNO055_OPERATION_MODE_ACCMAG | Reads accel and mag data
gume 0:1f82672b8755 4717 * 0x05 | BNO055_OPERATION_MODE_ACCGYRO | Reads accel and gyro data
gume 0:1f82672b8755 4718 * 0x06 | BNO055_OPERATION_MODE_MAGGYRO | Reads accel and mag data
gume 0:1f82672b8755 4719 * 0x07 | OPERATION_MODE_ANY_MOTION | Reads accel mag and gyro data
gume 0:1f82672b8755 4720 * 0x08 | BNO055_OPERATION_MODE_IMUPLUS | Inertial measurement unit
gume 0:1f82672b8755 4721 * - | - | Reads accel,gyro and fusion data
gume 0:1f82672b8755 4722 * 0x09 | BNO055_OPERATION_MODE_COMPASS | Reads accel, mag data
gume 0:1f82672b8755 4723 * - | - | and fusion data
gume 0:1f82672b8755 4724 * 0x0A | BNO055_OPERATION_MODE_M4G | Reads accel, mag data
gume 0:1f82672b8755 4725 * - | - | and fusion data
gume 0:1f82672b8755 4726 * 0x0B | BNO055_OPERATION_MODE_NDOF_FMC_OFF| Nine degrees of freedom with
gume 0:1f82672b8755 4727 * - | - | fast magnetic calibration
gume 0:1f82672b8755 4728 * - | - | Reads accel,mag, gyro
gume 0:1f82672b8755 4729 * - | - | and fusion data
gume 0:1f82672b8755 4730 * 0x0C | BNO055_OPERATION_MODE_NDOF | Nine degrees of freedom
gume 0:1f82672b8755 4731 * - | - | Reads accel,mag, gyro
gume 0:1f82672b8755 4732 * - | - | and fusion data
gume 0:1f82672b8755 4733 *
gume 0:1f82672b8755 4734 * @return results of bus communication function
gume 0:1f82672b8755 4735 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4736 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4737 *
gume 0:1f82672b8755 4738 * @note In the config mode, all sensor and fusion data
gume 0:1f82672b8755 4739 * becomes zero and it is mainly derived
gume 0:1f82672b8755 4740 * to configure the various settings of the BNO
gume 0:1f82672b8755 4741 *
gume 0:1f82672b8755 4742 */
gume 0:1f82672b8755 4743 BNO055_RETURN_FUNCTION_TYPE bno055_get_operation_mode(
gume 0:1f82672b8755 4744 u8 *operation_mode_u8);
gume 0:1f82672b8755 4745 /*! @brief This API used to write the operation mode
gume 0:1f82672b8755 4746 * from register from 0x3D bit 0 to 3
gume 0:1f82672b8755 4747 *
gume 0:1f82672b8755 4748 * @param operation_mode_u8 : The value of operation mode
gume 0:1f82672b8755 4749 *
gume 0:1f82672b8755 4750 * operation_mode_u8 | result | comments
gume 0:1f82672b8755 4751 * ---------|-----------------------------------|--------------------------
gume 0:1f82672b8755 4752 * 0x00 | BNO055_OPERATION_MODE_CONFIG | Configuration mode
gume 0:1f82672b8755 4753 * 0x01 | BNO055_OPERATION_MODE_ACCONLY | Reads accel data alone
gume 0:1f82672b8755 4754 * 0x02 | BNO055_OPERATION_MODE_MAGONLY | Reads mag data alone
gume 0:1f82672b8755 4755 * 0x03 | BNO055_OPERATION_MODE_GYRONLY | Reads gyro data alone
gume 0:1f82672b8755 4756 * 0x04 | BNO055_OPERATION_MODE_ACCMAG | Reads accel and mag data
gume 0:1f82672b8755 4757 * 0x05 | BNO055_OPERATION_MODE_ACCGYRO | Reads accel and gyro data
gume 0:1f82672b8755 4758 * 0x06 | BNO055_OPERATION_MODE_MAGGYRO | Reads accel and mag data
gume 0:1f82672b8755 4759 * 0x07 | OPERATION_MODE_ANY_MOTION | Reads accel mag and
gume 0:1f82672b8755 4760 * | - | gyro data
gume 0:1f82672b8755 4761 * 0x08 | BNO055_OPERATION_MODE_IMUPLUS | Inertial measurement unit
gume 0:1f82672b8755 4762 * - | | Reads accel,gyro and
gume 0:1f82672b8755 4763 * | - | fusion data
gume 0:1f82672b8755 4764 * 0x09 | BNO055_OPERATION_MODE_COMPASS | Reads accel, mag data
gume 0:1f82672b8755 4765 * - | - | and fusion data
gume 0:1f82672b8755 4766 * 0x0A | BNO055_OPERATION_MODE_M4G | Reads accel, mag data
gume 0:1f82672b8755 4767 * - | - | and fusion data
gume 0:1f82672b8755 4768 * 0x0B | BNO055_OPERATION_MODE_NDOF_FMC_OFF| Nine degrees of freedom with
gume 0:1f82672b8755 4769 * - | - | fast magnetic calibration
gume 0:1f82672b8755 4770 * - | - | Reads accel,mag, gyro
gume 0:1f82672b8755 4771 * - | - | and fusion data
gume 0:1f82672b8755 4772 * 0x0C | BNO055_OPERATION_MODE_NDOF | Nine degrees of freedom
gume 0:1f82672b8755 4773 * - | - | Reads accel,mag, gyro
gume 0:1f82672b8755 4774 * - | - | and fusion data
gume 0:1f82672b8755 4775 *
gume 0:1f82672b8755 4776 * @return results of bus communication function
gume 0:1f82672b8755 4777 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4778 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4779 *
gume 0:1f82672b8755 4780 * @note In the config mode, all sensor and fusion data
gume 0:1f82672b8755 4781 * becomes zero and it is mainly derived
gume 0:1f82672b8755 4782 * to configure the various settings of the BNO
gume 0:1f82672b8755 4783 *
gume 0:1f82672b8755 4784 */
gume 0:1f82672b8755 4785 BNO055_RETURN_FUNCTION_TYPE bno055_set_operation_mode(u8 operation_mode_u8);
gume 0:1f82672b8755 4786 /**************************************************/
gume 0:1f82672b8755 4787 /**\name FUNCTIONS FOR POWER MODE */
gume 0:1f82672b8755 4788 /**************************************************/
gume 0:1f82672b8755 4789 /*! @brief This API used to read the power mode
gume 0:1f82672b8755 4790 * from register from 0x3E bit 0 to 1
gume 0:1f82672b8755 4791 *
gume 0:1f82672b8755 4792 * @param power_mode_u8 : The value of power mode
gume 0:1f82672b8755 4793 *
gume 0:1f82672b8755 4794 * power_mode_u8| result | comments
gume 0:1f82672b8755 4795 * ---------|---------------------------|-------------------------------------
gume 0:1f82672b8755 4796 * 0x00 |BNO055_POWER_MODE_NORMAL | In the NORMAL mode the register
gume 0:1f82672b8755 4797 * - | - | map and the internal peripherals
gume 0:1f82672b8755 4798 * - | - | of the MCU are always
gume 0:1f82672b8755 4799 * - | - | operative in this mode
gume 0:1f82672b8755 4800 * 0x01 |BNO055_POWER_MODE_LOWPOWER | This is first level of power
gume 0:1f82672b8755 4801 * | - | saving mode
gume 0:1f82672b8755 4802 * 0x02 |BNO055_POWER_MODE_SUSPEND | In suspend mode the system is
gume 0:1f82672b8755 4803 * - | - | paused and all the sensors and
gume 0:1f82672b8755 4804 * - | - | the micro controller are
gume 0:1f82672b8755 4805 * - | - | put into sleep mode.
gume 0:1f82672b8755 4806 *
gume 0:1f82672b8755 4807 * @return results of bus communication function
gume 0:1f82672b8755 4808 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4809 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4810 *
gume 0:1f82672b8755 4811 * @note For detailed about LOWPOWER mode
gume 0:1f82672b8755 4812 * refer data sheet 3.4.2
gume 0:1f82672b8755 4813 *
gume 0:1f82672b8755 4814 */
gume 0:1f82672b8755 4815 BNO055_RETURN_FUNCTION_TYPE bno055_get_power_mode(
gume 0:1f82672b8755 4816 u8 *power_mode_u8);
gume 0:1f82672b8755 4817 /*! @brief This API used to write the power mode
gume 0:1f82672b8755 4818 * from register from 0x3E bit 0 to 1
gume 0:1f82672b8755 4819 *
gume 0:1f82672b8755 4820 * @param power_mode_u8 : The value of power mode
gume 0:1f82672b8755 4821 *
gume 0:1f82672b8755 4822 *
gume 0:1f82672b8755 4823 * power_mode_u8| result | comments
gume 0:1f82672b8755 4824 * -------|----------------------------|---------------------------------
gume 0:1f82672b8755 4825 * 0x00 | BNO055_POWER_MODE_NORMAL | In the NORMAL mode the register
gume 0:1f82672b8755 4826 * - | - | map and the internal peripherals
gume 0:1f82672b8755 4827 * - | - | of the MCU are always
gume 0:1f82672b8755 4828 * - | - | operative in this mode
gume 0:1f82672b8755 4829 * 0x01 | BNO055_POWER_MODE_LOWPOWER | This is first level of power
gume 0:1f82672b8755 4830 * | - | saving mode
gume 0:1f82672b8755 4831 * 0x02 | BNO055_POWER_MODE_SUSPEND | In suspend mode the system is
gume 0:1f82672b8755 4832 * - | - | paused and all the sensors and
gume 0:1f82672b8755 4833 * - | - | the micro controller are
gume 0:1f82672b8755 4834 * - | - | put into sleep mode.
gume 0:1f82672b8755 4835 *
gume 0:1f82672b8755 4836 * @return results of bus communication function
gume 0:1f82672b8755 4837 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4838 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4839 *
gume 0:1f82672b8755 4840 * @note For detailed about LOWPOWER mode
gume 0:1f82672b8755 4841 * refer data sheet 3.4.2
gume 0:1f82672b8755 4842 *
gume 0:1f82672b8755 4843 */
gume 0:1f82672b8755 4844 BNO055_RETURN_FUNCTION_TYPE bno055_set_power_mode(u8 power_mode_u8);
gume 0:1f82672b8755 4845 /**************************************************/
gume 0:1f82672b8755 4846 /**\name FUNCTIONS FOR RESET INTERRUPT */
gume 0:1f82672b8755 4847 /**************************************************/
gume 0:1f82672b8755 4848 /*!
gume 0:1f82672b8755 4849 * @brief This API used to read the reset interrupt
gume 0:1f82672b8755 4850 * from register from 0x3F bit 6
gume 0:1f82672b8755 4851 * It resets all the interrupt bit and interrupt output
gume 0:1f82672b8755 4852 *
gume 0:1f82672b8755 4853 * @param intr_rst_u8 : The value of reset interrupt
gume 0:1f82672b8755 4854 *
gume 0:1f82672b8755 4855 * intr_rst_u8 | result
gume 0:1f82672b8755 4856 * -------------|----------
gume 0:1f82672b8755 4857 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4858 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4859 *
gume 0:1f82672b8755 4860 * @return results of bus communication function
gume 0:1f82672b8755 4861 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4862 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4863 *
gume 0:1f82672b8755 4864 */
gume 0:1f82672b8755 4865 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_rst(
gume 0:1f82672b8755 4866 u8 *intr_rst_u8);
gume 0:1f82672b8755 4867 /*!
gume 0:1f82672b8755 4868 * @brief This API used to write the reset interrupt
gume 0:1f82672b8755 4869 * from register from 0x3F bit 6
gume 0:1f82672b8755 4870 * It resets all the interrupt bit and interrupt output
gume 0:1f82672b8755 4871 *
gume 0:1f82672b8755 4872 * @param intr_rst_u8 : The value of reset interrupt
gume 0:1f82672b8755 4873 *
gume 0:1f82672b8755 4874 * intr_rst_u8 | result
gume 0:1f82672b8755 4875 * -------------- |----------
gume 0:1f82672b8755 4876 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4877 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4878 *
gume 0:1f82672b8755 4879 * @return results of bus communication function
gume 0:1f82672b8755 4880 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4881 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4882 *
gume 0:1f82672b8755 4883 */
gume 0:1f82672b8755 4884 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_rst(u8 intr_rst_u8);
gume 0:1f82672b8755 4885 /**************************************************/
gume 0:1f82672b8755 4886 /**\name FUNCTIONS FOR CLOCK SOURCE */
gume 0:1f82672b8755 4887 /**************************************************/
gume 0:1f82672b8755 4888 /*!
gume 0:1f82672b8755 4889 * @brief This API used to read the clk source
gume 0:1f82672b8755 4890 * from register from 0x3F bit 7
gume 0:1f82672b8755 4891 *
gume 0:1f82672b8755 4892 * @param clk_src_u8 : The value of clk source
gume 0:1f82672b8755 4893 *
gume 0:1f82672b8755 4894 * clk_src_u8 | result
gume 0:1f82672b8755 4895 * -------------|----------
gume 0:1f82672b8755 4896 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4897 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4898 *
gume 0:1f82672b8755 4899 * @return results of bus communication function
gume 0:1f82672b8755 4900 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4901 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4902 *
gume 0:1f82672b8755 4903 */
gume 0:1f82672b8755 4904 BNO055_RETURN_FUNCTION_TYPE bno055_get_clk_src(
gume 0:1f82672b8755 4905 u8 *clk_src_u8);
gume 0:1f82672b8755 4906 /*!
gume 0:1f82672b8755 4907 * @brief This API used to write the clk source
gume 0:1f82672b8755 4908 * from register from 0x3F bit 7
gume 0:1f82672b8755 4909 *
gume 0:1f82672b8755 4910 * @param clk_src_u8 : The value of clk source
gume 0:1f82672b8755 4911 *
gume 0:1f82672b8755 4912 * clk_src_u8 | result
gume 0:1f82672b8755 4913 * -------------- |----------
gume 0:1f82672b8755 4914 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4915 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4916 *
gume 0:1f82672b8755 4917 * @return results of bus communication function
gume 0:1f82672b8755 4918 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4919 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4920 *
gume 0:1f82672b8755 4921 */
gume 0:1f82672b8755 4922 BNO055_RETURN_FUNCTION_TYPE bno055_set_clk_src(u8 clk_src_u8);
gume 0:1f82672b8755 4923 /**************************************************/
gume 0:1f82672b8755 4924 /**\name FUNCTIONS FOR RESET SYSTEM */
gume 0:1f82672b8755 4925 /**************************************************/
gume 0:1f82672b8755 4926 /*!
gume 0:1f82672b8755 4927 * @brief This API used to read the reset system
gume 0:1f82672b8755 4928 * from register from 0x3F bit 5
gume 0:1f82672b8755 4929 *
gume 0:1f82672b8755 4930 * @param sys_rst_u8 : The value of reset system
gume 0:1f82672b8755 4931 *
gume 0:1f82672b8755 4932 * sys_rst_u8 | result
gume 0:1f82672b8755 4933 * -------------- |----------
gume 0:1f82672b8755 4934 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4935 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4936 *
gume 0:1f82672b8755 4937 * @return results of bus communication function
gume 0:1f82672b8755 4938 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4939 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4940 *
gume 0:1f82672b8755 4941 * @note It resets the whole system
gume 0:1f82672b8755 4942 */
gume 0:1f82672b8755 4943 BNO055_RETURN_FUNCTION_TYPE bno055_get_sys_rst(
gume 0:1f82672b8755 4944 u8 *sys_rst_u8);
gume 0:1f82672b8755 4945 /*!
gume 0:1f82672b8755 4946 * @brief This API used to write the reset system
gume 0:1f82672b8755 4947 * from register from 0x3F bit 5
gume 0:1f82672b8755 4948 *
gume 0:1f82672b8755 4949 * @param sys_rst_u8 : The value of reset system
gume 0:1f82672b8755 4950 *
gume 0:1f82672b8755 4951 * sys_rst_u8 | result
gume 0:1f82672b8755 4952 * -------------- |----------
gume 0:1f82672b8755 4953 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4954 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4955 *
gume 0:1f82672b8755 4956 * @return results of bus communication function
gume 0:1f82672b8755 4957 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4958 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4959 *
gume 0:1f82672b8755 4960 * @note It resets the whole system
gume 0:1f82672b8755 4961 */
gume 0:1f82672b8755 4962 BNO055_RETURN_FUNCTION_TYPE bno055_set_sys_rst(u8 sys_rst_u8);
gume 0:1f82672b8755 4963 /**************************************************/
gume 0:1f82672b8755 4964 /**\name FUNCTIONS FOR SELF TEST */
gume 0:1f82672b8755 4965 /**************************************************/
gume 0:1f82672b8755 4966 /*!
gume 0:1f82672b8755 4967 * @brief This API used to read the self test
gume 0:1f82672b8755 4968 * from register from 0x3F bit 0
gume 0:1f82672b8755 4969 *
gume 0:1f82672b8755 4970 * @param selftest_u8 : The value of self test
gume 0:1f82672b8755 4971 *
gume 0:1f82672b8755 4972 * selftest_u8 | result
gume 0:1f82672b8755 4973 * -------------- |----------
gume 0:1f82672b8755 4974 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4975 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4976 *
gume 0:1f82672b8755 4977 * @return results of bus communication function
gume 0:1f82672b8755 4978 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4979 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4980 *
gume 0:1f82672b8755 4981 * @note It triggers the self test
gume 0:1f82672b8755 4982 */
gume 0:1f82672b8755 4983 BNO055_RETURN_FUNCTION_TYPE bno055_get_selftest(
gume 0:1f82672b8755 4984 u8 *selftest_u8);
gume 0:1f82672b8755 4985 /*!
gume 0:1f82672b8755 4986 * @brief This API used to write the self test
gume 0:1f82672b8755 4987 * from register from 0x3F bit 0
gume 0:1f82672b8755 4988 *
gume 0:1f82672b8755 4989 * @param selftest_u8 : The value of self test
gume 0:1f82672b8755 4990 *
gume 0:1f82672b8755 4991 * selftest_u8 | result
gume 0:1f82672b8755 4992 * -------------- |----------
gume 0:1f82672b8755 4993 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 4994 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 4995 *
gume 0:1f82672b8755 4996 * @return results of bus communication function
gume 0:1f82672b8755 4997 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 4998 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 4999 *
gume 0:1f82672b8755 5000 * @note It triggers the self test
gume 0:1f82672b8755 5001 *
gume 0:1f82672b8755 5002 *
gume 0:1f82672b8755 5003 */
gume 0:1f82672b8755 5004 BNO055_RETURN_FUNCTION_TYPE bno055_set_selftest(u8 selftest_u8);
gume 0:1f82672b8755 5005 /**************************************************/
gume 0:1f82672b8755 5006 /**\name FUNCTIONS FOR TEMPERATURE SOURCE */
gume 0:1f82672b8755 5007 /**************************************************/
gume 0:1f82672b8755 5008 /*!
gume 0:1f82672b8755 5009 * @brief This API used to read the temperature source
gume 0:1f82672b8755 5010 * from register from 0x40 bit 0 and 1
gume 0:1f82672b8755 5011 *
gume 0:1f82672b8755 5012 * @param temp_source_u8 : The value of selected temperature source
gume 0:1f82672b8755 5013 *
gume 0:1f82672b8755 5014 * temp_source_u8 | result
gume 0:1f82672b8755 5015 * ---------------- |---------------
gume 0:1f82672b8755 5016 * 0x00 | BNO055_ACCEL_TEMP_EN
gume 0:1f82672b8755 5017 * 0X01 | BNO055_GYRO_TEMP_EN
gume 0:1f82672b8755 5018 * 0X03 | BNO055_MCU_TEMP_EN
gume 0:1f82672b8755 5019 *
gume 0:1f82672b8755 5020 * @return results of bus communication function
gume 0:1f82672b8755 5021 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5022 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5023 *
gume 0:1f82672b8755 5024 */
gume 0:1f82672b8755 5025 BNO055_RETURN_FUNCTION_TYPE bno055_get_temp_source(
gume 0:1f82672b8755 5026 u8 *temp_source_u8);
gume 0:1f82672b8755 5027 /*!
gume 0:1f82672b8755 5028 * @brief This API used to write the temperature source
gume 0:1f82672b8755 5029 * from register from 0x40 bit 0 and 1
gume 0:1f82672b8755 5030 *
gume 0:1f82672b8755 5031 * @param temp_source_u8 : The value of selected temperature source
gume 0:1f82672b8755 5032 *
gume 0:1f82672b8755 5033 * temp_source_u8 | result
gume 0:1f82672b8755 5034 * ---------------- |---------------
gume 0:1f82672b8755 5035 * 0x00 | BNO055_ACCEL_TEMP_EN
gume 0:1f82672b8755 5036 * 0X01 | BNO055_GYRO_TEMP_EN
gume 0:1f82672b8755 5037 * 0X03 | BNO055_MCU_TEMP_EN
gume 0:1f82672b8755 5038 *
gume 0:1f82672b8755 5039 * @return results of bus communication function
gume 0:1f82672b8755 5040 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5041 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5042 *
gume 0:1f82672b8755 5043 */
gume 0:1f82672b8755 5044 BNO055_RETURN_FUNCTION_TYPE bno055_set_temp_source(u8 temp_source_u8);
gume 0:1f82672b8755 5045 /**************************************************/
gume 0:1f82672b8755 5046 /**\name APIs FOR AXIS REMAP */
gume 0:1f82672b8755 5047 /**************************************************/
gume 0:1f82672b8755 5048 /*!
gume 0:1f82672b8755 5049 * @brief This API used to read the axis remap value
gume 0:1f82672b8755 5050 * from register from 0x41 bit 0 and 5
gume 0:1f82672b8755 5051 *
gume 0:1f82672b8755 5052 * @param remap_axis_u8 : The value of axis remapping
gume 0:1f82672b8755 5053 *
gume 0:1f82672b8755 5054 * remap_axis_u8 | result | comments
gume 0:1f82672b8755 5055 * ------------|-------------------|------------
gume 0:1f82672b8755 5056 * 0X21 | BNO055_REMAP_X_Y | Z=Z;X=Y;Y=X
gume 0:1f82672b8755 5057 * 0X18 | BNO055_REMAP_Y_Z | X=X;Y=Z;Z=Y
gume 0:1f82672b8755 5058 * 0X06 | BNO055_REMAP_Z_X | Y=Y;X=Z;Z=X
gume 0:1f82672b8755 5059 * 0X12 | BNO055_REMAP_X_Y_Z_TYPE0 | X=Z;Y=X;Z=Y
gume 0:1f82672b8755 5060 * 0X09 | BNO055_REMAP_X_Y_Z_TYPE1 | X=Y;Y=Z;Z=X
gume 0:1f82672b8755 5061 * 0X24 | BNO055_DEFAULT_AXIS | X=X;Y=Y;Z=Z
gume 0:1f82672b8755 5062 *
gume 0:1f82672b8755 5063 * @return results of bus communication function
gume 0:1f82672b8755 5064 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5065 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5066 *
gume 0:1f82672b8755 5067 * @note : For axis sign remap refer the following APIs
gume 0:1f82672b8755 5068 * x-axis :
gume 0:1f82672b8755 5069 *
gume 0:1f82672b8755 5070 * bno055_set_x_remap_sign()
gume 0:1f82672b8755 5071 *
gume 0:1f82672b8755 5072 * y-axis :
gume 0:1f82672b8755 5073 *
gume 0:1f82672b8755 5074 * bno055_set_y_remap_sign()
gume 0:1f82672b8755 5075 *
gume 0:1f82672b8755 5076 * z-axis :
gume 0:1f82672b8755 5077 *
gume 0:1f82672b8755 5078 * bno055_set_z_remap_sign()
gume 0:1f82672b8755 5079 *
gume 0:1f82672b8755 5080 */
gume 0:1f82672b8755 5081 BNO055_RETURN_FUNCTION_TYPE bno055_get_axis_remap_value(
gume 0:1f82672b8755 5082 u8 *remap_axis_u8);
gume 0:1f82672b8755 5083 /*!
gume 0:1f82672b8755 5084 * @brief This API used to write the axis remap value
gume 0:1f82672b8755 5085 * from register from 0x41 bit 0 and 5
gume 0:1f82672b8755 5086 *
gume 0:1f82672b8755 5087 * @param remap_axis_u8 : The value of axis remapping
gume 0:1f82672b8755 5088 *
gume 0:1f82672b8755 5089 * remap_axis_u8 | result | comments
gume 0:1f82672b8755 5090 * ------------|--------------------------|------------
gume 0:1f82672b8755 5091 * 0X21 | BNO055_REMAP_X_Y | Z=Z;X=Y;Y=X
gume 0:1f82672b8755 5092 * 0X18 | BNO055_REMAP_Y_Z | X=X;Y=Z;Z=Y
gume 0:1f82672b8755 5093 * 0X06 | BNO055_REMAP_Z_X | Y=Y;X=Z;Z=X
gume 0:1f82672b8755 5094 * 0X12 | BNO055_REMAP_X_Y_Z_TYPE0 | X=Z;Y=X;Z=Y
gume 0:1f82672b8755 5095 * 0X09 | BNO055_REMAP_X_Y_Z_TYPE1 | X=Y;Y=Z;Z=X
gume 0:1f82672b8755 5096 * 0X24 | BNO055_DEFAULT_AXIS | X=X;Y=Y;Z=Z
gume 0:1f82672b8755 5097 *
gume 0:1f82672b8755 5098 * @return results of bus communication function
gume 0:1f82672b8755 5099 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5100 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5101 *
gume 0:1f82672b8755 5102 * @note : For axis sign remap refer the following APIs
gume 0:1f82672b8755 5103 * x-axis :
gume 0:1f82672b8755 5104 *
gume 0:1f82672b8755 5105 * bno055_set_x_remap_sign()
gume 0:1f82672b8755 5106 *
gume 0:1f82672b8755 5107 * y-axis :
gume 0:1f82672b8755 5108 *
gume 0:1f82672b8755 5109 * bno055_set_y_remap_sign()
gume 0:1f82672b8755 5110 *
gume 0:1f82672b8755 5111 * z-axis :
gume 0:1f82672b8755 5112 *
gume 0:1f82672b8755 5113 * bno055_set_z_remap_sign()
gume 0:1f82672b8755 5114 *
gume 0:1f82672b8755 5115 */
gume 0:1f82672b8755 5116 BNO055_RETURN_FUNCTION_TYPE bno055_set_axis_remap_value(
gume 0:1f82672b8755 5117 u8 remap_axis_u8);
gume 0:1f82672b8755 5118 /**************************************************/
gume 0:1f82672b8755 5119 /**\name APIs FOR AXIS REMAP SIGN */
gume 0:1f82672b8755 5120 /**************************************************/
gume 0:1f82672b8755 5121 /*!
gume 0:1f82672b8755 5122 * @brief This API used to read the x-axis remap
gume 0:1f82672b8755 5123 * sign from register from 0x42 bit 2
gume 0:1f82672b8755 5124 *
gume 0:1f82672b8755 5125 * @param remap_x_sign_u8 : The value of x-axis remap sign
gume 0:1f82672b8755 5126 *
gume 0:1f82672b8755 5127 * remap_x_sign_u8 | result
gume 0:1f82672b8755 5128 * ------------------- |--------------------
gume 0:1f82672b8755 5129 * 0X00 | BNO055_REMAP_AXIS_POSITIVE
gume 0:1f82672b8755 5130 * 0X01 | BNO055_REMAP_AXIS_NEGATIVE
gume 0:1f82672b8755 5131 *
gume 0:1f82672b8755 5132 * @return results of bus communication function
gume 0:1f82672b8755 5133 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5134 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5135 *
gume 0:1f82672b8755 5136 */
gume 0:1f82672b8755 5137 BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_x_sign(
gume 0:1f82672b8755 5138 u8 *remap_x_sign_u8);
gume 0:1f82672b8755 5139 /*!
gume 0:1f82672b8755 5140 * @brief This API used to write the x-axis remap
gume 0:1f82672b8755 5141 * sign from register from 0x42 bit 2
gume 0:1f82672b8755 5142 *
gume 0:1f82672b8755 5143 * @param remap_x_sign_u8 : The value of x-axis remap sign
gume 0:1f82672b8755 5144 *
gume 0:1f82672b8755 5145 * remap_x_sign_u8 | result
gume 0:1f82672b8755 5146 * ------------------- |--------------------
gume 0:1f82672b8755 5147 * 0X00 | BNO055_REMAP_AXIS_POSITIVE
gume 0:1f82672b8755 5148 * 0X01 | BNO055_REMAP_AXIS_NEGATIVE
gume 0:1f82672b8755 5149 *
gume 0:1f82672b8755 5150 * @return results of bus communication function
gume 0:1f82672b8755 5151 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5152 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5153 *
gume 0:1f82672b8755 5154 */
gume 0:1f82672b8755 5155 BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_x_sign(
gume 0:1f82672b8755 5156 u8 remap_x_sign_u8);
gume 0:1f82672b8755 5157 /*!
gume 0:1f82672b8755 5158 * @brief This API used to read the y-axis remap
gume 0:1f82672b8755 5159 * sign from register from 0x42 bit 1
gume 0:1f82672b8755 5160 *
gume 0:1f82672b8755 5161 * @param remap_y_sign_u8 : The value of y-axis remap sign
gume 0:1f82672b8755 5162 *
gume 0:1f82672b8755 5163 * remap_y_sign_u8 | result
gume 0:1f82672b8755 5164 * ------------------- |--------------------
gume 0:1f82672b8755 5165 * 0X00 | BNO055_REMAP_AXIS_POSITIVE
gume 0:1f82672b8755 5166 * 0X01 | BNO055_REMAP_AXIS_NEGATIVE
gume 0:1f82672b8755 5167 *
gume 0:1f82672b8755 5168 * @return results of bus communication function
gume 0:1f82672b8755 5169 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5170 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5171 *
gume 0:1f82672b8755 5172 */
gume 0:1f82672b8755 5173 BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_y_sign(
gume 0:1f82672b8755 5174 u8 *remap_y_sign_u8);
gume 0:1f82672b8755 5175 /*!
gume 0:1f82672b8755 5176 * @brief This API used to write the y-axis remap
gume 0:1f82672b8755 5177 * sign from register from 0x42 bit 1
gume 0:1f82672b8755 5178 *
gume 0:1f82672b8755 5179 * @param remap_y_sign_u8 : The value of y-axis remap sign
gume 0:1f82672b8755 5180 *
gume 0:1f82672b8755 5181 * remap_y_sign_u8 | result
gume 0:1f82672b8755 5182 * ------------------- |--------------------
gume 0:1f82672b8755 5183 * 0X00 | BNO055_REMAP_AXIS_POSITIVE
gume 0:1f82672b8755 5184 * 0X01 | BNO055_REMAP_AXIS_NEGATIVE
gume 0:1f82672b8755 5185 *
gume 0:1f82672b8755 5186 * @return results of bus communication function
gume 0:1f82672b8755 5187 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5188 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5189 *
gume 0:1f82672b8755 5190 */
gume 0:1f82672b8755 5191 BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_y_sign(
gume 0:1f82672b8755 5192 u8 remap_y_sign_u8);
gume 0:1f82672b8755 5193 /*!
gume 0:1f82672b8755 5194 * @brief This API used to read the z-axis remap
gume 0:1f82672b8755 5195 * sign from register from 0x42 bit 0
gume 0:1f82672b8755 5196 *
gume 0:1f82672b8755 5197 * @param remap_z_sign_u8 : The value of z-axis remap sign
gume 0:1f82672b8755 5198 *
gume 0:1f82672b8755 5199 * remap_z_sign_u8 | result
gume 0:1f82672b8755 5200 * ------------------- |--------------------
gume 0:1f82672b8755 5201 * 0X00 | BNO055_REMAP_AXIS_POSITIVE
gume 0:1f82672b8755 5202 * 0X01 | BNO055_REMAP_AXIS_NEGATIVE
gume 0:1f82672b8755 5203 *
gume 0:1f82672b8755 5204 * @return results of bus communication function
gume 0:1f82672b8755 5205 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5206 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5207 *
gume 0:1f82672b8755 5208 */
gume 0:1f82672b8755 5209 BNO055_RETURN_FUNCTION_TYPE bno055_get_remap_z_sign(
gume 0:1f82672b8755 5210 u8 *remap_z_sign_u8);
gume 0:1f82672b8755 5211 /*!
gume 0:1f82672b8755 5212 * @brief This API used to write the z-axis remap
gume 0:1f82672b8755 5213 * sign from register from 0x42 bit 0
gume 0:1f82672b8755 5214 *
gume 0:1f82672b8755 5215 * @param remap_z_sign_u8 : The value of z-axis remap sign
gume 0:1f82672b8755 5216 *
gume 0:1f82672b8755 5217 * remap_z_sign_u8 | result
gume 0:1f82672b8755 5218 * ------------------|--------------------
gume 0:1f82672b8755 5219 * 0X00 | BNO055_REMAP_AXIS_POSITIVE
gume 0:1f82672b8755 5220 * 0X01 | BNO055_REMAP_AXIS_NEGATIVE
gume 0:1f82672b8755 5221 *
gume 0:1f82672b8755 5222 * @return results of bus communication function
gume 0:1f82672b8755 5223 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5224 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5225 *
gume 0:1f82672b8755 5226 */
gume 0:1f82672b8755 5227 BNO055_RETURN_FUNCTION_TYPE bno055_set_remap_z_sign(
gume 0:1f82672b8755 5228 u8 remap_z_sign_u8);
gume 0:1f82672b8755 5229 /*****************************************************/
gume 0:1f82672b8755 5230 /**\name FUNCTIONS FOR SOFT IRON CALIBRATION MATRIX */
gume 0:1f82672b8755 5231 /*****************************************************/
gume 0:1f82672b8755 5232 /*!
gume 0:1f82672b8755 5233 * @brief This API is used to read soft iron calibration matrix
gume 0:1f82672b8755 5234 * from the register 0x43 to 0x53 it is a 18 bytes of data
gume 0:1f82672b8755 5235 *
gume 0:1f82672b8755 5236 * @param sic_matrix : The value of soft iron calibration matrix
gume 0:1f82672b8755 5237 *
gume 0:1f82672b8755 5238 * sic_matrix | result
gume 0:1f82672b8755 5239 * --------------------|----------------------------------
gume 0:1f82672b8755 5240 * sic_0 | soft iron calibration matrix zero
gume 0:1f82672b8755 5241 * sic_1 | soft iron calibration matrix one
gume 0:1f82672b8755 5242 * sic_2 | soft iron calibration matrix two
gume 0:1f82672b8755 5243 * sic_3 | soft iron calibration matrix three
gume 0:1f82672b8755 5244 * sic_4 | soft iron calibration matrix four
gume 0:1f82672b8755 5245 * sic_5 | soft iron calibration matrix five
gume 0:1f82672b8755 5246 * sic_6 | soft iron calibration matrix six
gume 0:1f82672b8755 5247 * sic_7 | soft iron calibration matrix seven
gume 0:1f82672b8755 5248 * sic_8 | soft iron calibration matrix eight
gume 0:1f82672b8755 5249 *
gume 0:1f82672b8755 5250 *
gume 0:1f82672b8755 5251 * @return results of bus communication function
gume 0:1f82672b8755 5252 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5253 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5254 *
gume 0:1f82672b8755 5255 * @note : Each soft iron calibration matrix range from -32768 to +32767
gume 0:1f82672b8755 5256 */
gume 0:1f82672b8755 5257 BNO055_RETURN_FUNCTION_TYPE bno055_read_sic_matrix(
gume 0:1f82672b8755 5258 struct bno055_sic_matrix_t *sic_matrix);
gume 0:1f82672b8755 5259 /*!
gume 0:1f82672b8755 5260 * @brief This API is used to write soft iron calibration matrix
gume 0:1f82672b8755 5261 * from the register 0x43 to 0x53 it is a 18 bytes of data
gume 0:1f82672b8755 5262 *
gume 0:1f82672b8755 5263 * @param sic_matrix : The value of soft iron calibration matrix
gume 0:1f82672b8755 5264 *
gume 0:1f82672b8755 5265 * sic_matrix | result
gume 0:1f82672b8755 5266 * --------------------|----------------------------------
gume 0:1f82672b8755 5267 * sic_0 | soft iron calibration matrix zero
gume 0:1f82672b8755 5268 * sic_1 | soft iron calibration matrix one
gume 0:1f82672b8755 5269 * sic_2 | soft iron calibration matrix two
gume 0:1f82672b8755 5270 * sic_3 | soft iron calibration matrix three
gume 0:1f82672b8755 5271 * sic_4 | soft iron calibration matrix four
gume 0:1f82672b8755 5272 * sic_5 | soft iron calibration matrix five
gume 0:1f82672b8755 5273 * sic_6 | soft iron calibration matrix six
gume 0:1f82672b8755 5274 * sic_7 | soft iron calibration matrix seven
gume 0:1f82672b8755 5275 * sic_8 | soft iron calibration matrix eight
gume 0:1f82672b8755 5276 *
gume 0:1f82672b8755 5277 *
gume 0:1f82672b8755 5278 * @return results of bus communication function
gume 0:1f82672b8755 5279 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5280 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5281 *
gume 0:1f82672b8755 5282 * @note : Each soft iron calibration matrix range from -32768 to +32767
gume 0:1f82672b8755 5283 */
gume 0:1f82672b8755 5284 BNO055_RETURN_FUNCTION_TYPE bno055_write_sic_matrix(
gume 0:1f82672b8755 5285 struct bno055_sic_matrix_t *sic_matrix);
gume 0:1f82672b8755 5286 /*****************************************************/
gume 0:1f82672b8755 5287 /**\name FUNCTIONS FOR ACCEL OFFSET AND RADIUS */
gume 0:1f82672b8755 5288 /*****************************************************/
gume 0:1f82672b8755 5289 /*!
gume 0:1f82672b8755 5290 * @brief This API is used to read accel offset and accel radius
gume 0:1f82672b8755 5291 * offset form register 0x55 to 0x5A and radius form 0x67 and 0x68
gume 0:1f82672b8755 5292 *
gume 0:1f82672b8755 5293 * @param accel_offset : The value of accel offset and radius
gume 0:1f82672b8755 5294 *
gume 0:1f82672b8755 5295 * bno055_accel_offset_t | result
gume 0:1f82672b8755 5296 * ------------------- | ----------------
gume 0:1f82672b8755 5297 * x | accel offset x
gume 0:1f82672b8755 5298 * y | accel offset y
gume 0:1f82672b8755 5299 * z | accel offset z
gume 0:1f82672b8755 5300 * r | accel offset r
gume 0:1f82672b8755 5301 *
gume 0:1f82672b8755 5302 *
gume 0:1f82672b8755 5303 * @return results of bus communication function
gume 0:1f82672b8755 5304 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5305 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5306 *
gume 0:1f82672b8755 5307 * @note The range of the accel offset varies based on
gume 0:1f82672b8755 5308 * the G-range of accel sensor.
gume 0:1f82672b8755 5309 *
gume 0:1f82672b8755 5310 * accel G range | offset range
gume 0:1f82672b8755 5311 * --------------- | --------------
gume 0:1f82672b8755 5312 * BNO055_ACCEL_RANGE_2G | +/-2000
gume 0:1f82672b8755 5313 * BNO055_ACCEL_RANGE_4G | +/-4000
gume 0:1f82672b8755 5314 * BNO055_ACCEL_RANGE_8G | +/-8000
gume 0:1f82672b8755 5315 * BNO055_ACCEL_RANGE_16G | +/-16000
gume 0:1f82672b8755 5316 *
gume 0:1f82672b8755 5317 * accel G range can be configured by using the
gume 0:1f82672b8755 5318 * bno055_set_accel_range() API
gume 0:1f82672b8755 5319 */
gume 0:1f82672b8755 5320 BNO055_RETURN_FUNCTION_TYPE bno055_read_accel_offset(
gume 0:1f82672b8755 5321 struct bno055_accel_offset_t *accel_offset);
gume 0:1f82672b8755 5322 /*!
gume 0:1f82672b8755 5323 * @brief This API is used to write accel offset and accel radius
gume 0:1f82672b8755 5324 * offset form register 0x55 to 0x5A and radius form 0x67 and 0x68
gume 0:1f82672b8755 5325 *
gume 0:1f82672b8755 5326 * @param accel_offset : The value of accel offset and radius
gume 0:1f82672b8755 5327 *
gume 0:1f82672b8755 5328 * bno055_accel_offset_t | result
gume 0:1f82672b8755 5329 * ------------------- | ----------------
gume 0:1f82672b8755 5330 * x | accel offset x
gume 0:1f82672b8755 5331 * y | accel offset y
gume 0:1f82672b8755 5332 * z | accel offset z
gume 0:1f82672b8755 5333 * r | accel offset r
gume 0:1f82672b8755 5334 *
gume 0:1f82672b8755 5335 *
gume 0:1f82672b8755 5336 * @return results of bus communication function
gume 0:1f82672b8755 5337 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5338 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5339 *
gume 0:1f82672b8755 5340 * @note The range of the accel offset varies based on
gume 0:1f82672b8755 5341 * the G-range of accel sensor.
gume 0:1f82672b8755 5342 *
gume 0:1f82672b8755 5343 * accel G range | offset range
gume 0:1f82672b8755 5344 * --------------- | --------------
gume 0:1f82672b8755 5345 * BNO055_ACCEL_RANGE_2G | +/-2000
gume 0:1f82672b8755 5346 * BNO055_ACCEL_RANGE_4G | +/-4000
gume 0:1f82672b8755 5347 * BNO055_ACCEL_RANGE_8G | +/-8000
gume 0:1f82672b8755 5348 * BNO055_ACCEL_RANGE_16G | +/-16000
gume 0:1f82672b8755 5349 *
gume 0:1f82672b8755 5350 * accel G range can be configured by using the
gume 0:1f82672b8755 5351 * bno055_set_accel_range() API
gume 0:1f82672b8755 5352 */
gume 0:1f82672b8755 5353 BNO055_RETURN_FUNCTION_TYPE bno055_write_accel_offset(
gume 0:1f82672b8755 5354 struct bno055_accel_offset_t *accel_offset);
gume 0:1f82672b8755 5355 /*****************************************************/
gume 0:1f82672b8755 5356 /**\name FUNCTIONS FOR MAG OFFSET AND RADIUS*/
gume 0:1f82672b8755 5357 /*****************************************************/
gume 0:1f82672b8755 5358 /*!
gume 0:1f82672b8755 5359 * @brief This API is used to read mag offset
gume 0:1f82672b8755 5360 * offset form register 0x69 to 0x6A
gume 0:1f82672b8755 5361 *
gume 0:1f82672b8755 5362 * @param mag_offset : The value of mag offset and radius
gume 0:1f82672b8755 5363 *
gume 0:1f82672b8755 5364 * bno055_mag_offset_t | result
gume 0:1f82672b8755 5365 * ------------------- | ----------------
gume 0:1f82672b8755 5366 * x | mag offset x
gume 0:1f82672b8755 5367 * y | mag offset y
gume 0:1f82672b8755 5368 * z | mag offset z
gume 0:1f82672b8755 5369 * r | mag radius r
gume 0:1f82672b8755 5370 *
gume 0:1f82672b8755 5371 *
gume 0:1f82672b8755 5372 * @return results of bus communication function
gume 0:1f82672b8755 5373 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5374 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5375 *
gume 0:1f82672b8755 5376 * @note The range of the magnetometer offset is +/-6400 in LSB
gume 0:1f82672b8755 5377 */
gume 0:1f82672b8755 5378
gume 0:1f82672b8755 5379 BNO055_RETURN_FUNCTION_TYPE bno055_read_mag_offset(
gume 0:1f82672b8755 5380 struct bno055_mag_offset_t *mag_offset);
gume 0:1f82672b8755 5381 /*!
gume 0:1f82672b8755 5382 * @brief This API is used to read mag offset
gume 0:1f82672b8755 5383 * offset form register 0x69 to 0x6A
gume 0:1f82672b8755 5384 *
gume 0:1f82672b8755 5385 * @param mag_offset : The value of mag offset and radius
gume 0:1f82672b8755 5386 *
gume 0:1f82672b8755 5387 * bno055_mag_offset_t | result
gume 0:1f82672b8755 5388 * ------------------- | ----------------
gume 0:1f82672b8755 5389 * x | mag offset x
gume 0:1f82672b8755 5390 * y | mag offset y
gume 0:1f82672b8755 5391 * z | mag offset z
gume 0:1f82672b8755 5392 * r | mag radius r
gume 0:1f82672b8755 5393 *
gume 0:1f82672b8755 5394 *
gume 0:1f82672b8755 5395 * @return results of bus communication function
gume 0:1f82672b8755 5396 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5397 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5398 *
gume 0:1f82672b8755 5399 * @note The range of the magnetometer offset is +/-6400 in LSB
gume 0:1f82672b8755 5400 */
gume 0:1f82672b8755 5401 BNO055_RETURN_FUNCTION_TYPE bno055_write_mag_offset(
gume 0:1f82672b8755 5402 struct bno055_mag_offset_t *mag_offset);
gume 0:1f82672b8755 5403 /*****************************************************/
gume 0:1f82672b8755 5404 /**\name FUNCTIONS FOR GYRO OFFSET */
gume 0:1f82672b8755 5405 /*****************************************************/
gume 0:1f82672b8755 5406 /*!
gume 0:1f82672b8755 5407 * @brief This API is used to read gyro offset
gume 0:1f82672b8755 5408 * offset form register 0x61 to 0x66
gume 0:1f82672b8755 5409 *
gume 0:1f82672b8755 5410 * @param gyro_offset : The value of gyro offset
gume 0:1f82672b8755 5411 *
gume 0:1f82672b8755 5412 * bno055_gyro_offset_t | result
gume 0:1f82672b8755 5413 * ------------------- | ----------------
gume 0:1f82672b8755 5414 * x | gyro offset x
gume 0:1f82672b8755 5415 * y | gyro offset y
gume 0:1f82672b8755 5416 * z | gyro offset z
gume 0:1f82672b8755 5417 *
gume 0:1f82672b8755 5418 *
gume 0:1f82672b8755 5419 * @return results of bus communication function
gume 0:1f82672b8755 5420 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5421 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5422 *
gume 0:1f82672b8755 5423 * @note The range of the gyro offset varies based on
gume 0:1f82672b8755 5424 * the range of gyro sensor
gume 0:1f82672b8755 5425 *
gume 0:1f82672b8755 5426 * gyro G range | offset range
gume 0:1f82672b8755 5427 * -------------------- | ------------
gume 0:1f82672b8755 5428 * BNO055_GYRO_RANGE_2000DPS | +/-32000
gume 0:1f82672b8755 5429 * BNO055_GYRO_RANGE_1000DPS | +/-16000
gume 0:1f82672b8755 5430 * BNO055_GYRO_RANGE_500DPS | +/-8000
gume 0:1f82672b8755 5431 * BNO055_GYRO_RANGE_250DPS | +/-4000
gume 0:1f82672b8755 5432 * BNO055_GYRO_RANGE_125DPS | +/-2000
gume 0:1f82672b8755 5433 *
gume 0:1f82672b8755 5434 * Gyro range can be configured by using the
gume 0:1f82672b8755 5435 * bno055_set_gyro_range() API
gume 0:1f82672b8755 5436 */
gume 0:1f82672b8755 5437 BNO055_RETURN_FUNCTION_TYPE bno055_read_gyro_offset(
gume 0:1f82672b8755 5438 struct bno055_gyro_offset_t *gyro_offset);
gume 0:1f82672b8755 5439 /*!
gume 0:1f82672b8755 5440 * @brief This API is used to read gyro offset
gume 0:1f82672b8755 5441 * offset form register 0x61 to 0x66
gume 0:1f82672b8755 5442 *
gume 0:1f82672b8755 5443 * @param gyro_offset : The value of gyro offset
gume 0:1f82672b8755 5444 *
gume 0:1f82672b8755 5445 * bno055_gyro_offset_t | result
gume 0:1f82672b8755 5446 * ------------------- | ----------------
gume 0:1f82672b8755 5447 * x | gyro offset x
gume 0:1f82672b8755 5448 * y | gyro offset y
gume 0:1f82672b8755 5449 * z | gyro offset z
gume 0:1f82672b8755 5450 *
gume 0:1f82672b8755 5451 *
gume 0:1f82672b8755 5452 * @return results of bus communication function
gume 0:1f82672b8755 5453 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5454 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5455 *
gume 0:1f82672b8755 5456 * @note The range of the gyro offset varies based on
gume 0:1f82672b8755 5457 * the range of gyro sensor
gume 0:1f82672b8755 5458 *
gume 0:1f82672b8755 5459 * gyro G range | offset range
gume 0:1f82672b8755 5460 * -------------------- | ------------
gume 0:1f82672b8755 5461 * BNO055_GYRO_RANGE_2000DPS | +/-32000
gume 0:1f82672b8755 5462 * BNO055_GYRO_RANGE_1000DPS | +/-16000
gume 0:1f82672b8755 5463 * BNO055_GYRO_RANGE_500DPS | +/-8000
gume 0:1f82672b8755 5464 * BNO055_GYRO_RANGE_250DPS | +/-4000
gume 0:1f82672b8755 5465 * BNO055_GYRO_RANGE_125DPS | +/-2000
gume 0:1f82672b8755 5466 *
gume 0:1f82672b8755 5467 * Gyro range can be configured by using the
gume 0:1f82672b8755 5468 * bno055_set_gyro_range() API
gume 0:1f82672b8755 5469 */
gume 0:1f82672b8755 5470 BNO055_RETURN_FUNCTION_TYPE bno055_write_gyro_offset(
gume 0:1f82672b8755 5471 struct bno055_gyro_offset_t *gyro_offset);
gume 0:1f82672b8755 5472 /********************************************************/
gume 0:1f82672b8755 5473 /************** PAGE1 Functions *********************/
gume 0:1f82672b8755 5474 /********************************************************/
gume 0:1f82672b8755 5475 /*****************************************************/
gume 0:1f82672b8755 5476 /**\name FUNCTIONS FOR ACCEL CONFIGURATION */
gume 0:1f82672b8755 5477 /*****************************************************/
gume 0:1f82672b8755 5478 /*!
gume 0:1f82672b8755 5479 * @brief This API used to read the accel range
gume 0:1f82672b8755 5480 * from page one register from 0x08 bit 0 and 1
gume 0:1f82672b8755 5481 *
gume 0:1f82672b8755 5482 * @param accel_range_u8 : The value of accel range
gume 0:1f82672b8755 5483 * accel_range_u8 | result
gume 0:1f82672b8755 5484 * ----------------- | --------------
gume 0:1f82672b8755 5485 * 0x00 | BNO055_ACCEL_RANGE_2G
gume 0:1f82672b8755 5486 * 0x01 | BNO055_ACCEL_RANGE_4G
gume 0:1f82672b8755 5487 * 0x02 | BNO055_ACCEL_RANGE_8G
gume 0:1f82672b8755 5488 * 0x03 | BNO055_ACCEL_RANGE_16G
gume 0:1f82672b8755 5489 *
gume 0:1f82672b8755 5490 * @return results of bus communication function
gume 0:1f82672b8755 5491 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5492 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5493 *
gume 0:1f82672b8755 5494 *
gume 0:1f82672b8755 5495 */
gume 0:1f82672b8755 5496 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_range(
gume 0:1f82672b8755 5497 u8 *accel_range_u8);
gume 0:1f82672b8755 5498 /*!
gume 0:1f82672b8755 5499 * @brief This API used to write the accel range
gume 0:1f82672b8755 5500 * from page one register from 0x08 bit 0 and 1
gume 0:1f82672b8755 5501 *
gume 0:1f82672b8755 5502 * @param accel_range_u8 : The value of accel range
gume 0:1f82672b8755 5503 *
gume 0:1f82672b8755 5504 * accel_range_u8 | result
gume 0:1f82672b8755 5505 * ----------------- | --------------
gume 0:1f82672b8755 5506 * 0x00 | BNO055_ACCEL_RANGE_2G
gume 0:1f82672b8755 5507 * 0x01 | BNO055_ACCEL_RANGE_4G
gume 0:1f82672b8755 5508 * 0x02 | BNO055_ACCEL_RANGE_8G
gume 0:1f82672b8755 5509 * 0x03 | BNO055_ACCEL_RANGE_16G
gume 0:1f82672b8755 5510 *
gume 0:1f82672b8755 5511 * @return results of bus communication function
gume 0:1f82672b8755 5512 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5513 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5514 *
gume 0:1f82672b8755 5515 *
gume 0:1f82672b8755 5516 */
gume 0:1f82672b8755 5517 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_range(
gume 0:1f82672b8755 5518 u8 accel_range_u8);
gume 0:1f82672b8755 5519 /*!
gume 0:1f82672b8755 5520 * @brief This API used to read the accel bandwidth
gume 0:1f82672b8755 5521 * from page one register from 0x08 bit 2 to 4
gume 0:1f82672b8755 5522 *
gume 0:1f82672b8755 5523 * @param accel_bw_u8 : The value of accel bandwidth
gume 0:1f82672b8755 5524 *
gume 0:1f82672b8755 5525 * accel_bw_u8 | result
gume 0:1f82672b8755 5526 * ----------------- | ---------------
gume 0:1f82672b8755 5527 * 0x00 | BNO055_ACCEL_BW_7_81HZ
gume 0:1f82672b8755 5528 * 0x01 | BNO055_ACCEL_BW_15_63HZ
gume 0:1f82672b8755 5529 * 0x02 | BNO055_ACCEL_BW_31_25HZ
gume 0:1f82672b8755 5530 * 0x03 | BNO055_ACCEL_BW_62_5HZ
gume 0:1f82672b8755 5531 * 0x04 | BNO055_ACCEL_BW_125HZ
gume 0:1f82672b8755 5532 * 0x05 | BNO055_ACCEL_BW_250HZ
gume 0:1f82672b8755 5533 * 0x06 | BNO055_ACCEL_BW_500HZ
gume 0:1f82672b8755 5534 * 0x07 | BNO055_ACCEL_BW_1000HZ
gume 0:1f82672b8755 5535 *
gume 0:1f82672b8755 5536 * @return results of bus communication function
gume 0:1f82672b8755 5537 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5538 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5539 *
gume 0:1f82672b8755 5540 *
gume 0:1f82672b8755 5541 */
gume 0:1f82672b8755 5542 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_bw(
gume 0:1f82672b8755 5543 u8 *accel_bw_u8);
gume 0:1f82672b8755 5544 /*!
gume 0:1f82672b8755 5545 * @brief This API used to write the accel bandwidth
gume 0:1f82672b8755 5546 * from page one register from 0x08 bit 2 to 4
gume 0:1f82672b8755 5547 *
gume 0:1f82672b8755 5548 * @param accel_bw_u8 : The value of accel bandwidth
gume 0:1f82672b8755 5549 *
gume 0:1f82672b8755 5550 * accel_bw_u8 | result
gume 0:1f82672b8755 5551 * ----------------- | ---------------
gume 0:1f82672b8755 5552 * 0x00 | BNO055_ACCEL_BW_7_81HZ
gume 0:1f82672b8755 5553 * 0x01 | BNO055_ACCEL_BW_15_63HZ
gume 0:1f82672b8755 5554 * 0x02 | BNO055_ACCEL_BW_31_25HZ
gume 0:1f82672b8755 5555 * 0x03 | BNO055_ACCEL_BW_62_5HZ
gume 0:1f82672b8755 5556 * 0x04 | BNO055_ACCEL_BW_125HZ
gume 0:1f82672b8755 5557 * 0x05 | BNO055_ACCEL_BW_250HZ
gume 0:1f82672b8755 5558 * 0x06 | BNO055_ACCEL_BW_500HZ
gume 0:1f82672b8755 5559 * 0x07 | BNO055_ACCEL_BW_1000HZ
gume 0:1f82672b8755 5560 *
gume 0:1f82672b8755 5561 * @return results of bus communication function
gume 0:1f82672b8755 5562 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5563 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5564 *
gume 0:1f82672b8755 5565 *
gume 0:1f82672b8755 5566 */
gume 0:1f82672b8755 5567 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_bw(
gume 0:1f82672b8755 5568 u8 accel_bw_u8);
gume 0:1f82672b8755 5569 /*!
gume 0:1f82672b8755 5570 * @brief This API used to read the accel power mode
gume 0:1f82672b8755 5571 * from page one register from 0x08 bit 5 to 7
gume 0:1f82672b8755 5572 *
gume 0:1f82672b8755 5573 * @param accel_power_mode_u8 : The value of accel power mode
gume 0:1f82672b8755 5574 * accel_power_mode_u8 | result
gume 0:1f82672b8755 5575 * ----------------- | -------------
gume 0:1f82672b8755 5576 * 0x00 | BNO055_ACCEL_NORMAL
gume 0:1f82672b8755 5577 * 0x01 | BNO055_ACCEL_SUSPEND
gume 0:1f82672b8755 5578 * 0x02 | BNO055_ACCEL_LOWPOWER_1
gume 0:1f82672b8755 5579 * 0x03 | BNO055_ACCEL_STANDBY
gume 0:1f82672b8755 5580 * 0x04 | BNO055_ACCEL_LOWPOWER_2
gume 0:1f82672b8755 5581 * 0x05 | BNO055_ACCEL_DEEPSUSPEND
gume 0:1f82672b8755 5582 *
gume 0:1f82672b8755 5583 * @return results of bus communication function
gume 0:1f82672b8755 5584 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5585 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5586 *
gume 0:1f82672b8755 5587 *
gume 0:1f82672b8755 5588 */
gume 0:1f82672b8755 5589 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_power_mode(
gume 0:1f82672b8755 5590 u8 *accel_power_mode_u8);
gume 0:1f82672b8755 5591 /*!
gume 0:1f82672b8755 5592 * @brief This API used to write the accel power mode
gume 0:1f82672b8755 5593 * from page one register from 0x08 bit 5 to 7
gume 0:1f82672b8755 5594 *
gume 0:1f82672b8755 5595 * @param accel_power_mode_u8 : The value of accel power mode
gume 0:1f82672b8755 5596 * accel_power_mode_u8 | result
gume 0:1f82672b8755 5597 * ----------------- | -------------
gume 0:1f82672b8755 5598 * 0x00 | BNO055_ACCEL_NORMAL
gume 0:1f82672b8755 5599 * 0x01 | BNO055_ACCEL_SUSPEND
gume 0:1f82672b8755 5600 * 0x02 | BNO055_ACCEL_LOWPOWER_1
gume 0:1f82672b8755 5601 * 0x03 | BNO055_ACCEL_STANDBY
gume 0:1f82672b8755 5602 * 0x04 | BNO055_ACCEL_LOWPOWER_2
gume 0:1f82672b8755 5603 * 0x05 | BNO055_ACCEL_DEEPSUSPEND
gume 0:1f82672b8755 5604 *
gume 0:1f82672b8755 5605 * @return results of bus communication function
gume 0:1f82672b8755 5606 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5607 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5608 *
gume 0:1f82672b8755 5609 *
gume 0:1f82672b8755 5610 */
gume 0:1f82672b8755 5611 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_power_mode(
gume 0:1f82672b8755 5612 u8 accel_power_mode_u8);
gume 0:1f82672b8755 5613 /*****************************************************/
gume 0:1f82672b8755 5614 /**\name FUNCTIONS FOR MAG CONFIGURATION */
gume 0:1f82672b8755 5615 /*****************************************************/
gume 0:1f82672b8755 5616 /*!
gume 0:1f82672b8755 5617 * @brief This API used to read the mag output data rate
gume 0:1f82672b8755 5618 * from page one register from 0x09 bit 0 to 2
gume 0:1f82672b8755 5619 *
gume 0:1f82672b8755 5620 * @param mag_data_output_rate_u8 : The value of mag output data rate
gume 0:1f82672b8755 5621 *
gume 0:1f82672b8755 5622 * mag_data_output_rate_u8 | result
gume 0:1f82672b8755 5623 * ---------------------- |----------------------
gume 0:1f82672b8755 5624 * 0x00 | MAG_DATA_OUTPUT_RATE_2HZ
gume 0:1f82672b8755 5625 * 0x01 | MAG_DATA_OUTPUT_RATE_6HZ
gume 0:1f82672b8755 5626 * 0x02 | MAG_DATA_OUTPUT_RATE_8HZ
gume 0:1f82672b8755 5627 * 0x03 | MAG_DATA_OUTPUT_RATE_10HZ
gume 0:1f82672b8755 5628 * 0x04 | MAG_DATA_OUTPUT_RATE_15HZ
gume 0:1f82672b8755 5629 * 0x05 | MAG_DATA_OUTPUT_RATE_20HZ
gume 0:1f82672b8755 5630 * 0x06 | MAG_DATA_OUTPUT_RATE_25HZ
gume 0:1f82672b8755 5631 * 0x07 | MAG_DATA_OUTPUT_RATE_30HZ
gume 0:1f82672b8755 5632 *
gume 0:1f82672b8755 5633 * @return results of bus communication function
gume 0:1f82672b8755 5634 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5635 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5636 *
gume 0:1f82672b8755 5637 *
gume 0:1f82672b8755 5638 */
gume 0:1f82672b8755 5639 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_data_output_rate(
gume 0:1f82672b8755 5640 u8 *mag_data_output_rate_u8);
gume 0:1f82672b8755 5641 /*!
gume 0:1f82672b8755 5642 * @brief This API used to write the mag output data rate
gume 0:1f82672b8755 5643 * from page one register from 0x09 bit 0 to 2
gume 0:1f82672b8755 5644 *
gume 0:1f82672b8755 5645 * @param mag_data_output_rate_u8 : The value of mag output data rate
gume 0:1f82672b8755 5646 *
gume 0:1f82672b8755 5647 * mag_data_output_rate_u8 | result
gume 0:1f82672b8755 5648 * ---------------------- |----------------------
gume 0:1f82672b8755 5649 * 0x00 | MAG_DATA_OUTPUT_RATE_2HZ
gume 0:1f82672b8755 5650 * 0x01 | MAG_DATA_OUTPUT_RATE_6HZ
gume 0:1f82672b8755 5651 * 0x02 | MAG_DATA_OUTPUT_RATE_8HZ
gume 0:1f82672b8755 5652 * 0x03 | MAG_DATA_OUTPUT_RATE_10HZ
gume 0:1f82672b8755 5653 * 0x04 | MAG_DATA_OUTPUT_RATE_15HZ
gume 0:1f82672b8755 5654 * 0x05 | MAG_DATA_OUTPUT_RATE_20HZ
gume 0:1f82672b8755 5655 * 0x06 | MAG_DATA_OUTPUT_RATE_25HZ
gume 0:1f82672b8755 5656 * 0x07 | MAG_DATA_OUTPUT_RATE_30HZ
gume 0:1f82672b8755 5657 *
gume 0:1f82672b8755 5658 * @return results of bus communication function
gume 0:1f82672b8755 5659 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5660 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5661 *
gume 0:1f82672b8755 5662 *
gume 0:1f82672b8755 5663 */
gume 0:1f82672b8755 5664 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_data_output_rate(
gume 0:1f82672b8755 5665 u8 mag_data_output_rate_u8);
gume 0:1f82672b8755 5666 /*!
gume 0:1f82672b8755 5667 * @brief This API used to read the mag operation mode
gume 0:1f82672b8755 5668 * from page one register from 0x09 bit 3 to 4
gume 0:1f82672b8755 5669 *
gume 0:1f82672b8755 5670 * @param mag_operation_mode_u8 : The value of mag operation mode
gume 0:1f82672b8755 5671 *
gume 0:1f82672b8755 5672 * mag_operation_mode_u8 | result
gume 0:1f82672b8755 5673 * ------------------------|--------------------------
gume 0:1f82672b8755 5674 * 0x00 | MAG_OPR_MODE_LOWPOWER
gume 0:1f82672b8755 5675 * 0x01 | MAG_OPR_MODE_REGULAR
gume 0:1f82672b8755 5676 * 0x02 | MAG_OPR_MODE_ENHANCED_REGULAR
gume 0:1f82672b8755 5677 * 0x03 | MAG_OPR_MODE_HIGH_ACCURACY
gume 0:1f82672b8755 5678 *
gume 0:1f82672b8755 5679 * @return results of bus communication function
gume 0:1f82672b8755 5680 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5681 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5682 *
gume 0:1f82672b8755 5683 *
gume 0:1f82672b8755 5684 */
gume 0:1f82672b8755 5685 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_operation_mode(
gume 0:1f82672b8755 5686 u8 *mag_operation_mode_u8);
gume 0:1f82672b8755 5687 /*!
gume 0:1f82672b8755 5688 * @brief This API used to write the mag operation mode
gume 0:1f82672b8755 5689 * from page one register from 0x09 bit 3 to 4
gume 0:1f82672b8755 5690 *
gume 0:1f82672b8755 5691 * @param mag_operation_mode_u8 : The value of mag operation mode
gume 0:1f82672b8755 5692 *
gume 0:1f82672b8755 5693 * mag_operation_mode_u8 | result
gume 0:1f82672b8755 5694 * ------------------------|--------------------------
gume 0:1f82672b8755 5695 * 0x00 | MAG_OPR_MODE_LOWPOWER
gume 0:1f82672b8755 5696 * 0x01 | MAG_OPR_MODE_REGULAR
gume 0:1f82672b8755 5697 * 0x02 | MAG_OPR_MODE_ENHANCED_REGULAR
gume 0:1f82672b8755 5698 * 0x03 | MAG_OPR_MODE_HIGH_ACCURACY
gume 0:1f82672b8755 5699 *
gume 0:1f82672b8755 5700 * @return results of bus communication function
gume 0:1f82672b8755 5701 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5702 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5703 *
gume 0:1f82672b8755 5704 *
gume 0:1f82672b8755 5705 */
gume 0:1f82672b8755 5706 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_operation_mode(
gume 0:1f82672b8755 5707 u8 mag_operation_mode_u8);
gume 0:1f82672b8755 5708 /*!
gume 0:1f82672b8755 5709 * @brief This API used to read the mag power mode
gume 0:1f82672b8755 5710 * from page one register from 0x09 bit 4 to 6
gume 0:1f82672b8755 5711 *
gume 0:1f82672b8755 5712 * @param mag_power_mode_u8 : The value of mag power mode
gume 0:1f82672b8755 5713 *
gume 0:1f82672b8755 5714 * mag_power_mode_u8 | result
gume 0:1f82672b8755 5715 * --------------------|-----------------
gume 0:1f82672b8755 5716 * 0x00 | BNO055_MAG_POWER_MODE_NORMAL
gume 0:1f82672b8755 5717 * 0x01 | BNO055_MAG_POWER_MODE_SLEEP
gume 0:1f82672b8755 5718 * 0x02 | BNO055_MAG_POWER_MODE_SUSPEND
gume 0:1f82672b8755 5719 * 0x03 | BNO055_MAG_POWER_MODE_FORCE_MODE
gume 0:1f82672b8755 5720 *
gume 0:1f82672b8755 5721 * @return results of bus communication function
gume 0:1f82672b8755 5722 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5723 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5724 *
gume 0:1f82672b8755 5725 *
gume 0:1f82672b8755 5726 */
gume 0:1f82672b8755 5727 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_power_mode(
gume 0:1f82672b8755 5728 u8 *mag_power_mode_u8);
gume 0:1f82672b8755 5729 /*!
gume 0:1f82672b8755 5730 * @brief This API used to write the mag power mode
gume 0:1f82672b8755 5731 * from page one register from 0x09 bit 4 to 6
gume 0:1f82672b8755 5732 *
gume 0:1f82672b8755 5733 * @param mag_power_mode_u8 : The value of mag power mode
gume 0:1f82672b8755 5734 *
gume 0:1f82672b8755 5735 * mag_power_mode_u8 | result
gume 0:1f82672b8755 5736 * ------------------|-----------------
gume 0:1f82672b8755 5737 * 0x00 | BNO055_MAG_POWER_MODE_NORMAL
gume 0:1f82672b8755 5738 * 0x01 | BNO055_MAG_POWER_MODE_SLEEP
gume 0:1f82672b8755 5739 * 0x02 | BNO055_MAG_POWER_MODE_SUSPEND
gume 0:1f82672b8755 5740 * 0x03 | BNO055_MAG_POWER_MODE_FORCE_MODE
gume 0:1f82672b8755 5741 *
gume 0:1f82672b8755 5742 * @return results of bus communication function
gume 0:1f82672b8755 5743 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5744 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5745 *
gume 0:1f82672b8755 5746 *
gume 0:1f82672b8755 5747 */
gume 0:1f82672b8755 5748 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_power_mode(
gume 0:1f82672b8755 5749 u8 mag_power_mode_u8);
gume 0:1f82672b8755 5750 /*****************************************************/
gume 0:1f82672b8755 5751 /**\name FUNCTIONS FOR GYRO CONFIGURATION */
gume 0:1f82672b8755 5752 /*****************************************************/
gume 0:1f82672b8755 5753 /*!
gume 0:1f82672b8755 5754 * @brief This API used to read the gyro range
gume 0:1f82672b8755 5755 * from page one register from 0x0A bit 0 to 3
gume 0:1f82672b8755 5756 *
gume 0:1f82672b8755 5757 * @param gyro_range_u8 : The value of gyro range
gume 0:1f82672b8755 5758 *
gume 0:1f82672b8755 5759 * gyro_range_u8 | result
gume 0:1f82672b8755 5760 * --------------------|-----------------
gume 0:1f82672b8755 5761 * 0x00 | BNO055_GYRO_RANGE_2000DPS
gume 0:1f82672b8755 5762 * 0x01 | BNO055_GYRO_RANGE_1000DPS
gume 0:1f82672b8755 5763 * 0x02 | BNO055_GYRO_RANGE_500DPS
gume 0:1f82672b8755 5764 * 0x03 | BNO055_GYRO_RANGE_250DPS
gume 0:1f82672b8755 5765 * 0x04 | BNO055_GYRO_RANGE_125DPS
gume 0:1f82672b8755 5766 *
gume 0:1f82672b8755 5767 * @return results of bus communication function
gume 0:1f82672b8755 5768 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5769 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5770 *
gume 0:1f82672b8755 5771 *
gume 0:1f82672b8755 5772 */
gume 0:1f82672b8755 5773 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_range(
gume 0:1f82672b8755 5774 u8 *gyro_range_u8);
gume 0:1f82672b8755 5775 /*!
gume 0:1f82672b8755 5776 * @brief This API used to write the gyro range
gume 0:1f82672b8755 5777 * from page one register from 0x0A bit 0 to 3
gume 0:1f82672b8755 5778 *
gume 0:1f82672b8755 5779 * @param gyro_range_u8 : The value of gyro range
gume 0:1f82672b8755 5780 *
gume 0:1f82672b8755 5781 * gyro_range_u8 | result
gume 0:1f82672b8755 5782 * --------------------|-----------------
gume 0:1f82672b8755 5783 * 0x00 | BNO055_GYRO_RANGE_2000DPS
gume 0:1f82672b8755 5784 * 0x01 | BNO055_GYRO_RANGE_1000DPS
gume 0:1f82672b8755 5785 * 0x02 | BNO055_GYRO_RANGE_500DPS
gume 0:1f82672b8755 5786 * 0x03 | BNO055_GYRO_RANGE_250DPS
gume 0:1f82672b8755 5787 * 0x04 | BNO055_GYRO_RANGE_125DPS
gume 0:1f82672b8755 5788 *
gume 0:1f82672b8755 5789 * @return results of bus communication function
gume 0:1f82672b8755 5790 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5791 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5792 *
gume 0:1f82672b8755 5793 *
gume 0:1f82672b8755 5794 */
gume 0:1f82672b8755 5795 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_range(
gume 0:1f82672b8755 5796 u8 gyro_range_u8);
gume 0:1f82672b8755 5797 /*!
gume 0:1f82672b8755 5798 * @brief This API used to read the gyro bandwidth
gume 0:1f82672b8755 5799 * from page one register from 0x0A bit 3 to 5
gume 0:1f82672b8755 5800 *
gume 0:1f82672b8755 5801 * @param gyro_bw_u8 : The value of gyro bandwidth
gume 0:1f82672b8755 5802 *
gume 0:1f82672b8755 5803 * gyro_bw_u8 | result
gume 0:1f82672b8755 5804 * --------------------|-----------------
gume 0:1f82672b8755 5805 * 0x00 | BNO055_GYRO_BW_523HZ
gume 0:1f82672b8755 5806 * 0x01 | BNO055_GYRO_BW_230HZ
gume 0:1f82672b8755 5807 * 0x02 | BNO055_GYRO_BW_116HZ
gume 0:1f82672b8755 5808 * 0x03 | BNO055_GYRO_BW_47HZ
gume 0:1f82672b8755 5809 * 0x04 | BNO055_GYRO_BW_23HZ
gume 0:1f82672b8755 5810 * 0x05 | BNO055_GYRO_BW_12HZ
gume 0:1f82672b8755 5811 * 0x06 | BNO055_GYRO_BW_64HZ
gume 0:1f82672b8755 5812 * 0x07 | BNO055_GYRO_BW_32HZ
gume 0:1f82672b8755 5813 *
gume 0:1f82672b8755 5814 * @return results of bus communication function
gume 0:1f82672b8755 5815 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5816 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5817 *
gume 0:1f82672b8755 5818 *
gume 0:1f82672b8755 5819 */
gume 0:1f82672b8755 5820 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_bw(
gume 0:1f82672b8755 5821 u8 *gyro_bw_u8);
gume 0:1f82672b8755 5822 /*!
gume 0:1f82672b8755 5823 * @brief This API used to write the gyro bandwidth
gume 0:1f82672b8755 5824 * from page one register from 0x0A bit 3 to 5
gume 0:1f82672b8755 5825 *
gume 0:1f82672b8755 5826 * @param gyro_bw_u8 : The value of gyro bandwidth
gume 0:1f82672b8755 5827 *
gume 0:1f82672b8755 5828 * gyro_bw_u8 | result
gume 0:1f82672b8755 5829 * --------------------|-----------------
gume 0:1f82672b8755 5830 * 0x00 | BNO055_GYRO_BW_523HZ
gume 0:1f82672b8755 5831 * 0x01 | BNO055_GYRO_BW_230HZ
gume 0:1f82672b8755 5832 * 0x02 | BNO055_GYRO_BW_116HZ
gume 0:1f82672b8755 5833 * 0x03 | BNO055_GYRO_BW_47HZ
gume 0:1f82672b8755 5834 * 0x04 | BNO055_GYRO_BW_23HZ
gume 0:1f82672b8755 5835 * 0x05 | BNO055_GYRO_BW_12HZ
gume 0:1f82672b8755 5836 * 0x06 | BNO055_GYRO_BW_64HZ
gume 0:1f82672b8755 5837 * 0x07 | BNO055_GYRO_BW_32HZ
gume 0:1f82672b8755 5838 *
gume 0:1f82672b8755 5839 * @return results of bus communication function
gume 0:1f82672b8755 5840 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5841 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5842 *
gume 0:1f82672b8755 5843 *
gume 0:1f82672b8755 5844 */
gume 0:1f82672b8755 5845 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_bw(
gume 0:1f82672b8755 5846 u8 gyro_bw_u8);
gume 0:1f82672b8755 5847 /*!
gume 0:1f82672b8755 5848 * @brief This API used to read the gyro power mode
gume 0:1f82672b8755 5849 * from page one register from 0x0B bit 0 to 2
gume 0:1f82672b8755 5850 *
gume 0:1f82672b8755 5851 * @param gyro_power_mode_u8 : The value of gyro power mode
gume 0:1f82672b8755 5852 *
gume 0:1f82672b8755 5853 * gyro_power_mode_u8 | result
gume 0:1f82672b8755 5854 * ----------------------|----------------------------
gume 0:1f82672b8755 5855 * 0x00 | GYRO_OPR_MODE_NORMAL
gume 0:1f82672b8755 5856 * 0x01 | GYRO_OPR_MODE_FASTPOWERUP
gume 0:1f82672b8755 5857 * 0x02 | GYRO_OPR_MODE_DEEPSUSPEND
gume 0:1f82672b8755 5858 * 0x03 | GYRO_OPR_MODE_SUSPEND
gume 0:1f82672b8755 5859 * 0x04 | GYRO_OPR_MODE_ADVANCE_POWERSAVE
gume 0:1f82672b8755 5860 *
gume 0:1f82672b8755 5861 * @return results of bus communication function
gume 0:1f82672b8755 5862 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5863 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5864 *
gume 0:1f82672b8755 5865 *
gume 0:1f82672b8755 5866 */
gume 0:1f82672b8755 5867 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_power_mode(
gume 0:1f82672b8755 5868 u8 *gyro_power_mode_u8);
gume 0:1f82672b8755 5869 /*!
gume 0:1f82672b8755 5870 * @brief This API used to write the gyro power mode
gume 0:1f82672b8755 5871 * from page one register from 0x0B bit 0 to 2
gume 0:1f82672b8755 5872 *
gume 0:1f82672b8755 5873 * @param gyro_power_mode_u8 : The value of gyro power mode
gume 0:1f82672b8755 5874 *
gume 0:1f82672b8755 5875 * gyro_power_mode_u8 | result
gume 0:1f82672b8755 5876 * ----------------------|----------------------------
gume 0:1f82672b8755 5877 * 0x00 | GYRO_OPR_MODE_NORMAL
gume 0:1f82672b8755 5878 * 0x01 | GYRO_OPR_MODE_FASTPOWERUP
gume 0:1f82672b8755 5879 * 0x02 | GYRO_OPR_MODE_DEEPSUSPEND
gume 0:1f82672b8755 5880 * 0x03 | GYRO_OPR_MODE_SUSPEND
gume 0:1f82672b8755 5881 * 0x04 | GYRO_OPR_MODE_ADVANCE_POWERSAVE
gume 0:1f82672b8755 5882 *
gume 0:1f82672b8755 5883 * @return results of bus communication function
gume 0:1f82672b8755 5884 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5885 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5886 *
gume 0:1f82672b8755 5887 *
gume 0:1f82672b8755 5888 */
gume 0:1f82672b8755 5889 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_power_mode(
gume 0:1f82672b8755 5890 u8 gyro_power_mode_u8);
gume 0:1f82672b8755 5891 /*****************************************************/
gume 0:1f82672b8755 5892 /**\name FUNCTIONS FOR ACCEL SLEEP SETTINGS */
gume 0:1f82672b8755 5893 /*****************************************************/
gume 0:1f82672b8755 5894 /*!
gume 0:1f82672b8755 5895 * @brief This API used to read the accel sleep mode
gume 0:1f82672b8755 5896 * from page one register from 0x0C bit 0
gume 0:1f82672b8755 5897 *
gume 0:1f82672b8755 5898 * @param sleep_tmr_u8 : The value of accel sleep mode
gume 0:1f82672b8755 5899 *
gume 0:1f82672b8755 5900 * sleep_tmr_u8 | result
gume 0:1f82672b8755 5901 * ----------------- |------------------------------------
gume 0:1f82672b8755 5902 * 0x00 | enable EventDrivenSampling(EDT)
gume 0:1f82672b8755 5903 * 0x01 | enable Equidistant sampling mode(EST)
gume 0:1f82672b8755 5904 *
gume 0:1f82672b8755 5905 * @return results of bus communication function
gume 0:1f82672b8755 5906 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5907 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5908 *
gume 0:1f82672b8755 5909 *
gume 0:1f82672b8755 5910 */
gume 0:1f82672b8755 5911 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_tmr_mode(
gume 0:1f82672b8755 5912 u8 *sleep_tmr_u8);
gume 0:1f82672b8755 5913 /*!
gume 0:1f82672b8755 5914 * @brief This API used to write the accel sleep mode
gume 0:1f82672b8755 5915 * from page one register from 0x0C bit 0
gume 0:1f82672b8755 5916 *
gume 0:1f82672b8755 5917 * @param sleep_tmr_u8 : The value of accel sleep mode
gume 0:1f82672b8755 5918 *
gume 0:1f82672b8755 5919 * sleep_tmr_u8 | result
gume 0:1f82672b8755 5920 * ----------------- |------------------------------------
gume 0:1f82672b8755 5921 * 0x00 | enable EventDrivenSampling(EDT)
gume 0:1f82672b8755 5922 * 0x01 | enable Equidistant sampling mode(EST)
gume 0:1f82672b8755 5923 *
gume 0:1f82672b8755 5924 * @return results of bus communication function
gume 0:1f82672b8755 5925 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5926 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5927 *
gume 0:1f82672b8755 5928 *
gume 0:1f82672b8755 5929 */
gume 0:1f82672b8755 5930 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_tmr_mode(
gume 0:1f82672b8755 5931 u8 sleep_tmr_u8);
gume 0:1f82672b8755 5932 /*!
gume 0:1f82672b8755 5933 * @brief This API used to read the accel sleep duration
gume 0:1f82672b8755 5934 * from page one register from 0x0C bit 1 to 4
gume 0:1f82672b8755 5935 *
gume 0:1f82672b8755 5936 * @param sleep_durn_u8 : The value of accel sleep duration
gume 0:1f82672b8755 5937 *
gume 0:1f82672b8755 5938 * sleep_durn_u8 | result
gume 0:1f82672b8755 5939 * ---------------- |-----------------------------
gume 0:1f82672b8755 5940 * 0x05 | BNO055_ACCEL_SLEEP_DURN_0_5MS
gume 0:1f82672b8755 5941 * 0x06 | BNO055_ACCEL_SLEEP_DURN_1MS
gume 0:1f82672b8755 5942 * 0x07 | BNO055_ACCEL_SLEEP_DURN_2MS
gume 0:1f82672b8755 5943 * 0x08 | BNO055_ACCEL_SLEEP_DURN_4MS
gume 0:1f82672b8755 5944 * 0x09 | BNO055_ACCEL_SLEEP_DURN_6MS
gume 0:1f82672b8755 5945 * 0x0A | BNO055_ACCEL_SLEEP_DURN_10MS
gume 0:1f82672b8755 5946 * 0x0B | BNO055_ACCEL_SLEEP_DURN_25MS
gume 0:1f82672b8755 5947 * 0x0C | BNO055_ACCEL_SLEEP_DURN_50MS
gume 0:1f82672b8755 5948 * 0x0D | BNO055_ACCEL_SLEEP_DURN_100MS
gume 0:1f82672b8755 5949 * 0x0E | BNO055_ACCEL_SLEEP_DURN_500MS
gume 0:1f82672b8755 5950 * 0x0F | BNO055_ACCEL_SLEEP_DURN_1S
gume 0:1f82672b8755 5951 *
gume 0:1f82672b8755 5952 * @return results of bus communication function
gume 0:1f82672b8755 5953 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5954 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5955 *
gume 0:1f82672b8755 5956 *
gume 0:1f82672b8755 5957 */
gume 0:1f82672b8755 5958 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_sleep_durn(
gume 0:1f82672b8755 5959 u8 *sleep_durn_u8);
gume 0:1f82672b8755 5960 /*!
gume 0:1f82672b8755 5961 * @brief This API used to write the accel sleep duration
gume 0:1f82672b8755 5962 * from page one register from 0x0C bit 1 to 4
gume 0:1f82672b8755 5963 *
gume 0:1f82672b8755 5964 * @param sleep_durn_u8 : The value of accel sleep duration
gume 0:1f82672b8755 5965 *
gume 0:1f82672b8755 5966 * sleep_durn_u8 | result
gume 0:1f82672b8755 5967 * ---------------- |-----------------------------
gume 0:1f82672b8755 5968 * 0x05 | BNO055_ACCEL_SLEEP_DURN_0_5MS
gume 0:1f82672b8755 5969 * 0x06 | BNO055_ACCEL_SLEEP_DURN_1MS
gume 0:1f82672b8755 5970 * 0x07 | BNO055_ACCEL_SLEEP_DURN_2MS
gume 0:1f82672b8755 5971 * 0x08 | BNO055_ACCEL_SLEEP_DURN_4MS
gume 0:1f82672b8755 5972 * 0x09 | BNO055_ACCEL_SLEEP_DURN_6MS
gume 0:1f82672b8755 5973 * 0x0A | BNO055_ACCEL_SLEEP_DURN_10MS
gume 0:1f82672b8755 5974 * 0x0B | BNO055_ACCEL_SLEEP_DURN_25MS
gume 0:1f82672b8755 5975 * 0x0C | BNO055_ACCEL_SLEEP_DURN_50MS
gume 0:1f82672b8755 5976 * 0x0D | BNO055_ACCEL_SLEEP_DURN_100MS
gume 0:1f82672b8755 5977 * 0x0E | BNO055_ACCEL_SLEEP_DURN_500MS
gume 0:1f82672b8755 5978 * 0x0F | BNO055_ACCEL_SLEEP_DURN_1S
gume 0:1f82672b8755 5979 *
gume 0:1f82672b8755 5980 * @return results of bus communication function
gume 0:1f82672b8755 5981 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5982 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 5983 *
gume 0:1f82672b8755 5984 *
gume 0:1f82672b8755 5985 */
gume 0:1f82672b8755 5986 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_sleep_durn(
gume 0:1f82672b8755 5987 u8 sleep_durn_u8);
gume 0:1f82672b8755 5988 /*****************************************************/
gume 0:1f82672b8755 5989 /**\name FUNCTIONS FOR GYRO SLEEP SETTINGS */
gume 0:1f82672b8755 5990 /*****************************************************/
gume 0:1f82672b8755 5991 /*!
gume 0:1f82672b8755 5992 * @brief This API used to write the gyro sleep duration
gume 0:1f82672b8755 5993 * from page one register from 0x0D bit 0 to 2
gume 0:1f82672b8755 5994 *
gume 0:1f82672b8755 5995 * @param sleep_durn_u8 : The value of gyro sleep duration
gume 0:1f82672b8755 5996 *
gume 0:1f82672b8755 5997 * @return results of bus communication function
gume 0:1f82672b8755 5998 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 5999 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6000 *
gume 0:1f82672b8755 6001 *
gume 0:1f82672b8755 6002 */
gume 0:1f82672b8755 6003 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_sleep_durn(
gume 0:1f82672b8755 6004 u8 *sleep_durn_u8);
gume 0:1f82672b8755 6005 /*!
gume 0:1f82672b8755 6006 * @brief This API used to write the gyro sleep duration
gume 0:1f82672b8755 6007 * from page one register from 0x0D bit 0 to 2
gume 0:1f82672b8755 6008 *
gume 0:1f82672b8755 6009 * @param sleep_durn_u8 : The value of gyro sleep duration
gume 0:1f82672b8755 6010 *
gume 0:1f82672b8755 6011 * @return results of bus communication function
gume 0:1f82672b8755 6012 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6013 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6014 *
gume 0:1f82672b8755 6015 *
gume 0:1f82672b8755 6016 */
gume 0:1f82672b8755 6017 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_sleep_durn(
gume 0:1f82672b8755 6018 u8 sleep_durn);
gume 0:1f82672b8755 6019 /*!
gume 0:1f82672b8755 6020 * @brief This API used to read the gyro auto sleep duration
gume 0:1f82672b8755 6021 * from page one register from 0x0D bit 3 to 5
gume 0:1f82672b8755 6022 *
gume 0:1f82672b8755 6023 * @param auto_sleep_durn_u8 : The value of gyro auto sleep duration
gume 0:1f82672b8755 6024 *
gume 0:1f82672b8755 6025 * @return results of bus communication function
gume 0:1f82672b8755 6026 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6027 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6028 *
gume 0:1f82672b8755 6029 *
gume 0:1f82672b8755 6030 */
gume 0:1f82672b8755 6031 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_auto_sleep_durn(
gume 0:1f82672b8755 6032 u8 *auto_sleep_durn_u8);
gume 0:1f82672b8755 6033 /*!
gume 0:1f82672b8755 6034 * @brief This API used to write the gyro auto sleep duration
gume 0:1f82672b8755 6035 * from page one register from 0x0D bit 3 to 5
gume 0:1f82672b8755 6036 *
gume 0:1f82672b8755 6037 * @param auto_sleep_durn_u8 : The value of gyro auto sleep duration
gume 0:1f82672b8755 6038 * @param bw : The value of gyro bandwidth
gume 0:1f82672b8755 6039 *
gume 0:1f82672b8755 6040 * @return results of bus communication function
gume 0:1f82672b8755 6041 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6042 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6043 *
gume 0:1f82672b8755 6044 *
gume 0:1f82672b8755 6045 */
gume 0:1f82672b8755 6046 BNO055_RETURN_FUNCTION_TYPE bno055_gyro_set_auto_sleep_durn(
gume 0:1f82672b8755 6047 u8 auto_sleep_durn_u8, u8 bw);
gume 0:1f82672b8755 6048 /*****************************************************/
gume 0:1f82672b8755 6049 /**\name FUNCTIONS FOR MAG SLEEP SETTINGS */
gume 0:1f82672b8755 6050 /*****************************************************/
gume 0:1f82672b8755 6051 /*!
gume 0:1f82672b8755 6052 * @brief This API used to read the mag sleep mode
gume 0:1f82672b8755 6053 * from page one register from 0x0E bit 0
gume 0:1f82672b8755 6054 *
gume 0:1f82672b8755 6055 * @param sleep_mode_u8 : The value of mag sleep mode
gume 0:1f82672b8755 6056 *
gume 0:1f82672b8755 6057 * @return results of bus communication function
gume 0:1f82672b8755 6058 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6059 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6060 *
gume 0:1f82672b8755 6061 *
gume 0:1f82672b8755 6062 */
gume 0:1f82672b8755 6063 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_mode(
gume 0:1f82672b8755 6064 u8 *sleep_mode_u8);
gume 0:1f82672b8755 6065 /*!
gume 0:1f82672b8755 6066 * @brief This API used to write the mag sleep mode
gume 0:1f82672b8755 6067 * from page one register from 0x0E bit 0
gume 0:1f82672b8755 6068 *
gume 0:1f82672b8755 6069 * @param sleep_mode_u8 : The value of mag sleep mode
gume 0:1f82672b8755 6070 *
gume 0:1f82672b8755 6071 * @return results of bus communication function
gume 0:1f82672b8755 6072 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6073 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6074 *
gume 0:1f82672b8755 6075 *
gume 0:1f82672b8755 6076 */
gume 0:1f82672b8755 6077 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_mode(
gume 0:1f82672b8755 6078 u8 sleep_mode_u8);
gume 0:1f82672b8755 6079 /*!
gume 0:1f82672b8755 6080 * @brief This API used to read the mag sleep duration
gume 0:1f82672b8755 6081 * from page one register from 0x0E bit 1 to 4
gume 0:1f82672b8755 6082 *
gume 0:1f82672b8755 6083 * @param sleep_durn_u8 : The value of mag sleep duration
gume 0:1f82672b8755 6084 *
gume 0:1f82672b8755 6085 * @return results of bus communication function
gume 0:1f82672b8755 6086 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6087 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6088 *
gume 0:1f82672b8755 6089 *
gume 0:1f82672b8755 6090 */
gume 0:1f82672b8755 6091 BNO055_RETURN_FUNCTION_TYPE bno055_get_mag_sleep_durn(
gume 0:1f82672b8755 6092 u8 *sleep_durn_u8);
gume 0:1f82672b8755 6093 /*!
gume 0:1f82672b8755 6094 * @brief This API used to write the mag sleep duration
gume 0:1f82672b8755 6095 * from page one register from 0x0E bit 1 to 4
gume 0:1f82672b8755 6096 *
gume 0:1f82672b8755 6097 * @param sleep_durn_u8 : The value of mag sleep duration
gume 0:1f82672b8755 6098 *
gume 0:1f82672b8755 6099 * @return results of bus communication function
gume 0:1f82672b8755 6100 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6101 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6102 *
gume 0:1f82672b8755 6103 *
gume 0:1f82672b8755 6104 */
gume 0:1f82672b8755 6105 BNO055_RETURN_FUNCTION_TYPE bno055_set_mag_sleep_durn(
gume 0:1f82672b8755 6106 u8 sleep_durn_u8);
gume 0:1f82672b8755 6107 /*****************************************************/
gume 0:1f82672b8755 6108 /**\name FUNCTIONS FOR GYRO INTERRUPT MASK */
gume 0:1f82672b8755 6109 /*****************************************************/
gume 0:1f82672b8755 6110 /*!
gume 0:1f82672b8755 6111 * @brief This API used to read the gyro anymotion interrupt mask
gume 0:1f82672b8755 6112 * from page one register from 0x0F bit 2
gume 0:1f82672b8755 6113 *
gume 0:1f82672b8755 6114 * @param gyro_any_motion_u8 : The value of gyro anymotion interrupt mask
gume 0:1f82672b8755 6115 * gyro_any_motion_u8 | result
gume 0:1f82672b8755 6116 * -------------------- |------------
gume 0:1f82672b8755 6117 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6118 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6119 *
gume 0:1f82672b8755 6120 * @return results of bus communication function
gume 0:1f82672b8755 6121 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6122 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6123 *
gume 0:1f82672b8755 6124 * @note While enabling the gyro anymotion interrupt
gume 0:1f82672b8755 6125 * configure the following settings
gume 0:1f82672b8755 6126 *
gume 0:1f82672b8755 6127 * Axis:
gume 0:1f82672b8755 6128 * bno055_set_gyro_any_motion_axis_enable()
gume 0:1f82672b8755 6129 *
gume 0:1f82672b8755 6130 * Filter setting:
gume 0:1f82672b8755 6131 * bno055_set_gyro_any_motion_filter()
gume 0:1f82672b8755 6132 *
gume 0:1f82672b8755 6133 * Threshold :
gume 0:1f82672b8755 6134 *
gume 0:1f82672b8755 6135 * bno055_set_gyro_any_motion_thres()
gume 0:1f82672b8755 6136 *
gume 0:1f82672b8755 6137 * Slope samples :
gume 0:1f82672b8755 6138 *
gume 0:1f82672b8755 6139 * bno055_set_gyro_any_motion_slope_samples()
gume 0:1f82672b8755 6140 *
gume 0:1f82672b8755 6141 * Awake duration :
gume 0:1f82672b8755 6142 *
gume 0:1f82672b8755 6143 * bno055_set_gyro_any_motion_awake_durn()
gume 0:1f82672b8755 6144 *
gume 0:1f82672b8755 6145 */
gume 0:1f82672b8755 6146 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_any_motion(
gume 0:1f82672b8755 6147 u8 *gyro_any_motion_u8);
gume 0:1f82672b8755 6148 /*!
gume 0:1f82672b8755 6149 * @brief This API used to write the gyro anymotion interrupt mask
gume 0:1f82672b8755 6150 * from page one register from 0x0F bit 2
gume 0:1f82672b8755 6151 *
gume 0:1f82672b8755 6152 * @param gyro_any_motion_u8 : The value of gyro anymotion interrupt mask
gume 0:1f82672b8755 6153 * gyro_any_motion_u8 | result
gume 0:1f82672b8755 6154 * -------------------- |------------
gume 0:1f82672b8755 6155 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6156 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6157 *
gume 0:1f82672b8755 6158 * @return results of bus communication function
gume 0:1f82672b8755 6159 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6160 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6161 *
gume 0:1f82672b8755 6162 * @note While enabling the gyro anymotion interrupt
gume 0:1f82672b8755 6163 * configure the following settings
gume 0:1f82672b8755 6164 *
gume 0:1f82672b8755 6165 * Axis:
gume 0:1f82672b8755 6166 * bno055_set_gyro_any_motion_axis_enable()
gume 0:1f82672b8755 6167 *
gume 0:1f82672b8755 6168 * Filter setting:
gume 0:1f82672b8755 6169 * bno055_set_gyro_any_motion_filter()
gume 0:1f82672b8755 6170 *
gume 0:1f82672b8755 6171 * Threshold :
gume 0:1f82672b8755 6172 *
gume 0:1f82672b8755 6173 * bno055_set_gyro_any_motion_thres()
gume 0:1f82672b8755 6174 *
gume 0:1f82672b8755 6175 * Slope samples :
gume 0:1f82672b8755 6176 *
gume 0:1f82672b8755 6177 * bno055_set_gyro_any_motion_slope_samples()
gume 0:1f82672b8755 6178 *
gume 0:1f82672b8755 6179 * Awake duration :
gume 0:1f82672b8755 6180 *
gume 0:1f82672b8755 6181 * bno055_set_gyro_any_motion_awake_durn()
gume 0:1f82672b8755 6182 *
gume 0:1f82672b8755 6183 */
gume 0:1f82672b8755 6184 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_any_motion(
gume 0:1f82672b8755 6185 u8 gyro_any_motion_u8);
gume 0:1f82672b8755 6186 /*!
gume 0:1f82672b8755 6187 * @brief This API used to read the gyro highrate interrupt mask
gume 0:1f82672b8755 6188 * from page one register from 0x0F bit 3
gume 0:1f82672b8755 6189 *
gume 0:1f82672b8755 6190 * @param gyro_highrate_u8 : The value of gyro highrate interrupt mask
gume 0:1f82672b8755 6191 * gyro_highrate_u8 | result
gume 0:1f82672b8755 6192 * -------------------- |------------
gume 0:1f82672b8755 6193 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6194 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6195 *
gume 0:1f82672b8755 6196 * @return results of bus communication function
gume 0:1f82672b8755 6197 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6198 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6199 *
gume 0:1f82672b8755 6200 * @note While enabling the gyro highrate interrupt
gume 0:1f82672b8755 6201 * configure the below settings by using
gume 0:1f82672b8755 6202 * the following APIs
gume 0:1f82672b8755 6203 *
gume 0:1f82672b8755 6204 * Axis :
gume 0:1f82672b8755 6205 *
gume 0:1f82672b8755 6206 * bno055_set_gyro_highrate_axis_enable()
gume 0:1f82672b8755 6207 *
gume 0:1f82672b8755 6208 * Filter :
gume 0:1f82672b8755 6209 *
gume 0:1f82672b8755 6210 * bno055_set_gyro_highrate_filter()
gume 0:1f82672b8755 6211 *
gume 0:1f82672b8755 6212 * Threshold :
gume 0:1f82672b8755 6213 *
gume 0:1f82672b8755 6214 * bno055_get_gyro_highrate_x_thres()
gume 0:1f82672b8755 6215 *
gume 0:1f82672b8755 6216 * bno055_get_gyro_highrate_y_thres()
gume 0:1f82672b8755 6217 *
gume 0:1f82672b8755 6218 * bno055_get_gyro_highrate_z_thres()
gume 0:1f82672b8755 6219 *
gume 0:1f82672b8755 6220 * Hysteresis :
gume 0:1f82672b8755 6221 *
gume 0:1f82672b8755 6222 * bno055_set_gyro_highrate_x_hyst()
gume 0:1f82672b8755 6223 *
gume 0:1f82672b8755 6224 * bno055_set_gyro_highrate_y_hyst()
gume 0:1f82672b8755 6225 *
gume 0:1f82672b8755 6226 * bno055_set_gyro_highrate_z_hyst()
gume 0:1f82672b8755 6227 *
gume 0:1f82672b8755 6228 * Duration :
gume 0:1f82672b8755 6229 *
gume 0:1f82672b8755 6230 * bno055_set_gyro_highrate_x_durn()
gume 0:1f82672b8755 6231 *
gume 0:1f82672b8755 6232 * bno055_set_gyro_highrate_y_durn()
gume 0:1f82672b8755 6233 *
gume 0:1f82672b8755 6234 * bno055_set_gyro_highrate_z_durn()
gume 0:1f82672b8755 6235 *
gume 0:1f82672b8755 6236 */
gume 0:1f82672b8755 6237 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_gyro_highrate(
gume 0:1f82672b8755 6238 u8 *gyro_highrate_u8);
gume 0:1f82672b8755 6239 /*!
gume 0:1f82672b8755 6240 * @brief This API used to write the gyro highrate interrupt mask
gume 0:1f82672b8755 6241 * from page one register from 0x0F bit 3
gume 0:1f82672b8755 6242 *
gume 0:1f82672b8755 6243 * @param gyro_highrate_u8 : The value of gyro highrate interrupt mask
gume 0:1f82672b8755 6244 * gyro_highrate_u8 | result
gume 0:1f82672b8755 6245 * -------------------- |------------
gume 0:1f82672b8755 6246 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6247 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6248 *
gume 0:1f82672b8755 6249 * @return results of bus communication function
gume 0:1f82672b8755 6250 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6251 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6252 *
gume 0:1f82672b8755 6253 * @note While enabling the gyro highrate interrupt
gume 0:1f82672b8755 6254 * configure the below settings by using
gume 0:1f82672b8755 6255 * the following APIs
gume 0:1f82672b8755 6256 *
gume 0:1f82672b8755 6257 * Axis :
gume 0:1f82672b8755 6258 *
gume 0:1f82672b8755 6259 * bno055_set_gyro_highrate_axis_enable()
gume 0:1f82672b8755 6260 *
gume 0:1f82672b8755 6261 * Filter :
gume 0:1f82672b8755 6262 *
gume 0:1f82672b8755 6263 * bno055_set_gyro_highrate_filter()
gume 0:1f82672b8755 6264 *
gume 0:1f82672b8755 6265 * Threshold :
gume 0:1f82672b8755 6266 *
gume 0:1f82672b8755 6267 * bno055_get_gyro_highrate_x_thres()
gume 0:1f82672b8755 6268 *
gume 0:1f82672b8755 6269 * bno055_get_gyro_highrate_y_thres()
gume 0:1f82672b8755 6270 *
gume 0:1f82672b8755 6271 * bno055_get_gyro_highrate_z_thres()
gume 0:1f82672b8755 6272 *
gume 0:1f82672b8755 6273 * Hysteresis :
gume 0:1f82672b8755 6274 *
gume 0:1f82672b8755 6275 * bno055_set_gyro_highrate_x_hyst()
gume 0:1f82672b8755 6276 *
gume 0:1f82672b8755 6277 * bno055_set_gyro_highrate_y_hyst()
gume 0:1f82672b8755 6278 *
gume 0:1f82672b8755 6279 * bno055_set_gyro_highrate_z_hyst()
gume 0:1f82672b8755 6280 *
gume 0:1f82672b8755 6281 * Duration :
gume 0:1f82672b8755 6282 *
gume 0:1f82672b8755 6283 * bno055_set_gyro_highrate_x_durn()
gume 0:1f82672b8755 6284 *
gume 0:1f82672b8755 6285 * bno055_set_gyro_highrate_y_durn()
gume 0:1f82672b8755 6286 *
gume 0:1f82672b8755 6287 * bno055_set_gyro_highrate_z_durn()
gume 0:1f82672b8755 6288 *
gume 0:1f82672b8755 6289 */
gume 0:1f82672b8755 6290 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_gyro_highrate(
gume 0:1f82672b8755 6291 u8 gyro_highrate_u8);
gume 0:1f82672b8755 6292 /*****************************************************/
gume 0:1f82672b8755 6293 /**\name APIs FOR ACCEL INTERRUPT MASK */
gume 0:1f82672b8755 6294 /*****************************************************/
gume 0:1f82672b8755 6295 /*!
gume 0:1f82672b8755 6296 * @brief This API used to read the accel highg interrupt mask
gume 0:1f82672b8755 6297 * from page one register from 0x0F bit 5
gume 0:1f82672b8755 6298 *
gume 0:1f82672b8755 6299 * @param accel_high_g_u8 : The value of accel highg interrupt mask
gume 0:1f82672b8755 6300 * accel_high_g_u8 | result
gume 0:1f82672b8755 6301 * -------------------- |------------
gume 0:1f82672b8755 6302 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6303 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6304 *
gume 0:1f82672b8755 6305 * @return results of bus communication function
gume 0:1f82672b8755 6306 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6307 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6308 *
gume 0:1f82672b8755 6309 * @note While enabling the accel highg interrupt
gume 0:1f82672b8755 6310 * configure the below settings by using
gume 0:1f82672b8755 6311 * the following APIs
gume 0:1f82672b8755 6312 *
gume 0:1f82672b8755 6313 * Axis :
gume 0:1f82672b8755 6314 *
gume 0:1f82672b8755 6315 * bno055_set_accel_high_g_axis_enable()
gume 0:1f82672b8755 6316 *
gume 0:1f82672b8755 6317 * Threshold :
gume 0:1f82672b8755 6318 *
gume 0:1f82672b8755 6319 * bno055_set_accel_high_g_thres()
gume 0:1f82672b8755 6320 *
gume 0:1f82672b8755 6321 * Duration :
gume 0:1f82672b8755 6322 *
gume 0:1f82672b8755 6323 * bno055_set_accel_high_g_durn()
gume 0:1f82672b8755 6324 *
gume 0:1f82672b8755 6325 */
gume 0:1f82672b8755 6326 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_high_g(
gume 0:1f82672b8755 6327 u8 *accel_high_g_u8);
gume 0:1f82672b8755 6328 /*!
gume 0:1f82672b8755 6329 * @brief This API used to write the accel highg interrupt mask
gume 0:1f82672b8755 6330 * from page one register from 0x0F bit 5
gume 0:1f82672b8755 6331 *
gume 0:1f82672b8755 6332 * @param accel_high_g_u8 : The value of accel highg interrupt mask
gume 0:1f82672b8755 6333 * accel_high_g_u8 | result
gume 0:1f82672b8755 6334 * -------------------- |------------
gume 0:1f82672b8755 6335 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6336 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6337 *
gume 0:1f82672b8755 6338 * @return results of bus communication function
gume 0:1f82672b8755 6339 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6340 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6341 *
gume 0:1f82672b8755 6342 * @note While enabling the accel highg interrupt
gume 0:1f82672b8755 6343 * configure the below settings by using
gume 0:1f82672b8755 6344 * the following APIs
gume 0:1f82672b8755 6345 *
gume 0:1f82672b8755 6346 * Axis :
gume 0:1f82672b8755 6347 *
gume 0:1f82672b8755 6348 * bno055_set_accel_high_g_axis_enable()
gume 0:1f82672b8755 6349 *
gume 0:1f82672b8755 6350 * Threshold :
gume 0:1f82672b8755 6351 *
gume 0:1f82672b8755 6352 * bno055_set_accel_high_g_thres()
gume 0:1f82672b8755 6353 *
gume 0:1f82672b8755 6354 * Duration :
gume 0:1f82672b8755 6355 *
gume 0:1f82672b8755 6356 * bno055_set_accel_high_g_durn()
gume 0:1f82672b8755 6357 *
gume 0:1f82672b8755 6358 */
gume 0:1f82672b8755 6359 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_high_g(
gume 0:1f82672b8755 6360 u8 accel_high_g_u8);
gume 0:1f82672b8755 6361 /*!
gume 0:1f82672b8755 6362 * @brief This API used to read the accel anymotion interrupt mask
gume 0:1f82672b8755 6363 * from page one register from 0x0F bit 6
gume 0:1f82672b8755 6364 *
gume 0:1f82672b8755 6365 * @param accel_any_motion_u8 : The value of accel anymotion interrupt mask
gume 0:1f82672b8755 6366 * accel_any_motion_u8 | result
gume 0:1f82672b8755 6367 * -------------------- |------------
gume 0:1f82672b8755 6368 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6369 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6370 *
gume 0:1f82672b8755 6371 * @return results of bus communication function
gume 0:1f82672b8755 6372 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6373 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6374 *
gume 0:1f82672b8755 6375 * @note While enabling the accel highg interrupt
gume 0:1f82672b8755 6376 * configure the below settings by using
gume 0:1f82672b8755 6377 * the following APIs
gume 0:1f82672b8755 6378 *
gume 0:1f82672b8755 6379 * Axis :
gume 0:1f82672b8755 6380 *
gume 0:1f82672b8755 6381 * bno055_set_accel_high_g_axis_enable()
gume 0:1f82672b8755 6382 *
gume 0:1f82672b8755 6383 * Threshold :
gume 0:1f82672b8755 6384 *
gume 0:1f82672b8755 6385 * bno055_set_accel_high_g_thres()
gume 0:1f82672b8755 6386 *
gume 0:1f82672b8755 6387 * Duration :
gume 0:1f82672b8755 6388 *
gume 0:1f82672b8755 6389 * bno055_set_accel_high_g_durn()
gume 0:1f82672b8755 6390 *
gume 0:1f82672b8755 6391 */
gume 0:1f82672b8755 6392 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_any_motion(
gume 0:1f82672b8755 6393 u8 *accel_any_motion_u8);
gume 0:1f82672b8755 6394 /*!
gume 0:1f82672b8755 6395 * @brief This API used to write the accel anymotion interrupt mask
gume 0:1f82672b8755 6396 * from page one register from 0x0F bit 6
gume 0:1f82672b8755 6397 *
gume 0:1f82672b8755 6398 * @param accel_any_motion_u8 : The value of accel anymotion interrupt mask
gume 0:1f82672b8755 6399 * accel_any_motion_u8 | result
gume 0:1f82672b8755 6400 * -------------------- |------------
gume 0:1f82672b8755 6401 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6402 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6403 *
gume 0:1f82672b8755 6404 * @return results of bus communication function
gume 0:1f82672b8755 6405 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6406 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6407 *
gume 0:1f82672b8755 6408 * @note While enabling the accel anymotion interrupt
gume 0:1f82672b8755 6409 * configure the following settings
gume 0:1f82672b8755 6410 *
gume 0:1f82672b8755 6411 * Axis:
gume 0:1f82672b8755 6412 *
gume 0:1f82672b8755 6413 * bno055_set_accel_any_motion_no_motion_axis_enable()
gume 0:1f82672b8755 6414 *
gume 0:1f82672b8755 6415 * Duration:
gume 0:1f82672b8755 6416 *
gume 0:1f82672b8755 6417 * bno055_set_accel_any_motion_durn()
gume 0:1f82672b8755 6418 *
gume 0:1f82672b8755 6419 * Threshold:
gume 0:1f82672b8755 6420 *
gume 0:1f82672b8755 6421 * bno055_set_accel_any_motion_thres()
gume 0:1f82672b8755 6422 *
gume 0:1f82672b8755 6423 */
gume 0:1f82672b8755 6424 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_any_motion(
gume 0:1f82672b8755 6425 u8 accel_any_motion_u8);
gume 0:1f82672b8755 6426 /*!
gume 0:1f82672b8755 6427 * @brief This API used to read the accel nomotion interrupt mask
gume 0:1f82672b8755 6428 * from page one register from 0x0F bit 7
gume 0:1f82672b8755 6429 *
gume 0:1f82672b8755 6430 * @param accel_nomotion_u8 : The value of accel nomotion interrupt mask
gume 0:1f82672b8755 6431 * accel_nomotion_u8 | result
gume 0:1f82672b8755 6432 * -------------------- |------------
gume 0:1f82672b8755 6433 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6434 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6435 *
gume 0:1f82672b8755 6436 * @return results of bus communication function
gume 0:1f82672b8755 6437 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6438 *
gume 0:1f82672b8755 6439 * @note While enabling the accel anymotion interrupt
gume 0:1f82672b8755 6440 * configure the following settings
gume 0:1f82672b8755 6441 *
gume 0:1f82672b8755 6442 * Axis:
gume 0:1f82672b8755 6443 *
gume 0:1f82672b8755 6444 * bno055_set_accel_any_motion_no_motion_axis_enable()
gume 0:1f82672b8755 6445 *
gume 0:1f82672b8755 6446 * Duration:
gume 0:1f82672b8755 6447 *
gume 0:1f82672b8755 6448 * bno055_set_accel_any_motion_durn()
gume 0:1f82672b8755 6449 *
gume 0:1f82672b8755 6450 * Threshold:
gume 0:1f82672b8755 6451 *
gume 0:1f82672b8755 6452 * bno055_set_accel_any_motion_thres())
gume 0:1f82672b8755 6453 *
gume 0:1f82672b8755 6454 */
gume 0:1f82672b8755 6455 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_mask_accel_no_motion(
gume 0:1f82672b8755 6456 u8 *accel_nomotion_u8);
gume 0:1f82672b8755 6457 /*!
gume 0:1f82672b8755 6458 * @brief This API used to write the accel nomotion interrupt mask
gume 0:1f82672b8755 6459 * from page one register from 0x0F bit 7
gume 0:1f82672b8755 6460 *
gume 0:1f82672b8755 6461 * @param accel_nomotion_u8 : The value of accel nomotion interrupt mask
gume 0:1f82672b8755 6462 * accel_nomotion_u8 | result
gume 0:1f82672b8755 6463 * -------------------- |------------
gume 0:1f82672b8755 6464 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6465 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6466 *
gume 0:1f82672b8755 6467 * @return results of bus communication function
gume 0:1f82672b8755 6468 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6469 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6470 *
gume 0:1f82672b8755 6471 * @note While enabling the accel nomotion interrupt
gume 0:1f82672b8755 6472 * configure the following settings
gume 0:1f82672b8755 6473 *
gume 0:1f82672b8755 6474 * Axis:
gume 0:1f82672b8755 6475 *
gume 0:1f82672b8755 6476 * bno055_set_accel_any_motion_no_motion_axis_enable()
gume 0:1f82672b8755 6477 *
gume 0:1f82672b8755 6478 * Threshold :
gume 0:1f82672b8755 6479 *
gume 0:1f82672b8755 6480 * bno055_set_accel_slow_no_motion_thres()
gume 0:1f82672b8755 6481 *
gume 0:1f82672b8755 6482 * Duration :
gume 0:1f82672b8755 6483 *
gume 0:1f82672b8755 6484 * bno055_set_accel_slow_no_motion_durn()
gume 0:1f82672b8755 6485 *
gume 0:1f82672b8755 6486 * Slow/no motion enable:
gume 0:1f82672b8755 6487 *
gume 0:1f82672b8755 6488 * bno055_set_accel_slow_no_motion_enable()
gume 0:1f82672b8755 6489 *
gume 0:1f82672b8755 6490 */
gume 0:1f82672b8755 6491 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_mask_accel_no_motion(
gume 0:1f82672b8755 6492 u8 accel_nomotion_u8);
gume 0:1f82672b8755 6493 /*****************************************************/
gume 0:1f82672b8755 6494 /**\name FUNCTIONS FOR GYRO INTERRUPT */
gume 0:1f82672b8755 6495 /*****************************************************/
gume 0:1f82672b8755 6496 /*!
gume 0:1f82672b8755 6497 * @brief This API used to read the gyro anymotion interrupt
gume 0:1f82672b8755 6498 * from page one register from 0x10 bit 2
gume 0:1f82672b8755 6499 *
gume 0:1f82672b8755 6500 * @param gyro_any_motion_u8 : The value of gyro anymotion interrupt
gume 0:1f82672b8755 6501 * gyro_any_motion_u8 | result
gume 0:1f82672b8755 6502 * -------------------- |------------
gume 0:1f82672b8755 6503 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6504 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6505 *
gume 0:1f82672b8755 6506 * @return results of bus communication function
gume 0:1f82672b8755 6507 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6508 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6509 *
gume 0:1f82672b8755 6510 * @note While enabling the gyro anymotion interrupt
gume 0:1f82672b8755 6511 * configure the following settings
gume 0:1f82672b8755 6512 *
gume 0:1f82672b8755 6513 * Axis:
gume 0:1f82672b8755 6514 * bno055_set_gyro_any_motion_axis_enable()
gume 0:1f82672b8755 6515 *
gume 0:1f82672b8755 6516 * Filter setting:
gume 0:1f82672b8755 6517 * bno055_set_gyro_any_motion_filter()
gume 0:1f82672b8755 6518 *
gume 0:1f82672b8755 6519 * Threshold :
gume 0:1f82672b8755 6520 *
gume 0:1f82672b8755 6521 * bno055_set_gyro_any_motion_thres()
gume 0:1f82672b8755 6522 *
gume 0:1f82672b8755 6523 * Slope samples :
gume 0:1f82672b8755 6524 *
gume 0:1f82672b8755 6525 * bno055_set_gyro_any_motion_slope_samples()
gume 0:1f82672b8755 6526 *
gume 0:1f82672b8755 6527 * Awake duration :
gume 0:1f82672b8755 6528 *
gume 0:1f82672b8755 6529 * bno055_set_gyro_any_motion_awake_durn()
gume 0:1f82672b8755 6530 */
gume 0:1f82672b8755 6531 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_any_motion(
gume 0:1f82672b8755 6532 u8 *gyro_any_motion_u8);
gume 0:1f82672b8755 6533 /*!
gume 0:1f82672b8755 6534 * @brief This API used to write the gyro anymotion interrupt
gume 0:1f82672b8755 6535 * from page one register from 0x10 bit 2
gume 0:1f82672b8755 6536 *
gume 0:1f82672b8755 6537 * @param gyro_any_motion_u8 : The value of gyro anymotion interrupt
gume 0:1f82672b8755 6538 * gyro_any_motion_u8 | result
gume 0:1f82672b8755 6539 * -------------------- |------------
gume 0:1f82672b8755 6540 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6541 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6542 *
gume 0:1f82672b8755 6543 * @return results of bus communication function
gume 0:1f82672b8755 6544 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6545 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6546 *
gume 0:1f82672b8755 6547 * @note While enabling the gyro anymotion interrupt
gume 0:1f82672b8755 6548 * configure the following settings
gume 0:1f82672b8755 6549 *
gume 0:1f82672b8755 6550 * Axis:
gume 0:1f82672b8755 6551 * bno055_set_gyro_any_motion_axis_enable()
gume 0:1f82672b8755 6552 *
gume 0:1f82672b8755 6553 * Filter setting:
gume 0:1f82672b8755 6554 * bno055_set_gyro_any_motion_filter()
gume 0:1f82672b8755 6555 *
gume 0:1f82672b8755 6556 * Threshold :
gume 0:1f82672b8755 6557 *
gume 0:1f82672b8755 6558 * bno055_set_gyro_any_motion_thres()
gume 0:1f82672b8755 6559 *
gume 0:1f82672b8755 6560 * Slope samples :
gume 0:1f82672b8755 6561 *
gume 0:1f82672b8755 6562 * bno055_set_gyro_any_motion_slope_samples()
gume 0:1f82672b8755 6563 *
gume 0:1f82672b8755 6564 * Awake duration :
gume 0:1f82672b8755 6565 *
gume 0:1f82672b8755 6566 * bno055_set_gyro_any_motion_awake_durn()
gume 0:1f82672b8755 6567 */
gume 0:1f82672b8755 6568 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_any_motion(
gume 0:1f82672b8755 6569 u8 gyro_any_motion_u8);
gume 0:1f82672b8755 6570 /*!
gume 0:1f82672b8755 6571 * @brief This API used to read the gyro highrate interrupt
gume 0:1f82672b8755 6572 * from page one register from 0x10 bit 3
gume 0:1f82672b8755 6573 *
gume 0:1f82672b8755 6574 * @param gyro_highrate_u8 : The value of gyro highrate interrupt
gume 0:1f82672b8755 6575 * gyro_highrate_u8 | result
gume 0:1f82672b8755 6576 * -------------------- |------------
gume 0:1f82672b8755 6577 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6578 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6579 *
gume 0:1f82672b8755 6580 * @return results of bus communication function
gume 0:1f82672b8755 6581 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6582 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6583 *
gume 0:1f82672b8755 6584 * @note While enabling the gyro highrate interrupt
gume 0:1f82672b8755 6585 * configure the below settings by using
gume 0:1f82672b8755 6586 * the following APIs
gume 0:1f82672b8755 6587 *
gume 0:1f82672b8755 6588 * Axis :
gume 0:1f82672b8755 6589 *
gume 0:1f82672b8755 6590 * bno055_set_gyro_highrate_axis_enable()
gume 0:1f82672b8755 6591 *
gume 0:1f82672b8755 6592 * Filter :
gume 0:1f82672b8755 6593 *
gume 0:1f82672b8755 6594 * bno055_set_gyro_highrate_filter()
gume 0:1f82672b8755 6595 *
gume 0:1f82672b8755 6596 * Threshold :
gume 0:1f82672b8755 6597 *
gume 0:1f82672b8755 6598 * bno055_get_gyro_highrate_x_thres()
gume 0:1f82672b8755 6599 *
gume 0:1f82672b8755 6600 * bno055_get_gyro_highrate_y_thres()
gume 0:1f82672b8755 6601 *
gume 0:1f82672b8755 6602 * bno055_get_gyro_highrate_z_thres()
gume 0:1f82672b8755 6603 *
gume 0:1f82672b8755 6604 * Hysteresis :
gume 0:1f82672b8755 6605 *
gume 0:1f82672b8755 6606 * bno055_set_gyro_highrate_x_hyst()
gume 0:1f82672b8755 6607 *
gume 0:1f82672b8755 6608 * bno055_set_gyro_highrate_y_hyst()
gume 0:1f82672b8755 6609 *
gume 0:1f82672b8755 6610 * bno055_set_gyro_highrate_z_hyst()
gume 0:1f82672b8755 6611 *
gume 0:1f82672b8755 6612 * Duration :
gume 0:1f82672b8755 6613 *
gume 0:1f82672b8755 6614 * bno055_set_gyro_highrate_x_durn()
gume 0:1f82672b8755 6615 *
gume 0:1f82672b8755 6616 * bno055_set_gyro_highrate_y_durn()
gume 0:1f82672b8755 6617 *
gume 0:1f82672b8755 6618 * bno055_set_gyro_highrate_z_durn()
gume 0:1f82672b8755 6619 *
gume 0:1f82672b8755 6620 */
gume 0:1f82672b8755 6621 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_gyro_highrate(
gume 0:1f82672b8755 6622 u8 *gyro_highrate_u8);
gume 0:1f82672b8755 6623 /*!
gume 0:1f82672b8755 6624 * @brief This API used to write the gyro highrate interrupt
gume 0:1f82672b8755 6625 * from page one register from 0x10 bit 3
gume 0:1f82672b8755 6626 *
gume 0:1f82672b8755 6627 * @param gyro_highrate_u8 : The value of gyro highrate interrupt
gume 0:1f82672b8755 6628 * gyro_highrate_u8 | result
gume 0:1f82672b8755 6629 * -------------------- |------------
gume 0:1f82672b8755 6630 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6631 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6632 *
gume 0:1f82672b8755 6633 * @return results of bus communication function
gume 0:1f82672b8755 6634 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6635 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6636 *
gume 0:1f82672b8755 6637 * @note While enabling the gyro highrate interrupt
gume 0:1f82672b8755 6638 * configure the below settings by using
gume 0:1f82672b8755 6639 * the following APIs
gume 0:1f82672b8755 6640 *
gume 0:1f82672b8755 6641 * Axis :
gume 0:1f82672b8755 6642 *
gume 0:1f82672b8755 6643 * bno055_set_gyro_highrate_axis_enable()
gume 0:1f82672b8755 6644 *
gume 0:1f82672b8755 6645 * Filter :
gume 0:1f82672b8755 6646 *
gume 0:1f82672b8755 6647 * bno055_set_gyro_highrate_filter()
gume 0:1f82672b8755 6648 *
gume 0:1f82672b8755 6649 * Threshold :
gume 0:1f82672b8755 6650 *
gume 0:1f82672b8755 6651 * bno055_get_gyro_highrate_x_thres()
gume 0:1f82672b8755 6652 *
gume 0:1f82672b8755 6653 * bno055_get_gyro_highrate_y_thres()
gume 0:1f82672b8755 6654 *
gume 0:1f82672b8755 6655 * bno055_get_gyro_highrate_z_thres()
gume 0:1f82672b8755 6656 *
gume 0:1f82672b8755 6657 * Hysteresis :
gume 0:1f82672b8755 6658 *
gume 0:1f82672b8755 6659 * bno055_set_gyro_highrate_x_hyst()
gume 0:1f82672b8755 6660 *
gume 0:1f82672b8755 6661 * bno055_set_gyro_highrate_y_hyst()
gume 0:1f82672b8755 6662 *
gume 0:1f82672b8755 6663 * bno055_set_gyro_highrate_z_hyst()
gume 0:1f82672b8755 6664 *
gume 0:1f82672b8755 6665 * Duration :
gume 0:1f82672b8755 6666 *
gume 0:1f82672b8755 6667 * bno055_set_gyro_highrate_x_durn()
gume 0:1f82672b8755 6668 *
gume 0:1f82672b8755 6669 * bno055_set_gyro_highrate_y_durn()
gume 0:1f82672b8755 6670 *
gume 0:1f82672b8755 6671 * bno055_set_gyro_highrate_z_durn()
gume 0:1f82672b8755 6672 *
gume 0:1f82672b8755 6673 */
gume 0:1f82672b8755 6674 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_gyro_highrate(
gume 0:1f82672b8755 6675 u8 gyro_highrate_u8);
gume 0:1f82672b8755 6676 /*****************************************************/
gume 0:1f82672b8755 6677 /**\name FUNCTIONS FOR ACCEL INTERRUPT */
gume 0:1f82672b8755 6678 /*****************************************************/
gume 0:1f82672b8755 6679 /*!
gume 0:1f82672b8755 6680 * @brief This API used to read the accel highg interrupt
gume 0:1f82672b8755 6681 * from page one register from 0x10 bit 5
gume 0:1f82672b8755 6682 *
gume 0:1f82672b8755 6683 * @param accel_high_g_u8 : The value of accel highg interrupt
gume 0:1f82672b8755 6684 * accel_high_g_u8 | result
gume 0:1f82672b8755 6685 * -------------------- |------------
gume 0:1f82672b8755 6686 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6687 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6688 *
gume 0:1f82672b8755 6689 * @return results of bus communication function
gume 0:1f82672b8755 6690 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6691 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6692 *
gume 0:1f82672b8755 6693 * @note While enabling the accel highg interrupt
gume 0:1f82672b8755 6694 * configure the below settings by using
gume 0:1f82672b8755 6695 * the following APIs
gume 0:1f82672b8755 6696 *
gume 0:1f82672b8755 6697 * Axis :
gume 0:1f82672b8755 6698 *
gume 0:1f82672b8755 6699 * bno055_set_accel_high_g_axis_enable()
gume 0:1f82672b8755 6700 *
gume 0:1f82672b8755 6701 * Threshold :
gume 0:1f82672b8755 6702 *
gume 0:1f82672b8755 6703 * bno055_set_accel_high_g_thres()
gume 0:1f82672b8755 6704 *
gume 0:1f82672b8755 6705 * Duration :
gume 0:1f82672b8755 6706 *
gume 0:1f82672b8755 6707 * bno055_set_accel_high_g_durn()
gume 0:1f82672b8755 6708 *
gume 0:1f82672b8755 6709 */
gume 0:1f82672b8755 6710 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_high_g(
gume 0:1f82672b8755 6711 u8 *accel_high_g_u8);
gume 0:1f82672b8755 6712 /*!
gume 0:1f82672b8755 6713 * @brief This API used to write the accel highg interrupt
gume 0:1f82672b8755 6714 * from page one register from 0x10 bit 5
gume 0:1f82672b8755 6715 *
gume 0:1f82672b8755 6716 * @param accel_high_g_u8 : The value of accel highg interrupt
gume 0:1f82672b8755 6717 * accel_high_g_u8 | result
gume 0:1f82672b8755 6718 * -------------------- |------------
gume 0:1f82672b8755 6719 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6720 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6721 *
gume 0:1f82672b8755 6722 * @return results of bus communication function
gume 0:1f82672b8755 6723 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6724 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6725 *
gume 0:1f82672b8755 6726 * @note While enabling the accel highg interrupt
gume 0:1f82672b8755 6727 * configure the below settings by using
gume 0:1f82672b8755 6728 * the following APIs
gume 0:1f82672b8755 6729 *
gume 0:1f82672b8755 6730 * Axis :
gume 0:1f82672b8755 6731 *
gume 0:1f82672b8755 6732 * bno055_set_accel_high_g_axis_enable()
gume 0:1f82672b8755 6733 *
gume 0:1f82672b8755 6734 * Threshold :
gume 0:1f82672b8755 6735 *
gume 0:1f82672b8755 6736 * bno055_set_accel_high_g_thres()
gume 0:1f82672b8755 6737 *
gume 0:1f82672b8755 6738 * Duration :
gume 0:1f82672b8755 6739 *
gume 0:1f82672b8755 6740 * bno055_set_accel_high_g_durn()
gume 0:1f82672b8755 6741 *
gume 0:1f82672b8755 6742 */
gume 0:1f82672b8755 6743 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_high_g(
gume 0:1f82672b8755 6744 u8 accel_high_g_u8);
gume 0:1f82672b8755 6745 /*!
gume 0:1f82672b8755 6746 * @brief This API used to read the accel anymotion interrupt
gume 0:1f82672b8755 6747 * from page one register from 0x10 bit 6
gume 0:1f82672b8755 6748 *
gume 0:1f82672b8755 6749 * @param accel_any_motion_u8 : The value of accel anymotion interrupt
gume 0:1f82672b8755 6750 * accel_any_motion_u8 | result
gume 0:1f82672b8755 6751 * -------------------- |------------
gume 0:1f82672b8755 6752 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6753 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6754 *
gume 0:1f82672b8755 6755 * @return results of bus communication function
gume 0:1f82672b8755 6756 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6757 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6758 *
gume 0:1f82672b8755 6759 * @note While enabling the accel anymotion interrupt
gume 0:1f82672b8755 6760 * configure the following settings
gume 0:1f82672b8755 6761 *
gume 0:1f82672b8755 6762 * Axis:
gume 0:1f82672b8755 6763 *
gume 0:1f82672b8755 6764 * bno055_set_accel_any_motion_no_motion_axis_enable()
gume 0:1f82672b8755 6765 *
gume 0:1f82672b8755 6766 * Duration:
gume 0:1f82672b8755 6767 *
gume 0:1f82672b8755 6768 * bno055_set_accel_any_motion_durn()
gume 0:1f82672b8755 6769 *
gume 0:1f82672b8755 6770 * Threshold:
gume 0:1f82672b8755 6771 *
gume 0:1f82672b8755 6772 * bno055_set_accel_any_motion_thres()
gume 0:1f82672b8755 6773 *
gume 0:1f82672b8755 6774 */
gume 0:1f82672b8755 6775 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_any_motion(
gume 0:1f82672b8755 6776 u8 *accel_any_motion_u8);
gume 0:1f82672b8755 6777 /*!
gume 0:1f82672b8755 6778 * @brief This API used to write the accel anymotion interrupt
gume 0:1f82672b8755 6779 * from page one register from 0x10 bit 6
gume 0:1f82672b8755 6780 *
gume 0:1f82672b8755 6781 * @param accel_any_motion_u8 : The value of accel anymotion interrupt
gume 0:1f82672b8755 6782 * accel_any_motion_u8 | result
gume 0:1f82672b8755 6783 * -------------------- |------------
gume 0:1f82672b8755 6784 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6785 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6786 *
gume 0:1f82672b8755 6787 * @return results of bus communication function
gume 0:1f82672b8755 6788 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6789 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6790 *
gume 0:1f82672b8755 6791 * @note While enabling the accel anymotion interrupt
gume 0:1f82672b8755 6792 * configure the following settings
gume 0:1f82672b8755 6793 *
gume 0:1f82672b8755 6794 * Axis:
gume 0:1f82672b8755 6795 *
gume 0:1f82672b8755 6796 * bno055_set_accel_any_motion_no_motion_axis_enable()
gume 0:1f82672b8755 6797 *
gume 0:1f82672b8755 6798 * Duration:
gume 0:1f82672b8755 6799 *
gume 0:1f82672b8755 6800 * bno055_set_accel_any_motion_durn()
gume 0:1f82672b8755 6801 *
gume 0:1f82672b8755 6802 * Threshold:
gume 0:1f82672b8755 6803 *
gume 0:1f82672b8755 6804 * bno055_set_accel_any_motion_thres()
gume 0:1f82672b8755 6805 *
gume 0:1f82672b8755 6806 */
gume 0:1f82672b8755 6807 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_any_motion(
gume 0:1f82672b8755 6808 u8 accel_any_motion_u8);
gume 0:1f82672b8755 6809 /*!
gume 0:1f82672b8755 6810 * @brief This API used to read the accel nomotion interrupt
gume 0:1f82672b8755 6811 * from page one register from 0x10 bit 6
gume 0:1f82672b8755 6812 *
gume 0:1f82672b8755 6813 * @param accel_nomotion_u8 : The value of accel nomotion interrupt
gume 0:1f82672b8755 6814 * accel_nomotion_u8 | result
gume 0:1f82672b8755 6815 * -------------------- |------------
gume 0:1f82672b8755 6816 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6817 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6818 *
gume 0:1f82672b8755 6819 * @return results of bus communication function
gume 0:1f82672b8755 6820 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6821 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6822 *
gume 0:1f82672b8755 6823 * @note While enabling the accel nomotion interrupt
gume 0:1f82672b8755 6824 * configure the following settings
gume 0:1f82672b8755 6825 *
gume 0:1f82672b8755 6826 * Axis:
gume 0:1f82672b8755 6827 *
gume 0:1f82672b8755 6828 * bno055_set_accel_any_motion_no_motion_axis_enable()
gume 0:1f82672b8755 6829 *
gume 0:1f82672b8755 6830 * Threshold :
gume 0:1f82672b8755 6831 *
gume 0:1f82672b8755 6832 * bno055_set_accel_slow_no_motion_thres()
gume 0:1f82672b8755 6833 *
gume 0:1f82672b8755 6834 * Duration :
gume 0:1f82672b8755 6835 *
gume 0:1f82672b8755 6836 * bno055_set_accel_slow_no_motion_durn()
gume 0:1f82672b8755 6837 *
gume 0:1f82672b8755 6838 * Slow/no motion enable:
gume 0:1f82672b8755 6839 *
gume 0:1f82672b8755 6840 * bno055_set_accel_slow_no_motion_enable()
gume 0:1f82672b8755 6841 *
gume 0:1f82672b8755 6842 */
gume 0:1f82672b8755 6843 BNO055_RETURN_FUNCTION_TYPE bno055_get_intr_accel_no_motion(
gume 0:1f82672b8755 6844 u8 *accel_nomotion_u8);
gume 0:1f82672b8755 6845 /*!
gume 0:1f82672b8755 6846 * @brief This API used to write the accel nomotion interrupt
gume 0:1f82672b8755 6847 * from page one register from 0x10 bit 6
gume 0:1f82672b8755 6848 *
gume 0:1f82672b8755 6849 * @param accel_nomotion_u8 : The value of accel nomotion interrupt
gume 0:1f82672b8755 6850 * accel_nomotion_u8 | result
gume 0:1f82672b8755 6851 * -------------------- |------------
gume 0:1f82672b8755 6852 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6853 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6854 *
gume 0:1f82672b8755 6855 * @return results of bus communication function
gume 0:1f82672b8755 6856 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6857 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6858 *
gume 0:1f82672b8755 6859 * @note While enabling the accel nomotion interrupt
gume 0:1f82672b8755 6860 * configure the following settings
gume 0:1f82672b8755 6861 *
gume 0:1f82672b8755 6862 * Axis:
gume 0:1f82672b8755 6863 *
gume 0:1f82672b8755 6864 * bno055_set_accel_any_motion_no_motion_axis_enable()
gume 0:1f82672b8755 6865 *
gume 0:1f82672b8755 6866 * Threshold :
gume 0:1f82672b8755 6867 *
gume 0:1f82672b8755 6868 * bno055_set_accel_slow_no_motion_thres()
gume 0:1f82672b8755 6869 *
gume 0:1f82672b8755 6870 * Duration :
gume 0:1f82672b8755 6871 *
gume 0:1f82672b8755 6872 * bno055_set_accel_slow_no_motion_durn()
gume 0:1f82672b8755 6873 *
gume 0:1f82672b8755 6874 * Slow/no motion enable:
gume 0:1f82672b8755 6875 *
gume 0:1f82672b8755 6876 * bno055_set_accel_slow_no_motion_enable()
gume 0:1f82672b8755 6877 *
gume 0:1f82672b8755 6878 */
gume 0:1f82672b8755 6879 BNO055_RETURN_FUNCTION_TYPE bno055_set_intr_accel_no_motion(
gume 0:1f82672b8755 6880 u8 accel_nomotion_u8);
gume 0:1f82672b8755 6881 /*****************************************************/
gume 0:1f82672b8755 6882 /**\name FUNCTIONS FOR ACCEL ANY_MOTION THRESHOLD */
gume 0:1f82672b8755 6883 /*****************************************************/
gume 0:1f82672b8755 6884 /*!
gume 0:1f82672b8755 6885 * @brief This API used to read the accel any motion threshold
gume 0:1f82672b8755 6886 * from page one register from 0x11 bit 0 to 7
gume 0:1f82672b8755 6887 *
gume 0:1f82672b8755 6888 * @param accel_any_motion_thres_u8 : The value of any motion threshold
gume 0:1f82672b8755 6889 * accel_any_motion_thres_u8 | result
gume 0:1f82672b8755 6890 * ------------------------ | -------------
gume 0:1f82672b8755 6891 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6892 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6893 *
gume 0:1f82672b8755 6894 * @return results of bus communication function
gume 0:1f82672b8755 6895 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6896 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6897 *
gume 0:1f82672b8755 6898 * @note Accel anymotion threshold dependent on the
gume 0:1f82672b8755 6899 * range values
gume 0:1f82672b8755 6900 *
gume 0:1f82672b8755 6901 * accel_range_u8 | threshold | LSB
gume 0:1f82672b8755 6902 * ------------- | ------------- | ---------
gume 0:1f82672b8755 6903 * 2g | 3.19mg | 1LSB
gume 0:1f82672b8755 6904 * 4g | 7.81mg | 1LSB
gume 0:1f82672b8755 6905 * 8g | 15.63mg | 1LSB
gume 0:1f82672b8755 6906 * 16g | 31.25mg | 1LSB
gume 0:1f82672b8755 6907 *
gume 0:1f82672b8755 6908 */
gume 0:1f82672b8755 6909 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_thres(
gume 0:1f82672b8755 6910 u8 *accel_any_motion_thres_u8);
gume 0:1f82672b8755 6911 /*!
gume 0:1f82672b8755 6912 * @brief This API used to write the accel any motion threshold
gume 0:1f82672b8755 6913 * from page one register from 0x11 bit 0 to 7
gume 0:1f82672b8755 6914 *
gume 0:1f82672b8755 6915 * @param accel_any_motion_thres_u8 : The value of any motion threshold
gume 0:1f82672b8755 6916 * accel_any_motion_thres_u8 | result
gume 0:1f82672b8755 6917 * ------------------------ | -------------
gume 0:1f82672b8755 6918 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6919 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6920 *
gume 0:1f82672b8755 6921 * @return results of bus communication function
gume 0:1f82672b8755 6922 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6923 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6924 *
gume 0:1f82672b8755 6925 * @note Accel anymotion threshold dependent on the
gume 0:1f82672b8755 6926 * range values
gume 0:1f82672b8755 6927 *
gume 0:1f82672b8755 6928 * accel_range_u8 | threshold | LSB
gume 0:1f82672b8755 6929 * ------------- | ------------- | ---------
gume 0:1f82672b8755 6930 * 2g | 3.19mg | 1LSB
gume 0:1f82672b8755 6931 * 4g | 7.81mg | 1LSB
gume 0:1f82672b8755 6932 * 8g | 15.63mg | 1LSB
gume 0:1f82672b8755 6933 * 16g | 31.25mg | 1LSB
gume 0:1f82672b8755 6934 *
gume 0:1f82672b8755 6935 */
gume 0:1f82672b8755 6936 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_thres(
gume 0:1f82672b8755 6937 u8 accel_any_motion_thres_u8);
gume 0:1f82672b8755 6938 /*****************************************************/
gume 0:1f82672b8755 6939 /**\name FUNCTIONS FOR ACCEL ANY_MOTION DURATION */
gume 0:1f82672b8755 6940 /*****************************************************/
gume 0:1f82672b8755 6941 /*!
gume 0:1f82672b8755 6942 * @brief This API used to read the accel anymotion duration
gume 0:1f82672b8755 6943 * from page one register from 0x12 bit 0 to 1
gume 0:1f82672b8755 6944 *
gume 0:1f82672b8755 6945 * @param accel_any_motion_durn_u8 : The value of accel anymotion duration
gume 0:1f82672b8755 6946 * accel_any_motion_durn_u8 | result
gume 0:1f82672b8755 6947 * ------------------------- | -------------
gume 0:1f82672b8755 6948 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6949 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6950 *
gume 0:1f82672b8755 6951 * @return results of bus communication function
gume 0:1f82672b8755 6952 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6953 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6954 *
gume 0:1f82672b8755 6955 *
gume 0:1f82672b8755 6956 */
gume 0:1f82672b8755 6957 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_durn(
gume 0:1f82672b8755 6958 u8 *accel_any_motion_durn_u8);
gume 0:1f82672b8755 6959 /*!
gume 0:1f82672b8755 6960 * @brief This API used to write the accel anymotion duration
gume 0:1f82672b8755 6961 * from page one register from 0x12 bit 0 to 1
gume 0:1f82672b8755 6962 *
gume 0:1f82672b8755 6963 * @param accel_any_motion_durn_u8 : The value of accel anymotion duration
gume 0:1f82672b8755 6964 *
gume 0:1f82672b8755 6965 * accel_any_motion_durn_u8 | result
gume 0:1f82672b8755 6966 * ------------------------- | -------------
gume 0:1f82672b8755 6967 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6968 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6969 *
gume 0:1f82672b8755 6970 * @return results of bus communication function
gume 0:1f82672b8755 6971 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6972 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 6973 *
gume 0:1f82672b8755 6974 *
gume 0:1f82672b8755 6975 */
gume 0:1f82672b8755 6976 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_durn(
gume 0:1f82672b8755 6977 u8 accel_any_motion_durn_u8);
gume 0:1f82672b8755 6978 /*****************************************************/
gume 0:1f82672b8755 6979 /**\name FUNCTIONS FOR ACCEL ANY_MOTION AXIS ENABLE */
gume 0:1f82672b8755 6980 /*****************************************************/
gume 0:1f82672b8755 6981 /*!
gume 0:1f82672b8755 6982 * @brief This API used to read the accel anymotion enable
gume 0:1f82672b8755 6983 * from page one register from 0x12 bit 2 to 4
gume 0:1f82672b8755 6984 *
gume 0:1f82672b8755 6985 * @param data_u8 : The value of accel anymotion enable
gume 0:1f82672b8755 6986 * data_u8 | result
gume 0:1f82672b8755 6987 * ------------ | -------------
gume 0:1f82672b8755 6988 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 6989 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 6990 * @param channel_u8 : The value of accel anymotion axis selection
gume 0:1f82672b8755 6991 * channel_u8 | value
gume 0:1f82672b8755 6992 * -------------------------- | ----------
gume 0:1f82672b8755 6993 * BNO055_ACCEL_ANY_MOTION_NO_MOTION_X_AXIS | 0
gume 0:1f82672b8755 6994 * BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS | 1
gume 0:1f82672b8755 6995 * BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS | 2
gume 0:1f82672b8755 6996 *
gume 0:1f82672b8755 6997 * @return results of bus communication function
gume 0:1f82672b8755 6998 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 6999 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7000 *
gume 0:1f82672b8755 7001 *
gume 0:1f82672b8755 7002 */
gume 0:1f82672b8755 7003 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_any_motion_no_motion_axis_enable(
gume 0:1f82672b8755 7004 u8 channel_u8, u8 *data_u8);
gume 0:1f82672b8755 7005 /*!
gume 0:1f82672b8755 7006 * @brief This API used to write the accel anymotion enable
gume 0:1f82672b8755 7007 * from page one register from 0x12 bit 2 to 4
gume 0:1f82672b8755 7008 *
gume 0:1f82672b8755 7009 * @param data_u8 : The value of accel anymotion enable
gume 0:1f82672b8755 7010 * data_u8 | result
gume 0:1f82672b8755 7011 * ------------ | -------------
gume 0:1f82672b8755 7012 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 7013 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 7014 * @param channel_u8 : The value of accel anymotion axis selection
gume 0:1f82672b8755 7015 * channel_u8 | value
gume 0:1f82672b8755 7016 * -------------------------- | ----------
gume 0:1f82672b8755 7017 * BNO055_ACCEL_ANY_MOTION_NO_MOTION_X_AXIS | 0
gume 0:1f82672b8755 7018 * BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS | 1
gume 0:1f82672b8755 7019 * BNO055_ACCEL_ANY_MOTION_NO_MOTION_Y_AXIS | 2
gume 0:1f82672b8755 7020 *
gume 0:1f82672b8755 7021 * @return results of bus communication function
gume 0:1f82672b8755 7022 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7023 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7024 *
gume 0:1f82672b8755 7025 *
gume 0:1f82672b8755 7026 */
gume 0:1f82672b8755 7027 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_any_motion_no_motion_axis_enable(
gume 0:1f82672b8755 7028 u8 channel_u8, u8 data_u8);
gume 0:1f82672b8755 7029 /*****************************************************/
gume 0:1f82672b8755 7030 /**\name FUNCTIONS FOR ACCEL HIGHG AXIS ENABLE */
gume 0:1f82672b8755 7031 /*****************************************************/
gume 0:1f82672b8755 7032 /*!
gume 0:1f82672b8755 7033 * @brief This API used to read the accel highg enable
gume 0:1f82672b8755 7034 * from page one register from 0x12 bit 5 to 7
gume 0:1f82672b8755 7035 *
gume 0:1f82672b8755 7036 * @param data_u8 : The value of accel highg enable
gume 0:1f82672b8755 7037 * data_u8| result
gume 0:1f82672b8755 7038 * ------------ | -------------
gume 0:1f82672b8755 7039 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 7040 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 7041 * @param channel_u8 : The value of accel highg axis selection
gume 0:1f82672b8755 7042 * channel_u8 | value
gume 0:1f82672b8755 7043 * -------------------------- | ----------
gume 0:1f82672b8755 7044 * BNO055_ACCEL_HIGH_G_X_AXIS | 0
gume 0:1f82672b8755 7045 * BNO055_ACCEL_HIGH_G_Y_AXIS | 1
gume 0:1f82672b8755 7046 * BNO055_ACCEL_HIGH_G_Z_AXIS | 2
gume 0:1f82672b8755 7047 *
gume 0:1f82672b8755 7048 * @return results of bus communication function
gume 0:1f82672b8755 7049 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7050 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7051 *
gume 0:1f82672b8755 7052 *
gume 0:1f82672b8755 7053 */
gume 0:1f82672b8755 7054 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_axis_enable(
gume 0:1f82672b8755 7055 u8 channel_u8, u8 *data_u8);
gume 0:1f82672b8755 7056 /*!
gume 0:1f82672b8755 7057 * @brief This API used to write the accel highg enable
gume 0:1f82672b8755 7058 * from page one register from 0x12 bit 5 to 7
gume 0:1f82672b8755 7059 *
gume 0:1f82672b8755 7060 * @param data_u8 : The value of accel highg enable
gume 0:1f82672b8755 7061 * data_u8| result
gume 0:1f82672b8755 7062 * ------------ | -------------
gume 0:1f82672b8755 7063 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 7064 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 7065 * @param channel_u8 : The value of accel highg axis selection
gume 0:1f82672b8755 7066 * channel_u8 | value
gume 0:1f82672b8755 7067 * -------------------------- | ----------
gume 0:1f82672b8755 7068 * BNO055_ACCEL_HIGH_G_X_AXIS | 0
gume 0:1f82672b8755 7069 * BNO055_ACCEL_HIGH_G_Y_AXIS | 1
gume 0:1f82672b8755 7070 * BNO055_ACCEL_HIGH_G_Z_AXIS | 2
gume 0:1f82672b8755 7071 *
gume 0:1f82672b8755 7072 * @return results of bus communication function
gume 0:1f82672b8755 7073 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7074 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7075 *
gume 0:1f82672b8755 7076 *
gume 0:1f82672b8755 7077 */
gume 0:1f82672b8755 7078 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_axis_enable(
gume 0:1f82672b8755 7079 u8 channel_u8, u8 data_u8);
gume 0:1f82672b8755 7080 /*****************************************************/
gume 0:1f82672b8755 7081 /**\name FUNCTIONS FOR ACCEL HIGHG DURATION */
gume 0:1f82672b8755 7082 /*****************************************************/
gume 0:1f82672b8755 7083 /*!
gume 0:1f82672b8755 7084 * @brief This API used to read the accel highg duration
gume 0:1f82672b8755 7085 * from page one register from 0x13 bit 0 to 7
gume 0:1f82672b8755 7086 *
gume 0:1f82672b8755 7087 * @param accel_high_g_durn_u8 : The value of accel highg duration
gume 0:1f82672b8755 7088 *
gume 0:1f82672b8755 7089 * @return results of bus communication function
gume 0:1f82672b8755 7090 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7091 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7092 *
gume 0:1f82672b8755 7093 * @note The high-g interrupt trigger delay according
gume 0:1f82672b8755 7094 * to [highg duration + 1] * 2 ms
gume 0:1f82672b8755 7095 *
gume 0:1f82672b8755 7096 * in a range from 2 ms to 512 ms
gume 0:1f82672b8755 7097 *
gume 0:1f82672b8755 7098 */
gume 0:1f82672b8755 7099 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_durn(
gume 0:1f82672b8755 7100 u8 *accel_high_g_durn_u8);
gume 0:1f82672b8755 7101 /*!
gume 0:1f82672b8755 7102 * @brief This API used to write the accel highg duration
gume 0:1f82672b8755 7103 * from page one register from 0x13 bit 0 to 7
gume 0:1f82672b8755 7104 *
gume 0:1f82672b8755 7105 * @param accel_high_g_durn_u8 : The value of accel highg duration
gume 0:1f82672b8755 7106 *
gume 0:1f82672b8755 7107 * @return results of bus communication function
gume 0:1f82672b8755 7108 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7109 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7110 *
gume 0:1f82672b8755 7111 * @note The high-g interrupt trigger delay according
gume 0:1f82672b8755 7112 * to [highg duration + 1] * 2 ms
gume 0:1f82672b8755 7113 *
gume 0:1f82672b8755 7114 * in a range from 2 ms to 512 ms
gume 0:1f82672b8755 7115 *
gume 0:1f82672b8755 7116 */
gume 0:1f82672b8755 7117 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_durn(
gume 0:1f82672b8755 7118 u8 accel_high_g_durn_u8);
gume 0:1f82672b8755 7119 /*****************************************************/
gume 0:1f82672b8755 7120 /**\name FUNCTIONS FOR ACCEL HIGHG THRESHOLD */
gume 0:1f82672b8755 7121 /*****************************************************/
gume 0:1f82672b8755 7122 /*!
gume 0:1f82672b8755 7123 * @brief This API used to read the accel highg threshold
gume 0:1f82672b8755 7124 * from page one register from 0x14 bit 0 to 7
gume 0:1f82672b8755 7125 *
gume 0:1f82672b8755 7126 * @param accel_high_g_thres_u8 : The value of accel highg threshold
gume 0:1f82672b8755 7127 *
gume 0:1f82672b8755 7128 * @return results of bus communication function
gume 0:1f82672b8755 7129 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7130 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7131 *
gume 0:1f82672b8755 7132 * @note Accel highg interrupt threshold dependent
gume 0:1f82672b8755 7133 * for accel g range
gume 0:1f82672b8755 7134 *
gume 0:1f82672b8755 7135 * accel_range_u8 | threshold | LSB
gume 0:1f82672b8755 7136 * ------------- | ------------- | ---------
gume 0:1f82672b8755 7137 * 2g | 7.81mg | 1LSB
gume 0:1f82672b8755 7138 * 4g | 15.63mg | 1LSB
gume 0:1f82672b8755 7139 * 8g | 31.25mg | 1LSB
gume 0:1f82672b8755 7140 * 16g | 62.5mg | 1LSB
gume 0:1f82672b8755 7141 *
gume 0:1f82672b8755 7142 */
gume 0:1f82672b8755 7143 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_high_g_thres(
gume 0:1f82672b8755 7144 u8 *accel_high_g_thres_u8);
gume 0:1f82672b8755 7145 /*!
gume 0:1f82672b8755 7146 * @brief This API used to write the accel highg threshold
gume 0:1f82672b8755 7147 * from page one register from 0x14 bit 0 to 7
gume 0:1f82672b8755 7148 *
gume 0:1f82672b8755 7149 * @param accel_high_g_thres_u8 : The value of accel highg threshold
gume 0:1f82672b8755 7150 *
gume 0:1f82672b8755 7151 * @return results of bus communication function
gume 0:1f82672b8755 7152 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7153 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7154 *
gume 0:1f82672b8755 7155 * @note Accel highg interrupt threshold dependent
gume 0:1f82672b8755 7156 * for accel g range
gume 0:1f82672b8755 7157 *
gume 0:1f82672b8755 7158 * accel_range_u8 | threshold | LSB
gume 0:1f82672b8755 7159 * ------------- | ------------- | ---------
gume 0:1f82672b8755 7160 * 2g | 7.81mg | 1LSB
gume 0:1f82672b8755 7161 * 4g | 15.63mg | 1LSB
gume 0:1f82672b8755 7162 * 8g | 31.25mg | 1LSB
gume 0:1f82672b8755 7163 * 16g | 62.5mg | 1LSB
gume 0:1f82672b8755 7164 *
gume 0:1f82672b8755 7165 */
gume 0:1f82672b8755 7166 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_high_g_thres(
gume 0:1f82672b8755 7167 u8 accel_high_g_thres_u8);
gume 0:1f82672b8755 7168 /**************************************************************/
gume 0:1f82672b8755 7169 /**\name FUNCTIONS FOR ACCEL SLOWNOMOTION THRESHOLD */
gume 0:1f82672b8755 7170 /**************************************************************/
gume 0:1f82672b8755 7171 /*!
gume 0:1f82672b8755 7172 * @brief This API used to read the accel slownomotion threshold
gume 0:1f82672b8755 7173 * from page one register from 0x15 bit 0 to 7
gume 0:1f82672b8755 7174 *
gume 0:1f82672b8755 7175 * @param accel_slow_no_motion_thres_u8 :
gume 0:1f82672b8755 7176 * The value of accel slownomotion threshold
gume 0:1f82672b8755 7177 *
gume 0:1f82672b8755 7178 * @return results of bus communication function
gume 0:1f82672b8755 7179 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7180 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7181 *
gume 0:1f82672b8755 7182 * @note Accel slow no motion interrupt threshold dependent
gume 0:1f82672b8755 7183 * for accel g range
gume 0:1f82672b8755 7184 *
gume 0:1f82672b8755 7185 * accel_range_u8 | threshold | LSB
gume 0:1f82672b8755 7186 * ------------- | ------------- | ---------
gume 0:1f82672b8755 7187 * 2g | 3.19mg | 1LSB
gume 0:1f82672b8755 7188 * 4g | 7.81mg | 1LSB
gume 0:1f82672b8755 7189 * 8g | 15.63mg | 1LSB
gume 0:1f82672b8755 7190 * 16g | 31.25mg | 1LSB
gume 0:1f82672b8755 7191 */
gume 0:1f82672b8755 7192 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_thres(
gume 0:1f82672b8755 7193 u8 *accel_slow_no_motion_thres_u8);
gume 0:1f82672b8755 7194 /*!
gume 0:1f82672b8755 7195 * @brief This API used to write the accel slownomotion threshold
gume 0:1f82672b8755 7196 * from page one register from 0x15 bit 0 to 7
gume 0:1f82672b8755 7197 *
gume 0:1f82672b8755 7198 * @param accel_slow_no_motion_thres_u8 :
gume 0:1f82672b8755 7199 * The value of accel slownomotion threshold
gume 0:1f82672b8755 7200 *
gume 0:1f82672b8755 7201 * @return results of bus communication function
gume 0:1f82672b8755 7202 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7203 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7204 *
gume 0:1f82672b8755 7205 * @note Accel slow no motion interrupt threshold dependent
gume 0:1f82672b8755 7206 * for accel g range
gume 0:1f82672b8755 7207 *
gume 0:1f82672b8755 7208 * accel_range_u8 | threshold | LSB
gume 0:1f82672b8755 7209 * ------------- | ------------- | ---------
gume 0:1f82672b8755 7210 * 2g | 3.19mg | 1LSB
gume 0:1f82672b8755 7211 * 4g | 7.81mg | 1LSB
gume 0:1f82672b8755 7212 * 8g | 15.63mg | 1LSB
gume 0:1f82672b8755 7213 * 16g | 31.25mg | 1LSB
gume 0:1f82672b8755 7214 */
gume 0:1f82672b8755 7215 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_thres(
gume 0:1f82672b8755 7216 u8 accel_slow_no_motion_thres_u8);
gume 0:1f82672b8755 7217 /**************************************************************/
gume 0:1f82672b8755 7218 /**\name FUNCTIONS FOR ACCEL SLOWNOMOTION ENABLE */
gume 0:1f82672b8755 7219 /**************************************************************/
gume 0:1f82672b8755 7220 /*!
gume 0:1f82672b8755 7221 * @brief This API used to read accel slownomotion enable
gume 0:1f82672b8755 7222 * from page one register from 0x16 bit 0
gume 0:1f82672b8755 7223 *
gume 0:1f82672b8755 7224 * @param accel_slow_no_motion_en_u8 : The value of accel slownomotion enable
gume 0:1f82672b8755 7225 * accel_slow_no_motion_en_u8 | result
gume 0:1f82672b8755 7226 * ------------------------ | --------
gume 0:1f82672b8755 7227 * 0x01 | Slow motion
gume 0:1f82672b8755 7228 * 0x00 | No motion
gume 0:1f82672b8755 7229 *
gume 0:1f82672b8755 7230 * @return results of bus communication function
gume 0:1f82672b8755 7231 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7232 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7233 *
gume 0:1f82672b8755 7234 */
gume 0:1f82672b8755 7235 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_enable(
gume 0:1f82672b8755 7236 u8 *accel_slow_no_motion_en_u8);
gume 0:1f82672b8755 7237 /*!
gume 0:1f82672b8755 7238 * @brief This API used to write accel slownomotion enable
gume 0:1f82672b8755 7239 * from page one register from 0x16 bit 0
gume 0:1f82672b8755 7240 *
gume 0:1f82672b8755 7241 * @param accel_slow_no_motion_en_u8 : The value of accel slownomotion enable
gume 0:1f82672b8755 7242 * accel_slow_no_motion_en_u8 | result
gume 0:1f82672b8755 7243 * ------------------------ | --------
gume 0:1f82672b8755 7244 * 0x01 | Slow motion
gume 0:1f82672b8755 7245 * 0x00 | No motion
gume 0:1f82672b8755 7246 *
gume 0:1f82672b8755 7247 * @return results of bus communication function
gume 0:1f82672b8755 7248 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7249 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7250 *
gume 0:1f82672b8755 7251 */
gume 0:1f82672b8755 7252 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_enable(
gume 0:1f82672b8755 7253 u8 accel_slow_no_motion_en_u8);
gume 0:1f82672b8755 7254 /**************************************************************/
gume 0:1f82672b8755 7255 /**\name FUNCTIONS FOR ACCEL SLOWNOMOTION DURATION */
gume 0:1f82672b8755 7256 /**************************************************************/
gume 0:1f82672b8755 7257 /*!
gume 0:1f82672b8755 7258 * @brief This API used to read accel slownomotion duration
gume 0:1f82672b8755 7259 * from page one register from 0x16 bit 1 to 6
gume 0:1f82672b8755 7260 *
gume 0:1f82672b8755 7261 * @param accel_slow_no_motion_durn_u8 :
gume 0:1f82672b8755 7262 * The value of accel slownomotion duration
gume 0:1f82672b8755 7263 *
gume 0:1f82672b8755 7264 * @return results of bus communication function
gume 0:1f82672b8755 7265 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7266 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7267 *
gume 0:1f82672b8755 7268 */
gume 0:1f82672b8755 7269 BNO055_RETURN_FUNCTION_TYPE bno055_get_accel_slow_no_motion_durn(
gume 0:1f82672b8755 7270 u8 *accel_slow_no_motion_durn_u8);
gume 0:1f82672b8755 7271 /*!
gume 0:1f82672b8755 7272 * @brief This API used to write accel slownomotion duration
gume 0:1f82672b8755 7273 * from page one register from 0x16 bit 1 to 6
gume 0:1f82672b8755 7274 *
gume 0:1f82672b8755 7275 * @param accel_slow_no_motion_durn_u8 :
gume 0:1f82672b8755 7276 * The value of accel slownomotion duration
gume 0:1f82672b8755 7277 *
gume 0:1f82672b8755 7278 * @return results of bus communication function
gume 0:1f82672b8755 7279 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7280 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7281 *
gume 0:1f82672b8755 7282 */
gume 0:1f82672b8755 7283 BNO055_RETURN_FUNCTION_TYPE bno055_set_accel_slow_no_motion_durn(
gume 0:1f82672b8755 7284 u8 accel_slow_no_motion_durn_u8);
gume 0:1f82672b8755 7285 /**************************************************************/
gume 0:1f82672b8755 7286 /**\name FUNCTIONS FOR GYRO ANY_MOTION AXIS ENABLE */
gume 0:1f82672b8755 7287 /**************************************************************/
gume 0:1f82672b8755 7288 /*!
gume 0:1f82672b8755 7289 * @brief This API used to read the gyro anymotion enable
gume 0:1f82672b8755 7290 * from page one register from 0x17 bit 0 to 2
gume 0:1f82672b8755 7291 *
gume 0:1f82672b8755 7292 * @param data_u8 : The value of gyro anymotion enable
gume 0:1f82672b8755 7293 * data_u8 | result
gume 0:1f82672b8755 7294 * ----------------- |-------------
gume 0:1f82672b8755 7295 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 7296 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 7297 * @param channel_u8 : The value of gyro anymotion axis selection
gume 0:1f82672b8755 7298 * channel_u8 | value
gume 0:1f82672b8755 7299 * --------------------------- | ----------
gume 0:1f82672b8755 7300 * BNO055_GYRO_ANY_MOTIONX_AXIS | 0
gume 0:1f82672b8755 7301 * BNO055_GYRO_ANY_MOTIONY_AXIS | 1
gume 0:1f82672b8755 7302 * BNO055_GYRO_ANY_MOTIONZ_AXIS | 2
gume 0:1f82672b8755 7303 *
gume 0:1f82672b8755 7304 *
gume 0:1f82672b8755 7305 * @return results of bus communication function
gume 0:1f82672b8755 7306 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7307 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7308 *
gume 0:1f82672b8755 7309 *
gume 0:1f82672b8755 7310 */
gume 0:1f82672b8755 7311 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_axis_enable(
gume 0:1f82672b8755 7312 u8 channel_u8, u8 *data_u8);
gume 0:1f82672b8755 7313 /*!
gume 0:1f82672b8755 7314 * @brief This API used to write the gyro anymotion enable
gume 0:1f82672b8755 7315 * from page one register from 0x17 bit 0 to 2
gume 0:1f82672b8755 7316 *
gume 0:1f82672b8755 7317 * @param data_u8 : The value of gyro anymotion enable
gume 0:1f82672b8755 7318 * data_u8 | result
gume 0:1f82672b8755 7319 * ----------------- |-------------
gume 0:1f82672b8755 7320 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 7321 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 7322 * @param channel_u8 : The value of gyro anymotion axis selection
gume 0:1f82672b8755 7323 * channel_u8 | value
gume 0:1f82672b8755 7324 * --------------------------- | ----------
gume 0:1f82672b8755 7325 * BNO055_GYRO_ANY_MOTIONX_AXIS | 0
gume 0:1f82672b8755 7326 * BNO055_GYRO_ANY_MOTIONY_AXIS | 1
gume 0:1f82672b8755 7327 * BNO055_GYRO_ANY_MOTIONZ_AXIS | 2
gume 0:1f82672b8755 7328 *
gume 0:1f82672b8755 7329 * @return results of bus communication function
gume 0:1f82672b8755 7330 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7331 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7332 *
gume 0:1f82672b8755 7333 *
gume 0:1f82672b8755 7334 */
gume 0:1f82672b8755 7335 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_axis_enable(
gume 0:1f82672b8755 7336 u8 channel_u8, u8 data_u8);
gume 0:1f82672b8755 7337 /**************************************************************/
gume 0:1f82672b8755 7338 /**\name FUNCTIONS FOR GYRO HIGHRATE ENABLE */
gume 0:1f82672b8755 7339 /**************************************************************/
gume 0:1f82672b8755 7340 /*!
gume 0:1f82672b8755 7341 * @brief This API used to read the gyro highrate enable
gume 0:1f82672b8755 7342 * from page one register from 0x17 bit 3 to 5
gume 0:1f82672b8755 7343 *
gume 0:1f82672b8755 7344 * @param data_u8 : The value of gyro highrate enable
gume 0:1f82672b8755 7345 * data_u8 | result
gume 0:1f82672b8755 7346 * ---------------- |-------------
gume 0:1f82672b8755 7347 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 7348 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 7349 * @param channel_u8 : The value of gyro highrate axis selection
gume 0:1f82672b8755 7350 * channel_u8 | value
gume 0:1f82672b8755 7351 * ------------------------ | ----------
gume 0:1f82672b8755 7352 * BNO055_GYRO_HIGHRATE_X_AXIS | 0
gume 0:1f82672b8755 7353 * BNO055_GYRO_HIGHRATE_Y_AXIS | 1
gume 0:1f82672b8755 7354 * BNO055_GYRO_HIGHRATE_Z_AXIS | 2
gume 0:1f82672b8755 7355 *
gume 0:1f82672b8755 7356 *
gume 0:1f82672b8755 7357 * @return results of bus communication function
gume 0:1f82672b8755 7358 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7359 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7360 *
gume 0:1f82672b8755 7361 *
gume 0:1f82672b8755 7362 */
gume 0:1f82672b8755 7363 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_axis_enable(
gume 0:1f82672b8755 7364 u8 channel_u8, u8 *data_u8);
gume 0:1f82672b8755 7365 /**************************************************************/
gume 0:1f82672b8755 7366 /**\name FUNCTIONS FOR GYRO HIGHRATE AXIS ENABLE */
gume 0:1f82672b8755 7367 /**************************************************************/
gume 0:1f82672b8755 7368 /*!
gume 0:1f82672b8755 7369 * @brief This API used to write the gyro highrate enable
gume 0:1f82672b8755 7370 * from page one register from 0x17 bit 3 to 5
gume 0:1f82672b8755 7371 *
gume 0:1f82672b8755 7372 * @param data_u8 : The value of gyro highrate enable
gume 0:1f82672b8755 7373 * data_u8 | result
gume 0:1f82672b8755 7374 * ---------------- |-------------
gume 0:1f82672b8755 7375 * 0x01 | BNO055_BIT_ENABLE
gume 0:1f82672b8755 7376 * 0x00 | BNO055_BIT_DISABLE
gume 0:1f82672b8755 7377 * @param channel_u8 : The value of gyro highrate axis selection
gume 0:1f82672b8755 7378 * channel_u8 | value
gume 0:1f82672b8755 7379 * ------------------------ | ----------
gume 0:1f82672b8755 7380 * BNO055_GYRO_HIGHRATE_X_AXIS | 0
gume 0:1f82672b8755 7381 * BNO055_GYRO_HIGHRATE_Y_AXIS | 1
gume 0:1f82672b8755 7382 * BNO055_GYRO_HIGHRATE_Z_AXIS | 2
gume 0:1f82672b8755 7383 *
gume 0:1f82672b8755 7384 * @return results of bus communication function
gume 0:1f82672b8755 7385 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7386 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7387 *
gume 0:1f82672b8755 7388 *
gume 0:1f82672b8755 7389 */
gume 0:1f82672b8755 7390 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_axis_enable(
gume 0:1f82672b8755 7391 u8 channel_u8, u8 data_u8);
gume 0:1f82672b8755 7392 /**************************************************************/
gume 0:1f82672b8755 7393 /**\name FUNCTIONS FOR GYRO ANY_MOTION FILTER */
gume 0:1f82672b8755 7394 /**************************************************************/
gume 0:1f82672b8755 7395 /*!
gume 0:1f82672b8755 7396 * @brief This API used to read gyro anymotion filter
gume 0:1f82672b8755 7397 * from page one register from 0x17 bit 6
gume 0:1f82672b8755 7398 *
gume 0:1f82672b8755 7399 * @param gyro_any_motion_filter_u8 : The value of gyro anymotion filter
gume 0:1f82672b8755 7400 * gyro_any_motion_filter_u8 | result
gume 0:1f82672b8755 7401 * --------------------------- |------------
gume 0:1f82672b8755 7402 * 0x00 | BNO055_GYRO_FILTERED_CONFIG
gume 0:1f82672b8755 7403 * 0x01 | BNO055_GYRO_UNFILTERED_CONFIG
gume 0:1f82672b8755 7404 *
gume 0:1f82672b8755 7405 * @return results of bus communication function
gume 0:1f82672b8755 7406 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7407 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7408 *
gume 0:1f82672b8755 7409 */
gume 0:1f82672b8755 7410 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_filter(
gume 0:1f82672b8755 7411 u8 *gyro_any_motion_filter_u8);
gume 0:1f82672b8755 7412 /*!
gume 0:1f82672b8755 7413 * @brief This API used to write gyro anymotion filter
gume 0:1f82672b8755 7414 * from page one register from 0x17 bit 6
gume 0:1f82672b8755 7415 *
gume 0:1f82672b8755 7416 * @param gyro_any_motion_filter_u8 : The value of gyro anymotion filter
gume 0:1f82672b8755 7417 * gyro_any_motion_filter_u8 | result
gume 0:1f82672b8755 7418 * --------------------------- |------------
gume 0:1f82672b8755 7419 * 0x00 | BNO055_GYRO_FILTERED_CONFIG
gume 0:1f82672b8755 7420 * 0x01 | BNO055_GYRO_UNFILTERED_CONFIG
gume 0:1f82672b8755 7421 *
gume 0:1f82672b8755 7422 * @return results of bus communication function
gume 0:1f82672b8755 7423 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7424 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7425 *
gume 0:1f82672b8755 7426 */
gume 0:1f82672b8755 7427 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_filter(
gume 0:1f82672b8755 7428 u8 gyro_any_motion_filter_u8);
gume 0:1f82672b8755 7429 /**************************************************************/
gume 0:1f82672b8755 7430 /**\name FUNCTIONS FOR GYRO HIGHRATE FILTER */
gume 0:1f82672b8755 7431 /**************************************************************/
gume 0:1f82672b8755 7432 /*!
gume 0:1f82672b8755 7433 * @brief This API used to read gyro highrate filter
gume 0:1f82672b8755 7434 * from page one register from 0x17 bit 7
gume 0:1f82672b8755 7435 *
gume 0:1f82672b8755 7436 * @param gyro_highrate_filter_u8 : The value of gyro highrate filter
gume 0:1f82672b8755 7437 * gyro_highrate_filter_u8 | result
gume 0:1f82672b8755 7438 * --------------------------- |------------
gume 0:1f82672b8755 7439 * 0x00 | BNO055_GYRO_FILTERED_CONFIG
gume 0:1f82672b8755 7440 * 0x01 | BNO055_GYRO_UNFILTERED_CONFIG
gume 0:1f82672b8755 7441 *
gume 0:1f82672b8755 7442 * @return results of bus communication function
gume 0:1f82672b8755 7443 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7444 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7445 *
gume 0:1f82672b8755 7446 */
gume 0:1f82672b8755 7447 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_filter(
gume 0:1f82672b8755 7448 u8 *gyro_highrate_filter_u8);
gume 0:1f82672b8755 7449 /*!
gume 0:1f82672b8755 7450 * @brief This API used to write gyro highrate filter
gume 0:1f82672b8755 7451 * from page one register from 0x17 bit 7
gume 0:1f82672b8755 7452 *
gume 0:1f82672b8755 7453 * @param gyro_highrate_filter_u8 : The value of gyro highrate filter
gume 0:1f82672b8755 7454 * gyro_highrate_filter_u8 | result
gume 0:1f82672b8755 7455 * --------------------------- |------------
gume 0:1f82672b8755 7456 * 0x00 | BNO055_GYRO_FILTERED_CONFIG
gume 0:1f82672b8755 7457 * 0x01 | BNO055_GYRO_UNFILTERED_CONFIG
gume 0:1f82672b8755 7458 *
gume 0:1f82672b8755 7459 * @return results of bus communication function
gume 0:1f82672b8755 7460 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7461 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7462 *
gume 0:1f82672b8755 7463 */
gume 0:1f82672b8755 7464 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_filter(
gume 0:1f82672b8755 7465 u8 gyro_highrate_filter_u8);
gume 0:1f82672b8755 7466 /**************************************************************/
gume 0:1f82672b8755 7467 /**\name FUNCTIONS FOR GYRO HIGHRATE X THRESHOLD */
gume 0:1f82672b8755 7468 /**************************************************************/
gume 0:1f82672b8755 7469 /*!
gume 0:1f82672b8755 7470 * @brief This API used to read gyro highrate x threshold
gume 0:1f82672b8755 7471 * from page one register from 0x18 bit 0 to 4
gume 0:1f82672b8755 7472 *
gume 0:1f82672b8755 7473 * @param gyro_highrate_x_thres_u8 : The value of gyro x highrate threshold
gume 0:1f82672b8755 7474 *
gume 0:1f82672b8755 7475 * @return results of bus communication function
gume 0:1f82672b8755 7476 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7477 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7478 *
gume 0:1f82672b8755 7479 * @note Gyro highrate threshold dependent on the
gume 0:1f82672b8755 7480 * selection of gyro range
gume 0:1f82672b8755 7481 *
gume 0:1f82672b8755 7482 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7483 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7484 * 2000 | 62.5dps | 1LSB
gume 0:1f82672b8755 7485 * 1000 | 31.25dps | 1LSB
gume 0:1f82672b8755 7486 * 500 | 15.625dps | 1LSB
gume 0:1f82672b8755 7487 * 125 | 7.8125dps | 1LSB
gume 0:1f82672b8755 7488 *
gume 0:1f82672b8755 7489 */
gume 0:1f82672b8755 7490 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_thres(
gume 0:1f82672b8755 7491 u8 *gyro_highrate_x_thres_u8);
gume 0:1f82672b8755 7492 /*!
gume 0:1f82672b8755 7493 * @brief This API used to write gyro highrate x threshold
gume 0:1f82672b8755 7494 * from page one register from 0x18 bit 0 to 4
gume 0:1f82672b8755 7495 *
gume 0:1f82672b8755 7496 * @param gyro_highrate_x_thres_u8 : The value of gyro x highrate threshold
gume 0:1f82672b8755 7497 *
gume 0:1f82672b8755 7498 * @return results of bus communication function
gume 0:1f82672b8755 7499 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7500 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7501 *
gume 0:1f82672b8755 7502 * @note Gyro highrate threshold dependent on the
gume 0:1f82672b8755 7503 * selection of gyro range
gume 0:1f82672b8755 7504 *
gume 0:1f82672b8755 7505 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7506 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7507 * 2000 | 62.5dps | 1LSB
gume 0:1f82672b8755 7508 * 1000 | 31.25dps | 1LSB
gume 0:1f82672b8755 7509 * 500 | 15.625dps | 1LSB
gume 0:1f82672b8755 7510 * 125 | 7.8125dps | 1LSB
gume 0:1f82672b8755 7511 *
gume 0:1f82672b8755 7512 */
gume 0:1f82672b8755 7513 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_thres(
gume 0:1f82672b8755 7514 u8 gyro_highrate_x_thres_u8);
gume 0:1f82672b8755 7515 /**************************************************************/
gume 0:1f82672b8755 7516 /**\name FUNCTIONS FOR GYRO HIGHRATE X HYSTERESIS */
gume 0:1f82672b8755 7517 /**************************************************************/
gume 0:1f82672b8755 7518 /*!
gume 0:1f82672b8755 7519 * @brief This API used to read gyro highrate x hysteresis
gume 0:1f82672b8755 7520 * from page one register from 0x18 bit 5 to 6
gume 0:1f82672b8755 7521 *
gume 0:1f82672b8755 7522 * @param gyro_highrate_x_hyst_u8 : The value of gyro highrate x hysteresis
gume 0:1f82672b8755 7523 *
gume 0:1f82672b8755 7524 * @return results of bus communication function
gume 0:1f82672b8755 7525 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7526 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7527 *
gume 0:1f82672b8755 7528 * @note Gyro high rate hysteresis calculated by
gume 0:1f82672b8755 7529 *
gume 0:1f82672b8755 7530 * using this (255 + 256 * gyro_highrate_x_hyst_u8) *4 LSB
gume 0:1f82672b8755 7531 *
gume 0:1f82672b8755 7532 * The high rate value scales with the range setting
gume 0:1f82672b8755 7533 *
gume 0:1f82672b8755 7534 * gyro_range_u8 | hysteresis | LSB
gume 0:1f82672b8755 7535 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7536 * 2000 | 62.26dps | 1LSB
gume 0:1f82672b8755 7537 * 1000 | 31.13dps | 1LSB
gume 0:1f82672b8755 7538 * 500 | 15.56dps | 1LSB
gume 0:1f82672b8755 7539 *
gume 0:1f82672b8755 7540 */
gume 0:1f82672b8755 7541 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_hyst(
gume 0:1f82672b8755 7542 u8 *gyro_highrate_x_hyst_u8);
gume 0:1f82672b8755 7543 /*!
gume 0:1f82672b8755 7544 * @brief This API used to write gyro highrate x hysteresis
gume 0:1f82672b8755 7545 * from page one register from 0x18 bit 5 to 6
gume 0:1f82672b8755 7546 *
gume 0:1f82672b8755 7547 * @param gyro_highrate_x_hyst_u8 : The value of gyro highrate x hysteresis
gume 0:1f82672b8755 7548 *
gume 0:1f82672b8755 7549 * @return results of bus communication function
gume 0:1f82672b8755 7550 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7551 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7552 *
gume 0:1f82672b8755 7553 * @note Gyro high rate hysteresis calculated by
gume 0:1f82672b8755 7554 *
gume 0:1f82672b8755 7555 * using this (255 + 256 * gyro_highrate_x_hyst_u8) *4 LSB
gume 0:1f82672b8755 7556 *
gume 0:1f82672b8755 7557 * The high rate value scales with the range setting
gume 0:1f82672b8755 7558 *
gume 0:1f82672b8755 7559 * gyro_range_u8 | hysteresis | LSB
gume 0:1f82672b8755 7560 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7561 * 2000 | 62.26dps | 1LSB
gume 0:1f82672b8755 7562 * 1000 | 31.13dps | 1LSB
gume 0:1f82672b8755 7563 * 500 | 15.56dps | 1LSB
gume 0:1f82672b8755 7564 *
gume 0:1f82672b8755 7565 */
gume 0:1f82672b8755 7566 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_hyst(
gume 0:1f82672b8755 7567 u8 gyro_highrate_x_hyst_u8);
gume 0:1f82672b8755 7568 /**************************************************************/
gume 0:1f82672b8755 7569 /**\name FUNCTIONS FOR GYRO HIGHRATE X DURATION */
gume 0:1f82672b8755 7570 /**************************************************************/
gume 0:1f82672b8755 7571 /*!
gume 0:1f82672b8755 7572 * @brief This API used to read gyro highrate x duration
gume 0:1f82672b8755 7573 * from page one register from 0x19 bit 0 to 7
gume 0:1f82672b8755 7574 *
gume 0:1f82672b8755 7575 * @param gyro_highrate_x_durn_u8 : The value of gyro highrate x duration
gume 0:1f82672b8755 7576 *
gume 0:1f82672b8755 7577 * @return results of bus communication function
gume 0:1f82672b8755 7578 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7579 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7580 *
gume 0:1f82672b8755 7581 * @note Gyro highrate duration calculate by using the formula
gume 0:1f82672b8755 7582 *
gume 0:1f82672b8755 7583 * (1 + gyro_highrate_x_durn_u8)*2.5ms
gume 0:1f82672b8755 7584 *
gume 0:1f82672b8755 7585 */
gume 0:1f82672b8755 7586 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_x_durn(
gume 0:1f82672b8755 7587 u8 *gyro_highrate_x_durn_u8);
gume 0:1f82672b8755 7588 /*!
gume 0:1f82672b8755 7589 * @brief This API used to write gyro highrate x duration
gume 0:1f82672b8755 7590 * from page one register from 0x19 bit 0 to 7
gume 0:1f82672b8755 7591 *
gume 0:1f82672b8755 7592 * @param gyro_highrate_x_durn_u8 : The value of gyro highrate x duration
gume 0:1f82672b8755 7593 *
gume 0:1f82672b8755 7594 * @return results of bus communication function
gume 0:1f82672b8755 7595 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7596 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7597 *
gume 0:1f82672b8755 7598 * @note Gyro highrate duration calculate by using the formula
gume 0:1f82672b8755 7599 *
gume 0:1f82672b8755 7600 * (1 + gyro_highrate_x_durn_u8)*2.5ms
gume 0:1f82672b8755 7601 */
gume 0:1f82672b8755 7602 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_x_durn(
gume 0:1f82672b8755 7603 u8 gyro_highrate_x_durn_u8);
gume 0:1f82672b8755 7604 /**************************************************************/
gume 0:1f82672b8755 7605 /**\name FUNCTIONS FOR GYRO HIGHRATE Y THRESHOLD */
gume 0:1f82672b8755 7606 /**************************************************************/
gume 0:1f82672b8755 7607 /*!
gume 0:1f82672b8755 7608 * @brief This API used to read gyro highrate y threshold
gume 0:1f82672b8755 7609 * from page one register from 0x1A bit 0 to 4
gume 0:1f82672b8755 7610 *
gume 0:1f82672b8755 7611 * @param gyro_highrate_y_thres_u8 : The value of gyro highrate y threshold
gume 0:1f82672b8755 7612 *
gume 0:1f82672b8755 7613 * @return results of bus communication function
gume 0:1f82672b8755 7614 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7615 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7616 *
gume 0:1f82672b8755 7617 * @note Gyro highrate threshold dependent on the
gume 0:1f82672b8755 7618 * selection of gyro range
gume 0:1f82672b8755 7619 *
gume 0:1f82672b8755 7620 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7621 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7622 * 2000 | 62.5dps | 1LSB
gume 0:1f82672b8755 7623 * 1000 | 31.25dps | 1LSB
gume 0:1f82672b8755 7624 * 500 | 15.625dps | 1LSB
gume 0:1f82672b8755 7625 * 125 | 7.8125dps | 1LSB
gume 0:1f82672b8755 7626 *
gume 0:1f82672b8755 7627 */
gume 0:1f82672b8755 7628 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_thres(
gume 0:1f82672b8755 7629 u8 *gyro_highrate_y_thres_u8);
gume 0:1f82672b8755 7630 /*!
gume 0:1f82672b8755 7631 * @brief This API used to write gyro highrate y threshold
gume 0:1f82672b8755 7632 * from page one register from 0x1A bit 0 to 4
gume 0:1f82672b8755 7633 *
gume 0:1f82672b8755 7634 * @param gyro_highrate_y_thres_u8 : The value of gyro highrate y threshold
gume 0:1f82672b8755 7635 *
gume 0:1f82672b8755 7636 * @return results of bus communication function
gume 0:1f82672b8755 7637 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7638 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7639 *
gume 0:1f82672b8755 7640 * @note Gyro highrate threshold dependent on the
gume 0:1f82672b8755 7641 * selection of gyro range
gume 0:1f82672b8755 7642 *
gume 0:1f82672b8755 7643 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7644 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7645 * 2000 | 62.5dps | 1LSB
gume 0:1f82672b8755 7646 * 1000 | 31.25dps | 1LSB
gume 0:1f82672b8755 7647 * 500 | 15.625dps | 1LSB
gume 0:1f82672b8755 7648 * 125 | 7.8125dps | 1LSB
gume 0:1f82672b8755 7649 *
gume 0:1f82672b8755 7650 */
gume 0:1f82672b8755 7651 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_thres(
gume 0:1f82672b8755 7652 u8 gyro_highrate_y_thres_u8);
gume 0:1f82672b8755 7653 /**************************************************************/
gume 0:1f82672b8755 7654 /**\name FUNCTIONS FOR GYRO HIGHRATE Y HYSTERESIS */
gume 0:1f82672b8755 7655 /**************************************************************/
gume 0:1f82672b8755 7656 /*!
gume 0:1f82672b8755 7657 * @brief This API used to read gyro highrate y hysteresis
gume 0:1f82672b8755 7658 * from page one register from 0x1A bit 5 to 6
gume 0:1f82672b8755 7659 *
gume 0:1f82672b8755 7660 * @param gyro_highrate_y_hyst_u8 : The value of gyro highrate y hysteresis
gume 0:1f82672b8755 7661 *
gume 0:1f82672b8755 7662 * @return results of bus communication function
gume 0:1f82672b8755 7663 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7664 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7665 *
gume 0:1f82672b8755 7666 * @note Gyro high rate hysteresis calculated by
gume 0:1f82672b8755 7667 *
gume 0:1f82672b8755 7668 * using this (255 + 256 * gyro_highrate_y_hyst_u8) *4 LSB
gume 0:1f82672b8755 7669 *
gume 0:1f82672b8755 7670 * The high rate value scales with the range setting
gume 0:1f82672b8755 7671 *
gume 0:1f82672b8755 7672 * gyro_range_u8 | hysteresis | LSB
gume 0:1f82672b8755 7673 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7674 * 2000 | 62.26dps | 1LSB
gume 0:1f82672b8755 7675 * 1000 | 31.13dps | 1LSB
gume 0:1f82672b8755 7676 * 500 | 15.56dps | 1LSB
gume 0:1f82672b8755 7677 */
gume 0:1f82672b8755 7678 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_hyst(
gume 0:1f82672b8755 7679 u8 *gyro_highrate_y_hyst_u8);
gume 0:1f82672b8755 7680 /*!
gume 0:1f82672b8755 7681 * @brief This API used to write gyro highrate y hysteresis
gume 0:1f82672b8755 7682 * from page one register from 0x1A bit 5 to 6
gume 0:1f82672b8755 7683 *
gume 0:1f82672b8755 7684 * @param gyro_highrate_y_hyst_u8 : The value of gyro highrate y hysteresis
gume 0:1f82672b8755 7685 *
gume 0:1f82672b8755 7686 * @return results of bus communication function
gume 0:1f82672b8755 7687 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7688 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7689 *
gume 0:1f82672b8755 7690 * @note Gyro high rate hysteresis calculated by
gume 0:1f82672b8755 7691 *
gume 0:1f82672b8755 7692 * using this (255 + 256 * gyro_highrate_y_hyst_u8) *4 LSB
gume 0:1f82672b8755 7693 *
gume 0:1f82672b8755 7694 * The high rate value scales with the range setting
gume 0:1f82672b8755 7695 *
gume 0:1f82672b8755 7696 * gyro_range_u8 | hysteresis | LSB
gume 0:1f82672b8755 7697 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7698 * 2000 | 62.26dps | 1LSB
gume 0:1f82672b8755 7699 * 1000 | 31.13dps | 1LSB
gume 0:1f82672b8755 7700 * 500 | 15.56dps | 1LSB
gume 0:1f82672b8755 7701 */
gume 0:1f82672b8755 7702 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_hyst(
gume 0:1f82672b8755 7703 u8 gyro_highrate_y_hyst_u8);
gume 0:1f82672b8755 7704 /**************************************************************/
gume 0:1f82672b8755 7705 /**\name FUNCTIONS FOR GYRO HIGHRATE Y DURATION */
gume 0:1f82672b8755 7706 /**************************************************************/
gume 0:1f82672b8755 7707 /*!
gume 0:1f82672b8755 7708 * @brief This API used to read gyro highrate y duration
gume 0:1f82672b8755 7709 * from page one register from 0x1B bit 0 to 7
gume 0:1f82672b8755 7710 *
gume 0:1f82672b8755 7711 * @param gyro_highrate_y_durn_u8 : The value of gyro highrate y duration
gume 0:1f82672b8755 7712 *
gume 0:1f82672b8755 7713 * @return results of bus communication function
gume 0:1f82672b8755 7714 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7715 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7716 *
gume 0:1f82672b8755 7717 * @note Gyro highrate duration calculate by using the formula
gume 0:1f82672b8755 7718 *
gume 0:1f82672b8755 7719 * (1 + gyro_highrate_y_durn_u8)*2.5ms
gume 0:1f82672b8755 7720 */
gume 0:1f82672b8755 7721 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_y_durn(
gume 0:1f82672b8755 7722 u8 *gyro_highrate_y_durn_u8);
gume 0:1f82672b8755 7723 /*!
gume 0:1f82672b8755 7724 * @brief This API used to write gyro highrate y duration
gume 0:1f82672b8755 7725 * from page one register from 0x1B bit 0 to 7
gume 0:1f82672b8755 7726 *
gume 0:1f82672b8755 7727 * @param gyro_highrate_y_durn_u8 : The value of gyro highrate y duration
gume 0:1f82672b8755 7728 *
gume 0:1f82672b8755 7729 * @return results of bus communication function
gume 0:1f82672b8755 7730 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7731 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7732 *
gume 0:1f82672b8755 7733 * @note Gyro highrate duration calculate by using the formula
gume 0:1f82672b8755 7734 *
gume 0:1f82672b8755 7735 * (1 + gyro_highrate_y_durn_u8)*2.5ms
gume 0:1f82672b8755 7736 */
gume 0:1f82672b8755 7737 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_y_durn(
gume 0:1f82672b8755 7738 u8 gyro_highrate_y_durn_u8);
gume 0:1f82672b8755 7739 /**************************************************************/
gume 0:1f82672b8755 7740 /**\name FUNCTIONS FOR GYRO HIGHRATE Z THRESHOLD */
gume 0:1f82672b8755 7741 /**************************************************************/
gume 0:1f82672b8755 7742 /*!
gume 0:1f82672b8755 7743 * @brief This API used to read gyro highrate z threshold
gume 0:1f82672b8755 7744 * from page one register from 0x1C bit 0 to 4
gume 0:1f82672b8755 7745 *
gume 0:1f82672b8755 7746 * @param gyro_highrate_z_thres_u8 : The value of gyro highrate z threshold
gume 0:1f82672b8755 7747 *
gume 0:1f82672b8755 7748 * @return results of bus communication function
gume 0:1f82672b8755 7749 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7750 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7751 *
gume 0:1f82672b8755 7752 * @note Gyro highrate threshold dependent on the
gume 0:1f82672b8755 7753 * selection of gyro range
gume 0:1f82672b8755 7754 *
gume 0:1f82672b8755 7755 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7756 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7757 * 2000 | 62.5dps | 1LSB
gume 0:1f82672b8755 7758 * 1000 | 31.25dps | 1LSB
gume 0:1f82672b8755 7759 * 500 | 15.625dps | 1LSB
gume 0:1f82672b8755 7760 * 125 | 7.8125dps | 1LSB
gume 0:1f82672b8755 7761 *
gume 0:1f82672b8755 7762 */
gume 0:1f82672b8755 7763 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_thres(
gume 0:1f82672b8755 7764 u8 *gyro_highrate_z_thres_u8);
gume 0:1f82672b8755 7765 /*!
gume 0:1f82672b8755 7766 * @brief This API used to write gyro highrate z threshold
gume 0:1f82672b8755 7767 * from page one register from 0x1C bit 0 to 4
gume 0:1f82672b8755 7768 *
gume 0:1f82672b8755 7769 * @param gyro_highrate_z_thres_u8 : The value of gyro highrate z threshold
gume 0:1f82672b8755 7770 *
gume 0:1f82672b8755 7771 * @return results of bus communication function
gume 0:1f82672b8755 7772 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7773 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7774 *
gume 0:1f82672b8755 7775 * @note Gyro highrate threshold dependent on the
gume 0:1f82672b8755 7776 * selection of gyro range
gume 0:1f82672b8755 7777 *
gume 0:1f82672b8755 7778 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7779 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7780 * 2000 | 62.5dps | 1LSB
gume 0:1f82672b8755 7781 * 1000 | 31.25dps | 1LSB
gume 0:1f82672b8755 7782 * 500 | 15.625dps | 1LSB
gume 0:1f82672b8755 7783 * 125 | 7.8125dps | 1LSB
gume 0:1f82672b8755 7784 *
gume 0:1f82672b8755 7785 */
gume 0:1f82672b8755 7786 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_thres(
gume 0:1f82672b8755 7787 u8 gyro_highrate_z_thres_u8);
gume 0:1f82672b8755 7788 /**************************************************************/
gume 0:1f82672b8755 7789 /**\name FUNCTIONS FOR GYRO HIGHRATE Z HYSTERESIS */
gume 0:1f82672b8755 7790 /**************************************************************/
gume 0:1f82672b8755 7791 /*!
gume 0:1f82672b8755 7792 * @brief This API used to read gyro highrate z hysteresis
gume 0:1f82672b8755 7793 * from page one register from 0x1C bit 5 to 6
gume 0:1f82672b8755 7794 *
gume 0:1f82672b8755 7795 * @param gyro_highrate_z_hyst_u8 : The value of gyro highrate z hysteresis
gume 0:1f82672b8755 7796 *
gume 0:1f82672b8755 7797 * @return results of bus communication function
gume 0:1f82672b8755 7798 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7799 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7800 *
gume 0:1f82672b8755 7801 * @note Gyro high rate hysteresis calculated by
gume 0:1f82672b8755 7802 *
gume 0:1f82672b8755 7803 * using this (255 + 256 * gyro_highrate_z_hyst_u8) *4 LSB
gume 0:1f82672b8755 7804 *
gume 0:1f82672b8755 7805 * The high rate value scales with the range setting
gume 0:1f82672b8755 7806 *
gume 0:1f82672b8755 7807 * gyro_range_u8 | hysteresis | LSB
gume 0:1f82672b8755 7808 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7809 * 2000 | 62.26dps | 1LSB
gume 0:1f82672b8755 7810 * 1000 | 31.13dps | 1LSB
gume 0:1f82672b8755 7811 * 500 | 15.56dps | 1LSB
gume 0:1f82672b8755 7812 */
gume 0:1f82672b8755 7813 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_hyst(
gume 0:1f82672b8755 7814 u8 *gyro_highrate_z_hyst_u8);
gume 0:1f82672b8755 7815 /*!
gume 0:1f82672b8755 7816 * @brief This API used to write gyro highrate z hysteresis
gume 0:1f82672b8755 7817 * from page one register from 0x1C bit 5 to 6
gume 0:1f82672b8755 7818 *
gume 0:1f82672b8755 7819 * @param gyro_highrate_z_hyst_u8 : The value of gyro highrate z hysteresis
gume 0:1f82672b8755 7820 *
gume 0:1f82672b8755 7821 * @return results of bus communication function
gume 0:1f82672b8755 7822 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7823 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7824 *
gume 0:1f82672b8755 7825 * @note Gyro high rate hysteresis calculated by
gume 0:1f82672b8755 7826 *
gume 0:1f82672b8755 7827 * using this (255 + 256 * gyro_highrate_z_hyst_u8) *4 LSB
gume 0:1f82672b8755 7828 *
gume 0:1f82672b8755 7829 * The high rate value scales with the range setting
gume 0:1f82672b8755 7830 *
gume 0:1f82672b8755 7831 * gyro_range_u8 | hysteresis | LSB
gume 0:1f82672b8755 7832 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7833 * 2000 | 62.26dps | 1LSB
gume 0:1f82672b8755 7834 * 1000 | 31.13dps | 1LSB
gume 0:1f82672b8755 7835 * 500 | 15.56dps | 1LSB
gume 0:1f82672b8755 7836 */
gume 0:1f82672b8755 7837 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_hyst(
gume 0:1f82672b8755 7838 u8 gyro_highrate_z_hyst_u8);
gume 0:1f82672b8755 7839 /**************************************************************/
gume 0:1f82672b8755 7840 /**\name FUNCTIONS FOR GYRO HIGHRATE Z DURATION */
gume 0:1f82672b8755 7841 /**************************************************************/
gume 0:1f82672b8755 7842 /*!
gume 0:1f82672b8755 7843 * @brief This API used to read gyro highrate z duration
gume 0:1f82672b8755 7844 * from page one register from 0x1D bit 0 to 7
gume 0:1f82672b8755 7845 *
gume 0:1f82672b8755 7846 * @param gyro_highrate_z_durn_u8 : The value of gyro highrate z duration
gume 0:1f82672b8755 7847 *
gume 0:1f82672b8755 7848 * @return results of bus communication function
gume 0:1f82672b8755 7849 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7850 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7851 *
gume 0:1f82672b8755 7852 * @note Gyro highrate duration calculate by using the formula
gume 0:1f82672b8755 7853 *
gume 0:1f82672b8755 7854 * (1 + gyro_highrate_z_durn_u8)*2.5ms
gume 0:1f82672b8755 7855 */
gume 0:1f82672b8755 7856 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_highrate_z_durn(
gume 0:1f82672b8755 7857 u8 *gyro_highrate_z_durn_u8);
gume 0:1f82672b8755 7858 /*!
gume 0:1f82672b8755 7859 * @brief This API used to write gyro highrate z duration
gume 0:1f82672b8755 7860 * from page one register from 0x1D bit 0 to 7
gume 0:1f82672b8755 7861 *
gume 0:1f82672b8755 7862 * @param gyro_highrate_z_durn_u8 : The value of gyro highrate z duration
gume 0:1f82672b8755 7863 *
gume 0:1f82672b8755 7864 * @return results of bus communication function
gume 0:1f82672b8755 7865 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7866 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7867 *
gume 0:1f82672b8755 7868 * @note Gyro highrate duration calculate by using the formula
gume 0:1f82672b8755 7869 *
gume 0:1f82672b8755 7870 * (1 + gyro_highrate_z_durn_u8)*2.5ms
gume 0:1f82672b8755 7871 */
gume 0:1f82672b8755 7872 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_highrate_z_durn(
gume 0:1f82672b8755 7873 u8 gyro_highrate_z_durn_u8);
gume 0:1f82672b8755 7874 /**************************************************************/
gume 0:1f82672b8755 7875 /**\name FUNCTIONS FOR GYRO ANY_MOTION THRESHOLD */
gume 0:1f82672b8755 7876 /**************************************************************/
gume 0:1f82672b8755 7877 /*!
gume 0:1f82672b8755 7878 * @brief This API used to read gyro anymotion threshold
gume 0:1f82672b8755 7879 * from page one register from 0x1E bit 0 to 6
gume 0:1f82672b8755 7880 *
gume 0:1f82672b8755 7881 * @param gyro_any_motion_thres_u8 : The value of gyro anymotion threshold
gume 0:1f82672b8755 7882 *
gume 0:1f82672b8755 7883 * @return results of bus communication function
gume 0:1f82672b8755 7884 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7885 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7886 *
gume 0:1f82672b8755 7887 * @note Gyro anymotion interrupt threshold dependent
gume 0:1f82672b8755 7888 * on the selection of gyro range
gume 0:1f82672b8755 7889 *
gume 0:1f82672b8755 7890 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7891 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7892 * 2000 | 1dps | 1LSB
gume 0:1f82672b8755 7893 * 1000 | 0.5dps | 1LSB
gume 0:1f82672b8755 7894 * 500 | 0.25dps | 1LSB
gume 0:1f82672b8755 7895 *
gume 0:1f82672b8755 7896 */
gume 0:1f82672b8755 7897 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_thres(
gume 0:1f82672b8755 7898 u8 *gyro_any_motion_thres_u8);
gume 0:1f82672b8755 7899 /*!
gume 0:1f82672b8755 7900 * @brief This API used to write gyro anymotion threshold
gume 0:1f82672b8755 7901 * from page one register from 0x1E bit 0 to 6
gume 0:1f82672b8755 7902 *
gume 0:1f82672b8755 7903 * @param gyro_any_motion_thres_u8 : The value of gyro anymotion threshold
gume 0:1f82672b8755 7904 *
gume 0:1f82672b8755 7905 * @return results of bus communication function
gume 0:1f82672b8755 7906 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7907 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7908 *
gume 0:1f82672b8755 7909 * @note Gyro anymotion interrupt threshold dependent
gume 0:1f82672b8755 7910 * on the selection of gyro range
gume 0:1f82672b8755 7911 *
gume 0:1f82672b8755 7912 * gyro_range_u8 | threshold | LSB
gume 0:1f82672b8755 7913 * ----------------- | ------------- | ---------
gume 0:1f82672b8755 7914 * 2000 | 1dps | 1LSB
gume 0:1f82672b8755 7915 * 1000 | 0.5dps | 1LSB
gume 0:1f82672b8755 7916 * 500 | 0.25dps | 1LSB
gume 0:1f82672b8755 7917 *
gume 0:1f82672b8755 7918 */
gume 0:1f82672b8755 7919 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_thres(
gume 0:1f82672b8755 7920 u8 gyro_any_motion_thres_u8);
gume 0:1f82672b8755 7921 /**************************************************************/
gume 0:1f82672b8755 7922 /**\name FUNCTIONS FOR GYRO ANY_MOTION SLOPE SAMPLES */
gume 0:1f82672b8755 7923 /**************************************************************/
gume 0:1f82672b8755 7924 /*!
gume 0:1f82672b8755 7925 * @brief This API used to read gyro anymotion slope samples
gume 0:1f82672b8755 7926 * from page one register from 0x1F bit 0 to 1
gume 0:1f82672b8755 7927 *
gume 0:1f82672b8755 7928 * @param gyro_any_motion_slope_samples_u8 :
gume 0:1f82672b8755 7929 * The value of gyro anymotion slope samples
gume 0:1f82672b8755 7930 * gyro_any_motion_slope_samples_u8 | result
gume 0:1f82672b8755 7931 * ---------------------------------- | -----------
gume 0:1f82672b8755 7932 * 0 | 8 samples
gume 0:1f82672b8755 7933 * 1 | 16 samples
gume 0:1f82672b8755 7934 * 2 | 32 samples
gume 0:1f82672b8755 7935 * 3 | 64 samples
gume 0:1f82672b8755 7936 *
gume 0:1f82672b8755 7937 * @return results of bus communication function
gume 0:1f82672b8755 7938 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7939 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7940 *
gume 0:1f82672b8755 7941 */
gume 0:1f82672b8755 7942 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_slope_samples(
gume 0:1f82672b8755 7943 u8 *gyro_any_motion_slope_samples_u8);
gume 0:1f82672b8755 7944 /*!
gume 0:1f82672b8755 7945 * @brief This API used to write gyro anymotion slope samples
gume 0:1f82672b8755 7946 * from page one register from 0x1F bit 0 to 1
gume 0:1f82672b8755 7947 *
gume 0:1f82672b8755 7948 * @param gyro_any_motion_slope_samples_u8 :
gume 0:1f82672b8755 7949 * The value of gyro anymotion slope samples
gume 0:1f82672b8755 7950 * gyro_any_motion_slope_samples_u8 | result
gume 0:1f82672b8755 7951 * ---------------------------------- | -----------
gume 0:1f82672b8755 7952 * 0 | 8 samples
gume 0:1f82672b8755 7953 * 1 | 16 samples
gume 0:1f82672b8755 7954 * 2 | 32 samples
gume 0:1f82672b8755 7955 * 3 | 64 samples
gume 0:1f82672b8755 7956 *
gume 0:1f82672b8755 7957 * @return results of bus communication function
gume 0:1f82672b8755 7958 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7959 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7960 *
gume 0:1f82672b8755 7961 */
gume 0:1f82672b8755 7962 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_slope_samples(
gume 0:1f82672b8755 7963 u8 gyro_any_motion_slope_samples_u8);
gume 0:1f82672b8755 7964 /**************************************************************/
gume 0:1f82672b8755 7965 /**\name FUNCTIONS FOR GYRO ANY_MOTION AWAKE DURATION */
gume 0:1f82672b8755 7966 /**************************************************************/
gume 0:1f82672b8755 7967 /*!
gume 0:1f82672b8755 7968 * @brief This API used to read gyro anymotion awake duration
gume 0:1f82672b8755 7969 * from page one register from 0x1F bit 2 to 3
gume 0:1f82672b8755 7970 *
gume 0:1f82672b8755 7971 * @param gyro_awake_durn_u8 : The value of gyro anymotion awake duration
gume 0:1f82672b8755 7972 *
gume 0:1f82672b8755 7973 * @return results of bus communication function
gume 0:1f82672b8755 7974 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7975 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7976 *
gume 0:1f82672b8755 7977 */
gume 0:1f82672b8755 7978 BNO055_RETURN_FUNCTION_TYPE bno055_get_gyro_any_motion_awake_durn(
gume 0:1f82672b8755 7979 u8 *gyro_awake_durn_u8);
gume 0:1f82672b8755 7980 /*!
gume 0:1f82672b8755 7981 * @brief This API used to write gyro anymotion awake duration
gume 0:1f82672b8755 7982 * from page one register from 0x1F bit 2 to 3
gume 0:1f82672b8755 7983 *
gume 0:1f82672b8755 7984 * @param gyro_awake_durn_u8 : The value of gyro anymotion awake duration
gume 0:1f82672b8755 7985 *
gume 0:1f82672b8755 7986 * @return results of bus communication function
gume 0:1f82672b8755 7987 * @retval 0 -> BNO055_SUCCESS
gume 0:1f82672b8755 7988 * @retval 1 -> BNO055_ERROR
gume 0:1f82672b8755 7989 *
gume 0:1f82672b8755 7990 */
gume 0:1f82672b8755 7991 BNO055_RETURN_FUNCTION_TYPE bno055_set_gyro_any_motion_awake_durn(
gume 0:1f82672b8755 7992 u8 gyro_awake_durn_u8);
gume 0:1f82672b8755 7993 #endif