SAILAPIGuide  1_10_00_06
Data Structures | Macros | Typedefs
bmi160.h File Reference

Detailed Description

BMI160 Sensor Driver Support Header File.

Copyright (C) 2016 Bosch Sensortec GmbH

File : bmi160.h

Date : 2016/03/15

Revision : 2.0.7 $

Usage: Sensor Driver for BMI160 sensor

License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of the copyright holder nor the names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE

The information provided is believed to be accurate and reliable. The copyright holder assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of the copyright holder.

Go to the source code of this file.

Data Structures

struct  bmi160_t
 bmi160 structure This structure holds all relevant information about bmi160 More...
 
struct  bmi160_mag_t
 Structure containing bmm150 and akm09911 magnetometer values for x,y and z-axis in s16. More...
 
struct  bmi160_mag_xyzr_t
 Structure containing bmm150 xyz data and temperature. More...
 
struct  bmi160_gyro_t
 Structure containing gyro xyz data. More...
 
struct  bmi160_accel_t
 Structure containing accel xyz data. More...
 
struct  bmi160_sensortime_accel_gyro_data
 Structure containing accel gyro data and sensor time. More...
 
struct  bmi160_mag_xyz_s32_t
 Structure bmm150 mag compensated data with s32 output. More...
 
struct  trim_data_t
 Structure bmm150 mag trim data. More...
 
struct  bmi160_fifo_data_header_less_t
 FIFO used to store the FIFO header less data. More...
 
struct  bmi160_fifo_data_header_t
 Struct used to store the FIFO header data. More...
 
struct  bmi160_mag_fifo_data_t
 Struct used to store the FIFO mag data. More...
 
struct  yas_vector
 Stores the sensor data. More...
 
struct  bst_yas537_calib_data_t
 YAMAHA-YAS532 struct Calibration YAS532 data struct. More...
 
struct  yas537_t
 YAS537 sensor initialization. More...
 

Macros

#define MACHINE_32_BIT
 The following definition uses for define the data types. More...
 
BUS READ AND WRITE FUNCTION POINTERS
#define BMI160_WR_FUNC_PTR
 Define the calling convention of YOUR bus communication routine. More...
 
#define BMI160_BUS_WRITE_FUNC(dev_addr, reg_addr, reg_data, wr_len)   bus_write(dev_addr, reg_addr, reg_data, wr_len)
 
#define BMI160_SPI_RD_MASK
 
#define BMI160_RD_FUNC_PTR
 
#define BMI160_BRD_FUNC_PTR
 
#define BMI160_BUS_READ_FUNC(dev_addr, reg_addr, reg_data, r_len)   bus_read(dev_addr, reg_addr, reg_data, r_len)
 
#define BMI160_BURST_READ_FUNC(device_addr, register_addr, register_data, rd_len)   burst_read(device_addr, register_addr, register_data, rd_len)
 
#define FIFO_ENABLE
 
#define YAS537
 
#define BMI160_MDELAY_DATA_TYPE   u32
 
#define BMI160_I2C_ADDR1   (0x68)
 
#define BMI160_I2C_ADDR2   (0x69)
 
#define BMI160_AUX_BMM150_I2C_ADDRESS   (0x13)
 
#define BMI160_AUX_YAS532_I2C_ADDRESS   (0x2E)
 
#define BMI160_AUX_AKM09911_I2C_ADDR_1   (0x0C)
 
#define BMI160_AUX_AKM09911_I2C_ADDR_2   (0x0D)
 
#define BMI160_AUX_AKM09912_I2C_ADDR_1   (0x0C)
 
#define BMI160_AUX_AKM09912_I2C_ADDR_2   (0x0D)
 
#define BMI160_AUX_AKM09912_I2C_ADDR_3   (0x0E)
 
#define BMI160_AUX_AKM09912_I2C_ADDR_4   (0x0F)
 
CONSTANTS
#define BMI160_INIT_VALUE   (0)
 
#define BMI160_ASSIGN_DATA   (1)
 
#define BMI160_GEN_READ_WRITE_DATA_LENGTH   (1)
 
#define BMI160_MAXIMUM_TIMEOUT   (10)
 
#define BMI160_OUTPUT_DATA_RATE0   (0)
 
#define BMI160_OUTPUT_DATA_RATE1   (1)
 
#define BMI160_OUTPUT_DATA_RATE2   (2)
 
#define BMI160_OUTPUT_DATA_RATE3   (3)
 
#define BMI160_OUTPUT_DATA_RATE4   (4)
 
#define BMI160_OUTPUT_DATA_RATE5   (5)
 
#define BMI160_OUTPUT_DATA_RATE6   (14)
 
#define BMI160_OUTPUT_DATA_RATE7   (15)
 
#define V_ANY_MOTION_INTR_STAT   (4)
 
#define V_ANY_MOTION_AXIS_STAT   (7)
 
#define BMI160_ACCEL_RANGE0   (3)
 
#define BMI160_ACCEL_RANGE1   (5)
 
#define BMI160_ACCEL_RANGE3   (8)
 
#define BMI160_ACCEL_RANGE4   (12)
 
#define BMI160_FOC_STAT_HIGH   (1)
 
#define BMI160_SIG_MOTION_STAT_HIGH   (1)
 
#define BMI160_STEP_DET_STAT_HIGH   (1)
 
#define BMI160_MAX_VALUE_SIGNIFICANT_MOTION   (1)
 
#define BMI160_MAX_VALUE_FIFO_FILTER   (1)
 
#define BMI160_MAX_VALUE_FIFO_TIME   (1)
 
#define BMI160_MAX_VALUE_FIFO_INTR   (1)
 
#define BMI160_MAX_VALUE_FIFO_HEADER   (1)
 
#define BMI160_MAX_VALUE_FIFO_MAG   (1)
 
#define BMI160_MAX_VALUE_FIFO_ACCEL   (1)
 
#define BMI160_MAX_VALUE_FIFO_GYRO   (1)
 
#define BMI160_MAX_VALUE_SOURCE_INTR   (1)
 
#define BMI160_MAX_VALUE_LOW_G_MODE   (1)
 
#define BMI160_MAX_VALUE_NO_MOTION   (1)
 
#define BMI160_MAX_VALUE_TAP_SHOCK   (1)
 
#define BMI160_MAX_VALUE_TAP_QUIET   (1)
 
#define BMI160_MAX_VALUE_ORIENT_UD   (1)
 
#define BMI160_MAX_VALUE_ORIENT_AXES   (1)
 
#define BMI160_MAX_VALUE_NVM_PROG   (1)
 
#define BMI160_MAX_VALUE_SPI3   (1)
 
#define BMI160_MAX_VALUE_PAGE   (1)
 
#define BMI160_MAX_VALUE_I2C_WDT   (1)
 
#define BMI160_MAX_VALUE_SLEEP_STATE   (1)
 
#define BMI160_MAX_VALUE_WAKEUP_INTR   (1)
 
#define BMI160_MAX_VALUE_SELFTEST_SIGN   (1)
 
#define BMI160_MAX_VALUE_SELFTEST_AMP   (1)
 
#define BMI160_MAX_VALUE_SELFTEST_START   (1)
 
#define BMI160_MAX_GYRO_WAKEUP_TRIGGER   (3)
 
#define BMI160_MAX_ACCEL_SELFTEST_AXIS   (3)
 
#define BMI160_MAX_GYRO_STEP_COUNTER   (1)
 
#define BMI160_MAX_GYRO_BW   (3)
 
#define BMI160_MAX_ACCEL_BW   (7)
 
#define BMI160_MAX_ORIENT_MODE   (3)
 
#define BMI160_MAX_ORIENT_BLOCKING   (3)
 
#define BMI160_MAX_FLAT_HOLD   (3)
 
#define BMI160_MAX_ACCEL_FOC   (3)
 
#define BMI160_MAX_IF_MODE   (3)
 
#define BMI160_MAX_TARGET_PAGE   (3)
 
#define BMI160_MAX_GYRO_RANGE   (4)
 
#define BMI160_MAX_GYRO_SLEEP_TIGGER   (7)
 
#define BMI160_MAX_TAP_TURN   (7)
 
#define BMI160_MAX_UNDER_SAMPLING   (1)
 
#define BMI160_MAX_UNDER_SIG_MOTION   (3)
 
#define BMI160_MAX_ACCEL_OUTPUT_DATA_RATE   (12)
 
#define BMI160_MAX_LATCH_INTR   (15)
 
#define BMI160_MAX_FLAT_HYST   (15)
 
#define BMI160_MAX_ORIENT_THETA   (63)
 
#define BMI160_MAX_FLAT_THETA   (63)
 
#define BMI160_FIFO_X_LSB_DATA   (0)
 
#define BMI160_FIFO_X_MSB_DATA   (1)
 
#define BMI160_FIFO_Y_LSB_DATA   (2)
 
#define BMI160_FIFO_Y_MSB_DATA   (3)
 
#define BMI160_FIFO_Z_LSB_DATA   (4)
 
#define BMI160_FIFO_Z_MSB_DATA   (5)
 
#define BMI160_FIFO_R_LSB_DATA   (6)
 
#define BMI160_FIFO_R_MSB_DATA   (7)
 
#define BMI160_GA_FIFO_G_X_LSB   (0)
 
#define BMI160_GA_FIFO_G_X_MSB   (1)
 
#define BMI160_GA_FIFO_G_Y_LSB   (2)
 
#define BMI160_GA_FIFO_G_Y_MSB   (3)
 
#define BMI160_GA_FIFO_G_Z_LSB   (4)
 
#define BMI160_GA_FIFO_G_Z_MSB   (5)
 
#define BMI160_GA_FIFO_A_X_LSB   (6)
 
#define BMI160_GA_FIFO_A_X_MSB   (7)
 
#define BMI160_GA_FIFO_A_Y_LSB   (8)
 
#define BMI160_GA_FIFO_A_Y_MSB   (9)
 
#define BMI160_GA_FIFO_A_Z_LSB   (10)
 
#define BMI160_GA_FIFO_A_Z_MSB   (11)
 
#define BMI160_MGA_FIFO_M_X_LSB   (0)
 
#define BMI160_MGA_FIFO_M_X_MSB   (1)
 
#define BMI160_MGA_FIFO_M_Y_LSB   (2)
 
#define BMI160_MGA_FIFO_M_Y_MSB   (3)
 
#define BMI160_MGA_FIFO_M_Z_LSB   (4)
 
#define BMI160_MGA_FIFO_M_Z_MSB   (5)
 
#define BMI160_MGA_FIFO_M_R_LSB   (6)
 
#define BMI160_MGA_FIFO_M_R_MSB   (7)
 
#define BMI160_MGA_FIFO_G_X_LSB   (8)
 
#define BMI160_MGA_FIFO_G_X_MSB   (9)
 
#define BMI160_MGA_FIFO_G_Y_LSB   (10)
 
#define BMI160_MGA_FIFO_G_Y_MSB   (11)
 
#define BMI160_MGA_FIFO_G_Z_LSB   (12)
 
#define BMI160_MGA_FIFO_G_Z_MSB   (13)
 
#define BMI160_MGA_FIFO_A_X_LSB   (14)
 
#define BMI160_MGA_FIFO_A_X_MSB   (15)
 
#define BMI160_MGA_FIFO_A_Y_LSB   (16)
 
#define BMI160_MGA_FIFO_A_Y_MSB   (17)
 
#define BMI160_MGA_FIFO_A_Z_LSB   (18)
 
#define BMI160_MGA_FIFO_A_Z_MSB   (19)
 
#define BMI160_MA_FIFO_M_X_LSB   (0)
 
#define BMI160_MA_FIFO_M_X_MSB   (1)
 
#define BMI160_MA_FIFO_M_Y_LSB   (2)
 
#define BMI160_MA_FIFO_M_Y_MSB   (3)
 
#define BMI160_MA_FIFO_M_Z_LSB   (4)
 
#define BMI160_MA_FIFO_M_Z_MSB   (5)
 
#define BMI160_MA_FIFO_M_R_LSB   (6)
 
#define BMI160_MA_FIFO_M_R_MSB   (7)
 
#define BMI160_MA_FIFO_A_X_LSB   (8)
 
#define BMI160_MA_FIFO_A_X_MSB   (9)
 
#define BMI160_MA_FIFO_A_Y_LSB   (10)
 
#define BMI160_MA_FIFO_A_Y_MSB   (11)
 
#define BMI160_MA_FIFO_A_Z_LSB   (12)
 
#define BMI160_MA_FIFO_A_Z_MSB   (13)
 
#define BMI160_MG_FIFO_M_X_LSB   (0)
 
#define BMI160_MG_FIFO_M_X_MSB   (1)
 
#define BMI160_MG_FIFO_M_Y_LSB   (2)
 
#define BMI160_MG_FIFO_M_Y_MSB   (3)
 
#define BMI160_MG_FIFO_M_Z_LSB   (4)
 
#define BMI160_MG_FIFO_M_Z_MSB   (5)
 
#define BMI160_MG_FIFO_M_R_LSB   (6)
 
#define BMI160_MG_FIFO_M_R_MSB   (7)
 
#define BMI160_MG_FIFO_G_X_LSB   (8)
 
#define BMI160_MG_FIFO_G_X_MSB   (9)
 
#define BMI160_MG_FIFO_G_Y_LSB   (10)
 
#define BMI160_MG_FIFO_G_Y_MSB   (11)
 
#define BMI160_MG_FIFO_G_Z_LSB   (12)
 
#define BMI160_MG_FIFO_G_Z_MSB   (13)
 
#define BMI160_FIFO_SENSOR_TIME_LSB   (0)
 
#define BMI160_FIFO_SENSOR_TIME_XLSB   (1)
 
#define BMI160_FIFO_SENSOR_TIME_MSB   (2)
 
#define BMI160_FIFO_SENSOR_TIME_LENGTH   (3)
 
#define BMI160_FIFO_A_LENGTH   (6)
 
#define BMI160_FIFO_G_LENGTH   (6)
 
#define BMI160_FIFO_M_LENGTH   (8)
 
#define BMI160_FIFO_AG_LENGTH   (12)
 
#define BMI160_FIFO_AMG_LENGTH   (20)
 
#define BMI160_FIFO_MA_OR_MG_LENGTH   (14)
 
#define BMI160_FIFO_LENGTH_LSB_BYTE   (0)
 
#define BMI160_FIFO_LENGTH_MSB_BYTE   (1)
 
#define BMI160_MAG_X_DATA_LENGTH   (2)
 
#define BMI160_MAG_Y_DATA_LENGTH   (2)
 
#define BMI160_MAG_Z_DATA_LENGTH   (2)
 
#define BMI160_MAG_R_DATA_LENGTH   (2)
 
#define BMI160_MAG_XYZ_DATA_LENGTH   (6)
 
#define BMI160_MAG_XYZR_DATA_LENGTH   (8)
 
#define BMI160_MAG_YAS_DATA_LENGTH   (8)
 
#define BMI160_GYRO_DATA_LENGTH   (2)
 
#define BMI160_GYRO_XYZ_DATA_LENGTH   (6)
 
#define BMI160_ACCEL_DATA_LENGTH   (2)
 
#define BMI160_ACCEL_XYZ_DATA_LENGTH   (6)
 
#define BMI160_TEMP_DATA_LENGTH   (2)
 
#define BMI160_FIFO_DATA_LENGTH   (2)
 
#define BMI160_STEP_COUNTER_LENGTH   (2)
 
#define BMI160_SENSOR_TIME_LENGTH   (3)
 
#define BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY   (5)
 
#define BMI160_BMM150_WAKEUP_DELAY1   (2)
 
#define BMI160_BMM150_WAKEUP_DELAY2   (3)
 
#define BMI160_BMM150_WAKEUP_DELAY3   (1)
 
#define BMI160_YAS532_OFFSET_DELAY   (2)
 
#define BMI160_GEN_READ_WRITE_DELAY   (1)
 
#define BMI160_YAS532_MEASUREMENT_DELAY   (25)
 
#define BMI160_YAS_ACQ_COMMAND_DELAY   (50)
 
#define BMI160_YAS532_SET_INITIAL_VALUE_DELAY   (200)
 
#define BMI160_AKM_INIT_DELAY   (60)
 
ARRAY SIZE DEFINITIONS
#define BMI160_ACCEL_X_DATA_SIZE   (2)
 
#define BMI160_ACCEL_Y_DATA_SIZE   (2)
 
#define BMI160_ACCEL_Z_DATA_SIZE   (2)
 
#define BMI160_ACCEL_XYZ_DATA_SIZE   (6)
 
#define BMI160_GYRO_X_DATA_SIZE   (2)
 
#define BMI160_GYRO_Y_DATA_SIZE   (2)
 
#define BMI160_GYRO_Z_DATA_SIZE   (2)
 
#define BMI160_GYRO_XYZ_DATA_SIZE   (6)
 
#define BMI160_MAG_X_DATA_SIZE   (2)
 
#define BMI160_MAG_Y_DATA_SIZE   (2)
 
#define BMI160_MAG_Z_DATA_SIZE   (2)
 
#define BMI160_MAG_R_DATA_SIZE   (2)
 
#define BMI160_MAG_XYZ_DATA_SIZE   (6)
 
#define BMI160_MAG_XYZR_DATA_SIZE   (8)
 
#define BMI160_MAG_TRIM_DATA_SIZE   (16)
 
#define BMI160_TEMP_DATA_SIZE   (2)
 
#define BMI160_FIFO_DATA_SIZE   (2)
 
#define BMI160_STEP_COUNT_DATA_SIZE   (2)
 
#define BMI160_SENSOR_TIME_DATA_SIZE   (3)
 
#define BMI160_AKM_SENSITIVITY_DATA_SIZE   (3)
 
#define BMI160_HARD_OFFSET_DATA_SIZE   (3)
 
#define BMI160_YAS_XY1Y2_DATA_SIZE   (3)
 
#define BMI160_YAS_FLAG_DATA_SIZE   (3)
 
#define BMI160_YAS_TEMP_DATA_SIZE   (3)
 
#define BMI160_YAS_H_DATA_SIZE   (3)
 
#define BMI160_YAS_S_DATA_SIZE   (3)
 
#define BMI160_YAS_CORRECT_DATA_SIZE   (5)
 
#define BMI160_YAS_XY1Y2T_DATA_SIZE   (8)
 
#define BMI160_YAS537_CALIB_DATA_SIZE   (17)
 
#define BMI160_YAS532_CALIB_DATA_SIZE   (14)
 
#define BMI160_GYRO_ACCEL_SENSORTIME_DATA_SIZE   (15)
 
#define BMI160_ACCEL_SENSORTIME_DATA_SIZE   (9)
 
#define BMI160_GYRO_ACCEL_SENSORTIME_DATA   (1)
 
#define BMI160_ACCEL_SENSORTIME_DATA   (0)
 
ARRAY PARAMETER DEFINITIONS
#define BMI160_SENSOR_TIME_MSB_BYTE   (2)
 
#define BMI160_SENSOR_TIME_XLSB_BYTE   (1)
 
#define BMI160_SENSOR_TIME_LSB_BYTE   (0)
 
#define BMI160_MAG_X_LSB_BYTE   (0)
 
#define BMI160_MAG_X_MSB_BYTE   (1)
 
#define BMI160_MAG_Y_LSB_BYTE   (0)
 
#define BMI160_MAG_Y_MSB_BYTE   (1)
 
#define BMI160_MAG_Z_LSB_BYTE   (0)
 
#define BMI160_MAG_Z_MSB_BYTE   (1)
 
#define BMI160_MAG_R_LSB_BYTE   (0)
 
#define BMI160_MAG_R_MSB_BYTE   (1)
 
#define BMI160_DATA_FRAME_MAG_X_LSB_BYTE   (0)
 
#define BMI160_DATA_FRAME_MAG_X_MSB_BYTE   (1)
 
#define BMI160_DATA_FRAME_MAG_Y_LSB_BYTE   (2)
 
#define BMI160_DATA_FRAME_MAG_Y_MSB_BYTE   (3)
 
#define BMI160_DATA_FRAME_MAG_Z_LSB_BYTE   (4)
 
#define BMI160_DATA_FRAME_MAG_Z_MSB_BYTE   (5)
 
#define BMI160_DATA_FRAME_MAG_R_LSB_BYTE   (6)
 
#define BMI160_DATA_FRAME_MAG_R_MSB_BYTE   (7)
 
#define BMI160_GYRO_X_LSB_BYTE   (0)
 
#define BMI160_GYRO_X_MSB_BYTE   (1)
 
#define BMI160_GYRO_Y_LSB_BYTE   (0)
 
#define BMI160_GYRO_Y_MSB_BYTE   (1)
 
#define BMI160_GYRO_Z_LSB_BYTE   (0)
 
#define BMI160_GYRO_Z_MSB_BYTE   (1)
 
#define BMI160_DATA_FRAME_GYRO_X_LSB_BYTE   (0)
 
#define BMI160_DATA_FRAME_GYRO_X_MSB_BYTE   (1)
 
#define BMI160_DATA_FRAME_GYRO_Y_LSB_BYTE   (2)
 
#define BMI160_DATA_FRAME_GYRO_Y_MSB_BYTE   (3)
 
#define BMI160_DATA_FRAME_GYRO_Z_LSB_BYTE   (4)
 
#define BMI160_DATA_FRAME_GYRO_Z_MSB_BYTE   (5)
 
#define BMI160_ACCEL_X_LSB_BYTE   (0)
 
#define BMI160_ACCEL_X_MSB_BYTE   (1)
 
#define BMI160_ACCEL_Y_LSB_BYTE   (0)
 
#define BMI160_ACCEL_Y_MSB_BYTE   (1)
 
#define BMI160_ACCEL_Z_LSB_BYTE   (0)
 
#define BMI160_ACCEL_Z_MSB_BYTE   (1)
 
#define BMI160_DATA_FRAME_ACCEL_X_LSB_BYTE   (0)
 
#define BMI160_DATA_FRAME_ACCEL_X_MSB_BYTE   (1)
 
#define BMI160_DATA_FRAME_ACCEL_Y_LSB_BYTE   (2)
 
#define BMI160_DATA_FRAME_ACCEL_Y_MSB_BYTE   (3)
 
#define BMI160_DATA_FRAME_ACCEL_Z_LSB_BYTE   (4)
 
#define BMI160_DATA_FRAME_ACCEL_Z_MSB_BYTE   (5)
 
#define BMI160_TEMP_LSB_BYTE   (0)
 
#define BMI160_TEMP_MSB_BYTE   (1)
 
#define BMI160_STEP_COUNT_LSB_BYTE   (0)
 
#define BMI160_STEP_COUNT_MSB_BYTE   (1)
 
ERROR CODES
#define E_BMI160_NULL_PTR   ((s8)-127)
 
#define E_BMI160_COMM_RES   ((s8)-1)
 
#define E_BMI160_OUT_OF_RANGE   ((s8)-2)
 
#define E_BMI160_BUSY   ((s8)-3)
 
#define SUCCESS   ((u8)0)
 
#define ERROR   ((s8)-1)
 
#define BMI160_NULL   (0)
 
#define BMI160_DELAY_SETTLING_TIME   (5)
 
#define BMI160_RETURN_FUNCTION_TYPE   s8
 
CHIP ID
#define BMI160_USER_CHIP_ID_ADDR   (0x00)
 
ERROR STATUS
#define BMI160_USER_ERROR_ADDR   (0X02)
 
POWER MODE STATUS
#define BMI160_USER_PMU_STAT_ADDR   (0X03)
 
MAG DATA REGISTERS
#define BMI160_USER_DATA_0_ADDR   (0X04)
 
#define BMI160_USER_DATA_1_ADDR   (0X05)
 
#define BMI160_USER_DATA_2_ADDR   (0X06)
 
#define BMI160_USER_DATA_3_ADDR   (0X07)
 
#define BMI160_USER_DATA_4_ADDR   (0X08)
 
#define BMI160_USER_DATA_5_ADDR   (0X09)
 
#define BMI160_USER_DATA_6_ADDR   (0X0A)
 
#define BMI160_USER_DATA_7_ADDR   (0X0B)
 
GYRO DATA REGISTERS
#define BMI160_USER_DATA_8_ADDR   (0X0C)
 
#define BMI160_USER_DATA_9_ADDR   (0X0D)
 
#define BMI160_USER_DATA_10_ADDR   (0X0E)
 
#define BMI160_USER_DATA_11_ADDR   (0X0F)
 
#define BMI160_USER_DATA_12_ADDR   (0X10)
 
#define BMI160_USER_DATA_13_ADDR   (0X11)
 
ACCEL DATA REGISTERS
#define BMI160_USER_DATA_14_ADDR   (0X12)
 
#define BMI160_USER_DATA_15_ADDR   (0X13)
 
#define BMI160_USER_DATA_16_ADDR   (0X14)
 
#define BMI160_USER_DATA_17_ADDR   (0X15)
 
#define BMI160_USER_DATA_18_ADDR   (0X16)
 
#define BMI160_USER_DATA_19_ADDR   (0X17)
 
SENSOR TIME REGISTERS
#define BMI160_USER_SENSORTIME_0_ADDR   (0X18)
 
#define BMI160_USER_SENSORTIME_1_ADDR   (0X19)
 
#define BMI160_USER_SENSORTIME_2_ADDR   (0X1A)
 
STATUS REGISTER FOR SENSOR STATUS FLAG
#define BMI160_USER_STAT_ADDR   (0X1B)
 
INTERRUPY STATUS REGISTERS
#define BMI160_USER_INTR_STAT_0_ADDR   (0X1C)
 
#define BMI160_USER_INTR_STAT_1_ADDR   (0X1D)
 
#define BMI160_USER_INTR_STAT_2_ADDR   (0X1E)
 
#define BMI160_USER_INTR_STAT_3_ADDR   (0X1F)
 
TEMPERATURE REGISTERS
#define BMI160_USER_TEMPERATURE_0_ADDR   (0X20)
 
#define BMI160_USER_TEMPERATURE_1_ADDR   (0X21)
 
FIFO REGISTERS
#define BMI160_USER_FIFO_LENGTH_0_ADDR   (0X22)
 
#define BMI160_USER_FIFO_LENGTH_1_ADDR   (0X23)
 
#define BMI160_USER_FIFO_DATA_ADDR   (0X24)
 
ACCEL CONFIG REGISTERS FOR ODR, BANDWIDTH AND UNDERSAMPLING
#define BMI160_USER_ACCEL_CONFIG_ADDR   (0X40)
 
ACCEL RANGE
#define BMI160_USER_ACCEL_RANGE_ADDR   (0X41)
 
#define BMI160_ACCEL_RANGE_2G   (0X03)
 
#define BMI160_ACCEL_RANGE_4G   (0X05)
 
#define BMI160_ACCEL_RANGE_8G   (0X08)
 
#define BMI160_ACCEL_RANGE_16G   (0X0C)
 
GYRO CONFIG REGISTERS FOR ODR AND BANDWIDTH
#define BMI160_USER_GYRO_CONFIG_ADDR   (0X42)
 
GYRO RANGE
#define BMI160_USER_GYRO_RANGE_ADDR   (0X43)
 
MAG CONFIG REGISTERS FOR ODR
#define BMI160_USER_MAG_CONFIG_ADDR   (0X44)
 
REGISTER FOR GYRO AND ACCEL DOWNSAMPLING RATES FOR FIFO
#define BMI160_USER_FIFO_DOWN_ADDR   (0X45)
 
FIFO CONFIG REGISTERS
#define BMI160_USER_FIFO_CONFIG_0_ADDR   (0X46)
 
#define BMI160_USER_FIFO_CONFIG_1_ADDR   (0X47)
 
MAG INTERFACE REGISTERS
#define BMI160_USER_MAG_IF_0_ADDR   (0X4B)
 
#define BMI160_USER_MAG_IF_1_ADDR   (0X4C)
 
#define BMI160_USER_MAG_IF_2_ADDR   (0X4D)
 
#define BMI160_USER_MAG_IF_3_ADDR   (0X4E)
 
#define BMI160_USER_MAG_IF_4_ADDR   (0X4F)
 
INTERRUPT ENABLE REGISTERS
#define BMI160_USER_INTR_ENABLE_0_ADDR   (0X50)
 
#define BMI160_USER_INTR_ENABLE_1_ADDR   (0X51)
 
#define BMI160_USER_INTR_ENABLE_2_ADDR   (0X52)
 
#define BMI160_USER_INTR_OUT_CTRL_ADDR   (0X53)
 
LATCH DURATION REGISTERS
#define BMI160_USER_INTR_LATCH_ADDR   (0X54)
 
MAP INTERRUPT 1 and 2 REGISTERS
#define BMI160_USER_INTR_MAP_0_ADDR   (0X55)
 
#define BMI160_USER_INTR_MAP_1_ADDR   (0X56)
 
#define BMI160_USER_INTR_MAP_2_ADDR   (0X57)
 
DATA SOURCE REGISTERS
#define BMI160_USER_INTR_DATA_0_ADDR   (0X58)
 
#define BMI160_USER_INTR_DATA_1_ADDR   (0X59)
 

INTERRUPT THRESHOLD, HYSTERESIS, DURATION, MODE CONFIGURATION REGISTERS

#define BMI160_USER_INTR_LOWHIGH_0_ADDR   (0X5A)
 
#define BMI160_USER_INTR_LOWHIGH_1_ADDR   (0X5B)
 
#define BMI160_USER_INTR_LOWHIGH_2_ADDR   (0X5C)
 
#define BMI160_USER_INTR_LOWHIGH_3_ADDR   (0X5D)
 
#define BMI160_USER_INTR_LOWHIGH_4_ADDR   (0X5E)
 
#define BMI160_USER_INTR_MOTION_0_ADDR   (0X5F)
 
#define BMI160_USER_INTR_MOTION_1_ADDR   (0X60)
 
#define BMI160_USER_INTR_MOTION_2_ADDR   (0X61)
 
#define BMI160_USER_INTR_MOTION_3_ADDR   (0X62)
 
#define BMI160_USER_INTR_TAP_0_ADDR   (0X63)
 
#define BMI160_USER_INTR_TAP_1_ADDR   (0X64)
 
#define BMI160_USER_INTR_ORIENT_0_ADDR   (0X65)
 
#define BMI160_USER_INTR_ORIENT_1_ADDR   (0X66)
 
#define BMI160_USER_INTR_FLAT_0_ADDR   (0X67)
 
#define BMI160_USER_INTR_FLAT_1_ADDR   (0X68)
 
FAST OFFSET CONFIGURATION REGISTER
#define BMI160_USER_FOC_CONFIG_ADDR   (0X69)
 
MISCELLANEOUS CONFIGURATION REGISTER
#define BMI160_USER_CONFIG_ADDR   (0X6A)
 
SERIAL INTERFACE SETTINGS REGISTER
#define BMI160_USER_IF_CONFIG_ADDR   (0X6B)
 
GYRO POWER MODE TRIGGER REGISTER
#define BMI160_USER_PMU_TRIGGER_ADDR   (0X6C)
 
SELF_TEST REGISTER
#define BMI160_USER_SELF_TEST_ADDR   (0X6D)
 
SPI,I2C SELECTION REGISTER
#define BMI160_USER_NV_CONFIG_ADDR   (0x70)
 
ACCEL AND GYRO OFFSET REGISTERS
#define BMI160_USER_OFFSET_0_ADDR   (0X71)
 
#define BMI160_USER_OFFSET_1_ADDR   (0X72)
 
#define BMI160_USER_OFFSET_2_ADDR   (0X73)
 
#define BMI160_USER_OFFSET_3_ADDR   (0X74)
 
#define BMI160_USER_OFFSET_4_ADDR   (0X75)
 
#define BMI160_USER_OFFSET_5_ADDR   (0X76)
 
#define BMI160_USER_OFFSET_6_ADDR   (0X77)
 
STEP COUNTER INTERRUPT REGISTERS
#define BMI160_USER_STEP_COUNT_0_ADDR   (0X78)
 
#define BMI160_USER_STEP_COUNT_1_ADDR   (0X79)
 
STEP COUNTER CONFIGURATION REGISTERS
#define BMI160_USER_STEP_CONFIG_0_ADDR   (0X7A)
 
#define BMI160_USER_STEP_CONFIG_1_ADDR   (0X7B)
 
COMMAND REGISTER
#define BMI160_CMD_COMMANDS_ADDR   (0X7E)
 
PAGE REGISTERS
#define BMI160_CMD_EXT_MODE_ADDR   (0X7F)
 
#define BMI160_COM_C_TRIM_FIVE_ADDR   (0X05)
 
SHIFT VALUE DEFINITION
#define BMI160_SHIFT_BIT_POSITION_BY_01_BIT   (1)
 
#define BMI160_SHIFT_BIT_POSITION_BY_02_BITS   (2)
 
#define BMI160_SHIFT_BIT_POSITION_BY_03_BITS   (3)
 
#define BMI160_SHIFT_BIT_POSITION_BY_04_BITS   (4)
 
#define BMI160_SHIFT_BIT_POSITION_BY_05_BITS   (5)
 
#define BMI160_SHIFT_BIT_POSITION_BY_06_BITS   (6)
 
#define BMI160_SHIFT_BIT_POSITION_BY_07_BITS   (7)
 
#define BMI160_SHIFT_BIT_POSITION_BY_08_BITS   (8)
 
#define BMI160_SHIFT_BIT_POSITION_BY_09_BITS   (9)
 
#define BMI160_SHIFT_BIT_POSITION_BY_12_BITS   (12)
 
#define BMI160_SHIFT_BIT_POSITION_BY_13_BITS   (13)
 
#define BMI160_SHIFT_BIT_POSITION_BY_14_BITS   (14)
 
#define BMI160_SHIFT_BIT_POSITION_BY_15_BITS   (15)
 
#define BMI160_SHIFT_BIT_POSITION_BY_16_BITS   (16)
 
DEFINITIONS USED FOR YAMAHA-YAS532
#define YAS532_MAG_STATE_NORMAL   (0)
 
#define YAS532_MAG_STATE_INIT_COIL   (1)
 
#define YAS532_MAG_STATE_MEASURE_OFFSET   (2)
 
#define YAS532_MAG_INITCOIL_TIMEOUT   (1000)
 
#define YAS532_MAG_NOTRANS_POSITION   (3)
 
#define YAS532_DEFAULT_SENSOR_DELAY   (50)
 
#define YAS532_DATA_OVERFLOW   (8190)
 
#define YAS532_DATA_UNDERFLOW   (0)
 
#define YAS532_MAG_TEMPERATURE_LOG   (10)
 
#define YAS532_TEMP20DEGREE_TYPICAL   (390)
 
#define YAS532_VERSION_AC_COEF_X   (850)
 
#define YAS532_VERSION_AC_COEF_Y1   (750)
 
#define YAS532_VERSION_AC_COEF_Y2   (750)
 
#define YAS532_DATA_CENTER   (4096)
 
YAS532 CALIB DATA DEFINITIONS
#define BMI160_YAS532_TESTR1   (0x88)
 
#define BMI160_YAS532_TESTR2   (0x89)
 
#define BMI160_YAS532_RCOIL   (0x81)
 
#define BMI160_YAS532_COMMAND_REGISTER   (0x82)
 
#define BMI160_YAS532_DATA_REGISTER   (0xB0)
 
#define BMI160_YAS532_CALIB_CX   (0x90)
 
#define BMI160_YAS532_CALIB_CY1   (0x91)
 
#define BMI160_YAS532_CALIB_CY2   (0x92)
 
#define BMI160_YAS532_CALIB1   (0x93)
 
#define BMI160_YAS532_CALIB2   (0x94)
 
#define BMI160_YAS532_CALIB3   (0x95)
 
#define BMI160_YAS532_CALIB4   (0x96)
 
#define BMI160_YAS532_CALIB5   (0x97)
 
#define BMI160_YAS532_CLAIB6   (0x98)
 
#define BMI160_YAS532_CALIB7   (0x99)
 
#define BMI160_YAS532_CALIB8   (0x9A)
 
#define BMI160_YAS532_CALIIB9   (0x9B)
 
#define BMI160_YAS532_CALIB10   (0x9C)
 
#define BMI160_YAS532_CALIB11   (0x9D)
 
#define BMI160_YAS532_OFFSET_X   (0x85)
 
#define BMI160_YAS532_OFFSET_Y   (0x86)
 
#define BMI160_YAS532_OFFSET_Z   (0x87)
 
#define BMI160_YAS532_WRITE_TESTR1   (0x00)
 
#define BMI160_YAS532_WRITE_TESTR2   (0x00)
 
#define BMI160_YAS532_WRITE_RCOIL   (0x00)
 
YAS537 DEFINITION
#define YAS537_SRSTR_DATA   (0x02)
 
#define YAS537_WRITE_A_D_CONVERTER   (0x03)
 
#define YAS537_WRITE_A_D_CONVERTER2   (0xF8)
 
#define YAS537_WRITE_FILTER   (0x08)
 
#define YAS537_WRITE_CONFR   (0x08)
 
#define YAS537_WRITE_TEMP_CALIB   (0xFF)
 
#define YAS537_SET_COMMAND_REGISTER   (0x01)
 
YAS537 REGISTER DEFINITION
#define YAS537_REG_SRSTR   (0x90)
 
#define YAS537_REG_CALR_C0   (0xC0)
 
#define YAS537_REG_CALR_C1   (0xC1)
 
#define YAS537_REG_CALR_C2   (0xC2)
 
#define YAS537_REG_CALR_C3   (0xC3)
 
#define YAS537_REG_CALR_C4   (0xC4)
 
#define YAS537_REG_CALR_C5   (0xC5)
 
#define YAS537_REG_CALR_C6   (0xC6)
 
#define YAS537_REG_CALR_C7   (0xC7)
 
#define YAS537_REG_CALR_C8   (0xC8)
 
#define YAS537_REG_CALR_C9   (0xC9)
 
#define YAS537_REG_CALR_CA   (0xCA)
 
#define YAS537_REG_CALR_CB   (0xCB)
 
#define YAS537_REG_CALR_CC   (0xCC)
 
#define YAS537_REG_CALR_CD   (0xCD)
 
#define YAS537_REG_CALR_CE   (0xCE)
 
#define YAS537_REG_CALR_CF   (0xCF)
 
#define YAS537_REG_CALR_DO   (0xD0)
 
#define YAS537_REG_MTCR   (0x93)
 
#define YAS537_REG_CONFR   (0x82)
 
#define BMI160_REG_YAS537_CMDR   (0x81)
 
#define YAS537_REG_OXR   (0x84)
 
#define YAS537_REG_AVRR   (0x87)
 
#define YAS537_REG_HCKR   (0x88)
 
#define YAS537_REG_LCKR   (0x89)
 
#define YAS537_REG_ADCCALR   (0x91)
 
#define YAS537_REG_ADCCALR_ONE   (0x92)
 
#define YAS537_REG_OCR   (0x9E)
 
#define YAS537_REG_TRMR   (0x9F)
 
#define YAS537_REG_TEMPERATURE_0   (0xB0)
 
#define YAS537_REG_TEMPERATURE_1   (0xB1)
 
#define YAS537_REG_DATA_X_0   (0xB2)
 
#define YAS537_REG_DATA_X_1   (0xB3)
 
#define YAS537_REG_DATA_Y1_0   (0xB4)
 
#define YAS537_REG_DATA_Y1_1   (0xB5)
 
#define YAS537_REG_DATA_Y2_0   (0xB6)
 
#define YAS537_REG_DATA_Y2_1   (0xB7)
 
#define YAS537_MAG_STATE_NORMAL   (0)
 
#define YAS537_MAG_STATE_INIT_COIL   (1)
 
#define YAS537_MAG_STATE_RECORD_DATA   (2)
 
#define YAS537_DATA_UNDERFLOW   (0)
 
#define YAS537_DATA_OVERFLOW   (16383)
 
YAS537_set vector
#define yas537_set_vector(to, from)   {int _l; for (_l = 0; _l < 3; _l++) (to)[_l] = (from)[_l]; }
 
#define ABS(a)   ((a) > 0 ? (a) : -(a))
 
AKM09911 AND AKM09912 DEFINITION
#define AKM09912_SENSITIVITY_DIV   (256)
 
#define AKM09912_SENSITIVITY   (128)
 
#define AKM09911_SENSITIVITY_DIV   (128)
 
#define AKM_ASAX   (0)
 
#define AKM_ASAY   (1)
 
#define AKM_ASAZ   (2)
 
#define AKM_POWER_DOWN_MODE_DATA   (0x00)
 
#define AKM_FUSE_ROM_MODE   (0x1F)
 
#define AKM_POWER_MODE_REG   (0x31)
 
#define AKM_SINGLE_MEASUREMENT_MODE   (0x01)
 
#define AKM_DATA_REGISTER   (0x11)
 
#define AKM_CHIP_ID_REG   (0x01)
 
BMM150 DEFINITION
#define BMI160_BMM150_SET_POWER_CONTROL   (0x01)
 
#define BMI160_BMM150_MAX_RETRY_WAKEUP   (5)
 
#define BMI160_BMM150_POWER_ON   (0x01)
 
#define BMI160_BMM150_POWER_OFF   (0x00)
 
#define BMI160_BMM150_FORCE_MODE   (0x02)
 
#define BMI160_BMM150_POWER_ON_SUCCESS   (0)
 
#define BMI160_BMM150_POWER_ON_FAIL   ((s8)-1)
 
#define BMI160_BMM150_DIG_X1   (0)
 
#define BMI160_BMM150_DIG_Y1   (1)
 
#define BMI160_BMM150_DIG_X2   (2)
 
#define BMI160_BMM150_DIG_Y3   (3)
 
#define BMI160_BMM150_DIG_XY1   (4)
 
#define BMI160_BMM150_DIG_XY2   (5)
 
#define BMI160_BMM150_DIG_Z1_LSB   (6)
 
#define BMI160_BMM150_DIG_Z1_MSB   (7)
 
#define BMI160_BMM150_DIG_Z2_LSB   (8)
 
#define BMI160_BMM150_DIG_Z2_MSB   (9)
 
#define BMI160_BMM150_DIG_DIG_Z3_LSB   (10)
 
#define BMI160_BMM150_DIG_DIG_Z3_MSB   (11)
 
#define BMI160_BMM150_DIG_DIG_Z4_LSB   (12)
 
#define BMI160_BMM150_DIG_DIG_Z4_MSB   (13)
 
#define BMI160_BMM150_DIG_DIG_XYZ1_LSB   (14)
 
#define BMI160_BMM150_DIG_DIG_XYZ1_MSB   (15)
 
#define BMI160_FIFO_FRAME_CNT   (146)
 
#define BMI160_FRAME_COUNT   (1)
 
CHIP ID LENGTH, POSITION AND MASK
#define BMI160_USER_CHIP_ID__POS   (0)
 
#define BMI160_USER_CHIP_ID__MSK   (0xFF)
 
#define BMI160_USER_CHIP_ID__LEN   (8)
 
#define BMI160_USER_CHIP_ID__REG   (BMI160_USER_CHIP_ID_ADDR)
 
ERROR STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_ERR_STAT__POS   (0)
 
#define BMI160_USER_ERR_STAT__LEN   (8)
 
#define BMI160_USER_ERR_STAT__MSK   (0xFF)
 
#define BMI160_USER_ERR_STAT__REG   (BMI160_USER_ERROR_ADDR)
 
#define BMI160_USER_FATAL_ERR__POS   (0)
 
#define BMI160_USER_FATAL_ERR__LEN   (1)
 
#define BMI160_USER_FATAL_ERR__MSK   (0x01)
 
#define BMI160_USER_FATAL_ERR__REG   (BMI160_USER_ERROR_ADDR)
 
#define BMI160_USER_ERR_CODE__POS   (1)
 
#define BMI160_USER_ERR_CODE__LEN   (4)
 
#define BMI160_USER_ERR_CODE__MSK   (0x1E)
 
#define BMI160_USER_ERR_CODE__REG   (BMI160_USER_ERROR_ADDR)
 
#define BMI160_USER_I2C_FAIL_ERR__POS   (5)
 
#define BMI160_USER_I2C_FAIL_ERR__LEN   (1)
 
#define BMI160_USER_I2C_FAIL_ERR__MSK   (0x20)
 
#define BMI160_USER_I2C_FAIL_ERR__REG   (BMI160_USER_ERROR_ADDR)
 
#define BMI160_USER_DROP_CMD_ERR__POS   (6)
 
#define BMI160_USER_DROP_CMD_ERR__LEN   (1)
 
#define BMI160_USER_DROP_CMD_ERR__MSK   (0x40)
 
#define BMI160_USER_DROP_CMD_ERR__REG   (BMI160_USER_ERROR_ADDR)
 
MAG DATA READY LENGTH, POSITION AND MASK
#define BMI160_USER_MAG_DATA_RDY_ERR__POS   (7)
 
#define BMI160_USER_MAG_DATA_RDY_ERR__LEN   (1)
 
#define BMI160_USER_MAG_DATA_RDY_ERR__MSK   (0x80)
 
#define BMI160_USER_MAG_DATA_RDY_ERR__REG   (BMI160_USER_ERROR_ADDR)
 
MAG POWER MODE LENGTH, POSITION AND MASK
#define BMI160_USER_MAG_POWER_MODE_STAT__POS   (0)
 
#define BMI160_USER_MAG_POWER_MODE_STAT__LEN   (2)
 
#define BMI160_USER_MAG_POWER_MODE_STAT__MSK   (0x03)
 
#define BMI160_USER_MAG_POWER_MODE_STAT__REG   (BMI160_USER_PMU_STAT_ADDR)
 
GYRO POWER MODE LENGTH, POSITION AND MASK
#define BMI160_USER_GYRO_POWER_MODE_STAT__POS   (2)
 
#define BMI160_USER_GYRO_POWER_MODE_STAT__LEN   (2)
 
#define BMI160_USER_GYRO_POWER_MODE_STAT__MSK   (0x0C)
 
#define BMI160_USER_GYRO_POWER_MODE_STAT__REG   (BMI160_USER_PMU_STAT_ADDR)
 
ACCEL POWER MODE LENGTH, POSITION AND MASK
#define BMI160_USER_ACCEL_POWER_MODE_STAT__POS   (4)
 
#define BMI160_USER_ACCEL_POWER_MODE_STAT__LEN   (2)
 
#define BMI160_USER_ACCEL_POWER_MODE_STAT__MSK   (0x30)
 
#define BMI160_USER_ACCEL_POWER_MODE_STAT__REG   (BMI160_USER_PMU_STAT_ADDR)
 
MAG DATA XYZ LENGTH, POSITION AND MASK
#define BMI160_USER_DATA_0_MAG_X_LSB__POS   (0)
 
#define BMI160_USER_DATA_0_MAG_X_LSB__LEN   (8)
 
#define BMI160_USER_DATA_0_MAG_X_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_0_MAG_X_LSB__REG   (BMI160_USER_DATA_0_ADDR)
 
#define BMI160_USER_DATA_MAG_X_LSB__POS   (3)
 
#define BMI160_USER_DATA_MAG_X_LSB__LEN   (5)
 
#define BMI160_USER_DATA_MAG_X_LSB__MSK   (0xF8)
 
#define BMI160_USER_DATA_MAG_X_LSB__REG   (BMI160_USER_DATA_0_ADDR)
 
#define BMI160_USER_DATA_1_MAG_X_MSB__POS   (0)
 
#define BMI160_USER_DATA_1_MAG_X_MSB__LEN   (8)
 
#define BMI160_USER_DATA_1_MAG_X_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_1_MAG_X_MSB__REG   (BMI160_USER_DATA_1_ADDR)
 
#define BMI160_USER_DATA_2_MAG_Y_LSB__POS   (0)
 
#define BMI160_USER_DATA_2_MAG_Y_LSB__LEN   (8)
 
#define BMI160_USER_DATA_2_MAG_Y_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_2_MAG_Y_LSB__REG   (BMI160_USER_DATA_2_ADDR)
 
#define BMI160_USER_DATA_MAG_Y_LSB__POS   (3)
 
#define BMI160_USER_DATA_MAG_Y_LSB__LEN   (5)
 
#define BMI160_USER_DATA_MAG_Y_LSB__MSK   (0xF8)
 
#define BMI160_USER_DATA_MAG_Y_LSB__REG   (BMI160_USER_DATA_2_ADDR)
 
#define BMI160_USER_DATA_3_MAG_Y_MSB__POS   (0)
 
#define BMI160_USER_DATA_3_MAG_Y_MSB__LEN   (8)
 
#define BMI160_USER_DATA_3_MAG_Y_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_3_MAG_Y_MSB__REG   (BMI160_USER_DATA_3_ADDR)
 
#define BMI160_USER_DATA_4_MAG_Z_LSB__POS   (0)
 
#define BMI160_USER_DATA_4_MAG_Z_LSB__LEN   (8)
 
#define BMI160_USER_DATA_4_MAG_Z_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_4_MAG_Z_LSB__REG   (BMI160_USER_DATA_4_ADDR)
 
#define BMI160_USER_DATA_MAG_Z_LSB__POS   (1)
 
#define BMI160_USER_DATA_MAG_Z_LSB__LEN   (7)
 
#define BMI160_USER_DATA_MAG_Z_LSB__MSK   (0xFE)
 
#define BMI160_USER_DATA_MAG_Z_LSB__REG   (BMI160_USER_DATA_4_ADDR)
 
#define BMI160_USER_DATA_5_MAG_Z_MSB__POS   (0)
 
#define BMI160_USER_DATA_5_MAG_Z_MSB__LEN   (8)
 
#define BMI160_USER_DATA_5_MAG_Z_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_5_MAG_Z_MSB__REG   (BMI160_USER_DATA_5_ADDR)
 
#define BMI160_USER_DATA_6_RHALL_LSB__POS   (0)
 
#define BMI160_USER_DATA_6_RHALL_LSB__LEN   (8)
 
#define BMI160_USER_DATA_6_RHALL_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_6_RHALL_LSB__REG   (BMI160_USER_DATA_6_ADDR)
 
#define BMI160_USER_DATA_MAG_R_LSB__POS   (2)
 
#define BMI160_USER_DATA_MAG_R_LSB__LEN   (6)
 
#define BMI160_USER_DATA_MAG_R_LSB__MSK   (0xFC)
 
#define BMI160_USER_DATA_MAG_R_LSB__REG   (BMI160_USER_DATA_6_ADDR)
 
#define BMI160_USER_DATA_7_RHALL_MSB__POS   (0)
 
#define BMI160_USER_DATA_7_RHALL_MSB__LEN   (8)
 
#define BMI160_USER_DATA_7_RHALL_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_7_RHALL_MSB__REG   (BMI160_USER_DATA_7_ADDR)
 
GYRO DATA XYZ LENGTH, POSITION AND MASK
#define BMI160_USER_DATA_8_GYRO_X_LSB__POS   (0)
 
#define BMI160_USER_DATA_8_GYRO_X_LSB__LEN   (8)
 
#define BMI160_USER_DATA_8_GYRO_X_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_8_GYRO_X_LSB__REG   (BMI160_USER_DATA_8_ADDR)
 
#define BMI160_USER_DATA_9_GYRO_X_MSB__POS   (0)
 
#define BMI160_USER_DATA_9_GYRO_X_MSB__LEN   (8)
 
#define BMI160_USER_DATA_9_GYRO_X_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_9_GYRO_X_MSB__REG   (BMI160_USER_DATA_9_ADDR)
 
#define BMI160_USER_DATA_10_GYRO_Y_LSB__POS   (0)
 
#define BMI160_USER_DATA_10_GYRO_Y_LSB__LEN   (8)
 
#define BMI160_USER_DATA_10_GYRO_Y_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_10_GYRO_Y_LSB__REG   (BMI160_USER_DATA_10_ADDR)
 
#define BMI160_USER_DATA_11_GYRO_Y_MSB__POS   (0)
 
#define BMI160_USER_DATA_11_GYRO_Y_MSB__LEN   (8)
 
#define BMI160_USER_DATA_11_GYRO_Y_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_11_GYRO_Y_MSB__REG   (BMI160_USER_DATA_11_ADDR)
 
#define BMI160_USER_DATA_12_GYRO_Z_LSB__POS   (0)
 
#define BMI160_USER_DATA_12_GYRO_Z_LSB__LEN   (8)
 
#define BMI160_USER_DATA_12_GYRO_Z_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_12_GYRO_Z_LSB__REG   (BMI160_USER_DATA_12_ADDR)
 
#define BMI160_USER_DATA_13_GYRO_Z_MSB__POS   (0)
 
#define BMI160_USER_DATA_13_GYRO_Z_MSB__LEN   (8)
 
#define BMI160_USER_DATA_13_GYRO_Z_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_13_GYRO_Z_MSB__REG   (BMI160_USER_DATA_13_ADDR)
 
ACCEL DATA XYZ LENGTH, POSITION AND MASK
#define BMI160_USER_DATA_14_ACCEL_X_LSB__POS   (0)
 
#define BMI160_USER_DATA_14_ACCEL_X_LSB__LEN   (8)
 
#define BMI160_USER_DATA_14_ACCEL_X_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_14_ACCEL_X_LSB__REG   (BMI160_USER_DATA_14_ADDR)
 
#define BMI160_USER_DATA_15_ACCEL_X_MSB__POS   (0)
 
#define BMI160_USER_DATA_15_ACCEL_X_MSB__LEN   (8)
 
#define BMI160_USER_DATA_15_ACCEL_X_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_15_ACCEL_X_MSB__REG   (BMI160_USER_DATA_15_ADDR)
 
#define BMI160_USER_DATA_16_ACCEL_Y_LSB__POS   (0)
 
#define BMI160_USER_DATA_16_ACCEL_Y_LSB__LEN   (8)
 
#define BMI160_USER_DATA_16_ACCEL_Y_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_16_ACCEL_Y_LSB__REG   (BMI160_USER_DATA_16_ADDR)
 
#define BMI160_USER_DATA_17_ACCEL_Y_MSB__POS   (0)
 
#define BMI160_USER_DATA_17_ACCEL_Y_MSB__LEN   (8)
 
#define BMI160_USER_DATA_17_ACCEL_Y_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_17_ACCEL_Y_MSB__REG   (BMI160_USER_DATA_17_ADDR)
 
#define BMI160_USER_DATA_18_ACCEL_Z_LSB__POS   (0)
 
#define BMI160_USER_DATA_18_ACCEL_Z_LSB__LEN   (8)
 
#define BMI160_USER_DATA_18_ACCEL_Z_LSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_18_ACCEL_Z_LSB__REG   (BMI160_USER_DATA_18_ADDR)
 
#define BMI160_USER_DATA_19_ACCEL_Z_MSB__POS   (0)
 
#define BMI160_USER_DATA_19_ACCEL_Z_MSB__LEN   (8)
 
#define BMI160_USER_DATA_19_ACCEL_Z_MSB__MSK   (0xFF)
 
#define BMI160_USER_DATA_19_ACCEL_Z_MSB__REG   (BMI160_USER_DATA_19_ADDR)
 
SENSOR TIME LENGTH, POSITION AND MASK
#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__POS   (0)
 
#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__LEN   (8)
 
#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__MSK   (0xFF)
 
#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__REG   (BMI160_USER_SENSORTIME_0_ADDR)
 
#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__POS   (0)
 
#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__LEN   (8)
 
#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__MSK   (0xFF)
 
#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__REG   (BMI160_USER_SENSORTIME_1_ADDR)
 
#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__POS   (0)
 
#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__LEN   (8)
 
#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__MSK   (0xFF)
 
#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__REG   (BMI160_USER_SENSORTIME_2_ADDR)
 
GYRO SELF TEST LENGTH, POSITION AND MASK
#define BMI160_USER_STAT_GYRO_SELFTEST_OK__POS   (1)
 
#define BMI160_USER_STAT_GYRO_SELFTEST_OK__LEN   (1)
 
#define BMI160_USER_STAT_GYRO_SELFTEST_OK__MSK   (0x02)
 
#define BMI160_USER_STAT_GYRO_SELFTEST_OK__REG   (BMI160_USER_STAT_ADDR)
 
#define BMI160_USER_GYRO_SELFTEST_START__POS   (4)
 
#define BMI160_USER_GYRO_SELFTEST_START__LEN   (1)
 
#define BMI160_USER_GYRO_SELFTEST_START__MSK   (0x10)
 
#define BMI160_USER_GYRO_SELFTEST_START__REG   (BMI160_USER_SELF_TEST_ADDR)
 
MAG MANUAL OPERATION LENGTH, POSITION AND MASK
#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__POS   (2)
 
#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__LEN   (1)
 
#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__MSK   (0x04)
 
#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__REG   (BMI160_USER_STAT_ADDR)
 
FOC STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_STAT_FOC_RDY__POS   (3)
 
#define BMI160_USER_STAT_FOC_RDY__LEN   (1)
 
#define BMI160_USER_STAT_FOC_RDY__MSK   (0x08)
 
#define BMI160_USER_STAT_FOC_RDY__REG   (BMI160_USER_STAT_ADDR)
 
NVM READY LENGTH, POSITION AND MASK
#define BMI160_USER_STAT_NVM_RDY__POS   (4)
 
#define BMI160_USER_STAT_NVM_RDY__LEN   (1)
 
#define BMI160_USER_STAT_NVM_RDY__MSK   (0x10)
 
#define BMI160_USER_STAT_NVM_RDY__REG   (BMI160_USER_STAT_ADDR)
 
DATA READY LENGTH, POSITION AND MASK FOR ACCEL, MAG AND GYRO
#define BMI160_USER_STAT_DATA_RDY_MAG__POS   (5)
 
#define BMI160_USER_STAT_DATA_RDY_MAG__LEN   (1)
 
#define BMI160_USER_STAT_DATA_RDY_MAG__MSK   (0x20)
 
#define BMI160_USER_STAT_DATA_RDY_MAG__REG   (BMI160_USER_STAT_ADDR)
 
#define BMI160_USER_STAT_DATA_RDY_GYRO__POS   (6)
 
#define BMI160_USER_STAT_DATA_RDY_GYRO__LEN   (1)
 
#define BMI160_USER_STAT_DATA_RDY_GYRO__MSK   (0x40)
 
#define BMI160_USER_STAT_DATA_RDY_GYRO__REG   (BMI160_USER_STAT_ADDR)
 
#define BMI160_USER_STAT_DATA_RDY_ACCEL__POS   (7)
 
#define BMI160_USER_STAT_DATA_RDY_ACCEL__LEN   (1)
 
#define BMI160_USER_STAT_DATA_RDY_ACCEL__MSK   (0x80)
 
#define BMI160_USER_STAT_DATA_RDY_ACCEL__REG   (BMI160_USER_STAT_ADDR)
 
INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_STEP_INTR__POS   (0)
 
#define BMI160_USER_INTR_STAT_0_STEP_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_STEP_INTR__MSK   (0x01)
 
#define BMI160_USER_INTR_STAT_0_STEP_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
SIGNIFICANT INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__POS   (1)
 
#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__MSK   (0x02)
 
#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
ANY_MOTION INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_ANY_MOTION__POS   (2)
 
#define BMI160_USER_INTR_STAT_0_ANY_MOTION__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_ANY_MOTION__MSK   (0x04)
 
#define BMI160_USER_INTR_STAT_0_ANY_MOTION__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
PMU TRIGGER INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__POS   3
 
#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__MSK   (0x08)
 
#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
DOUBLE TAP INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__POS   4
 
#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__MSK   (0x10)
 
#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
SINGLE TAP INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__POS   5
 
#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__MSK   (0x20)
 
#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
ORIENT INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_ORIENT__POS   (6)
 
#define BMI160_USER_INTR_STAT_0_ORIENT__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_ORIENT__MSK   (0x40)
 
#define BMI160_USER_INTR_STAT_0_ORIENT__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
FLAT INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_0_FLAT__POS   (7)
 
#define BMI160_USER_INTR_STAT_0_FLAT__LEN   (1)
 
#define BMI160_USER_INTR_STAT_0_FLAT__MSK   (0x80)
 
#define BMI160_USER_INTR_STAT_0_FLAT__REG   (BMI160_USER_INTR_STAT_0_ADDR)
 
HIGH_G INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__POS   (2)
 
#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__MSK   (0x04)
 
#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)
 
LOW_G INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__POS   (3)
 
#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__MSK   (0x08)
 
#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)
 
DATA READY INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__POS   (4)
 
#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__MSK   (0x10)
 
#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)
 
FIFO FULL INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__POS   (5)
 
#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__MSK   (0x20)
 
#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)
 
FIFO WATERMARK INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__POS   (6)
 
#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__MSK   (0x40)
 
#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)
 
NO MOTION INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__POS   (7)
 
#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__LEN   (1)
 
#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__MSK   (0x80)
 
#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)
 
ANY MOTION-XYZ AXIS INTERRUPT STATUS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__POS   (0)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__MSK   (0x01)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__POS   (1)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__MSK   (0x02)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__POS   (2)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__MSK   (0x04)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
ANY MOTION SIGN LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__POS   (3)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__MSK   (0x08)
 
#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
TAP_XYZ AND SIGN LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__POS   (4)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__MSK   (0x10)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__POS   (5)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__MSK   (0x20)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__POS   (6)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__MSK   (0x40)
 
#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
#define BMI160_USER_INTR_STAT_2_TAP_SIGN__POS   (7)
 
#define BMI160_USER_INTR_STAT_2_TAP_SIGN__LEN   (1)
 
#define BMI160_USER_INTR_STAT_2_TAP_SIGN__MSK   (0x80)
 
#define BMI160_USER_INTR_STAT_2_TAP_SIGN__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
INTERRUPT SATAUS FOR WHOLE 0x1E LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_2__POS   (0)
 
#define BMI160_USER_INTR_STAT_2__LEN   (8)
 
#define BMI160_USER_INTR_STAT_2__MSK   (0xFF)
 
#define BMI160_USER_INTR_STAT_2__REG   (BMI160_USER_INTR_STAT_2_ADDR)
 
HIGH_G-XYZ AND SIGN LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__POS   (0)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__LEN   (1)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__MSK   (0x01)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__POS   (1)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__LEN   (1)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__MSK   (0x02)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__POS   (2)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__LEN   (1)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__MSK   (0x04)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__POS   (3)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__LEN   (1)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__MSK   (0x08)
 
#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
ORIENT XY and Z AXIS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_3_ORIENT_XY__POS   (4)
 
#define BMI160_USER_INTR_STAT_3_ORIENT_XY__LEN   (2)
 
#define BMI160_USER_INTR_STAT_3_ORIENT_XY__MSK   (0x30)
 
#define BMI160_USER_INTR_STAT_3_ORIENT_XY__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
#define BMI160_USER_INTR_STAT_3_ORIENT_Z__POS   (6)
 
#define BMI160_USER_INTR_STAT_3_ORIENT_Z__LEN   (1)
 
#define BMI160_USER_INTR_STAT_3_ORIENT_Z__MSK   (0x40)
 
#define BMI160_USER_INTR_STAT_3_ORIENT_Z__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
FLAT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_3_FLAT__POS   (7)
 
#define BMI160_USER_INTR_STAT_3_FLAT__LEN   (1)
 
#define BMI160_USER_INTR_STAT_3_FLAT__MSK   (0x80)
 
#define BMI160_USER_INTR_STAT_3_FLAT__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
(0x1F) LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_STAT_3__POS   (0)
 
#define BMI160_USER_INTR_STAT_3__LEN   (8)
 
#define BMI160_USER_INTR_STAT_3__MSK   (0xFF)
 
#define BMI160_USER_INTR_STAT_3__REG   (BMI160_USER_INTR_STAT_3_ADDR)
 
TEMPERATURE LENGTH, POSITION AND MASK
#define BMI160_USER_TEMP_LSB_VALUE__POS   (0)
 
#define BMI160_USER_TEMP_LSB_VALUE__LEN   (8)
 
#define BMI160_USER_TEMP_LSB_VALUE__MSK   (0xFF)
 
#define BMI160_USER_TEMP_LSB_VALUE__REG   (BMI160_USER_TEMPERATURE_0_ADDR)
 
#define BMI160_USER_TEMP_MSB_VALUE__POS   (0)
 
#define BMI160_USER_TEMP_MSB_VALUE__LEN   (8)
 
#define BMI160_USER_TEMP_MSB_VALUE__MSK   (0xFF)
 
#define BMI160_USER_TEMP_MSB_VALUE__REG   (BMI160_USER_TEMPERATURE_1_ADDR)
 
FIFO BYTE COUNTER LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__POS   (0)
 
#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__LEN   (8)
 
#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__MSK   (0xFF)
 
#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__REG   (BMI160_USER_FIFO_LENGTH_0_ADDR)
 
#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__POS   (0)
 
#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__LEN   3
 
#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__MSK   (0x07)
 
#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__REG   (BMI160_USER_FIFO_LENGTH_1_ADDR)
 
FIFO DATA LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_DATA__POS   (0)
 
#define BMI160_USER_FIFO_DATA__LEN   (8)
 
#define BMI160_USER_FIFO_DATA__MSK   (0xFF)
 
#define BMI160_USER_FIFO_DATA__REG   (BMI160_USER_FIFO_DATA_ADDR)
 
ACCEL CONFIGURATION LENGTH, POSITION AND MASK
#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__POS   (0)
 
#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__LEN   (4)
 
#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__MSK   (0x0F)
 
#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__REG   (BMI160_USER_ACCEL_CONFIG_ADDR)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__POS   (4)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__LEN   (3)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__MSK   (0x70)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__REG   (BMI160_USER_ACCEL_CONFIG_ADDR)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__POS   (7)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__LEN   (1)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__MSK   (0x80)
 
#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__REG   (BMI160_USER_ACCEL_CONFIG_ADDR)
 
#define BMI160_USER_ACCEL_RANGE__POS   (0)
 
#define BMI160_USER_ACCEL_RANGE__LEN   (4)
 
#define BMI160_USER_ACCEL_RANGE__MSK   (0x0F)
 
#define BMI160_USER_ACCEL_RANGE__REG   (BMI160_USER_ACCEL_RANGE_ADDR)
 
GYRO CONFIGURATION LENGTH, POSITION AND MASK
#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__POS   (0)
 
#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__LEN   (4)
 
#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__MSK   (0x0F)
 
#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__REG   (BMI160_USER_GYRO_CONFIG_ADDR)
 
#define BMI160_USER_GYRO_CONFIG_BW__POS   (4)
 
#define BMI160_USER_GYRO_CONFIG_BW__LEN   (2)
 
#define BMI160_USER_GYRO_CONFIG_BW__MSK   (0x30)
 
#define BMI160_USER_GYRO_CONFIG_BW__REG   (BMI160_USER_GYRO_CONFIG_ADDR)
 
#define BMI160_USER_GYRO_RANGE__POS   (0)
 
#define BMI160_USER_GYRO_RANGE__LEN   (3)
 
#define BMI160_USER_GYRO_RANGE__MSK   (0x07)
 
#define BMI160_USER_GYRO_RANGE__REG   (BMI160_USER_GYRO_RANGE_ADDR)
 
MAG CONFIGURATION LENGTH, POSITION AND MASK
#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__POS   (0)
 
#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__LEN   (4)
 
#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__MSK   (0x0F)
 
#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__REG   (BMI160_USER_MAG_CONFIG_ADDR)
 
FIFO DOWNS LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_DOWN_GYRO__POS   (0)
 
#define BMI160_USER_FIFO_DOWN_GYRO__LEN   (3)
 
#define BMI160_USER_FIFO_DOWN_GYRO__MSK   (0x07)
 
#define BMI160_USER_FIFO_DOWN_GYRO__REG   (BMI160_USER_FIFO_DOWN_ADDR)
 
FIFO FILTER FOR ACCEL AND GYRO LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_FILTER_GYRO__POS   (3)
 
#define BMI160_USER_FIFO_FILTER_GYRO__LEN   (1)
 
#define BMI160_USER_FIFO_FILTER_GYRO__MSK   (0x08)
 
#define BMI160_USER_FIFO_FILTER_GYRO__REG   (BMI160_USER_FIFO_DOWN_ADDR)
 
#define BMI160_USER_FIFO_DOWN_ACCEL__POS   (4)
 
#define BMI160_USER_FIFO_DOWN_ACCEL__LEN   (3)
 
#define BMI160_USER_FIFO_DOWN_ACCEL__MSK   (0x70)
 
#define BMI160_USER_FIFO_DOWN_ACCEL__REG   (BMI160_USER_FIFO_DOWN_ADDR)
 
#define BMI160_USER_FIFO_FILTER_ACCEL__POS   (7)
 
#define BMI160_USER_FIFO_FILTER_ACCEL__LEN   (1)
 
#define BMI160_USER_FIFO_FILTER_ACCEL__MSK   (0x80)
 
#define BMI160_USER_FIFO_FILTER_ACCEL__REG   (BMI160_USER_FIFO_DOWN_ADDR)
 
FIFO WATER MARK LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_WM__POS   (0)
 
#define BMI160_USER_FIFO_WM__LEN   (8)
 
#define BMI160_USER_FIFO_WM__MSK   (0xFF)
 
#define BMI160_USER_FIFO_WM__REG   (BMI160_USER_FIFO_CONFIG_0_ADDR)
 
FIFO TIME LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_TIME_ENABLE__POS   (1)
 
#define BMI160_USER_FIFO_TIME_ENABLE__LEN   (1)
 
#define BMI160_USER_FIFO_TIME_ENABLE__MSK   (0x02)
 
#define BMI160_USER_FIFO_TIME_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)
 
FIFO TAG INTERRUPT LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__POS   (2)
 
#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__LEN   (1)
 
#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__MSK   (0x04)
 
#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)
 
#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__POS   (3)
 
#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__LEN   (1)
 
#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__MSK   (0x08)
 
#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)
 
FIFO HEADER LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_HEADER_ENABLE__POS   (4)
 
#define BMI160_USER_FIFO_HEADER_ENABLE__LEN   (1)
 
#define BMI160_USER_FIFO_HEADER_ENABLE__MSK   (0x10)
 
#define BMI160_USER_FIFO_HEADER_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)
 
FIFO MAG ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_MAG_ENABLE__POS   (5)
 
#define BMI160_USER_FIFO_MAG_ENABLE__LEN   (1)
 
#define BMI160_USER_FIFO_MAG_ENABLE__MSK   (0x20)
 
#define BMI160_USER_FIFO_MAG_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)
 
FIFO ACCEL ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_ACCEL_ENABLE__POS   (6)
 
#define BMI160_USER_FIFO_ACCEL_ENABLE__LEN   (1)
 
#define BMI160_USER_FIFO_ACCEL_ENABLE__MSK   (0x40)
 
#define BMI160_USER_FIFO_ACCEL_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)
 
FIFO GYRO ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_FIFO_GYRO_ENABLE__POS   (7)
 
#define BMI160_USER_FIFO_GYRO_ENABLE__LEN   (1)
 
#define BMI160_USER_FIFO_GYRO_ENABLE__MSK   (0x80)
 
#define BMI160_USER_FIFO_GYRO_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)
 
MAG I2C ADDRESS SELECTION LENGTH, POSITION AND MASK
#define BMI160_USER_I2C_DEVICE_ADDR__POS   (1)
 
#define BMI160_USER_I2C_DEVICE_ADDR__LEN   (7)
 
#define BMI160_USER_I2C_DEVICE_ADDR__MSK   (0xFE)
 
#define BMI160_USER_I2C_DEVICE_ADDR__REG   (BMI160_USER_MAG_IF_0_ADDR)
 
MAG CONFIGURATION FOR SECONDARY

INTERFACE LENGTH, POSITION AND MASK

#define BMI160_USER_MAG_BURST__POS   (0)
 
#define BMI160_USER_MAG_BURST__LEN   (2)
 
#define BMI160_USER_MAG_BURST__MSK   (0x03)
 
#define BMI160_USER_MAG_BURST__REG   (BMI160_USER_MAG_IF_1_ADDR)
 
#define BMI160_USER_MAG_OFFSET__POS   (2)
 
#define BMI160_USER_MAG_OFFSET__LEN   (4)
 
#define BMI160_USER_MAG_OFFSET__MSK   (0x3C)
 
#define BMI160_USER_MAG_OFFSET__REG   (BMI160_USER_MAG_IF_1_ADDR)
 
#define BMI160_USER_MAG_MANUAL_ENABLE__POS   (7)
 
#define BMI160_USER_MAG_MANUAL_ENABLE__LEN   (1)
 
#define BMI160_USER_MAG_MANUAL_ENABLE__MSK   (0x80)
 
#define BMI160_USER_MAG_MANUAL_ENABLE__REG   (BMI160_USER_MAG_IF_1_ADDR)
 
#define BMI160_USER_READ_ADDR__POS   (0)
 
#define BMI160_USER_READ_ADDR__LEN   (8)
 
#define BMI160_USER_READ_ADDR__MSK   (0xFF)
 
#define BMI160_USER_READ_ADDR__REG   (BMI160_USER_MAG_IF_2_ADDR)
 
#define BMI160_USER_WRITE_ADDR__POS   (0)
 
#define BMI160_USER_WRITE_ADDR__LEN   (8)
 
#define BMI160_USER_WRITE_ADDR__MSK   (0xFF)
 
#define BMI160_USER_WRITE_ADDR__REG   (BMI160_USER_MAG_IF_3_ADDR)
 
#define BMI160_USER_WRITE_DATA__POS   (0)
 
#define BMI160_USER_WRITE_DATA__LEN   (8)
 
#define BMI160_USER_WRITE_DATA__MSK   (0xFF)
 
#define BMI160_USER_WRITE_DATA__REG   (BMI160_USER_MAG_IF_4_ADDR)
 
ANY MOTION XYZ AXIS ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__POS   (0)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__MSK   (0x01)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__POS   (1)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__MSK   (0x02)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__POS   (2)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__MSK   (0x04)
 
#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)
 
DOUBLE TAP ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__POS   (4)
 
#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__MSK   (0x10)
 
#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)
 
SINGLE TAP ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__POS   (5)
 
#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__MSK   (0x20)
 
#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)
 
ORIENT ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__POS   (6)
 
#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__MSK   (0x40)
 
#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)
 
FLAT ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__POS   (7)
 
#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__MSK   (0x80)
 
#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)
 
HIGH_G XYZ ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__POS   (0)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__MSK   (0x01)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__POS   (1)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__MSK   (0x02)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__POS   (2)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__MSK   (0x04)
 
#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)
 
LOW_G ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__POS   (3)
 
#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__MSK   (0x08)
 
#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)
 
DATA READY ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__POS   (4)
 
#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__MSK   (0x10)
 
#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)
 
FIFO FULL AND WATER MARK ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__POS   (5)
 
#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__MSK   (0x20)
 
#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)
 
#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__POS   (6)
 
#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__MSK   (0x40)
 
#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)
 
NO MOTION XYZ ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__POS   (0)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__MSK   (0x01)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__POS   (1)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__MSK   (0x02)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__POS   (2)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__MSK   (0x04)
 
#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)
 
STEP DETECTOR ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__POS   (3)
 
#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__MSK   (0x08)
 
#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)
 
EDGE CONTROL ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR1_EDGE_CTRL__POS   (0)
 
#define BMI160_USER_INTR1_EDGE_CTRL__LEN   (1)
 
#define BMI160_USER_INTR1_EDGE_CTRL__MSK   (0x01)
 
#define BMI160_USER_INTR1_EDGE_CTRL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
#define BMI160_USER_INTR2_EDGE_CTRL__POS   (4)
 
#define BMI160_USER_INTR2_EDGE_CTRL__LEN   (1)
 
#define BMI160_USER_INTR2_EDGE_CTRL__MSK   (0x10)
 
#define BMI160_USER_INTR2_EDGE_CTRL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
LEVEL CONTROL ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR1_LEVEL__POS   (1)
 
#define BMI160_USER_INTR1_LEVEL__LEN   (1)
 
#define BMI160_USER_INTR1_LEVEL__MSK   (0x02)
 
#define BMI160_USER_INTR1_LEVEL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
#define BMI160_USER_INTR2_LEVEL__POS   (5)
 
#define BMI160_USER_INTR2_LEVEL__LEN   (1)
 
#define BMI160_USER_INTR2_LEVEL__MSK   (0x20)
 
#define BMI160_USER_INTR2_LEVEL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
OUTPUT TYPE ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR1_OUTPUT_TYPE__POS   (2)
 
#define BMI160_USER_INTR1_OUTPUT_TYPE__LEN   (1)
 
#define BMI160_USER_INTR1_OUTPUT_TYPE__MSK   (0x04)
 
#define BMI160_USER_INTR1_OUTPUT_TYPE__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
#define BMI160_USER_INTR1_OUTPUT_ENABLE__POS   (3)
 
#define BMI160_USER_INTR1_OUTPUT_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR1_OUTPUT_ENABLE__MSK   (0x08)
 
#define BMI160_USER_INTR1_OUTPUT_ENABLE__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
#define BMI160_USER_INTR2_OUTPUT_TYPE__POS   (6)
 
#define BMI160_USER_INTR2_OUTPUT_TYPE__LEN   (1)
 
#define BMI160_USER_INTR2_OUTPUT_TYPE__MSK   (0x40)
 
#define BMI160_USER_INTR2_OUTPUT_TYPE__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
#define BMI160_USER_INTR2_OUTPUT_EN__POS   (7)
 
#define BMI160_USER_INTR2_OUTPUT_EN__LEN   (1)
 
#define BMI160_USER_INTR2_OUTPUT_EN__MSK   (0x80)
 
#define BMI160_USER_INTR2_OUTPUT_EN__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)
 
LATCH INTERRUPT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LATCH__POS   (0)
 
#define BMI160_USER_INTR_LATCH__LEN   (4)
 
#define BMI160_USER_INTR_LATCH__MSK   (0x0F)
 
#define BMI160_USER_INTR_LATCH__REG   (BMI160_USER_INTR_LATCH_ADDR)
 
INPUT ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR1_INPUT_ENABLE__POS   (4)
 
#define BMI160_USER_INTR1_INPUT_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR1_INPUT_ENABLE__MSK   (0x10)
 
#define BMI160_USER_INTR1_INPUT_ENABLE__REG   (BMI160_USER_INTR_LATCH_ADDR)
 
#define BMI160_USER_INTR2_INPUT_ENABLE__POS   (5)
 
#define BMI160_USER_INTR2_INPUT_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR2_INPUT_ENABLE__MSK   (0x20)
 
#define BMI160_USER_INTR2_INPUT_ENABLE__REG   (BMI160_USER_INTR_LATCH_ADDR)
 
INTERRUPT1 MAPPIONG OF LOW_G LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__POS   (0)
 
#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__MSK   (0x01)
 
#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT1 MAPPIONG OF HIGH_G LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__POS   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__MSK   (0x02)
 
#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT MAPPIONG OF ANY MOTION_G LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__POS   (2)
 
#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__MSK   (0x04)
 
#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT1 MAPPIONG OF NO MOTION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__POS   (3)
 
#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__MSK   (0x08)
 
#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT1 MAPPIONG OF DOUBLE TAP LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__POS   (4)
 
#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__MSK   (0x10)
 
#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT1 MAPPIONG OF SINGLE TAP LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__POS   (5)
 
#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__MSK   (0x20)
 
#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT1 MAPPIONG OF ORIENT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__POS   (6)
 
#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__MSK   (0x40)
 
#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT MAPPIONG OF FLAT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__POS   (7)
 
#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__LEN   (1)
 
#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__MSK   (0x80)
 
#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__REG   (BMI160_USER_INTR_MAP_0_ADDR)
 
INTERRUPT1 MAPPIONG OF PMU TRIGGER LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__POS   (0)
 
#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__MSK   (0x01)
 
#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__POS   (4)
 
#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__MSK   (0x10)
 
#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
INTERRUPT1 MAPPIONG OF FIFO FULL AND

WATER MARK LENGTH, POSITION AND MASK

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__POS   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__MSK   (0x02)
 
#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__POS   (2)
 
#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__MSK   (0x04)
 
#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__POS   (5)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__MSK   (0x20)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__POS   (6)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__MSK   (0x40)
 
#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
INTERRUPT1 MAPPIONG OF DATA READY LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__POS   (3)
 
#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__MSK   (0x08)
 
#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__POS   (7)
 
#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__LEN   (1)
 
#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__MSK   (0x80)
 
#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__REG   (BMI160_USER_INTR_MAP_1_ADDR)
 
INTERRUPT2 MAPPIONG OF LOW_G LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__POS   (0)
 
#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__MSK   (0x01)
 
#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
INTERRUPT2 MAPPIONG OF HIGH_G LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__POS   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__MSK   (0x02)
 
#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
INTERRUPT2 MAPPIONG OF ANY MOTION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__POS   (2)
 
#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__MSK   (0x04)
 
#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
INTERRUPT2 MAPPIONG OF NO MOTION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__POS   (3)
 
#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__MSK   (0x08)
 
#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
INTERRUPT2 MAPPIONG OF DOUBLE TAP LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__POS   (4)
 
#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__MSK   (0x10)
 
#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
INTERRUPT2 MAPPIONG OF SINGLE TAP LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__POS   (5)
 
#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__MSK   (0x20)
 
#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
INTERRUPT2 MAPPIONG OF ORIENT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__POS   (6)
 
#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__MSK   (0x40)
 
#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
INTERRUPT2 MAPPIONG OF FLAT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__POS   (7)
 
#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__LEN   (1)
 
#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__MSK   (0x80)
 
#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__REG   (BMI160_USER_INTR_MAP_2_ADDR)
 
TAP SOURCE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__POS   (3)
 
#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__LEN   (1)
 
#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__MSK   (0x08)
 
#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__REG   (BMI160_USER_INTR_DATA_0_ADDR)
 
HIGH SOURCE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__POS   (7)
 
#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__LEN   (1)
 
#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__MSK   (0x80)
 
#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__REG   (BMI160_USER_INTR_DATA_0_ADDR)
 
MOTION SOURCE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__POS   (7)
 
#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__LEN   (1)
 
#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__MSK   (0x80)
 
#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__REG   (BMI160_USER_INTR_DATA_1_ADDR)
 
LOW HIGH DURATION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__POS   (0)
 
#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__LEN   (8)
 
#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__MSK   (0xFF)
 
#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__REG   (BMI160_USER_INTR_LOWHIGH_0_ADDR)
 
LOW THRESHOLD LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__POS   (0)
 
#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__LEN   (8)
 
#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__MSK   (0xFF)
 
#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__REG   (BMI160_USER_INTR_LOWHIGH_1_ADDR)
 
LOW HYSTERESIS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__POS   (0)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__LEN   (2)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__MSK   (0x03)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__REG   (BMI160_USER_INTR_LOWHIGH_2_ADDR)
 
LOW MODE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__POS   (2)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__LEN   (1)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__MSK   (0x04)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__REG   (BMI160_USER_INTR_LOWHIGH_2_ADDR)
 
HIGH_G HYSTERESIS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__POS   (6)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__LEN   (2)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__MSK   (0xC0)
 
#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__REG   (BMI160_USER_INTR_LOWHIGH_2_ADDR)
 
HIGH_G DURATION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__POS   (0)
 
#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__LEN   (8)
 
#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__MSK   (0xFF)
 
#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__REG   (BMI160_USER_INTR_LOWHIGH_3_ADDR)
 
HIGH_G THRESHOLD LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__POS   (0)
 
#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__LEN   (8)
 
#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__MSK   (0xFF)
 
#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__REG   (BMI160_USER_INTR_LOWHIGH_4_ADDR)
 
ANY MOTION DURATION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__POS   (0)
 
#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__LEN   (2)
 
#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__MSK   (0x03)
 
#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__REG   (BMI160_USER_INTR_MOTION_0_ADDR)
 
SLOW/NO MOTION DURATION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__POS   (2)
 
#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__LEN   (6)
 
#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__MSK   (0xFC)
 
#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__REG   (BMI160_USER_INTR_MOTION_0_ADDR)
 
ANY MOTION THRESHOLD LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__POS   (0)
 
#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__LEN   (8)
 
#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__MSK   (0xFF)
 
#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__REG   (BMI160_USER_INTR_MOTION_1_ADDR)
 
SLOW/NO MOTION THRESHOLD LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__POS   (0)
 
#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__LEN   (8)
 
#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__MSK   (0xFF)
 
#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__REG   (BMI160_USER_INTR_MOTION_2_ADDR)
 
SLOW/NO MOTION SELECT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__POS   (0)
 
#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__LEN   (1)
 
#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__MSK   (0x01)
 
#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__REG   (BMI160_USER_INTR_MOTION_3_ADDR)
 
SIGNIFICANT MOTION SELECT LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__POS   (1)
 
#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__LEN   (1)
 
#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__MSK   (0x02)
 
#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__REG   (BMI160_USER_INTR_MOTION_3_ADDR)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__POS   (2)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__LEN   (2)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__MSK   (0x0C)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__REG   (BMI160_USER_INTR_MOTION_3_ADDR)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__POS   (4)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__LEN   (2)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__MSK   (0x30)
 
#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__REG   (BMI160_USER_INTR_MOTION_3_ADDR)
 
TAP DURATION LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__POS   (0)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__LEN   (3)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__MSK   (0x07)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__REG   (BMI160_USER_INTR_TAP_0_ADDR)
 
TAP SHOCK LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__POS   (6)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__LEN   (1)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__MSK   (0x40)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__REG   (BMI160_USER_INTR_TAP_0_ADDR)
 
TAP QUIET LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__POS   (7)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__LEN   (1)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__MSK   (0x80)
 
#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__REG   (BMI160_USER_INTR_TAP_0_ADDR)
 
TAP THRESHOLD LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__POS   (0)
 
#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__LEN   (5)
 
#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__MSK   (0x1F)
 
#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__REG   (BMI160_USER_INTR_TAP_1_ADDR)
 
ORIENT MODE LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__POS   (0)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__LEN   (2)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__MSK   (0x03)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__REG   (BMI160_USER_INTR_ORIENT_0_ADDR)
 
ORIENT BLOCKING LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__POS   (2)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__LEN   (2)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__MSK   (0x0C)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__REG   (BMI160_USER_INTR_ORIENT_0_ADDR)
 
ORIENT HYSTERESIS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__POS   (4)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__LEN   (4)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__MSK   (0xF0)
 
#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__REG   (BMI160_USER_INTR_ORIENT_0_ADDR)
 
ORIENT THETA LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__POS   (0)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__LEN   (6)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__MSK   (0x3F)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__REG   (BMI160_USER_INTR_ORIENT_1_ADDR)
 
ORIENT UD LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__POS   (6)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__LEN   (1)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__MSK   (0x40)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__REG   (BMI160_USER_INTR_ORIENT_1_ADDR)
 
ORIENT AXIS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__POS   (7)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__LEN   (1)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__MSK   (0x80)
 
#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__REG   (BMI160_USER_INTR_ORIENT_1_ADDR)
 
FLAT THETA LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__POS   (0)
 
#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__LEN   (6)
 
#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__MSK   (0x3F)
 
#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__REG   (BMI160_USER_INTR_FLAT_0_ADDR)
 
FLAT HYSTERESIS LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__POS   (0)
 
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__LEN   (4)
 
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__MSK   (0x0F)
 
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__REG   (BMI160_USER_INTR_FLAT_1_ADDR)
 
FLAT HOLD LENGTH, POSITION AND MASK
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__POS   (4)
 
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__LEN   (2)
 
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__MSK   (0x30)
 
#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__REG   (BMI160_USER_INTR_FLAT_1_ADDR)
 
FOC ACCEL XYZ LENGTH, POSITION AND MASK
#define BMI160_USER_FOC_ACCEL_Z__POS   (0)
 
#define BMI160_USER_FOC_ACCEL_Z__LEN   (2)
 
#define BMI160_USER_FOC_ACCEL_Z__MSK   (0x03)
 
#define BMI160_USER_FOC_ACCEL_Z__REG   (BMI160_USER_FOC_CONFIG_ADDR)
 
#define BMI160_USER_FOC_ACCEL_Y__POS   (2)
 
#define BMI160_USER_FOC_ACCEL_Y__LEN   (2)
 
#define BMI160_USER_FOC_ACCEL_Y__MSK   (0x0C)
 
#define BMI160_USER_FOC_ACCEL_Y__REG   (BMI160_USER_FOC_CONFIG_ADDR)
 
#define BMI160_USER_FOC_ACCEL_X__POS   (4)
 
#define BMI160_USER_FOC_ACCEL_X__LEN   (2)
 
#define BMI160_USER_FOC_ACCEL_X__MSK   (0x30)
 
#define BMI160_USER_FOC_ACCEL_X__REG   (BMI160_USER_FOC_CONFIG_ADDR)
 
FOC GYRO LENGTH, POSITION AND MASK
#define BMI160_USER_FOC_GYRO_ENABLE__POS   (6)
 
#define BMI160_USER_FOC_GYRO_ENABLE__LEN   (1)
 
#define BMI160_USER_FOC_GYRO_ENABLE__MSK   (0x40)
 
#define BMI160_USER_FOC_GYRO_ENABLE__REG   (BMI160_USER_FOC_CONFIG_ADDR)
 
NVM PROGRAM LENGTH, POSITION AND MASK
#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__POS   (1)
 
#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__LEN   (1)
 
#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__MSK   (0x02)
 
#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__REG   (BMI160_USER_CONFIG_ADDR)
 
#define BMI160_USER_IF_CONFIG_SPI3__POS   (0)
 
#define BMI160_USER_IF_CONFIG_SPI3__LEN   (1)
 
#define BMI160_USER_IF_CONFIG_SPI3__MSK   (0x01)
 
#define BMI160_USER_IF_CONFIG_SPI3__REG   (BMI160_USER_IF_CONFIG_ADDR)
 
#define BMI160_USER_IF_CONFIG_IF_MODE__POS   (4)
 
#define BMI160_USER_IF_CONFIG_IF_MODE__LEN   (2)
 
#define BMI160_USER_IF_CONFIG_IF_MODE__MSK   (0x30)
 
#define BMI160_USER_IF_CONFIG_IF_MODE__REG   (BMI160_USER_IF_CONFIG_ADDR)
 
GYRO SLEEP CONFIGURATION LENGTH, POSITION AND MASK
#define BMI160_USER_GYRO_SLEEP_TRIGGER__POS   (0)
 
#define BMI160_USER_GYRO_SLEEP_TRIGGER__LEN   (3)
 
#define BMI160_USER_GYRO_SLEEP_TRIGGER__MSK   (0x07)
 
#define BMI160_USER_GYRO_SLEEP_TRIGGER__REG   (BMI160_USER_PMU_TRIGGER_ADDR)
 
#define BMI160_USER_GYRO_WAKEUP_TRIGGER__POS   (3)
 
#define BMI160_USER_GYRO_WAKEUP_TRIGGER__LEN   (2)
 
#define BMI160_USER_GYRO_WAKEUP_TRIGGER__MSK   (0x18)
 
#define BMI160_USER_GYRO_WAKEUP_TRIGGER__REG   (BMI160_USER_PMU_TRIGGER_ADDR)
 
#define BMI160_USER_GYRO_SLEEP_STATE__POS   (5)
 
#define BMI160_USER_GYRO_SLEEP_STATE__LEN   (1)
 
#define BMI160_USER_GYRO_SLEEP_STATE__MSK   (0x20)
 
#define BMI160_USER_GYRO_SLEEP_STATE__REG   (BMI160_USER_PMU_TRIGGER_ADDR)
 
#define BMI160_USER_GYRO_WAKEUP_INTR__POS   (6)
 
#define BMI160_USER_GYRO_WAKEUP_INTR__LEN   (1)
 
#define BMI160_USER_GYRO_WAKEUP_INTR__MSK   (0x40)
 
#define BMI160_USER_GYRO_WAKEUP_INTR__REG   (BMI160_USER_PMU_TRIGGER_ADDR)
 
ACCEL SELF TEST LENGTH, POSITION AND MASK
#define BMI160_USER_ACCEL_SELFTEST_AXIS__POS   (0)
 
#define BMI160_USER_ACCEL_SELFTEST_AXIS__LEN   (2)
 
#define BMI160_USER_ACCEL_SELFTEST_AXIS__MSK   (0x03)
 
#define BMI160_USER_ACCEL_SELFTEST_AXIS__REG   (BMI160_USER_SELF_TEST_ADDR)
 
#define BMI160_USER_ACCEL_SELFTEST_SIGN__POS   (2)
 
#define BMI160_USER_ACCEL_SELFTEST_SIGN__LEN   (1)
 
#define BMI160_USER_ACCEL_SELFTEST_SIGN__MSK   (0x04)
 
#define BMI160_USER_ACCEL_SELFTEST_SIGN__REG   (BMI160_USER_SELF_TEST_ADDR)
 
#define BMI160_USER_SELFTEST_AMP__POS   (3)
 
#define BMI160_USER_SELFTEST_AMP__LEN   (1)
 
#define BMI160_USER_SELFTEST_AMP__MSK   (0x08)
 
#define BMI160_USER_SELFTEST_AMP__REG   (BMI160_USER_SELF_TEST_ADDR)
 
NV_CONFIG LENGTH, POSITION AND MASK
#define BMI160_USER_NV_CONFIG_SPI_ENABLE__POS   (0)
 
#define BMI160_USER_NV_CONFIG_SPI_ENABLE__LEN   (1)
 
#define BMI160_USER_NV_CONFIG_SPI_ENABLE__MSK   (0x01)
 
#define BMI160_USER_NV_CONFIG_SPI_ENABLE__REG   (BMI160_USER_NV_CONFIG_ADDR)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__POS   (1)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__LEN   (1)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__MSK   (0x02)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__REG   (BMI160_USER_NV_CONFIG_ADDR)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__POS   (2)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__LEN   (1)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__MSK   (0x04)
 
#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__REG   (BMI160_USER_NV_CONFIG_ADDR)
 
#define BMI160_USER_NV_CONFIG_SPARE0__POS   (3)
 
#define BMI160_USER_NV_CONFIG_SPARE0__LEN   (1)
 
#define BMI160_USER_NV_CONFIG_SPARE0__MSK   (0x08)
 
#define BMI160_USER_NV_CONFIG_SPARE0__REG   (BMI160_USER_NV_CONFIG_ADDR)
 
#define BMI160_USER_NV_CONFIG_NVM_COUNTER__POS   (4)
 
#define BMI160_USER_NV_CONFIG_NVM_COUNTER__LEN   (4)
 
#define BMI160_USER_NV_CONFIG_NVM_COUNTER__MSK   (0xF0)
 
#define BMI160_USER_NV_CONFIG_NVM_COUNTER__REG   (BMI160_USER_NV_CONFIG_ADDR)
 
ACCEL MANUAL OFFSET LENGTH, POSITION AND MASK
#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__POS   (0)
 
#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__LEN   (8)
 
#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__MSK   (0xFF)
 
#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__REG   (BMI160_USER_OFFSET_0_ADDR)
 
#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__POS   (0)
 
#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__LEN   (8)
 
#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__MSK   (0xFF)
 
#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__REG   (BMI160_USER_OFFSET_1_ADDR)
 
#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__POS   (0)
 
#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__LEN   (8)
 
#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__MSK   (0xFF)
 
#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__REG   (BMI160_USER_OFFSET_2_ADDR)
 
GYRO MANUAL OFFSET LENGTH, POSITION AND MASK
#define BMI160_USER_OFFSET_3_GYRO_OFF_X__POS   (0)
 
#define BMI160_USER_OFFSET_3_GYRO_OFF_X__LEN   (8)
 
#define BMI160_USER_OFFSET_3_GYRO_OFF_X__MSK   (0xFF)
 
#define BMI160_USER_OFFSET_3_GYRO_OFF_X__REG   (BMI160_USER_OFFSET_3_ADDR)
 
#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__POS   (0)
 
#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__LEN   (8)
 
#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__MSK   (0xFF)
 
#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__REG   (BMI160_USER_OFFSET_4_ADDR)
 
#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__POS   (0)
 
#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__LEN   (8)
 
#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__MSK   (0xFF)
 
#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__REG   (BMI160_USER_OFFSET_5_ADDR)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_X__POS   (0)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_X__LEN   (2)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_X__MSK   (0x03)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_X__REG   (BMI160_USER_OFFSET_6_ADDR)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__POS   (2)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__LEN   (2)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__MSK   (0x0C)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__REG   (BMI160_USER_OFFSET_6_ADDR)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__POS   (4)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__LEN   (2)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__MSK   (0x30)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__REG   (BMI160_USER_OFFSET_6_ADDR)
 
ACCEL OFFSET ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__POS   (6)
 
#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__LEN   (1)
 
#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__MSK   (0x40)
 
#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__REG   (BMI160_USER_OFFSET_6_ADDR)
 
GYRO OFFSET ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__POS   (7)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__LEN   (1)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__MSK   (0x80)
 
#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__REG   (BMI160_USER_OFFSET_6_ADDR)
 
STEP COUNTER LENGTH, POSITION AND MASK
#define BMI160_USER_STEP_COUNT_LSB__POS   (0)
 
#define BMI160_USER_STEP_COUNT_LSB__LEN   (7)
 
#define BMI160_USER_STEP_COUNT_LSB__MSK   (0xFF)
 
#define BMI160_USER_STEP_COUNT_LSB__REG   (BMI160_USER_STEP_COUNT_0_ADDR)
 
#define BMI160_USER_STEP_COUNT_MSB__POS   (0)
 
#define BMI160_USER_STEP_COUNT_MSB__LEN   (7)
 
#define BMI160_USER_STEP_COUNT_MSB__MSK   (0xFF)
 
#define BMI160_USER_STEP_COUNT_MSB__REG   (BMI160_USER_STEP_COUNT_1_ADDR)
 
STEP COUNTER CONFIGURATION LENGTH, POSITION AND MASK
#define BMI160_USER_STEP_CONFIG_ZERO__POS   (0)
 
#define BMI160_USER_STEP_CONFIG_ZERO__LEN   (7)
 
#define BMI160_USER_STEP_CONFIG_ZERO__MSK   (0xFF)
 
#define BMI160_USER_STEP_CONFIG_ZERO__REG   (BMI160_USER_STEP_CONFIG_0_ADDR)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF1__POS   (0)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF1__LEN   (3)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF1__MSK   (0x07)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF1__REG   (BMI160_USER_STEP_CONFIG_1_ADDR)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF2__POS   (4)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF2__LEN   (4)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF2__MSK   (0xF0)
 
#define BMI160_USER_STEP_CONFIG_ONE_CNF2__REG   (BMI160_USER_STEP_CONFIG_1_ADDR)
 
STEP COUNTER ENABLE LENGTH, POSITION AND MASK
#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__POS   (3)
 
#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__LEN   (1)
 
#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__MSK   (0x08)
 
#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__REG   (BMI160_USER_STEP_CONFIG_1_ADDR)
 
COMMAND REGISTER LENGTH, POSITION AND MASK
#define BMI160_CMD_COMMANDS__POS   (0)
 
#define BMI160_CMD_COMMANDS__LEN   (8)
 
#define BMI160_CMD_COMMANDS__MSK   (0xFF)
 
#define BMI160_CMD_COMMANDS__REG   (BMI160_CMD_COMMANDS_ADDR)
 
PAGE ENABLE LENGTH, POSITION AND MASK
#define BMI160_CMD_TARGET_PAGE__POS   (4)
 
#define BMI160_CMD_TARGET_PAGE__LEN   (2)
 
#define BMI160_CMD_TARGET_PAGE__MSK   (0x30)
 
#define BMI160_CMD_TARGET_PAGE__REG   (BMI160_CMD_EXT_MODE_ADDR)
 
#define BMI160_CMD_PAGING_EN__POS   (7)
 
#define BMI160_CMD_PAGING_EN__LEN   (1)
 
#define BMI160_CMD_PAGING_EN__MSK   (0x80)
 
#define BMI160_CMD_PAGING_EN__REG   (BMI160_CMD_EXT_MODE_ADDR)
 
#define BMI160_COM_C_TRIM_FIVE__POS   (0)
 
#define BMI160_COM_C_TRIM_FIVE__LEN   (8)
 
#define BMI160_COM_C_TRIM_FIVE__MSK   (0xFF)
 
#define BMI160_COM_C_TRIM_FIVE__REG   (BMI160_COM_C_TRIM_FIVE_ADDR)
 
FIFO FRAME COUNT DEFINITION
#define FIFO_FRAME   (512)
 
#define FIFO_CONFIG_CHECK1   (0x00)
 
#define FIFO_CONFIG_CHECK2   (0x80)
 
MAG SENSOR SELECT
#define BST_BMM   (0)
 
#define BST_AKM   (1)
 
#define BMI160_YAS537_I2C_ADDRESS   (0x2E)
 
ACCEL ODR
#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED   (0x00)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_0_78HZ   (0x01)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_1_56HZ   (0x02)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_3_12HZ   (0x03)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_6_25HZ   (0x04)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_12_5HZ   (0x05)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_25HZ   (0x06)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_50HZ   (0x07)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_100HZ   (0x08)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ   (0x09)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_400HZ   (0x0A)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_800HZ   (0x0B)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_1600HZ   (0x0C)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED0   (0x0D)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED1   (0x0E)
 
#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED2   (0x0F)
 
ACCEL BANDWIDTH PARAMETER
#define BMI160_ACCEL_OSR4_AVG1   (0)
 
#define BMI160_ACCEL_OSR2_AVG2   (1)
 
#define BMI160_ACCEL_NORMAL_AVG4   (2)
 
#define BMI160_ACCEL_CIC_AVG8   (3)
 
#define BMI160_ACCEL_RES_AVG2   (4)
 
#define BMI160_ACCEL_RES_AVG4   (5)
 
#define BMI160_ACCEL_RES_AVG8   (6)
 
#define BMI160_ACCEL_RES_AVG16   (7)
 
#define BMI160_ACCEL_RES_AVG32   (8)
 
#define BMI160_ACCEL_RES_AVG64   (9)
 
#define BMI160_ACCEL_RES_AVG128   (10)
 
#define BMI160_US_DISABLE   (0)
 
#define BMI160_US_ENABLE   (1)
 
GYRO ODR
#define BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED   (0x00)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_25HZ   (0x06)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_50HZ   (0x07)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_100HZ   (0x08)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_200HZ   (0x09)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_400HZ   (0x0A)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_800HZ   (0x0B)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_1600HZ   (0x0C)
 
#define BMI160_GYRO_OUTPUT_DATA_RATE_3200HZ   (0x0D)
 
GYRO BANDWIDTH PARAMETER
#define BMI160_GYRO_OSR4_MODE   (0x00)
 
#define BMI160_GYRO_OSR2_MODE   (0x01)
 
#define BMI160_GYRO_NORMAL_MODE   (0x02)
 
#define BMI160_GYRO_CIC_MODE   (0x03)
 
GYROSCOPE RANGE PARAMETER
#define BMI160_GYRO_RANGE_2000_DEG_SEC   (0x00)
 
#define BMI160_GYRO_RANGE_1000_DEG_SEC   (0x01)
 
#define BMI160_GYRO_RANGE_500_DEG_SEC   (0x02)
 
#define BMI160_GYRO_RANGE_250_DEG_SEC   (0x03)
 
#define BMI160_GYRO_RANGE_125_DEG_SEC   (0x04)
 
MAG ODR
#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED   (0x00)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_0_78HZ   (0x01)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_1_56HZ   (0x02)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_3_12HZ   (0x03)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_6_25HZ   (0x04)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_12_5HZ   (0x05)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_25HZ   (0x06)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_50HZ   (0x07)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_100HZ   (0x08)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_200HZ   (0x09)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_400HZ   (0x0A)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_800HZ   (0x0B)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_1600HZ   (0x0C)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED0   (0x0D)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED1   (0x0E)
 
#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED2   (0x0F)
 
ENABLE/DISABLE SELECTIONS
#define ACCEL_OFFSET_ENABLE   (0x01)
 
#define GYRO_OFFSET_ENABLE   (0x01)
 
#define START_FOC_ACCEL_GYRO   (0X03)
 
#define BMI160_ANY_MOTION_X_ENABLE   (0)
 
#define BMI160_ANY_MOTION_Y_ENABLE   (1)
 
#define BMI160_ANY_MOTION_Z_ENABLE   (2)
 
#define BMI160_DOUBLE_TAP_ENABLE   (4)
 
#define BMI160_SINGLE_TAP_ENABLE   (5)
 
#define BMI160_ORIENT_ENABLE   (6)
 
#define BMI160_FLAT_ENABLE   (7)
 
#define BMI160_HIGH_G_X_ENABLE   (0)
 
#define BMI160_HIGH_G_Y_ENABLE   (1)
 
#define BMI160_HIGH_G_Z_ENABLE   (2)
 
#define BMI160_LOW_G_ENABLE   (3)
 
#define BMI160_DATA_RDY_ENABLE   (4)
 
#define BMI160_FIFO_FULL_ENABLE   (5)
 
#define BMI160_FIFO_WM_ENABLE   (6)
 
#define BMI160_NOMOTION_X_ENABLE   (0)
 
#define BMI160_NOMOTION_Y_ENABLE   (1)
 
#define BMI160_NOMOTION_Z_ENABLE   (2)
 
#define FOC_X_AXIS   (0)
 
#define FOC_Y_AXIS   (1)
 
#define FOC_Z_AXIS   (2)
 
#define BMI160_INTR1_EDGE_CTRL   (0)
 
#define BMI160_INTR2_EDGE_CTRL   (1)
 
#define BMI160_INTR1_LEVEL   (0)
 
#define BMI160_INTR2_LEVEL   (1)
 
#define BMI160_INTR1_OUTPUT_TYPE   (0)
 
#define BMI160_INTR2_OUTPUT_TYPE   (1)
 
#define BMI160_INTR1_OUTPUT_ENABLE   (0)
 
#define BMI160_INTR2_OUTPUT_ENABLE   (1)
 
#define BMI160_INTR1_INPUT_ENABLE   (0)
 
#define BMI160_INTR2_INPUT_ENABLE   (1)
 
#define BMI160_INTR1_MAP_LOW_G   (0)
 
#define BMI160_INTR2_MAP_LOW_G   (1)
 
#define BMI160_INTR1_MAP_HIGH_G   (0)
 
#define BMI160_INTR2_MAP_HIGH_G   (1)
 
#define BMI160_INTR1_MAP_ANY_MOTION   (0)
 
#define BMI160_INTR2_MAP_ANY_MOTION   (1)
 
#define BMI160_INTR1_MAP_NOMO   (0)
 
#define BMI160_INTR2_MAP_NOMO   (1)
 
#define BMI160_INTR1_MAP_DOUBLE_TAP   (0)
 
#define BMI160_INTR2_MAP_DOUBLE_TAP   (1)
 
#define BMI160_INTR1_MAP_SINGLE_TAP   (0)
 
#define BMI160_INTR2_MAP_SINGLE_TAP   (1)
 
#define BMI160_INTR1_MAP_ORIENT   (0)
 
#define BMI160_INTR2_MAP_ORIENT   (1)
 
#define BMI160_INTR1_MAP_FLAT   (0)
 
#define BMI160_INTR2_MAP_FLAT   (1)
 
#define BMI160_INTR1_MAP_DATA_RDY   (0)
 
#define BMI160_INTR2_MAP_DATA_RDY   (1)
 
#define BMI160_INTR1_MAP_FIFO_WM   (0)
 
#define BMI160_INTR2_MAP_FIFO_WM   (1)
 
#define BMI160_INTR1_MAP_FIFO_FULL   (0)
 
#define BMI160_INTR2_MAP_FIFO_FULL   (1)
 
#define BMI160_INTR1_MAP_PMUTRIG   (0)
 
#define BMI160_INTR2_MAP_PMUTRIG   (1)
 
#define BMI160_MAP_INTR1   (0)
 
#define BMI160_MAP_INTR2   (1)
 
TAP DURATION
#define BMI160_TAP_DURN_50MS   (0x00)
 
#define BMI160_TAP_DURN_100MS   (0x01)
 
#define BMI160_TAP_DURN_150MS   (0x02)
 
#define BMI160_TAP_DURN_200MS   (0x03)
 
#define BMI160_TAP_DURN_250MS   (0x04)
 
#define BMI160_TAP_DURN_375MS   (0x05)
 
#define BMI160_TAP_DURN_500MS   (0x06)
 
#define BMI160_TAP_DURN_700MS   (0x07)
 
TAP SHOCK
#define BMI160_TAP_SHOCK_50MS   (0x00)
 
#define BMI160_TAP_SHOCK_75MS   (0x01)
 
TAP QUIET
#define BMI160_TAP_QUIET_30MS   (0x00)
 
#define BMI160_TAP_QUIET_20MS   (0x01)
 
STEP DETECTION SELECTION MODES
#define BMI160_STEP_NORMAL_MODE   (0)
 
#define BMI160_STEP_SENSITIVE_MODE   (1)
 
#define BMI160_STEP_ROBUST_MODE   (2)
 
STEP CONFIGURATION SELECT MODE
#define STEP_CONFIG_NORMAL   (0X315)
 
#define STEP_CONFIG_SENSITIVE   (0X2D)
 
#define STEP_CONFIG_ROBUST   (0X71D)
 
BMM150 TRIM DATA DEFINITIONS
#define BMI160_MAG_DIG_X1   (0x5D)
 
#define BMI160_MAG_DIG_Y1   (0x5E)
 
#define BMI160_MAG_DIG_Z4_LSB   (0x62)
 
#define BMI160_MAG_DIG_Z4_MSB   (0x63)
 
#define BMI160_MAG_DIG_X2   (0x64)
 
#define BMI160_MAG_DIG_Y2   (0x65)
 
#define BMI160_MAG_DIG_Z2_LSB   (0x68)
 
#define BMI160_MAG_DIG_Z2_MSB   (0x69)
 
#define BMI160_MAG_DIG_Z1_LSB   (0x6A)
 
#define BMI160_MAG_DIG_Z1_MSB   (0x6B)
 
#define BMI160_MAG_DIG_XYZ1_LSB   (0x6C)
 
#define BMI160_MAG_DIG_XYZ1_MSB   (0x6D)
 
#define BMI160_MAG_DIG_Z3_LSB   (0x6E)
 
#define BMI160_MAG_DIG_Z3_MSB   (0x6F)
 
#define BMI160_MAG_DIG_XY2   (0x70)
 
#define BMI160_MAG_DIG_XY1   (0x71)
 
BMM150 PRE-SET MODE DEFINITIONS
#define BMI160_MAG_PRESETMODE_LOWPOWER   (1)
 
#define BMI160_MAG_PRESETMODE_REGULAR   (2)
 
#define BMI160_MAG_PRESETMODE_HIGHACCURACY   (3)
 
#define BMI160_MAG_PRESETMODE_ENHANCED   (4)
 
BMM150 PRESET MODES - DATA RATES
#define BMI160_MAG_LOWPOWER_DR   (0x02)
 
#define BMI160_MAG_REGULAR_DR   (0x02)
 
#define BMI160_MAG_HIGHACCURACY_DR   (0x2A)
 
#define BMI160_MAG_ENHANCED_DR   (0x02)
 
BMM150 PRESET MODES - REPETITIONS-XY RATES
#define BMI160_MAG_LOWPOWER_REPXY   (1)
 
#define BMI160_MAG_REGULAR_REPXY   (4)
 
#define BMI160_MAG_HIGHACCURACY_REPXY   (23)
 
#define BMI160_MAG_ENHANCED_REPXY   (7)
 
BMM150 PRESET MODES - REPETITIONS-Z RATES
#define BMI160_MAG_LOWPOWER_REPZ   (2)
 
#define BMI160_MAG_REGULAR_REPZ   (14)
 
#define BMI160_MAG_HIGHACCURACY_REPZ   (82)
 
#define BMI160_MAG_ENHANCED_REPZ   (26)
 
#define BMI160_MAG_NOAMRL_SWITCH_TIMES   (5)
 
#define MAG_INTERFACE_PMU_ENABLE   (1)
 
#define MAG_INTERFACE_PMU_DISABLE   (0)
 
USED FOR MAG OVERFLOW CHECK FOR BMM150
#define BMI160_MAG_OVERFLOW_OUTPUT   ((s16)-32768)
 
#define BMI160_MAG_OVERFLOW_OUTPUT_S32   ((s32)(-2147483647-1))
 
#define BMI160_MAG_NEGATIVE_SATURATION_Z   ((s16)-32767)
 
#define BMI160_MAG_POSITIVE_SATURATION_Z   ((u16)32767)
 
#define BMI160_MAG_FLIP_OVERFLOW_ADCVAL   ((s16)-4096)
 
#define BMI160_MAG_HALL_OVERFLOW_ADCVAL   ((s16)-16384)
 
BMM150 REGISTER DEFINITION
#define BMI160_BMM150_CHIP_ID   (0x40)
 
#define BMI160_BMM150_POWE_CONTROL_REG   (0x4B)
 
#define BMI160_BMM150_POWE_MODE_REG   (0x4C)
 
#define BMI160_BMM150_DATA_REG   (0x42)
 
#define BMI160_BMM150_XY_REP   (0x51)
 
#define BMI160_BMM150_Z_REP   (0x52)
 
AKM COMPENSATING DATA REGISTERS
#define BMI160_BST_AKM_ASAX   (0x60)
 
#define BMI160_BST_AKM_ASAY   (0x61)
 
#define BMI160_BST_AKM_ASAZ   (0x62)
 
AKM POWER MODE SELECTION
#define AKM_POWER_DOWN_MODE   (0)
 
#define AKM_SINGLE_MEAS_MODE   (1)
 
#define FUSE_ROM_MODE   (2)
 
SECONDARY_MAG POWER MODE SELECTION
#define BMI160_MAG_FORCE_MODE   (0)
 
#define BMI160_MAG_SUSPEND_MODE   (1)
 
MAG POWER MODE SELECTION
#define FORCE_MODE   (0)
 
#define SUSPEND_MODE   (1)
 
#define NORMAL_MODE   (2)
 
#define MAG_SUSPEND_MODE   (1)
 
FIFO CONFIGURATIONS
#define FIFO_HEADER_ENABLE   (0x01)
 
#define FIFO_MAG_ENABLE   (0x01)
 
#define FIFO_ACCEL_ENABLE   (0x01)
 
#define FIFO_GYRO_ENABLE   (0x01)
 
#define FIFO_TIME_ENABLE   (0x01)
 
#define FIFO_STOPONFULL_ENABLE   (0x01)
 
#define FIFO_WM_INTERRUPT_ENABLE   (0x01)
 
#define BMI160_FIFO_INDEX_LENGTH   (1)
 
#define BMI160_FIFO_TAG_INTR_MASK   (0xFC)
 
#define FIFO_HEAD_A   (0x84)
 
#define FIFO_HEAD_G   (0x88)
 
#define FIFO_HEAD_M   (0x90)
 
#define FIFO_HEAD_G_A   (0x8C)
 
#define FIFO_HEAD_M_A   (0x94)
 
#define FIFO_HEAD_M_G   (0x98)
 
#define FIFO_HEAD_M_G_A   (0x9C)
 
#define FIFO_HEAD_SENSOR_TIME   (0x44)
 
#define FIFO_HEAD_INPUT_CONFIG   (0x48)
 
#define FIFO_HEAD_SKIP_FRAME   (0x40)
 
#define FIFO_HEAD_OVER_READ_LSB   (0x80)
 
#define FIFO_HEAD_OVER_READ_MSB   (0x00)
 
#define FIFO_INPUT_CONFIG_OVER_LEN   ((s8)-11)
 
#define FIFO_OVER_READ_RETURN   ((s8)-10)
 
#define FIFO_SENSORTIME_RETURN   ((s8)-9)
 
#define FIFO_SKIP_OVER_LEN   ((s8)-8)
 
#define FIFO_M_G_A_OVER_LEN   ((s8)-7)
 
#define FIFO_M_G_OVER_LEN   ((s8)-6)
 
#define FIFO_M_A_OVER_LEN   ((s8)-5)
 
#define FIFO_G_A_OVER_LEN   ((s8)-4)
 
#define FIFO_M_OVER_LEN   ((s8)-3)
 
#define FIFO_G_OVER_LEN   ((s8)-2)
 
#define FIFO_A_OVER_LEN   ((s8)-1)
 
ACCEL POWER MODE
#define ACCEL_MODE_NORMAL   (0x11)
 
#define ACCEL_LOWPOWER   (0X12)
 
#define ACCEL_SUSPEND   (0X10)
 
#define BMI160_ACCEL_SUSPEND   0
 
#define BMI160_ACCEL_NORMAL_MODE   1
 
#define BMI160_ACCEL_LOW_POWER   2
 
GYRO POWER MODE
#define GYRO_MODE_SUSPEND   (0x14)
 
#define GYRO_MODE_NORMAL   (0x15)
 
#define GYRO_MODE_FASTSTARTUP   (0x17)
 
MAG POWER MODE
#define MAG_MODE_SUSPEND   (0x18)
 
#define MAG_MODE_NORMAL   (0x19)
 
#define MAG_MODE_LOWPOWER   (0x1A)
 
ENABLE/DISABLE BIT VALUES
#define BMI160_ENABLE   (0x01)
 
#define BMI160_DISABLE   (0x00)
 
INTERRUPT EDGE TRIGGER ENABLE
#define BMI160_EDGE   (0x01)
 
#define BMI160_LEVEL   (0x00)
 
INTERRUPT LEVEL ENABLE
#define BMI160_LEVEL_LOW   (0x00)
 
#define BMI160_LEVEL_HIGH   (0x01)
 
INTERRUPT OUTPUT ENABLE
#define BMI160_OPEN_DRAIN   (0x01)
 
#define BMI160_PUSH_PULL   (0x00)
 
#define BMI160_INPUT   (0x01)
 
#define BMI160_OUTPUT   (0x00)
 
INTERRUPT TAP SOURCE ENABLE
#define FILTER_DATA   (0x00)
 
#define UNFILTER_DATA   (0x01)
 
SLOW MOTION/ NO MOTION SELECT
#define SLOW_MOTION   (0x00)
 
#define NO_MOTION   (0x01)
 
SIGNIFICANT MOTION SELECTION
#define ANY_MOTION   (0x00)
 
#define SIGNIFICANT_MOTION   (0x01)
 
LATCH DURATION
#define BMI160_LATCH_DUR_NONE   (0x00)
 
#define BMI160_LATCH_DUR_312_5_MICRO_SEC   (0x01)
 
#define BMI160_LATCH_DUR_625_MICRO_SEC   (0x02)
 
#define BMI160_LATCH_DUR_1_25_MILLI_SEC   (0x03)
 
#define BMI160_LATCH_DUR_2_5_MILLI_SEC   (0x04)
 
#define BMI160_LATCH_DUR_5_MILLI_SEC   (0x05)
 
#define BMI160_LATCH_DUR_10_MILLI_SEC   (0x06)
 
#define BMI160_LATCH_DUR_20_MILLI_SEC   (0x07)
 
#define BMI160_LATCH_DUR_40_MILLI_SEC   (0x08)
 
#define BMI160_LATCH_DUR_80_MILLI_SEC   (0x09)
 
#define BMI160_LATCH_DUR_160_MILLI_SEC   (0x0A)
 
#define BMI160_LATCH_DUR_320_MILLI_SEC   (0x0B)
 
#define BMI160_LATCH_DUR_640_MILLI_SEC   (0x0C)
 
#define BMI160_LATCH_DUR_1_28_SEC   (0x0D)
 
#define BMI160_LATCH_DUR_2_56_SEC   (0x0E)
 
#define BMI160_LATCHED   (0x0F)
 
GYRO OFFSET MASK DEFINITION
#define BMI160_GYRO_MANUAL_OFFSET_0_7   (0x00FF)
 
#define BMI160_GYRO_MANUAL_OFFSET_8_9   (0x0300)
 
STEP CONFIGURATION MASK DEFINITION
#define BMI160_STEP_CONFIG_0_7   (0x00FF)
 
#define BMI160_STEP_CONFIG_8_10   (0x0700)
 
#define BMI160_STEP_CONFIG_11_14   (0xF000)
 
DEFINITION USED FOR DIFFERENT WRITE
#define BMI160_WRITE_TARGET_PAGE0   (0x00)
 
#define BMI160_WRITE_TARGET_PAGE1   (0x01)
 
#define BMI160_WRITE_ENABLE_PAGE1   (0x01)
 
#define BMI160_MANUAL_DISABLE   (0x00)
 
#define BMI160_MANUAL_ENABLE   (0x01)
 
#define BMI160_YAS_DISABLE_RCOIL   (0x00)
 
#define BMI160_ENABLE_MAG_IF_MODE   (0x02)
 
#define BMI160_ENABLE_ANY_MOTION_INTR1   (0x04)
 
#define BMI160_ENABLE_ANY_MOTION_INTR2   (0x04)
 
#define BMI160_MAG_DATA_READ_REG   (0x04)
 
#define BMI160_BMM_POWER_MODE_REG   (0x06)
 
#define BMI160_ENABLE_ANY_MOTION_AXIS   (0x07)
 
#define BMI160_ENABLE_LOW_G   (0x08)
 
#define BMI160_YAS532_ACQ_START   (0x11)
 
#define BMI160_YAS_DEVICE_ID_REG   (0x80)
 
#define BMI160_FIFO_GYRO_ENABLE   (0x80)
 
#define BMI160_SIG_MOTION_INTR_ENABLE   (0x01)
 
#define BMI160_STEP_DETECT_INTR_ENABLE   (0x01)
 
#define BMI160_LOW_G_INTR_STAT   (0x01)
 
#define BMI160_PULL_UP_DATA   (0x30)
 
#define BMI160_FIFO_M_G_A_ENABLE   (0xE0)
 
#define BMI160_FIFO_M_G_ENABLE   (0xA0)
 
#define BMI160_FIFO_M_A_ENABLE   (0x60)
 
#define BMI160_FIFO_G_A_ENABLE   (0xC0)
 
#define BMI160_FIFO_A_ENABLE   (0x40)
 
#define BMI160_FIFO_M_ENABLE   (0x20)
 
#define BMI160_SEC_IF_BMM150   (0)
 
#define BMI160_SEC_IF_AKM09911   (1)
 
#define BMI160_SEC_IF_AKM09912   (2)
 
#define BMI160_SEC_IF_YAS532   (3)
 
#define BMI160_SEC_IF_YAS537   (4)
 
MAG INIT DEFINITION
#define BMI160_COMMAND_REG_ONE   (0x37)
 
#define BMI160_COMMAND_REG_TWO   (0x9A)
 
#define BMI160_COMMAND_REG_THREE   (0xC0)
 
#define RESET_STEP_COUNTER   (0xB2)
 
BIT SLICE GET AND SET FUNCTIONS
#define BMI160_GET_BITSLICE(regvar, bitname)   ((regvar & bitname##__MSK) >> bitname##__POS)
 
#define BMI160_SET_BITSLICE(regvar, bitname, val)
 

Typedefs

typedef signed char s8
 
typedef signed short int s16
 
typedef signed int s32
 
typedef signed long long int s64
 
typedef unsigned char u8
 
typedef unsigned short int u16
 
typedef unsigned int u32
 
typedef unsigned long long int u64
 

Functions

FUNCTION FOR BMI160 INITIALIZE
BMI160_RETURN_FUNCTION_TYPE bmi160_init (struct bmi160_t *bmi160)
 This function is used for initialize bus read and bus write functions assign the chip id and device address chip id is read in the register 0x00 bit from 0 to 7. More...
 
FUNCTION FOR READ AND WRITE REGISTERS
BMI160_RETURN_FUNCTION_TYPE bmi160_write_reg (u8 v_addr_u8, u8 *v_data_u8, u8 v_len_u8)
 This API write the data to the given register. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_reg (u8 v_addr_u8, u8 *v_data_u8, u8 v_len_u8)
 This API reads the data from the given register. More...
 
FUNCTION FOR ERROR CODES
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fatal_err (u8 *v_fatal_err_u8)
 This API used to reads the fatal error from the Register 0x02 bit 0 This flag will be reset only by power-on-reset and soft reset. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_err_code (u8 *v_error_code_u8)
 This API used to read the error code from register 0x02 bit 1 to 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_fail_err (u8 *v_i2c_error_code_u8)
 This API Reads the i2c error code from the Register 0x02 bit 5. This error occurred in I2C master detected. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_drop_cmd_err (u8 *v_drop_cmd_err_u8)
 This API Reads the dropped command error from the register 0x02 bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_data_rdy_err (u8 *v_mag_data_rdy_err_u8)
 This API reads the magnetometer data ready interrupt not active. It reads from the error register 0x0x2 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_error_status (u8 *v_fatal_er_u8r, u8 *v_err_code_u8, u8 *v_i2c_fail_err_u8, u8 *v_drop_cmd_err_u8, u8 *v_mag_data_rdy_err_u8)
 This API reads the error status from the error register 0x02 bit 0 to 7. More...
 
FUNCTIONS FOR MAG,ACCEL AND GYRO POWER MODE STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_power_mode_stat (u8 *v_mag_power_mode_stat_u8)
 This API reads the magnetometer power mode from PMU status register 0x03 bit 0 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_power_mode_stat (u8 *v_gyro_power_mode_stat_u8)
 This API reads the gyroscope power mode from PMU status register 0x03 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_power_mode_stat (u8 *v_accel_power_mode_stat_u8)
 This API reads the accelerometer power mode from PMU status register 0x03 bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_interface_normal (void)
 This API switch mag interface to normal mode and confirm whether the mode switching done successfully or not. More...
 
FUNCTION FOR Mag XYZ data read
BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_x (s16 *v_mag_x_s16, u8 v_sensor_select_u8)
 This API reads magnetometer data X values from the register 0x04 and 0x05. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_y (s16 *v_mag_y_s16, u8 v_sensor_select_u8)
 This API reads magnetometer data Y values from the register 0x06 and 0x07. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_z (s16 *v_mag_z_s16, u8 v_sensor_select_u8)
 This API reads magnetometer data Z values from the register 0x08 and 0x09. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_r (s16 *v_mag_r_s16)
 This API reads magnetometer data RHALL values from the register 0x0A and 0x0B. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_xyz (struct bmi160_mag_t *mag, u8 v_sensor_select_u8)
 This API reads magnetometer data X,Y,Z values from the register 0x04 to 0x09. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_xyzr (struct bmi160_mag_xyzr_t *mag)
 This API reads magnetometer data X,Y,Z,r values from the register 0x04 to 0x0B. More...
 
FUNCTION FOR GYRO XYZ DATA READ
BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_x (s16 *v_gyro_x_s16)
 This API reads gyro data X values form the register 0x0C and 0x0D. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_y (s16 *v_gyro_y_s16)
 This API reads gyro data Y values form the register 0x0E and 0x0F. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_z (s16 *v_gyro_z_s16)
 This API reads gyro data Z values form the register 0x10 and 0x11. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_xyz (struct bmi160_gyro_t *gyro)
 This API reads gyro data X,Y,Z values from the register 0x0C to 0x11. More...
 
FUNCTION FOR ACCEL XYZ DATA READ
BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_x (s16 *v_accel_x_s16)
 This API reads accelerometer data X values form the register 0x12 and 0x13. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_y (s16 *v_accel_y_s16)
 This API reads accelerometer data Y values form the register 0x14 and 0x15. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_z (s16 *v_accel_z_s16)
 This API reads accelerometer data Z values form the register 0x16 and 0x17. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_xyz (struct bmi160_accel_t *accel)
 This API reads accelerometer data X,Y,Z values from the register 0x12 to 0x17. More...
 
FUNCTION FOR SENSOR TIME
BMI160_RETURN_FUNCTION_TYPE bmi160_get_sensor_time (u32 *v_sensor_time_u32)
 This API reads sensor_time from the register 0x18 to 0x1A. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_gyro_sensor_time (u8 accel_gyro_sensortime_select, struct bmi160_sensortime_accel_gyro_data *accel_gyro_sensor_time)
 This API reads sensor_time ,Accel data ,Gyro data from the register 0x0C to 0x1A. More...
 
FUNCTION FOR GYRO SLEF TEST
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_selftest (u8 *v_gyro_selftest_u8)
 This API reads the Gyroscope self test status from the register 0x1B bit 1. More...
 
FUNCTION FOR MANUAL INTERFACE
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_manual_operation_stat (u8 *v_mag_manual_stat_u8)
 This API reads the status of mag manual interface operation form the register 0x1B bit 2. More...
 
FUNCTION FOR FAST OFFSET READY
BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_rdy (u8 *v_foc_rdy_u8)
 This API reads the fast offset compensation status form the register 0x1B bit 3. More...
 
FUNCTION FOR NVM READY
BMI160_RETURN_FUNCTION_TYPE bmi160_get_nvm_rdy (u8 *v_nvm_rdy_u8)
 This API Reads the nvm_rdy status from the resister 0x1B bit 4. More...
 
FUNCTION FOR DATA READY FOR MAG, GYRO, AND ACCEL
BMI160_RETURN_FUNCTION_TYPE bmi160_get_data_rdy_mag (u8 *v_data_rdy_u8)
 This API reads the status of mag data ready from the register 0x1B bit 5 The status get reset when one mag data register is read out. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_data_rdy (u8 *v_data_rdy_u8)
 This API reads the status of gyro data ready form the register 0x1B bit 6 The status get reset when gyro data register read out. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_data_rdy (u8 *drdy_acc)
 This API reads the status of accel data ready form the register 0x1B bit 7 The status get reset when accel data register read out. More...
 
FUNCTION FOR STEP INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_step_intr (u8 *v_step_intr_u8)
 This API reads the step detector interrupt status from the register 0x1C bit 0 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR SIGNIFICANT INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_significant_intr (u8 *sigmot_intr)
 This API reads the significant motion interrupt status from the register 0x1C bit 1 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR ANY MOTION INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_any_motion_intr (u8 *v_any_motion_intr_u8)
 This API reads the any motion interrupt status from the register 0x1C bit 2 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR PMU TRIGGER INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_pmu_trigger_intr (u8 *v_pmu_trigger_intr_u8)
 This API reads the power mode trigger interrupt status from the register 0x1C bit 3 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR DOUBLE TAB STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_double_tap_intr (u8 *v_double_tap_intr_u8)
 This API reads the double tab status from the register 0x1C bit 4 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR SINGLE TAB STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_single_tap_intr (u8 *v_single_tap_intr_u8)
 This API reads the single tab status from the register 0x1C bit 5 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR ORIENT INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_orient_intr (u8 *v_orient_intr_u8)
 This API reads the orient status from the register 0x1C bit 6 flag is associated with a specific interrupt function. It is set when the orient interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR FLAT INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_flat_intr (u8 *v_flat_intr_u8)
 This API reads the flat interrupt status from the register 0x1C bit 7 flag is associated with a specific interrupt function. It is set when the flat interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR HIGH_G INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_high_g_intr (u8 *v_high_g_intr_u8)
 This API reads the high_g interrupt status from the register 0x1D bit 2 flag is associated with a specific interrupt function. It is set when the high g interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR LOW_G INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_low_g_intr (u8 *v_low_g_intr_u8)
 This API reads the low g interrupt status from the register 0x1D bit 3 flag is associated with a specific interrupt function. It is set when the low g interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTION FOR DATA READY INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_data_rdy_intr (u8 *v_data_rdy_intr_u8)
 This API reads data ready interrupt status from the register 0x1D bit 4 flag is associated with a specific interrupt function. It is set when the data ready interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTIONS FOR FIFO FULL AND WATER MARK INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_fifo_full_intr (u8 *v_fifo_full_intr_u8)
 This API reads data ready FIFO full interrupt status from the register 0x1D bit 5 flag is associated with a specific interrupt function. It is set when the FIFO full interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_fifo_wm_intr (u8 *v_fifo_wm_intr_u8)
 This API reads data ready FIFO watermark interrupt status from the register 0x1D bit 6 flag is associated with a specific interrupt function. It is set when the FIFO watermark interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTIONS FOR NO MOTION INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_nomotion_intr (u8 *nomo_intr)
 This API reads data ready no motion interrupt status from the register 0x1D bit 7 flag is associated with a specific interrupt function. It is set when the no motion interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched. More...
 
FUNCTIONS FOR ANY MOTION FIRST XYZ AND SIGN INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_first_x (u8 *v_anymotion_first_x_u8)
 This API reads the status of any motion first x from the register 0x1E bit 0. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_first_y (u8 *v_any_motion_first_y_u8)
 This API reads the status of any motion first y interrupt from the register 0x1E bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_first_z (u8 *v_any_motion_first_z_u8)
 This API reads the status of any motion first z interrupt from the register 0x1E bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_sign (u8 *v_anymotion_sign_u8)
 This API reads the any motion sign status from the register 0x1E bit 3. More...
 
FUNCTIONS FOR TAP FIRST XYZ AND SIGN INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_first_x (u8 *v_tap_first_x_u8)
 This API reads the any motion tap first x status from the register 0x1E bit 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_first_y (u8 *v_tap_first_y_u8)
 This API reads the tap first y interrupt status from the register 0x1E bit 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_first_z (u8 *v_tap_first_z_u8)
 This API reads the tap first z interrupt status from the register 0x1E bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_sign (u8 *tap_sign)
 This API reads the tap sign status from the register 0x1E bit 7. More...
 
FUNCTIONS FOR HIGH_G FIRST XYZ AND SIGN INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_first_x (u8 *v_high_g_first_x_u8)
 This API reads the high_g first x status from the register 0x1F bit 0. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_first_y (u8 *v_high_g_first_y_u8)
 This API reads the high_g first y status from the register 0x1F bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_first_z (u8 *v_high_g_first_z_u8)
 This API reads the high_g first z status from the register 0x1F bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_sign (u8 *v_high_g_sign_u8)
 This API reads the high sign status from the register 0x1F bit 3. More...
 
FUNCTIONS FOR ORIENT XY AND Z INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_orient_xy (u8 *v_orient_xy_u8)
 This API reads the status of orient_xy plane from the register 0x1F bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_orient_z (u8 *v_orient_z_u8)
 This API reads the status of orient z plane from the register 0x1F bit 6. More...
 
FUNCTIONS FOR FLAT INTERRUPT STATUS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_flat (u8 *flat)
 This API reads the flat status from the register 0x1F bit 7. More...
 
FUNCTION FOR TEMPERATUE READ
BMI160_RETURN_FUNCTION_TYPE bmi160_get_temp (s16 *v_temp_s16)
 This API reads the temperature of the sensor from the register 0x21 bit 0 to 7. More...
 
FUNCTION FOR FIFO LENGTH AND FIFO DATA READ
BMI160_RETURN_FUNCTION_TYPE bmi160_fifo_length (u32 *v_fifo_length_u32)
 This API reads the of the sensor form the register 0x23 and 0x24 bit 0 to 7 and 0 to 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_fifo_data (u8 *v_fifodata_u8, u16 v_fifo_length_u16)
 This API reads the fifo data of the sensor from the register 0x24. More...
 
FUNCTION FOR ACCEL CONFIGURATIONS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_output_data_rate (u8 *v_output_data_rate_u8)
 This API is used to get the accel output date rate form the register 0x40 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_output_data_rate (u8 v_output_data_rate_u8, u8 v_accel_bw_u8)
 This API is used to set the accel output date rate form the register 0x40 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_bw (u8 *v_bw_u8)
 This API is used to get the accel bandwidth from the register 0x40 bit 4 to 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_bw (u8 v_bw_u8)
 This API is used to set the accel bandwidth from the register 0x40 bit 4 to 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_under_sampling_parameter (u8 *v_accel_under_sampling_u8)
 This API is used to get the accel under sampling parameter form the register 0x40 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_under_sampling_parameter (u8 v_accel_under_sampling_u8)
 This API is used to set the accel under sampling parameter form the register 0x40 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_range (u8 *v_range_u8)
 This API is used to get the ranges (g values) of the accel from the register 0x41 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_range (u8 v_range_u8)
 This API is used to set the ranges (g values) of the accel from the register 0x41 bit 0 to 3. More...
 
FUNCTION FOR GYRO CONFIGURATIONS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_output_data_rate (u8 *gyro_output_typer)
 This API is used to get the gyroscope output data rate from the register 0x42 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_output_data_rate (u8 gyro_output_typer)
 This API is used to set the gyroscope output data rate from the register 0x42 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_bw (u8 *v_bw_u8)
 This API is used to get the data of gyro from the register 0x42 bit 4 to 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_bw (u8 v_bw_u8)
 This API is used to set the data of gyro from the register 0x42 bit 4 to 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_range (u8 *v_range_u8)
 This API reads the range of gyro from the register 0x43 bit 0 to 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_range (u8 v_range_u8)
 This API set the range of gyro from the register 0x43 bit 0 to 2. More...
 
FUNCTION FOR MAG CONFIGURATIONS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_output_data_rate (u8 *odr)
 This API is used to get the output data rate of magnetometer from the register 0x44 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_output_data_rate (u8 odr)
 This API is used to set the output data rate of magnetometer from the register 0x44 bit 0 to 3. More...
 
FUNCTION FOR FIFO CONFIGURATIONS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_down_gyro (u8 *v_fifo_down_gyro_u8)
 This API is used to read Down sampling for gyro (2**downs_gyro) in the register 0x45 bit 0 to 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_down_gyro (u8 v_fifo_down_gyro_u8)
 This API is used to set Down sampling for gyro (2**downs_gyro) in the register 0x45 bit 0 to 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_fifo_filter_data (u8 *v_gyro_fifo_filter_data_u8)
 This API is used to read gyro fifo filter data from the register 0x45 bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_fifo_filter_data (u8 v_gyro_fifo_filter_data_u8)
 This API is used to set gyro fifo filter data from the register 0x45 bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_down_accel (u8 *v_fifo_down_u8)
 This API is used to read Down sampling for accel (2*downs_accel) from the register 0x45 bit 4 to 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_down_accel (u8 v_fifo_down_u8)
 This API is used to set Down sampling for accel (2*downs_accel) from the register 0x45 bit 4 to 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_fifo_filter_data (u8 *accel_fifo_filter_u8)
 This API is used to read accel fifo filter data from the register 0x45 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_fifo_filter_data (u8 v_accel_fifo_filter_u8)
 This API is used to set accel fifo filter data from the register 0x45 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_time_enable (u8 *v_fifo_time_enable_u8)
 This API reads fifo sensor time frame after the last valid data frame form the register 0x47 bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_time_enable (u8 v_fifo_time_enable_u8)
 This API set fifo sensor time frame after the last valid data frame form the register 0x47 bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_tag_intr2_enable (u8 *v_fifo_tag_intr2_u8)
 This API reads FIFO tag interrupt2 enable status from the resister 0x47 bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_tag_intr2_enable (u8 v_fifo_tag_intr2_u8)
 This API set FIFO tag interrupt2 enable status from the resister 0x47 bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_tag_intr1_enable (u8 *v_fifo_tag_intr1_u8)
 This API get FIFO tag interrupt1 enable status from the resister 0x47 bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_tag_intr1_enable (u8 v_fifo_tag_intr1_u8)
 This API set FIFO tag interrupt1 enable status from the resister 0x47 bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_header_enable (u8 *v_fifo_header_u8)
 This API reads FIFO frame header enable from the register 0x47 bit 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_header_enable (u8 v_fifo_header_u8)
 This API set FIFO frame header enable from the register 0x47 bit 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_mag_enable (u8 *v_fifo_mag_u8)
 This API is used to read stored magnetometer data in FIFO (all 3 axes) from the register 0x47 bit 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_mag_enable (u8 v_fifo_mag_u8)
 This API is used to set stored magnetometer data in FIFO (all 3 axes) from the register 0x47 bit 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_accel_enable (u8 *v_fifo_accel_u8)
 This API is used to read stored accel data in FIFO (all 3 axes) from the register 0x47 bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_accel_enable (u8 v_fifo_accel_u8)
 This API is used to set stored accel data in FIFO (all 3 axes) from the register 0x47 bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_gyro_enable (u8 *v_fifo_gyro_u8)
 This API is used to read stored gyro data in FIFO (all 3 axes) from the resister 0x47 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_gyro_enable (u8 v_fifo_gyro_u8)
 This API is used to set stored gyro data in FIFO (all 3 axes) from the resister 0x47 bit 7. More...
 
FUNCTION FOR FIFO WATER MARK ENABLE
BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_wm (u8 *v_fifo_wm_u8)
 This API is used to Trigger an interrupt when FIFO contains water mark level from the register 0x46 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_wm (u8 v_fifo_wm_u8)
 This API is used to Trigger an interrupt when FIFO contains water mark level from the register 0x46 bit 0 to 7. More...
 
FUNCTION FOR MAG I2C ADDRESS SELECTION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_device_addr (u8 *v_i2c_device_addr_u8)
 This API is used to read I2C device address of auxiliary mag from the register 0x4B bit 1 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_i2c_device_addr (u8 v_i2c_device_addr_u8)
 This API is used to set I2C device address of auxiliary mag from the register 0x4B bit 1 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_burst (u8 *v_mag_burst_u8)
 This API is used to read Burst data length (1,2,6,8 byte) from the register 0x4C bit 0 to 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_burst (u8 v_mag_burst_u8)
 This API is used to set Burst data length (1,2,6,8 byte) from the register 0x4C bit 0 to 1. More...
 
FUNCTION FOR MAG OFFSET
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_offset (u8 *v_mag_offset_u8)
 This API is used to read trigger-readout offset in units of 2.5 ms. If set to zero, the offset is maximum, i.e. after readout a trigger is issued immediately. from the register 0x4C bit 2 to 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_offset (u8 v_mag_offset_u8)
 This API is used to set trigger-readout offset in units of 2.5 ms. If set to zero, the offset is maximum, i.e. after readout a trigger is issued immediately. from the register 0x4C bit 2 to 5. More...
 
FUNCTION FOR MAG MANUAL/AUTO MODE SELECTION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_manual_enable (u8 *v_mag_manual_u8)
 This API is used to read Enable register access on MAG_IF[2] or MAG_IF[3] writes. This implies that the DATA registers are not updated with magnetometer values. Accessing magnetometer requires the magnetometer in normal mode in PMU_STATUS. from the register 0x4C bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_manual_enable (u8 v_mag_manual_u8)
 This API is used to set Enable register access on MAG_IF[2] or MAG_IF[3] writes. This implies that the DATA registers are not updated with magnetometer values. Accessing magnetometer requires the magnetometer in normal mode in PMU_STATUS. from the register 0x4C bit 7. More...
 
FUNCTIONS FOR MAG READ, WRITE AND WRITE DATA ADDRESS
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_read_addr (u8 *v_mag_read_addr_u8)
 This API is used to read data magnetometer address to read from the register 0x4D bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_read_addr (u8 v_mag_read_addr_u8)
 This API is used to set magnetometer write address from the register 0x4D bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_write_addr (u8 *v_mag_write_addr_u8)
 This API is used to read magnetometer write address from the register 0x4E bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_write_addr (u8 v_mag_write_addr_u8)
 This API is used to set magnetometer write address from the register 0x4E bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_write_data (u8 *v_mag_write_data_u8)
 This API is used to read magnetometer write data form the resister 0x4F bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_write_data (u8 v_mag_write_data_u8)
 This API is used to set magnetometer write data form the resister 0x4F bit 0 to 7. More...
 
FUNCTION FOR INTERRUPT ENABLE OF

STEP DETECTOR

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_enable_0 (u8 enable, u8 *v_intr_enable_zero_u8)
 This API is used to read interrupt enable from the register 0x50 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_enable_0 (u8 enable, u8 v_intr_enable_zero_u8)
 This API is used to set interrupt enable from the register 0x50 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_enable_1 (u8 enable, u8 *v_intr_enable_1_u8)
 This API is used to read interrupt enable byte1 from the register 0x51 bit 0 to 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_enable_1 (u8 enable, u8 v_intr_enable_1_u8)
 This API is used to set interrupt enable byte1 from the register 0x51 bit 0 to 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_enable_2 (u8 enable, u8 *v_intr_enable_2_u8)
 This API is used to read interrupt enable byte2 from the register bit 0x52 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_enable_2 (u8 enable, u8 v_intr_enable_2_u8)
 This API is used to set interrupt enable byte2 from the register bit 0x52 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_step_detector_enable (u8 *v_step_intr_u8)
 This API is used to read interrupt enable step detector interrupt from the register bit 0x52 bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_detector_enable (u8 v_step_intr_u8)
 This API is used to set interrupt enable step detector interrupt from the register bit 0x52 bit 3. More...
 
FUNCTION FOR INTERRUPT CONTROL
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_edge_ctrl (u8 v_channel_u8, u8 *v_intr_edge_ctrl_u8)
 Configure trigger condition of interrupt1 and interrupt2 pin from the register 0x53. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_edge_ctrl (u8 v_channel_u8, u8 v_intr_edge_ctrl_u8)
 Configure trigger condition of interrupt1 and interrupt2 pin from the register 0x53. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_level (u8 v_channel_u8, u8 *v_intr_level_u8)
 API used for get the Configure level condition of interrupt1 and interrupt2 pin form the register 0x53. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_level (u8 v_channel_u8, u8 v_intr_level_u8)
 API used for set the Configure level condition of interrupt1 and interrupt2 pin form the register 0x53. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_output_type (u8 v_channel_u8, u8 *v_intr_output_type_u8)
 API used to get configured output enable of interrupt1 and interrupt2 from the register 0x53. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_output_type (u8 v_channel_u8, u8 v_intr_output_type_u8)
 API used to set output enable of interrupt1 and interrupt2 from the register 0x53. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_output_enable (u8 v_channel_u8, u8 *v_output_enable_u8)
 API used to get the Output enable for interrupt1 and interrupt2 pin from the register 0x53. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_output_enable (u8 v_channel_u8, u8 v_output_enable_u8)
 API used to set the Output enable for interrupt1 and interrupt2 pin from the register 0x53. More...
 
FUNCTION FOR INTERRUPT LATCH INTERRUPT
BMI160_RETURN_FUNCTION_TYPE bmi160_get_latch_intr (u8 *v_latch_intr_u8)
 This API is used to get the latch duration from the register 0x54 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_latch_intr (u8 v_latch_intr_u8)
 This API is used to set the latch duration from the register 0x54 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_input_enable (u8 v_channel_u8, u8 *v_input_en_u8)
 API used to get input enable for interrupt1 and interrupt2 pin from the register 0x54. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_input_enable (u8 v_channel_u8, u8 v_input_en_u8)
 API used to set input enable for interrupt1 and interrupt2 pin from the register 0x54. More...
 
FUNCTION FOR INTERRUPT1 AND INTERRUPT2 MAPPING
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g (u8 v_channel_u8, u8 *v_intr_low_g_u8)
 reads the Low g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57 More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g (u8 v_channel_u8, u8 v_intr_low_g_u8)
 set the Low g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57 More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g (u8 v_channel_u8, u8 *v_intr_high_g_u8)
 Reads the HIGH g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g (u8 v_channel_u8, u8 v_intr_high_g_u8)
 Write the HIGH g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_any_motion (u8 v_channel_u8, u8 *v_intr_any_motion_u8)
 Reads the Any motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_any_motion (u8 v_channel_u8, u8 v_intr_any_motion_u8)
 Write the Any motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_nomotion (u8 v_channel_u8, u8 *v_intr_nomotion_u8)
 Reads the No motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_nomotion (u8 v_channel_u8, u8 v_intr_nomotion_u8)
 Write the No motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_double_tap (u8 v_channel_u8, u8 *v_intr_double_tap_u8)
 Reads the Double Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_double_tap (u8 v_channel_u8, u8 v_intr_double_tap_u8)
 Write the Double Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_single_tap (u8 v_channel_u8, u8 *v_intr_single_tap_u8)
 Reads the Single Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_single_tap (u8 v_channel_u8, u8 v_intr_single_tap_u8)
 Write the Single Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient (u8 v_channel_u8, u8 *v_intr_orient_u8)
 Reads the Orient interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient (u8 v_channel_u8, u8 v_intr_orient_u8)
 Write the Orient interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat (u8 v_channel_u8, u8 *v_intr_flat_u8)
 Reads the Flat interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat (u8 v_channel_u8, u8 v_intr_flat_u8)
 Write the Flat interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_pmu_trig (u8 v_channel_u8, u8 *v_intr_pmu_trig_u8)
 Reads PMU trigger interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 0 and 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_pmu_trig (u8 v_channel_u8, u8 v_intr_pmu_trig_u8)
 Write PMU trigger interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 0 and 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_fifo_full (u8 v_channel_u8, u8 *v_intr_fifo_full_u8)
 Reads FIFO Full interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 5 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_fifo_full (u8 v_channel_u8, u8 v_intr_fifo_full_u8)
 Write FIFO Full interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 5 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_fifo_wm (u8 v_channel_u8, u8 *v_intr_fifo_wm_u8)
 Reads FIFO Watermark interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 6 and 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_fifo_wm (u8 v_channel_u8, u8 v_intr_fifo_wm_u8)
 Write FIFO Watermark interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 6 and 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_data_rdy (u8 v_channel_u8, u8 *v_intr_data_rdy_u8)
 Reads Data Ready interrupt mapped to interrupt1 and interrupt2 form the register 0x56. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_data_rdy (u8 v_channel_u8, u8 v_intr_data_rdy_u8)
 Write Data Ready interrupt mapped to interrupt1 and interrupt2 form the register 0x56. More...
 
FUNCTION FOR TAP SOURCE CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_source (u8 *v_tap_source_u8)
 This API reads data source for the interrupt engine for the single and double tap interrupts from the register 0x58 bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_source (u8 v_tap_source_u8)
 This API write data source for the interrupt engine for the single and double tap interrupts from the register 0x58 bit 3. More...
 
FUNCTION FOR LOW_G AND HIGH_G SOURCE CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_high_source (u8 *v_low_high_source_u8)
 This API Reads Data source for the interrupt engine for the low and high g interrupts from the register 0x58 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_high_source (u8 v_low_high_source_u8)
 This API write Data source for the interrupt engine for the low and high g interrupts from the register 0x58 bit 7. More...
 
FUNCTION FOR MOTION SOURCE CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_motion_source (u8 *v_motion_source_u8)
 This API reads Data source for the interrupt engine for the nomotion and anymotion interrupts from the register 0x59 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_motion_source (u8 v_motion_source_u8)
 This API write Data source for the interrupt engine for the nomotion and anymotion interrupts from the register 0x59 bit 7. More...
 
FUNCTION FOR LOW_G DURATION CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_durn (u8 *v_low_durn_u8)
 This API is used to read the low_g duration from register 0x5A bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_durn (u8 v_low_durn_u8)
 This API is used to write the low_g duration from register 0x5A bit 0 to 7. More...
 
FUNCTION FOR LOW_G THRESH CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_thres (u8 *v_low_g_thres_u8)
 This API is used to read Threshold definition for the low-g interrupt from the register 0x5B bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_thres (u8 v_low_g_thres_u8)
 This API is used to write Threshold definition for the low-g interrupt from the register 0x5B bit 0 to 7. More...
 
FUNCTION FOR LOW_G HYSTERESIS CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_hyst (u8 *v_low_hyst_u8)
 This API Reads Low-g interrupt hysteresis from the register 0x5C bit 0 to 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_hyst (u8 v_low_hyst_u8)
 This API write Low-g interrupt hysteresis from the register 0x5C bit 0 to 1. More...
 
FUNCTION FOR LOW_G MODE CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_mode (u8 *v_low_g_mode_u8)
 This API reads Low-g interrupt mode from the register 0x5C bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_mode (u8 v_low_g_mode_u8)
 This API write Low-g interrupt mode from the register 0x5C bit 2. More...
 
FUNCTION FOR HIGH_G HYST CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g_hyst (u8 *v_high_g_hyst_u8)
 This API reads High-g interrupt hysteresis from the register 0x5C bit 6 and 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g_hyst (u8 v_high_g_hyst_u8)
 This API write High-g interrupt hysteresis from the register 0x5C bit 6 and 7. More...
 
FUNCTION FOR HIGH_G DURATION CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g_durn (u8 *v_high_g_durn_u8)
 This API is used to read Delay time definition for the high-g interrupt from the register 0x5D bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g_durn (u8 v_high_g_durn_u8)
 This API is used to write Delay time definition for the high-g interrupt from the register 0x5D bit 0 to 7. More...
 
FUNCTION FOR HIGH_G THRESHOLD CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g_thres (u8 *v_high_g_thres_u8)
 This API is used to read Threshold definition for the high-g interrupt from the register 0x5E 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g_thres (u8 v_high_g_thres_u8)
 This API is used to write Threshold definition for the high-g interrupt from the register 0x5E 0 to 7. More...
 
FUNCTION FOR ANY MOTION DURATION CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_any_motion_durn (u8 *v_any_motion_durn_u8)
 This API reads any motion duration from the register 0x5F bit 0 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_any_motion_durn (u8 nomotion)
 This API write any motion duration from the register 0x5F bit 0 and 1. More...
 
FUNCTION FOR SLOW NO MOTION DURATION CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_slow_no_motion_durn (u8 *v_slow_no_motion_u8)
 This API read Slow/no-motion interrupt trigger delay duration from the register 0x5F bit 2 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_slow_no_motion_durn (u8 v_slow_no_motion_u8)
 This API write Slow/no-motion interrupt trigger delay duration from the register 0x5F bit 2 to 7. More...
 
FUNCTION FOR ANY MOTION THRESHOLD CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_any_motion_thres (u8 *v_any_motion_thres_u8)
 This API is used to read threshold definition for the any-motion interrupt from the register 0x60 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_any_motion_thres (u8 v_any_motion_thres_u8)
 This API is used to write threshold definition for the any-motion interrupt from the register 0x60 bit 0 to 7. More...
 
FUNCTION FOR SLO/NO MOTION THRESHOLD CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_slow_no_motion_thres (u8 *v_slow_no_motion_thres_u8)
 This API is used to read threshold for the slow/no-motion interrupt from the register 0x61 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_slow_no_motion_thres (u8 v_slow_no_motion_thres_u8)
 This API is used to write threshold for the slow/no-motion interrupt from the register 0x61 bit 0 to 7. More...
 
FUNCTION FOR SLO/NO MOTION SELECT CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_slow_no_motion_select (u8 *v_intr_slow_no_motion_select_u8)
 This API is used to read the slow/no-motion selection from the register 0x62 bit 0. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_slow_no_motion_select (u8 v_intr_slow_no_motion_select_u8)
 This API is used to write the slow/no-motion selection from the register 0x62 bit 0. More...
 
FUNCTION FOR SIGNIFICANT MOTION SELECT CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_significant_motion_select (u8 *int_sig_mot_sel)
 This API is used to select the significant or any motion interrupt from the register 0x62 bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_significant_motion_select (u8 int_sig_mot_sel)
 This API is used to write, select the significant or any motion interrupt from the register 0x62 bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_unmap_significant_motion_intr (u8 v_significant_u8)
 This API used to unmap the signification motion interrupt. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_significant_motion_skip (u8 *v_int_sig_mot_skip_u8)
 This API is used to read the significant skip time from the register 0x62 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_significant_motion_skip (u8 v_int_sig_mot_skip_u8)
 This API is used to write the significant skip time from the register 0x62 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_significant_motion_proof (u8 *int_sig_mot_proof)
 This API is used to read the significant proof time from the register 0x62 bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_significant_motion_proof (u8 int_sig_mot_proof)
 This API is used to write the significant proof time from the register 0x62 bit 4 and 5. More...
 
FUNCTION FOR TAP DURATION CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_durn (u8 *v_tap_durn_u8)
 This API is used to get the tap duration from the register 0x63 bit 0 to 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_durn (u8 v_tap_durn_u8)
 This API is used to write the tap duration from the register 0x63 bit 0 to 2. More...
 
FUNCTION FOR TAP SHOCK CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_shock (u8 *v_tap_shock_u8)
 This API read the tap shock duration from the register 0x63 bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_shock (u8 v_tap_shock_u8)
 This API write the tap shock duration from the register 0x63 bit 2. More...
 
FUNCTION FOR TAP QUIET CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_quiet (u8 *v_tap_quiet_u8)
 This API read tap quiet duration from the register 0x63 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_quiet (u8 v_tap_quiet_u8)
 This API write tap quiet duration from the register 0x63 bit 7. More...
 
FUNCTION FOR TAP THRESHOLD CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_thres (u8 *v_tap_thres_u8)
 This API read Threshold of the single/double tap interrupt from the register 0x64 bit 0 to 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_thres (u8 v_tap_thres_u8)
 This API write Threshold of the single/double tap interrupt from the register 0x64 bit 0 to 4. More...
 
FUNCTION FOR ORIENT MODE CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_mode (u8 *v_orient_mode_u8)
 This API read the threshold for orientation interrupt from the register 0x65 bit 0 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_mode (u8 v_orient_mode_u8)
 This API write the threshold for orientation interrupt from the register 0x65 bit 0 and 1. More...
 
FUNCTION FOR ORIENT BLOCKING CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_blocking (u8 *v_orient_blocking_u8)
 This API read the orient blocking mode that is used for the generation of the orientation interrupt. from the register 0x65 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_blocking (u8 v_orient_blocking_u8)
 This API write the orient blocking mode that is used for the generation of the orientation interrupt. from the register 0x65 bit 2 and 3. More...
 
FUNCTION FOR ORIENT HYSTERESIS CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_hyst (u8 *v_orient_hyst_u8)
 This API read Orient interrupt hysteresis, from the register 0x64 bit 4 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_hyst (u8 v_orient_hyst_u8)
 This API write Orient interrupt hysteresis, from the register 0x64 bit 4 to 7. More...
 
FUNCTION FOR ORIENT THETA CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_theta (u8 *v_orient_theta_u8)
 This API read Orient blocking angle (0 to 44.8) from the register 0x66 bit 0 to 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_theta (u8 v_orient_theta_u8)
 This API write Orient blocking angle (0 to 44.8) from the register 0x66 bit 0 to 5. More...
 
FUNCTION FOR ORIENT OUTPUT ENABLE CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_ud_enable (u8 *v_orient_ud_u8)
 This API read orient change of up/down bit from the register 0x66 bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_ud_enable (u8 v_orient_ud_u8)
 This API write orient change of up/down bit from the register 0x66 bit 6. More...
 
FUNCTION FOR ORIENT AXIS ENABLE CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_axes_enable (u8 *v_orient_axes_u8)
 This API read orientation axes changes from the register 0x66 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_axes_enable (u8 v_orient_axes_u8)
 This API write orientation axes changes from the register 0x66 bit 7. More...
 
FUNCTION FOR FLAT THETA CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat_theta (u8 *v_flat_theta_u8)
 This API read Flat angle (0 to 44.8) for flat interrupt from the register 0x67 bit 0 to 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat_theta (u8 v_flat_theta_u8)
 This API write Flat angle (0 to 44.8) for flat interrupt from the register 0x67 bit 0 to 5. More...
 
FUNCTION FOR FLAT HOLD CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat_hold (u8 *v_flat_hold_u8)
 This API read Flat interrupt hold time; from the register 0x68 bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat_hold (u8 v_flat_hold_u8)
 This API write Flat interrupt hold time; from the register 0x68 bit 4 and 5. More...
 
FUNCTION FOR FLAT HYSTERESIS CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat_hyst (u8 *v_flat_hyst_u8)
 This API read flat interrupt hysteresis from the register 0x68 bit 0 to 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat_hyst (u8 v_flat_hyst_u8)
 This API write flat interrupt hysteresis from the register 0x68 bit 0 to 3. More...
 
FUNCTION FAST OFFSET COMPENSATION FOR ACCEL
BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_accel_z (u8 *v_foc_accel_z_u8)
 This API read accel offset compensation target value for z-axis from the register 0x69 bit 0 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_accel_z (u8 v_foc_accel_z_u8)
 This API write accel offset compensation target value for z-axis from the register 0x69 bit 0 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_accel_y (u8 *v_foc_accel_y_u8)
 This API read accel offset compensation target value for y-axis from the register 0x69 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_accel_y (u8 v_foc_accel_y_u8)
 This API write accel offset compensation target value for y-axis from the register 0x69 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_accel_x (u8 *v_foc_accel_x_u8)
 This API read accel offset compensation target value for x-axis is from the register 0x69 bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_accel_x (u8 v_foc_accel_x_u8)
 This API write accel offset compensation target value for x-axis is from the register 0x69 bit 4 and 5. More...
 
FUNCTION FAST OFFSET COMPENSATION FOR GYRO
BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_gyro_enable (u8 v_foc_gyro_u8, s16 *v_gyro_off_x_s16, s16 *v_gyro_off_y_s16, s16 *v_gyro_off_z_s16)
 This API write gyro fast offset enable from the register 0x69 bit 6. More...
 
FUNCTION FOR NVM
BMI160_RETURN_FUNCTION_TYPE bmi160_get_nvm_prog_enable (u8 *v_nvm_prog_u8)
 This API read NVM program enable from the register 0x6A bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_nvm_prog_enable (u8 v_nvm_prog_u8)
 This API write NVM program enable from the register 0x6A bit 1. More...
 
FUNCTION FOR SPI MODE
BMI160_RETURN_FUNCTION_TYPE bmi160_get_spi3 (u8 *v_spi3_u8)
 This API read to configure SPI Interface Mode for primary and OIS interface from the register 0x6B bit 0. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_spi3 (u8 v_spi3_u8)
 This API write to configure SPI Interface Mode for primary and OIS interface from the register 0x6B bit 0. More...
 
FUNCTION FOR FOC GYRO
BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_gyro_enable (u8 *v_foc_gyro_u8)
 This API read gyro fast offset enable from the register 0x69 bit 6. More...
 
FUNCTION FOR I2C WATCHDOG TIMBER
BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_wdt_select (u8 *v_i2c_wdt_u8)
 This API read I2C Watchdog timer from the register 0x70 bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_i2c_wdt_select (u8 v_i2c_wdt_u8)
 This API write I2C Watchdog timer from the register 0x70 bit 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_wdt_enable (u8 *v_i2c_wdt_u8)
 This API read I2C watchdog enable from the register 0x70 bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_i2c_wdt_enable (u8 v_i2c_wdt_u8)
 This API write I2C watchdog enable from the register 0x70 bit 2. More...
 
FUNCTION FOR IF MODE
BMI160_RETURN_FUNCTION_TYPE bmi160_get_if_mode (u8 *v_if_mode_u8)
 This API read I2C interface configuration(if) moe from the register 0x6B bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_if_mode (u8 v_if_mode_u8)
 This API write I2C interface configuration(if) moe from the register 0x6B bit 4 and 5. More...
 
FUNCTION FOR GYRO SLEEP TRIGGER INTERRUPT CONFIGURATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_sleep_trigger (u8 *v_gyro_sleep_trigger_u8)
 This API read gyro sleep trigger from the register 0x6C bit 0 to 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_sleep_trigger (u8 v_gyro_sleep_trigger_u8)
 This API write gyro sleep trigger from the register 0x6C bit 0 to 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_wakeup_trigger (u8 *v_gyro_wakeup_trigger_u8)
 This API read gyro wakeup trigger from the register 0x6C bit 3 and 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_wakeup_trigger (u8 v_gyro_wakeup_trigger_u8)
 This API write gyro wakeup trigger from the register 0x6C bit 3 and 4. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_sleep_state (u8 *v_gyro_sleep_state_u8)
 This API read Target state for gyro sleep mode from the register 0x6C bit 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_sleep_state (u8 v_gyro_sleep_state_u8)
 This API write Target state for gyro sleep mode from the register 0x6C bit 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_wakeup_intr (u8 *v_gyro_wakeup_intr_u8)
 This API read gyro wakeup interrupt from the register 0x6C bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_wakeup_intr (u8 v_gyro_wakeup_intr_u8)
 This API write gyro wakeup interrupt from the register 0x6C bit 6. More...
 
FUNCTION FOR ACCEL SELF TEST
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_selftest_axis (u8 *acc_selftest_axis)
 This API read accel select axis to be self-test. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_selftest_axis (u8 acc_selftest_axis)
 This API write accel select axis to be self-test. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_selftest_sign (u8 *acc_selftest_sign)
 This API read accel self test axis sign from the register 0x6D bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_selftest_sign (u8 acc_selftest_sign)
 This API write accel self test axis sign from the register 0x6D bit 2. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_selftest_amp (u8 *acc_selftest_amp)
 This API read accel self test amplitude from the register 0x6D bit 3 select amplitude of the selftest deflection: More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_selftest_amp (u8 acc_selftest_amp)
 This API write accel self test amplitude from the register 0x6D bit 3 select amplitude of the selftest deflection: More...
 
FUNCTION FOR GYRO SELF TEST
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_selftest_start (u8 *v_gyro_selftest_start_u8)
 This API read gyro self test trigger. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_selftest_start (u8 v_gyro_selftest_start_u8)
 This API write gyro self test trigger. More...
 
FUNCTION FOR SPI/I2C ENABLE
BMI160_RETURN_FUNCTION_TYPE bmi160_get_spi_enable (u8 *v_spi_enable_u8)
 This API read primary interface selection I2C or SPI from the register 0x70 bit 0. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_spi_enable (u8 v_spi_enable_u8)
 This API write primary interface selection I2C or SPI from the register 0x70 bit 0. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_spare0_trim (u8 *v_spare0_trim_u8)
 This API read the spare zero form register 0x70 bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_spare0_trim (u8 v_spare0_trim_u8)
 This API write the spare zero form register 0x70 bit 3. More...
 
FUNCTION FOR NVM COUNTER
BMI160_RETURN_FUNCTION_TYPE bmi160_get_nvm_counter (u8 *v_nvm_counter_u8)
 This API read the NVM counter form register 0x70 bit 4 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_nvm_counter (u8 v_nvm_counter_u8)
 This API write the NVM counter form register 0x70 bit 4 to 7. More...
 
FUNCTION FOR ACCEL MANUAL OFFSET COMPENSATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_compensation_xaxis (s8 *v_accel_off_x_s8)
 This API read accel manual offset compensation of x axis from the register 0x71 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_compensation_xaxis (s8 v_accel_off_x_s8)
 This API write accel manual offset compensation of x axis from the register 0x71 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_compensation_yaxis (s8 *v_accel_off_y_s8)
 This API read accel manual offset compensation of y axis from the register 0x72 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_compensation_yaxis (s8 v_accel_off_y_s8)
 This API write accel manual offset compensation of y axis from the register 0x72 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_compensation_zaxis (s8 *v_accel_off_z_s8)
 This API read accel manual offset compensation of z axis from the register 0x73 bit 0 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_compensation_zaxis (s8 v_accel_off_z_s8)
 This API write accel manual offset compensation of z axis from the register 0x73 bit 0 to 7. More...
 
FUNCTION FOR GYRO MANUAL OFFSET COMPENSATION
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_compensation_xaxis (s16 *v_gyro_off_x_s16)
 This API read gyro manual offset compensation of x axis from the register 0x74 bit 0 to 7 and 0x77 bit 0 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_compensation_xaxis (s16 v_gyro_off_x_s16)
 This API write gyro manual offset compensation of x axis from the register 0x74 bit 0 to 7 and 0x77 bit 0 and 1. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_compensation_yaxis (s16 *v_gyro_off_y_s16)
 This API read gyro manual offset compensation of y axis from the register 0x75 bit 0 to 7 and 0x77 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_compensation_yaxis (s16 v_gyro_off_y_s16)
 This API write gyro manual offset compensation of y axis from the register 0x75 bit 0 to 7 and 0x77 bit 2 and 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_compensation_zaxis (s16 *v_gyro_off_z_s16)
 This API read gyro manual offset compensation of z axis from the register 0x76 bit 0 to 7 and 0x77 bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_compensation_zaxis (s16 v_gyro_off_z_s16)
 This API write gyro manual offset compensation of z axis from the register 0x76 bit 0 to 7 and 0x77 bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_foc_trigger (u8 axis, u8 foc_acc, s8 *accel_offset)
 This API writes accel fast offset compensation from the register 0x69 bit 0 to 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_accel_foc_trigger_xyz (u8 v_foc_accel_x_u8, u8 v_foc_accel_y_u8, u8 v_foc_accel_z_u8, s8 *acc_off_x, s8 *acc_off_y, s8 *acc_off_z)
 This API write fast accel offset compensation it writes all axis together.To the register 0x69 bit 0 to 5 FOC_X_AXIS - bit 4 and 5 FOC_Y_AXIS - bit 2 and 3 FOC_Z_AXIS - bit 0 and 1. More...
 
FUNCTION FOR ACEL AND GYRO OFFSET ENABLE
BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_enable (u8 *acc_off_en)
 This API read the accel offset enable bit from the register 0x77 bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_enable (u8 acc_off_en)
 This API write the accel offset enable bit from the register 0x77 bit 6. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_enable (u8 *v_gyro_off_enable_u8)
 This API read the accel offset enable bit from the register 0x77 bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_enable (u8 v_gyro_off_enable_u8)
 This API write the accel offset enable bit from the register 0x77 bit 7. More...
 
FUNCTION FOR STEP COUNTER INTERRUPT
BMI160_RETURN_FUNCTION_TYPE bmi160_read_step_count (s16 *v_step_cnt_s16)
 This API reads step counter value form the register 0x78 and 0x79. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_step_config (u16 *v_step_config_u16)
 This API Reads step counter configuration from the register 0x7A bit 0 to 7 and from the register 0x7B bit 0 to 2 and 4 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_config (u16 v_step_config_u16)
 This API write step counter configuration from the register 0x7A bit 0 to 7 and from the register 0x7B bit 0 to 2 and 4 to 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_step_counter_enable (u8 *v_step_counter_u8)
 This API read enable step counter from the register 0x7B bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_counter_enable (u8 v_step_counter_u8)
 This API write enable step counter from the register 0x7B bit 3. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_mode (u8 v_step_mode_u8)
 This API set Step counter modes. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_map_significant_motion_intr (u8 v_significant_u8)
 This API used to trigger the signification motion interrupt. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_map_step_detector_intr (u8 v_step_detector_u8)
 This API used to trigger the step detector interrupt. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_clear_step_counter (void)
 This API used to clear the step counter interrupt interrupt. More...
 
FUNCTION FOR STEP COMMAND REGISTER WRITE
BMI160_RETURN_FUNCTION_TYPE bmi160_set_command_register (u8 v_command_reg_u8)
 This API writes value to the register 0x7E bit 0 to 7. More...
 
FUNCTION FOR PAGE ENABLE
BMI160_RETURN_FUNCTION_TYPE bmi160_get_target_page (u8 *v_target_page_u8)
 This API read target page from the register 0x7F bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_target_page (u8 v_target_page_u8)
 This API write target page from the register 0x7F bit 4 and 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_paging_enable (u8 *v_page_enable_u8)
 This API read page enable from the register 0x7F bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_paging_enable (u8 v_page_enable_u8)
 This API write page enable from the register 0x7F bit 7. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_get_pullup_configuration (u8 *v_control_pullup_u8)
 This API read pull up configuration from the register 0X85 bit 4 an 5. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_pullup_configuration (u8 v_control_pullup_u8)
 This API write pull up configuration from the register 0X85 bit 4 an 5. More...
 
FUNCTION FOR BMM150
BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_interface_init (u8 *v_chip_id_u8)
 This function used for initialize the bmm150 sensor. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_wakeup (void)
 This function used for set the mag power control bit enable. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_bmm150_mag_trim (void)
 This function used for read the trim values of magnetometer. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_compensate_xyz (struct bmi160_mag_xyz_s32_t *mag_comp_xyz)
 This function used for read the compensated value of mag Before start reading the mag compensated data's make sure the following two points are addressed. More...
 
s32 bmi160_bmm150_mag_compensate_X (s16 v_mag_data_x_s16, u16 v_data_r_u16)
 This API used to get the compensated BMM150-X data the out put of X as s32 Before start reading the mag compensated X data make sure the following two points are addressed. More...
 
s32 bmi160_bmm150_mag_compensate_Y (s16 v_mag_data_y_s16, u16 v_data_r_u16)
 This API used to get the compensated BMM150-Y data the out put of Y as s32 Before start reading the mag compensated Y data make sure the following two points are addressed. More...
 
s32 bmi160_bmm150_mag_compensate_Z (s16 v_mag_data_z_s16, u16 v_data_r_u16)
 This API used to get the compensated BMM150-Z data the out put of Z as s32 Before start reading the mag compensated Z data make sure the following two points are addressed. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_bmm150_mag_presetmode (u8 mode)
 This API used to set the pre-set modes of bmm150 The pre-set mode setting is depend on data rate and xy and z repetitions. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_set_power_mode (u8 mag_pow_mode)
 This function used for set the magnetometer power mode. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_set_bmm150_mag_and_secondary_if_power_mode (u8 v_mag_sec_if_pow_mode_u8)
 This function used for set the magnetometer power mode. More...
 
FUNCTIONS FOR FIFO DATA READ
BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_headerless_mode (u8 v_mag_if_u8, struct bmi160_fifo_data_header_less_t *headerless_data)
 This function used for reading the fifo data of header less mode. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_headerless_mode_user_defined_length (u16 v_fifo_user_length_u16, struct bmi160_fifo_data_header_less_t *fifo_data, u8 v_mag_if_mag_u8)
 This function used for reading the fifo data of header less mode for using user defined length. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_header_data (u8 v_mag_if_u8, struct bmi160_fifo_data_header_t *header_data)
 This function used for reading the fifo data of header mode. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_header_data_user_defined_length (u16 v_fifo_user_length_u16, u8 v_mag_if_mag_u8, struct bmi160_fifo_data_header_t *fifo_header_data)
 This function used for reading the fifo data of header mode for using user defined length. More...
 
struct bmi160_tbmi160_get_ptr (void)
 This function used for reading bmi160_t structure. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_second_if_mag_compensate_xyz (struct bmi160_mag_fifo_data_t mag_fifo_data, u8 v_mag_second_if_u8)
 This function used for reading the compensated data of mag secondary interface xyz data. More...
 
FUNCTIONS FOR YAMAH-YAS537
BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_fifo_xyz_data (u16 *a_xy1y2_u16, u8 v_over_flow_u8, u8 v_rcoil_u8, u8 v_busy_u8)
 This function used for read the YAMAHA YAS537 xy1y2 data of fifo. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_mag_interface_init (void)
 This function used to init the YAMAH-YAS537. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_calib_values (u8 v_rcoil_u8)
 This function used for read the YAMAHA YAS537 calibration data. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yas537_acquisition_command_register (u8 v_command_reg_data_u8)
 This function used for YAS537 write data acquisition command register write. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_read_xy1y2_data (u8 *v_coil_stat_u8, u8 *v_busy_u8, u16 *v_temperature_u16, u16 *xy1y2, u8 *v_ouflow_u8)
 This function used for read the YAMAHA YAS537 xy1y2 data. More...
 
BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_measure_xyz_data (u8 *v_ouflow_u8, struct yas_vector *vector_xyz)
 This function used for read the YAMAHA YAS537 xy1y2 data. More...
 

YAMAHA-YAS532 OFFSET DEFINITION

#define set_vector(to, from)   {int _l; for (_l = 0; _l < 3; _l++) (to)[_l] = (from)[_l]; }
 
#define is_valid_offset(a)
 

Macro Definition Documentation

§ MACHINE_32_BIT

#define MACHINE_32_BIT

The following definition uses for define the data types.

Note
While porting the API please consider the following
Please check the version of C standard
Are you using Linux platform

For the Linux platform support Please use the types.h for your data types definitions

By default it is defined as 32 bit machine configuration define your data types based on your machine/compiler/controller configuration

§ BMI160_WR_FUNC_PTR

#define BMI160_WR_FUNC_PTR
Value:
s8 (*bus_write)(u8, u8,\
u8 *, u8)
signed char s8
Definition: bmi160.h:260
unsigned char u8
Definition: bmi160.h:266

Define the calling convention of YOUR bus communication routine.

Note
This includes types of parameters. This example shows the configuration for an SPI bus link.

If your communication function looks like this:

write_my_bus_xy(u8 device_addr, u8 register_addr, u8 * data, u8 length);

The BMI160_WR_FUNC_PTR would equal:

BMI160_WR_FUNC_PTR s8 (* bus_write)(u8, u8, u8 *, u8)

Parameters can be mixed as needed refer to the BMI160_BUS_WRITE_FUNC macro. link macro between API function calls and bus write function

Note
The bus write function can change since this is a system dependant issue.

If the bus_write parameter calling order is like: reg_addr, reg_data, wr_len it would be as it is here.

If the parameters are differently ordered or your communication function like I2C need to know the device address, you can change this macro accordingly.

BMI160_BUS_WRITE_FUNC(dev_addr, reg_addr, reg_data, wr_len)\ bus_write(dev_addr, reg_addr, reg_data, wr_len)

This macro lets all API functions call YOUR communication routine in a way that equals your definition in the BMI160_WR_FUNC_PTR definition.

§ BMI160_BUS_WRITE_FUNC

#define BMI160_BUS_WRITE_FUNC (   dev_addr,
  reg_addr,
  reg_data,
  wr_len 
)    bus_write(dev_addr, reg_addr, reg_data, wr_len)

Define the calling convention of YOUR bus communication routine.

Note
This includes types of parameters. This example shows the configuration for an SPI bus link.

If your communication function looks like this:

read_my_bus_xy(u8 device_addr, u8 register_addr, u8 * data, u8 length);

The BMI160_RD_FUNC_PTR would equal:

BMI160_RD_FUNC_PTR s8 (* bus_read)(u8, u8, u8 *, u8)

Parameters can be mixed as needed refer to the refer BMI160_BUS_READ_FUNC macro.

§ BMI160_SPI_RD_MASK

#define BMI160_SPI_RD_MASK
Value:
(0x80) /* for spi read transactions on SPI the
MSB has to be set */

§ BMI160_RD_FUNC_PTR

#define BMI160_RD_FUNC_PTR
Value:
s8 (*bus_read)(u8,\
u8, u8 *, u8)
signed char s8
Definition: bmi160.h:260
unsigned char u8
Definition: bmi160.h:266
unsigned char u8
Definition: bma2x2.h:192

§ BMI160_BRD_FUNC_PTR

#define BMI160_BRD_FUNC_PTR
Value:
s8 \
(*burst_read)(u8, u8, u8 *, u32)
unsigned int u32
Definition: bmi160.h:268
unsigned char u8
Definition: bmi160.h:266
unsigned char u8
Definition: bma2x2.h:192
signed char s8
If your machine support 16 bit define the MACHINE_16_BIT.
Definition: bma2x2.h:186

link macro between API function calls and bus read function

Note
The bus write function can change since this is a system dependant issue.

If the bus_read parameter calling order is like: reg_addr, reg_data, wr_len it would be as it is here.

If the parameters are differently ordered or your communication function like I2C need to know the device address, you can change this macro accordingly.

BMI160_BUS_READ_FUNC(dev_addr, reg_addr, reg_data, wr_len)\ bus_read(dev_addr, reg_addr, reg_data, wr_len)

This macro lets all API functions call YOUR communication routine in a way that equals your definition in the refer BMI160_WR_FUNC_PTR definition.

Note
: this macro also includes the "MSB='1' for reading BMI160 addresses.

§ BMI160_BUS_READ_FUNC

#define BMI160_BUS_READ_FUNC (   dev_addr,
  reg_addr,
  reg_data,
  r_len 
)    bus_read(dev_addr, reg_addr, reg_data, r_len)

§ BMI160_BURST_READ_FUNC

#define BMI160_BURST_READ_FUNC (   device_addr,
  register_addr,
  register_data,
  rd_len 
)    burst_read(device_addr, register_addr, register_data, rd_len)

§ FIFO_ENABLE

#define FIFO_ENABLE

§ YAS537

#define YAS537

§ BMI160_MDELAY_DATA_TYPE

#define BMI160_MDELAY_DATA_TYPE   u32

§ BMI160_I2C_ADDR1

#define BMI160_I2C_ADDR1   (0x68)

I2C Address needs to be changed

§ BMI160_I2C_ADDR2

#define BMI160_I2C_ADDR2   (0x69)

I2C Address needs to be changed

§ BMI160_AUX_BMM150_I2C_ADDRESS

#define BMI160_AUX_BMM150_I2C_ADDRESS   (0x13)

I2C address of BMM150

Referenced by bmi160_bmm150_mag_interface_init().

§ BMI160_AUX_YAS532_I2C_ADDRESS

#define BMI160_AUX_YAS532_I2C_ADDRESS   (0x2E)

I2C address of YAS532

Referenced by bmi160_read_bmm150_mag_trim().

§ BMI160_AUX_AKM09911_I2C_ADDR_1

#define BMI160_AUX_AKM09911_I2C_ADDR_1   (0x0C)

I2C address of AKM09911

§ BMI160_AUX_AKM09911_I2C_ADDR_2

#define BMI160_AUX_AKM09911_I2C_ADDR_2   (0x0D)

I2C address of AKM09911

§ BMI160_AUX_AKM09912_I2C_ADDR_1

#define BMI160_AUX_AKM09912_I2C_ADDR_1   (0x0C)

I2C address of AKM09912

§ BMI160_AUX_AKM09912_I2C_ADDR_2

#define BMI160_AUX_AKM09912_I2C_ADDR_2   (0x0D)

I2C address of AKM09912

§ BMI160_AUX_AKM09912_I2C_ADDR_3

#define BMI160_AUX_AKM09912_I2C_ADDR_3   (0x0E)

I2C address of AKM09912

§ BMI160_AUX_AKM09912_I2C_ADDR_4

#define BMI160_AUX_AKM09912_I2C_ADDR_4   (0x0F)

I2C address of AKM09912

§ BMI160_INIT_VALUE

#define BMI160_INIT_VALUE   (0)

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_bmm150_mag_compensate_X(), bmi160_bmm150_mag_compensate_Y(), bmi160_bmm150_mag_compensate_Z(), bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_wakeup(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yamaha_yas537_fifo_xyz_data(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_bst_yamaha_yas537_measure_xyz_data(), bmi160_bst_yamaha_yas537_read_xy1y2_data(), bmi160_fifo_length(), bmi160_get_accel_bw(), bmi160_get_accel_data_rdy(), bmi160_get_accel_fifo_filter_data(), bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_accel_offset_enable(), bmi160_get_accel_output_data_rate(), bmi160_get_accel_power_mode_stat(), bmi160_get_accel_range(), bmi160_get_accel_selftest_amp(), bmi160_get_accel_selftest_axis(), bmi160_get_accel_selftest_sign(), bmi160_get_accel_under_sampling_parameter(), bmi160_get_data_rdy_mag(), bmi160_get_drop_cmd_err(), bmi160_get_err_code(), bmi160_get_error_status(), bmi160_get_fatal_err(), bmi160_get_fifo_accel_enable(), bmi160_get_fifo_down_accel(), bmi160_get_fifo_down_gyro(), bmi160_get_fifo_gyro_enable(), bmi160_get_fifo_header_enable(), bmi160_get_fifo_mag_enable(), bmi160_get_fifo_tag_intr1_enable(), bmi160_get_fifo_tag_intr2_enable(), bmi160_get_fifo_time_enable(), bmi160_get_fifo_wm(), bmi160_get_foc_accel_x(), bmi160_get_foc_accel_y(), bmi160_get_foc_accel_z(), bmi160_get_foc_gyro_enable(), bmi160_get_foc_rdy(), bmi160_get_gyro_bw(), bmi160_get_gyro_data_rdy(), bmi160_get_gyro_fifo_filter_data(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), bmi160_get_gyro_offset_enable(), bmi160_get_gyro_output_data_rate(), bmi160_get_gyro_power_mode_stat(), bmi160_get_gyro_range(), bmi160_get_gyro_selftest(), bmi160_get_gyro_selftest_start(), bmi160_get_gyro_sleep_state(), bmi160_get_gyro_sleep_trigger(), bmi160_get_gyro_wakeup_intr(), bmi160_get_gyro_wakeup_trigger(), bmi160_get_i2c_device_addr(), bmi160_get_i2c_fail_err(), bmi160_get_i2c_wdt_enable(), bmi160_get_i2c_wdt_select(), bmi160_get_if_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_any_motion_durn(), bmi160_get_intr_any_motion_thres(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_flat_hold(), bmi160_get_intr_flat_hyst(), bmi160_get_intr_flat_theta(), bmi160_get_intr_high_g(), bmi160_get_intr_high_g_durn(), bmi160_get_intr_high_g_hyst(), bmi160_get_intr_high_g_thres(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_low_g_durn(), bmi160_get_intr_low_g_hyst(), bmi160_get_intr_low_g_mode(), bmi160_get_intr_low_g_thres(), bmi160_get_intr_low_high_source(), bmi160_get_intr_motion_source(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_orient_axes_enable(), bmi160_get_intr_orient_blocking(), bmi160_get_intr_orient_hyst(), bmi160_get_intr_orient_mode(), bmi160_get_intr_orient_theta(), bmi160_get_intr_orient_ud_enable(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_significant_motion_proof(), bmi160_get_intr_significant_motion_select(), bmi160_get_intr_significant_motion_skip(), bmi160_get_intr_single_tap(), bmi160_get_intr_slow_no_motion_durn(), bmi160_get_intr_slow_no_motion_select(), bmi160_get_intr_slow_no_motion_thres(), bmi160_get_intr_tap_durn(), bmi160_get_intr_tap_quiet(), bmi160_get_intr_tap_shock(), bmi160_get_intr_tap_source(), bmi160_get_intr_tap_thres(), bmi160_get_latch_intr(), bmi160_get_mag_burst(), bmi160_get_mag_data_rdy_err(), bmi160_get_mag_manual_enable(), bmi160_get_mag_manual_operation_stat(), bmi160_get_mag_offset(), bmi160_get_mag_output_data_rate(), bmi160_get_mag_power_mode_stat(), bmi160_get_mag_read_addr(), bmi160_get_mag_write_addr(), bmi160_get_mag_write_data(), bmi160_get_nvm_counter(), bmi160_get_nvm_prog_enable(), bmi160_get_nvm_rdy(), bmi160_get_output_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_sensor_time(), bmi160_get_spare0_trim(), bmi160_get_spi3(), bmi160_get_spi_enable(), bmi160_get_stat0_any_motion_intr(), bmi160_get_stat0_double_tap_intr(), bmi160_get_stat0_flat_intr(), bmi160_get_stat0_orient_intr(), bmi160_get_stat0_pmu_trigger_intr(), bmi160_get_stat0_significant_intr(), bmi160_get_stat0_single_tap_intr(), bmi160_get_stat0_step_intr(), bmi160_get_stat1_data_rdy_intr(), bmi160_get_stat1_fifo_full_intr(), bmi160_get_stat1_fifo_wm_intr(), bmi160_get_stat1_high_g_intr(), bmi160_get_stat1_low_g_intr(), bmi160_get_stat1_nomotion_intr(), bmi160_get_stat2_any_motion_first_x(), bmi160_get_stat2_any_motion_first_y(), bmi160_get_stat2_any_motion_first_z(), bmi160_get_stat2_any_motion_sign(), bmi160_get_stat2_tap_first_x(), bmi160_get_stat2_tap_first_y(), bmi160_get_stat2_tap_first_z(), bmi160_get_stat2_tap_sign(), bmi160_get_stat3_flat(), bmi160_get_stat3_high_g_first_x(), bmi160_get_stat3_high_g_first_y(), bmi160_get_stat3_high_g_first_z(), bmi160_get_stat3_high_g_sign(), bmi160_get_stat3_orient_xy(), bmi160_get_stat3_orient_z(), bmi160_get_step_config(), bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), bmi160_get_target_page(), bmi160_get_temp(), bmi160_init(), bmi160_map_significant_motion_intr(), bmi160_map_step_detector_intr(), bmi160_read_accel_x(), bmi160_read_accel_xyz(), bmi160_read_accel_y(), bmi160_read_accel_z(), bmi160_read_bmm150_mag_trim(), bmi160_read_fifo_header_data_user_defined_length(), bmi160_read_fifo_headerless_mode_user_defined_length(), bmi160_read_gyro_x(), bmi160_read_gyro_xyz(), bmi160_read_gyro_y(), bmi160_read_gyro_z(), bmi160_read_mag_r(), bmi160_read_mag_x(), bmi160_read_mag_xyz(), bmi160_read_mag_xyzr(), bmi160_read_mag_y(), bmi160_read_mag_z(), bmi160_read_step_count(), bmi160_second_if_mag_compensate_xyz(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), bmi160_set_accel_offset_compensation_zaxis(), bmi160_set_accel_offset_enable(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_bmm150_mag_and_secondary_if_power_mode(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_down_accel(), bmi160_set_fifo_down_gyro(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_foc_accel_z(), bmi160_set_foc_gyro_enable(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), bmi160_set_gyro_offset_compensation_zaxis(), bmi160_set_gyro_offset_enable(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_device_addr(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_any_motion_durn(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_high_g_hyst(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_hyst(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_hyst(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_durn(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_intr_tap_thres(), bmi160_set_latch_intr(), bmi160_set_mag_burst(), bmi160_set_mag_interface_normal(), bmi160_set_mag_manual_enable(), bmi160_set_mag_offset(), bmi160_set_mag_output_data_rate(), bmi160_set_nvm_counter(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_spare0_trim(), bmi160_set_spi3(), bmi160_set_spi_enable(), bmi160_set_step_config(), bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), bmi160_set_target_page(), and bmi160_unmap_significant_motion_intr().

§ BMI160_ASSIGN_DATA

#define BMI160_ASSIGN_DATA   (1)

§ BMI160_GEN_READ_WRITE_DATA_LENGTH

#define BMI160_GEN_READ_WRITE_DATA_LENGTH   (1)

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_wakeup(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_get_accel_bw(), bmi160_get_accel_data_rdy(), bmi160_get_accel_fifo_filter_data(), bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_accel_offset_enable(), bmi160_get_accel_output_data_rate(), bmi160_get_accel_power_mode_stat(), bmi160_get_accel_range(), bmi160_get_accel_selftest_amp(), bmi160_get_accel_selftest_axis(), bmi160_get_accel_selftest_sign(), bmi160_get_accel_under_sampling_parameter(), bmi160_get_data_rdy_mag(), bmi160_get_drop_cmd_err(), bmi160_get_err_code(), bmi160_get_error_status(), bmi160_get_fatal_err(), bmi160_get_fifo_accel_enable(), bmi160_get_fifo_down_accel(), bmi160_get_fifo_down_gyro(), bmi160_get_fifo_gyro_enable(), bmi160_get_fifo_header_enable(), bmi160_get_fifo_mag_enable(), bmi160_get_fifo_tag_intr1_enable(), bmi160_get_fifo_tag_intr2_enable(), bmi160_get_fifo_time_enable(), bmi160_get_fifo_wm(), bmi160_get_foc_accel_x(), bmi160_get_foc_accel_y(), bmi160_get_foc_accel_z(), bmi160_get_foc_gyro_enable(), bmi160_get_foc_rdy(), bmi160_get_gyro_bw(), bmi160_get_gyro_data_rdy(), bmi160_get_gyro_fifo_filter_data(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), bmi160_get_gyro_offset_enable(), bmi160_get_gyro_output_data_rate(), bmi160_get_gyro_power_mode_stat(), bmi160_get_gyro_range(), bmi160_get_gyro_selftest(), bmi160_get_gyro_selftest_start(), bmi160_get_gyro_sleep_state(), bmi160_get_gyro_sleep_trigger(), bmi160_get_gyro_wakeup_intr(), bmi160_get_gyro_wakeup_trigger(), bmi160_get_i2c_device_addr(), bmi160_get_i2c_fail_err(), bmi160_get_i2c_wdt_enable(), bmi160_get_i2c_wdt_select(), bmi160_get_if_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_any_motion_durn(), bmi160_get_intr_any_motion_thres(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_flat_hold(), bmi160_get_intr_flat_hyst(), bmi160_get_intr_flat_theta(), bmi160_get_intr_high_g(), bmi160_get_intr_high_g_durn(), bmi160_get_intr_high_g_hyst(), bmi160_get_intr_high_g_thres(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_low_g_durn(), bmi160_get_intr_low_g_hyst(), bmi160_get_intr_low_g_mode(), bmi160_get_intr_low_g_thres(), bmi160_get_intr_low_high_source(), bmi160_get_intr_motion_source(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_orient_axes_enable(), bmi160_get_intr_orient_blocking(), bmi160_get_intr_orient_hyst(), bmi160_get_intr_orient_mode(), bmi160_get_intr_orient_theta(), bmi160_get_intr_orient_ud_enable(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_significant_motion_proof(), bmi160_get_intr_significant_motion_select(), bmi160_get_intr_significant_motion_skip(), bmi160_get_intr_single_tap(), bmi160_get_intr_slow_no_motion_durn(), bmi160_get_intr_slow_no_motion_select(), bmi160_get_intr_slow_no_motion_thres(), bmi160_get_intr_tap_durn(), bmi160_get_intr_tap_quiet(), bmi160_get_intr_tap_shock(), bmi160_get_intr_tap_source(), bmi160_get_intr_tap_thres(), bmi160_get_latch_intr(), bmi160_get_mag_burst(), bmi160_get_mag_data_rdy_err(), bmi160_get_mag_manual_enable(), bmi160_get_mag_manual_operation_stat(), bmi160_get_mag_offset(), bmi160_get_mag_output_data_rate(), bmi160_get_mag_power_mode_stat(), bmi160_get_mag_read_addr(), bmi160_get_mag_write_addr(), bmi160_get_mag_write_data(), bmi160_get_nvm_counter(), bmi160_get_nvm_prog_enable(), bmi160_get_nvm_rdy(), bmi160_get_output_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_spare0_trim(), bmi160_get_spi3(), bmi160_get_spi_enable(), bmi160_get_stat0_any_motion_intr(), bmi160_get_stat0_double_tap_intr(), bmi160_get_stat0_flat_intr(), bmi160_get_stat0_orient_intr(), bmi160_get_stat0_pmu_trigger_intr(), bmi160_get_stat0_significant_intr(), bmi160_get_stat0_single_tap_intr(), bmi160_get_stat0_step_intr(), bmi160_get_stat1_data_rdy_intr(), bmi160_get_stat1_fifo_full_intr(), bmi160_get_stat1_fifo_wm_intr(), bmi160_get_stat1_high_g_intr(), bmi160_get_stat1_low_g_intr(), bmi160_get_stat1_nomotion_intr(), bmi160_get_stat2_any_motion_first_x(), bmi160_get_stat2_any_motion_first_y(), bmi160_get_stat2_any_motion_first_z(), bmi160_get_stat2_any_motion_sign(), bmi160_get_stat2_tap_first_x(), bmi160_get_stat2_tap_first_y(), bmi160_get_stat2_tap_first_z(), bmi160_get_stat2_tap_sign(), bmi160_get_stat3_flat(), bmi160_get_stat3_high_g_first_x(), bmi160_get_stat3_high_g_first_y(), bmi160_get_stat3_high_g_first_z(), bmi160_get_stat3_high_g_sign(), bmi160_get_stat3_orient_xy(), bmi160_get_stat3_orient_z(), bmi160_get_step_config(), bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), bmi160_get_target_page(), bmi160_init(), bmi160_map_significant_motion_intr(), bmi160_map_step_detector_intr(), bmi160_read_bmm150_mag_trim(), bmi160_read_fifo_headerless_mode_user_defined_length(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), bmi160_set_accel_offset_compensation_zaxis(), bmi160_set_accel_offset_enable(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_command_register(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_down_accel(), bmi160_set_fifo_down_gyro(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_fifo_wm(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_foc_accel_z(), bmi160_set_foc_gyro_enable(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), bmi160_set_gyro_offset_compensation_zaxis(), bmi160_set_gyro_offset_enable(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_device_addr(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_any_motion_durn(), bmi160_set_intr_any_motion_thres(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_high_g_durn(), bmi160_set_intr_high_g_hyst(), bmi160_set_intr_high_g_thres(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_durn(), bmi160_set_intr_low_g_hyst(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_g_thres(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_hyst(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_durn(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_slow_no_motion_thres(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_intr_tap_thres(), bmi160_set_latch_intr(), bmi160_set_mag_burst(), bmi160_set_mag_manual_enable(), bmi160_set_mag_offset(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_set_nvm_counter(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_spare0_trim(), bmi160_set_spi3(), bmi160_set_spi_enable(), bmi160_set_step_config(), bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), and bmi160_set_target_page().

§ BMI160_MAXIMUM_TIMEOUT

#define BMI160_MAXIMUM_TIMEOUT   (10)

§ BMI160_OUTPUT_DATA_RATE0

#define BMI160_OUTPUT_DATA_RATE0   (0)

§ BMI160_OUTPUT_DATA_RATE1

#define BMI160_OUTPUT_DATA_RATE1   (1)

§ BMI160_OUTPUT_DATA_RATE2

#define BMI160_OUTPUT_DATA_RATE2   (2)

§ BMI160_OUTPUT_DATA_RATE3

#define BMI160_OUTPUT_DATA_RATE3   (3)

§ BMI160_OUTPUT_DATA_RATE4

#define BMI160_OUTPUT_DATA_RATE4   (4)

§ BMI160_OUTPUT_DATA_RATE5

#define BMI160_OUTPUT_DATA_RATE5   (5)

§ BMI160_OUTPUT_DATA_RATE6

#define BMI160_OUTPUT_DATA_RATE6   (14)

§ BMI160_OUTPUT_DATA_RATE7

#define BMI160_OUTPUT_DATA_RATE7   (15)

§ V_ANY_MOTION_INTR_STAT

#define V_ANY_MOTION_INTR_STAT   (4)

§ V_ANY_MOTION_AXIS_STAT

#define V_ANY_MOTION_AXIS_STAT   (7)

§ BMI160_ACCEL_RANGE0

#define BMI160_ACCEL_RANGE0   (3)

Referenced by bmi160_set_accel_range().

§ BMI160_ACCEL_RANGE1

#define BMI160_ACCEL_RANGE1   (5)

Referenced by bmi160_set_accel_range().

§ BMI160_ACCEL_RANGE3

#define BMI160_ACCEL_RANGE3   (8)

Referenced by bmi160_set_accel_range().

§ BMI160_ACCEL_RANGE4

#define BMI160_ACCEL_RANGE4   (12)

Referenced by bmi160_set_accel_range().

§ BMI160_FOC_STAT_HIGH

#define BMI160_FOC_STAT_HIGH   (1)

§ BMI160_SIG_MOTION_STAT_HIGH

#define BMI160_SIG_MOTION_STAT_HIGH   (1)

§ BMI160_STEP_DET_STAT_HIGH

#define BMI160_STEP_DET_STAT_HIGH   (1)

§ BMI160_MAX_VALUE_SIGNIFICANT_MOTION

#define BMI160_MAX_VALUE_SIGNIFICANT_MOTION   (1)

§ BMI160_MAX_VALUE_FIFO_FILTER

#define BMI160_MAX_VALUE_FIFO_FILTER   (1)

§ BMI160_MAX_VALUE_FIFO_TIME

#define BMI160_MAX_VALUE_FIFO_TIME   (1)

§ BMI160_MAX_VALUE_FIFO_INTR

#define BMI160_MAX_VALUE_FIFO_INTR   (1)

§ BMI160_MAX_VALUE_FIFO_HEADER

#define BMI160_MAX_VALUE_FIFO_HEADER   (1)

§ BMI160_MAX_VALUE_FIFO_MAG

#define BMI160_MAX_VALUE_FIFO_MAG   (1)

§ BMI160_MAX_VALUE_FIFO_ACCEL

#define BMI160_MAX_VALUE_FIFO_ACCEL   (1)

§ BMI160_MAX_VALUE_FIFO_GYRO

#define BMI160_MAX_VALUE_FIFO_GYRO   (1)

§ BMI160_MAX_VALUE_SOURCE_INTR

#define BMI160_MAX_VALUE_SOURCE_INTR   (1)

§ BMI160_MAX_VALUE_LOW_G_MODE

#define BMI160_MAX_VALUE_LOW_G_MODE   (1)

§ BMI160_MAX_VALUE_NO_MOTION

#define BMI160_MAX_VALUE_NO_MOTION   (1)

§ BMI160_MAX_VALUE_TAP_SHOCK

#define BMI160_MAX_VALUE_TAP_SHOCK   (1)

§ BMI160_MAX_VALUE_TAP_QUIET

#define BMI160_MAX_VALUE_TAP_QUIET   (1)

§ BMI160_MAX_VALUE_ORIENT_UD

#define BMI160_MAX_VALUE_ORIENT_UD   (1)

§ BMI160_MAX_VALUE_ORIENT_AXES

#define BMI160_MAX_VALUE_ORIENT_AXES   (1)

§ BMI160_MAX_VALUE_NVM_PROG

#define BMI160_MAX_VALUE_NVM_PROG   (1)

§ BMI160_MAX_VALUE_SPI3

#define BMI160_MAX_VALUE_SPI3   (1)

Referenced by bmi160_set_spi3().

§ BMI160_MAX_VALUE_PAGE

#define BMI160_MAX_VALUE_PAGE   (1)

§ BMI160_MAX_VALUE_I2C_WDT

#define BMI160_MAX_VALUE_I2C_WDT   (1)

§ BMI160_MAX_VALUE_SLEEP_STATE

#define BMI160_MAX_VALUE_SLEEP_STATE   (1)

§ BMI160_MAX_VALUE_WAKEUP_INTR

#define BMI160_MAX_VALUE_WAKEUP_INTR   (1)

§ BMI160_MAX_VALUE_SELFTEST_SIGN

#define BMI160_MAX_VALUE_SELFTEST_SIGN   (1)

§ BMI160_MAX_VALUE_SELFTEST_AMP

#define BMI160_MAX_VALUE_SELFTEST_AMP   (1)

§ BMI160_MAX_VALUE_SELFTEST_START

#define BMI160_MAX_VALUE_SELFTEST_START   (1)

§ BMI160_MAX_GYRO_WAKEUP_TRIGGER

#define BMI160_MAX_GYRO_WAKEUP_TRIGGER   (3)

§ BMI160_MAX_ACCEL_SELFTEST_AXIS

#define BMI160_MAX_ACCEL_SELFTEST_AXIS   (3)

§ BMI160_MAX_GYRO_STEP_COUNTER

#define BMI160_MAX_GYRO_STEP_COUNTER   (1)

§ BMI160_MAX_GYRO_BW

#define BMI160_MAX_GYRO_BW   (3)

Referenced by bmi160_set_gyro_bw().

§ BMI160_MAX_ACCEL_BW

#define BMI160_MAX_ACCEL_BW   (7)

Referenced by bmi160_set_accel_bw().

§ BMI160_MAX_ORIENT_MODE

#define BMI160_MAX_ORIENT_MODE   (3)

§ BMI160_MAX_ORIENT_BLOCKING

#define BMI160_MAX_ORIENT_BLOCKING   (3)

§ BMI160_MAX_FLAT_HOLD

#define BMI160_MAX_FLAT_HOLD   (3)

§ BMI160_MAX_ACCEL_FOC

#define BMI160_MAX_ACCEL_FOC   (3)

§ BMI160_MAX_IF_MODE

#define BMI160_MAX_IF_MODE   (3)

Referenced by bmi160_set_if_mode().

§ BMI160_MAX_TARGET_PAGE

#define BMI160_MAX_TARGET_PAGE   (3)

Referenced by bmi160_set_target_page().

§ BMI160_MAX_GYRO_RANGE

#define BMI160_MAX_GYRO_RANGE   (4)

Referenced by bmi160_set_gyro_range().

§ BMI160_MAX_GYRO_SLEEP_TIGGER

#define BMI160_MAX_GYRO_SLEEP_TIGGER   (7)

§ BMI160_MAX_TAP_TURN

#define BMI160_MAX_TAP_TURN   (7)

§ BMI160_MAX_UNDER_SAMPLING

#define BMI160_MAX_UNDER_SAMPLING   (1)

§ BMI160_MAX_UNDER_SIG_MOTION

#define BMI160_MAX_UNDER_SIG_MOTION   (3)

§ BMI160_MAX_ACCEL_OUTPUT_DATA_RATE

#define BMI160_MAX_ACCEL_OUTPUT_DATA_RATE   (12)

§ BMI160_MAX_LATCH_INTR

#define BMI160_MAX_LATCH_INTR   (15)

Referenced by bmi160_set_latch_intr().

§ BMI160_MAX_FLAT_HYST

#define BMI160_MAX_FLAT_HYST   (15)

§ BMI160_MAX_ORIENT_THETA

#define BMI160_MAX_ORIENT_THETA   (63)

§ BMI160_MAX_FLAT_THETA

#define BMI160_MAX_FLAT_THETA   (63)

§ BMI160_FIFO_X_LSB_DATA

#define BMI160_FIFO_X_LSB_DATA   (0)

§ BMI160_FIFO_X_MSB_DATA

#define BMI160_FIFO_X_MSB_DATA   (1)

§ BMI160_FIFO_Y_LSB_DATA

#define BMI160_FIFO_Y_LSB_DATA   (2)

§ BMI160_FIFO_Y_MSB_DATA

#define BMI160_FIFO_Y_MSB_DATA   (3)

§ BMI160_FIFO_Z_LSB_DATA

#define BMI160_FIFO_Z_LSB_DATA   (4)

§ BMI160_FIFO_Z_MSB_DATA

#define BMI160_FIFO_Z_MSB_DATA   (5)

§ BMI160_FIFO_R_LSB_DATA

#define BMI160_FIFO_R_LSB_DATA   (6)

§ BMI160_FIFO_R_MSB_DATA

#define BMI160_FIFO_R_MSB_DATA   (7)

§ BMI160_GA_FIFO_G_X_LSB

#define BMI160_GA_FIFO_G_X_LSB   (0)

§ BMI160_GA_FIFO_G_X_MSB

#define BMI160_GA_FIFO_G_X_MSB   (1)

§ BMI160_GA_FIFO_G_Y_LSB

#define BMI160_GA_FIFO_G_Y_LSB   (2)

§ BMI160_GA_FIFO_G_Y_MSB

#define BMI160_GA_FIFO_G_Y_MSB   (3)

§ BMI160_GA_FIFO_G_Z_LSB

#define BMI160_GA_FIFO_G_Z_LSB   (4)

§ BMI160_GA_FIFO_G_Z_MSB

#define BMI160_GA_FIFO_G_Z_MSB   (5)

§ BMI160_GA_FIFO_A_X_LSB

#define BMI160_GA_FIFO_A_X_LSB   (6)

§ BMI160_GA_FIFO_A_X_MSB

#define BMI160_GA_FIFO_A_X_MSB   (7)

§ BMI160_GA_FIFO_A_Y_LSB

#define BMI160_GA_FIFO_A_Y_LSB   (8)

§ BMI160_GA_FIFO_A_Y_MSB

#define BMI160_GA_FIFO_A_Y_MSB   (9)

§ BMI160_GA_FIFO_A_Z_LSB

#define BMI160_GA_FIFO_A_Z_LSB   (10)

§ BMI160_GA_FIFO_A_Z_MSB

#define BMI160_GA_FIFO_A_Z_MSB   (11)

§ BMI160_MGA_FIFO_M_X_LSB

#define BMI160_MGA_FIFO_M_X_LSB   (0)

§ BMI160_MGA_FIFO_M_X_MSB

#define BMI160_MGA_FIFO_M_X_MSB   (1)

§ BMI160_MGA_FIFO_M_Y_LSB

#define BMI160_MGA_FIFO_M_Y_LSB   (2)

§ BMI160_MGA_FIFO_M_Y_MSB

#define BMI160_MGA_FIFO_M_Y_MSB   (3)

§ BMI160_MGA_FIFO_M_Z_LSB

#define BMI160_MGA_FIFO_M_Z_LSB   (4)

§ BMI160_MGA_FIFO_M_Z_MSB

#define BMI160_MGA_FIFO_M_Z_MSB   (5)

§ BMI160_MGA_FIFO_M_R_LSB

#define BMI160_MGA_FIFO_M_R_LSB   (6)

§ BMI160_MGA_FIFO_M_R_MSB

#define BMI160_MGA_FIFO_M_R_MSB   (7)

§ BMI160_MGA_FIFO_G_X_LSB

#define BMI160_MGA_FIFO_G_X_LSB   (8)

§ BMI160_MGA_FIFO_G_X_MSB

#define BMI160_MGA_FIFO_G_X_MSB   (9)

§ BMI160_MGA_FIFO_G_Y_LSB

#define BMI160_MGA_FIFO_G_Y_LSB   (10)

§ BMI160_MGA_FIFO_G_Y_MSB

#define BMI160_MGA_FIFO_G_Y_MSB   (11)

§ BMI160_MGA_FIFO_G_Z_LSB

#define BMI160_MGA_FIFO_G_Z_LSB   (12)

§ BMI160_MGA_FIFO_G_Z_MSB

#define BMI160_MGA_FIFO_G_Z_MSB   (13)

§ BMI160_MGA_FIFO_A_X_LSB

#define BMI160_MGA_FIFO_A_X_LSB   (14)

§ BMI160_MGA_FIFO_A_X_MSB

#define BMI160_MGA_FIFO_A_X_MSB   (15)

§ BMI160_MGA_FIFO_A_Y_LSB

#define BMI160_MGA_FIFO_A_Y_LSB   (16)

§ BMI160_MGA_FIFO_A_Y_MSB

#define BMI160_MGA_FIFO_A_Y_MSB   (17)

§ BMI160_MGA_FIFO_A_Z_LSB

#define BMI160_MGA_FIFO_A_Z_LSB   (18)

§ BMI160_MGA_FIFO_A_Z_MSB

#define BMI160_MGA_FIFO_A_Z_MSB   (19)

§ BMI160_MA_FIFO_M_X_LSB

#define BMI160_MA_FIFO_M_X_LSB   (0)

§ BMI160_MA_FIFO_M_X_MSB

#define BMI160_MA_FIFO_M_X_MSB   (1)

§ BMI160_MA_FIFO_M_Y_LSB

#define BMI160_MA_FIFO_M_Y_LSB   (2)

§ BMI160_MA_FIFO_M_Y_MSB

#define BMI160_MA_FIFO_M_Y_MSB   (3)

§ BMI160_MA_FIFO_M_Z_LSB

#define BMI160_MA_FIFO_M_Z_LSB   (4)

§ BMI160_MA_FIFO_M_Z_MSB

#define BMI160_MA_FIFO_M_Z_MSB   (5)

§ BMI160_MA_FIFO_M_R_LSB

#define BMI160_MA_FIFO_M_R_LSB   (6)

§ BMI160_MA_FIFO_M_R_MSB

#define BMI160_MA_FIFO_M_R_MSB   (7)

§ BMI160_MA_FIFO_A_X_LSB

#define BMI160_MA_FIFO_A_X_LSB   (8)

§ BMI160_MA_FIFO_A_X_MSB

#define BMI160_MA_FIFO_A_X_MSB   (9)

§ BMI160_MA_FIFO_A_Y_LSB

#define BMI160_MA_FIFO_A_Y_LSB   (10)

§ BMI160_MA_FIFO_A_Y_MSB

#define BMI160_MA_FIFO_A_Y_MSB   (11)

§ BMI160_MA_FIFO_A_Z_LSB

#define BMI160_MA_FIFO_A_Z_LSB   (12)

§ BMI160_MA_FIFO_A_Z_MSB

#define BMI160_MA_FIFO_A_Z_MSB   (13)

§ BMI160_MG_FIFO_M_X_LSB

#define BMI160_MG_FIFO_M_X_LSB   (0)

§ BMI160_MG_FIFO_M_X_MSB

#define BMI160_MG_FIFO_M_X_MSB   (1)

§ BMI160_MG_FIFO_M_Y_LSB

#define BMI160_MG_FIFO_M_Y_LSB   (2)

§ BMI160_MG_FIFO_M_Y_MSB

#define BMI160_MG_FIFO_M_Y_MSB   (3)

§ BMI160_MG_FIFO_M_Z_LSB

#define BMI160_MG_FIFO_M_Z_LSB   (4)

§ BMI160_MG_FIFO_M_Z_MSB

#define BMI160_MG_FIFO_M_Z_MSB   (5)

§ BMI160_MG_FIFO_M_R_LSB

#define BMI160_MG_FIFO_M_R_LSB   (6)

§ BMI160_MG_FIFO_M_R_MSB

#define BMI160_MG_FIFO_M_R_MSB   (7)

§ BMI160_MG_FIFO_G_X_LSB

#define BMI160_MG_FIFO_G_X_LSB   (8)

§ BMI160_MG_FIFO_G_X_MSB

#define BMI160_MG_FIFO_G_X_MSB   (9)

§ BMI160_MG_FIFO_G_Y_LSB

#define BMI160_MG_FIFO_G_Y_LSB   (10)

§ BMI160_MG_FIFO_G_Y_MSB

#define BMI160_MG_FIFO_G_Y_MSB   (11)

§ BMI160_MG_FIFO_G_Z_LSB

#define BMI160_MG_FIFO_G_Z_LSB   (12)

§ BMI160_MG_FIFO_G_Z_MSB

#define BMI160_MG_FIFO_G_Z_MSB   (13)

§ BMI160_FIFO_SENSOR_TIME_LSB

#define BMI160_FIFO_SENSOR_TIME_LSB   (0)

§ BMI160_FIFO_SENSOR_TIME_XLSB

#define BMI160_FIFO_SENSOR_TIME_XLSB   (1)

§ BMI160_FIFO_SENSOR_TIME_MSB

#define BMI160_FIFO_SENSOR_TIME_MSB   (2)

§ BMI160_FIFO_SENSOR_TIME_LENGTH

#define BMI160_FIFO_SENSOR_TIME_LENGTH   (3)

§ BMI160_FIFO_A_LENGTH

#define BMI160_FIFO_A_LENGTH   (6)

§ BMI160_FIFO_G_LENGTH

#define BMI160_FIFO_G_LENGTH   (6)

§ BMI160_FIFO_M_LENGTH

#define BMI160_FIFO_M_LENGTH   (8)

§ BMI160_FIFO_AG_LENGTH

#define BMI160_FIFO_AG_LENGTH   (12)

§ BMI160_FIFO_AMG_LENGTH

#define BMI160_FIFO_AMG_LENGTH   (20)

§ BMI160_FIFO_MA_OR_MG_LENGTH

#define BMI160_FIFO_MA_OR_MG_LENGTH   (14)

§ BMI160_FIFO_LENGTH_LSB_BYTE

#define BMI160_FIFO_LENGTH_LSB_BYTE   (0)

Referenced by bmi160_fifo_length().

§ BMI160_FIFO_LENGTH_MSB_BYTE

#define BMI160_FIFO_LENGTH_MSB_BYTE   (1)

Referenced by bmi160_fifo_length().

§ BMI160_MAG_X_DATA_LENGTH

#define BMI160_MAG_X_DATA_LENGTH   (2)

Referenced by bmi160_read_mag_x().

§ BMI160_MAG_Y_DATA_LENGTH

#define BMI160_MAG_Y_DATA_LENGTH   (2)

Referenced by bmi160_read_mag_y().

§ BMI160_MAG_Z_DATA_LENGTH

#define BMI160_MAG_Z_DATA_LENGTH   (2)

Referenced by bmi160_read_mag_z().

§ BMI160_MAG_R_DATA_LENGTH

#define BMI160_MAG_R_DATA_LENGTH   (2)

Referenced by bmi160_read_mag_r().

§ BMI160_MAG_XYZ_DATA_LENGTH

#define BMI160_MAG_XYZ_DATA_LENGTH   (6)

Referenced by bmi160_read_mag_xyz().

§ BMI160_MAG_XYZR_DATA_LENGTH

#define BMI160_MAG_XYZR_DATA_LENGTH   (8)

Referenced by bmi160_read_mag_xyzr().

§ BMI160_MAG_YAS_DATA_LENGTH

#define BMI160_MAG_YAS_DATA_LENGTH   (8)

§ BMI160_GYRO_DATA_LENGTH

#define BMI160_GYRO_DATA_LENGTH   (2)

§ BMI160_GYRO_XYZ_DATA_LENGTH

#define BMI160_GYRO_XYZ_DATA_LENGTH   (6)

Referenced by bmi160_read_gyro_xyz().

§ BMI160_ACCEL_DATA_LENGTH

#define BMI160_ACCEL_DATA_LENGTH   (2)

§ BMI160_ACCEL_XYZ_DATA_LENGTH

#define BMI160_ACCEL_XYZ_DATA_LENGTH   (6)

Referenced by bmi160_read_accel_xyz().

§ BMI160_TEMP_DATA_LENGTH

#define BMI160_TEMP_DATA_LENGTH   (2)

Referenced by bmi160_get_temp().

§ BMI160_FIFO_DATA_LENGTH

#define BMI160_FIFO_DATA_LENGTH   (2)

Referenced by bmi160_fifo_length().

§ BMI160_STEP_COUNTER_LENGTH

#define BMI160_STEP_COUNTER_LENGTH   (2)

Referenced by bmi160_read_step_count().

§ BMI160_SENSOR_TIME_LENGTH

#define BMI160_SENSOR_TIME_LENGTH   (3)

Referenced by bmi160_get_sensor_time().

§ BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY

#define BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY   (5)

§ BMI160_BMM150_WAKEUP_DELAY1

#define BMI160_BMM150_WAKEUP_DELAY1   (2)

§ BMI160_BMM150_WAKEUP_DELAY2

#define BMI160_BMM150_WAKEUP_DELAY2   (3)

§ BMI160_BMM150_WAKEUP_DELAY3

#define BMI160_BMM150_WAKEUP_DELAY3   (1)

§ BMI160_YAS532_OFFSET_DELAY

#define BMI160_YAS532_OFFSET_DELAY   (2)

§ BMI160_GEN_READ_WRITE_DELAY

#define BMI160_GEN_READ_WRITE_DELAY   (1)

§ BMI160_YAS532_MEASUREMENT_DELAY

#define BMI160_YAS532_MEASUREMENT_DELAY   (25)

§ BMI160_YAS_ACQ_COMMAND_DELAY

#define BMI160_YAS_ACQ_COMMAND_DELAY   (50)

§ BMI160_YAS532_SET_INITIAL_VALUE_DELAY

#define BMI160_YAS532_SET_INITIAL_VALUE_DELAY   (200)

§ BMI160_AKM_INIT_DELAY

#define BMI160_AKM_INIT_DELAY   (60)

§ BMI160_ACCEL_X_DATA_SIZE

#define BMI160_ACCEL_X_DATA_SIZE   (2)

Referenced by bmi160_read_accel_x().

§ BMI160_ACCEL_Y_DATA_SIZE

#define BMI160_ACCEL_Y_DATA_SIZE   (2)

Referenced by bmi160_read_accel_y().

§ BMI160_ACCEL_Z_DATA_SIZE

#define BMI160_ACCEL_Z_DATA_SIZE   (2)

Referenced by bmi160_read_accel_z().

§ BMI160_ACCEL_XYZ_DATA_SIZE

#define BMI160_ACCEL_XYZ_DATA_SIZE   (6)

Referenced by bmi160_read_accel_xyz().

§ BMI160_GYRO_X_DATA_SIZE

#define BMI160_GYRO_X_DATA_SIZE   (2)

Referenced by bmi160_read_gyro_x().

§ BMI160_GYRO_Y_DATA_SIZE

#define BMI160_GYRO_Y_DATA_SIZE   (2)

Referenced by bmi160_read_gyro_y().

§ BMI160_GYRO_Z_DATA_SIZE

#define BMI160_GYRO_Z_DATA_SIZE   (2)

Referenced by bmi160_read_gyro_z().

§ BMI160_GYRO_XYZ_DATA_SIZE

#define BMI160_GYRO_XYZ_DATA_SIZE   (6)

Referenced by bmi160_read_gyro_xyz().

§ BMI160_MAG_X_DATA_SIZE

#define BMI160_MAG_X_DATA_SIZE   (2)

Referenced by bmi160_read_mag_x().

§ BMI160_MAG_Y_DATA_SIZE

#define BMI160_MAG_Y_DATA_SIZE   (2)

Referenced by bmi160_read_mag_y().

§ BMI160_MAG_Z_DATA_SIZE

#define BMI160_MAG_Z_DATA_SIZE   (2)

Referenced by bmi160_read_mag_z().

§ BMI160_MAG_R_DATA_SIZE

#define BMI160_MAG_R_DATA_SIZE   (2)

Referenced by bmi160_read_mag_r().

§ BMI160_MAG_XYZ_DATA_SIZE

#define BMI160_MAG_XYZ_DATA_SIZE   (6)

Referenced by bmi160_read_mag_xyz().

§ BMI160_MAG_XYZR_DATA_SIZE

#define BMI160_MAG_XYZR_DATA_SIZE   (8)

Referenced by bmi160_read_mag_xyzr().

§ BMI160_MAG_TRIM_DATA_SIZE

#define BMI160_MAG_TRIM_DATA_SIZE   (16)

§ BMI160_TEMP_DATA_SIZE

#define BMI160_TEMP_DATA_SIZE   (2)

Referenced by bmi160_get_temp().

§ BMI160_FIFO_DATA_SIZE

#define BMI160_FIFO_DATA_SIZE   (2)

Referenced by bmi160_fifo_length().

§ BMI160_STEP_COUNT_DATA_SIZE

#define BMI160_STEP_COUNT_DATA_SIZE   (2)

Referenced by bmi160_read_step_count().

§ BMI160_SENSOR_TIME_DATA_SIZE

#define BMI160_SENSOR_TIME_DATA_SIZE   (3)

Referenced by bmi160_get_sensor_time().

§ BMI160_AKM_SENSITIVITY_DATA_SIZE

#define BMI160_AKM_SENSITIVITY_DATA_SIZE   (3)

§ BMI160_HARD_OFFSET_DATA_SIZE

#define BMI160_HARD_OFFSET_DATA_SIZE   (3)

§ BMI160_YAS_XY1Y2_DATA_SIZE

#define BMI160_YAS_XY1Y2_DATA_SIZE   (3)

§ BMI160_YAS_FLAG_DATA_SIZE

#define BMI160_YAS_FLAG_DATA_SIZE   (3)

§ BMI160_YAS_TEMP_DATA_SIZE

#define BMI160_YAS_TEMP_DATA_SIZE   (3)

§ BMI160_YAS_H_DATA_SIZE

#define BMI160_YAS_H_DATA_SIZE   (3)

§ BMI160_YAS_S_DATA_SIZE

#define BMI160_YAS_S_DATA_SIZE   (3)

§ BMI160_YAS_CORRECT_DATA_SIZE

#define BMI160_YAS_CORRECT_DATA_SIZE   (5)

§ BMI160_YAS_XY1Y2T_DATA_SIZE

#define BMI160_YAS_XY1Y2T_DATA_SIZE   (8)

§ BMI160_YAS537_CALIB_DATA_SIZE

#define BMI160_YAS537_CALIB_DATA_SIZE   (17)

§ BMI160_YAS532_CALIB_DATA_SIZE

#define BMI160_YAS532_CALIB_DATA_SIZE   (14)

§ BMI160_GYRO_ACCEL_SENSORTIME_DATA_SIZE

#define BMI160_GYRO_ACCEL_SENSORTIME_DATA_SIZE   (15)

§ BMI160_ACCEL_SENSORTIME_DATA_SIZE

#define BMI160_ACCEL_SENSORTIME_DATA_SIZE   (9)

§ BMI160_GYRO_ACCEL_SENSORTIME_DATA

#define BMI160_GYRO_ACCEL_SENSORTIME_DATA   (1)

§ BMI160_ACCEL_SENSORTIME_DATA

#define BMI160_ACCEL_SENSORTIME_DATA   (0)

§ BMI160_SENSOR_TIME_MSB_BYTE

#define BMI160_SENSOR_TIME_MSB_BYTE   (2)

Referenced by bmi160_get_sensor_time().

§ BMI160_SENSOR_TIME_XLSB_BYTE

#define BMI160_SENSOR_TIME_XLSB_BYTE   (1)

Referenced by bmi160_get_sensor_time().

§ BMI160_SENSOR_TIME_LSB_BYTE

#define BMI160_SENSOR_TIME_LSB_BYTE   (0)

Referenced by bmi160_get_sensor_time().

§ BMI160_MAG_X_LSB_BYTE

#define BMI160_MAG_X_LSB_BYTE   (0)

Referenced by bmi160_read_mag_x().

§ BMI160_MAG_X_MSB_BYTE

#define BMI160_MAG_X_MSB_BYTE   (1)

Referenced by bmi160_read_mag_x().

§ BMI160_MAG_Y_LSB_BYTE

#define BMI160_MAG_Y_LSB_BYTE   (0)

Referenced by bmi160_read_mag_y().

§ BMI160_MAG_Y_MSB_BYTE

#define BMI160_MAG_Y_MSB_BYTE   (1)

Referenced by bmi160_read_mag_y().

§ BMI160_MAG_Z_LSB_BYTE

#define BMI160_MAG_Z_LSB_BYTE   (0)

Referenced by bmi160_read_mag_z().

§ BMI160_MAG_Z_MSB_BYTE

#define BMI160_MAG_Z_MSB_BYTE   (1)

Referenced by bmi160_read_mag_z().

§ BMI160_MAG_R_LSB_BYTE

#define BMI160_MAG_R_LSB_BYTE   (0)

Referenced by bmi160_read_mag_r().

§ BMI160_MAG_R_MSB_BYTE

#define BMI160_MAG_R_MSB_BYTE   (1)

Referenced by bmi160_read_mag_r().

§ BMI160_DATA_FRAME_MAG_X_LSB_BYTE

#define BMI160_DATA_FRAME_MAG_X_LSB_BYTE   (0)

§ BMI160_DATA_FRAME_MAG_X_MSB_BYTE

#define BMI160_DATA_FRAME_MAG_X_MSB_BYTE   (1)

§ BMI160_DATA_FRAME_MAG_Y_LSB_BYTE

#define BMI160_DATA_FRAME_MAG_Y_LSB_BYTE   (2)

§ BMI160_DATA_FRAME_MAG_Y_MSB_BYTE

#define BMI160_DATA_FRAME_MAG_Y_MSB_BYTE   (3)

§ BMI160_DATA_FRAME_MAG_Z_LSB_BYTE

#define BMI160_DATA_FRAME_MAG_Z_LSB_BYTE   (4)

§ BMI160_DATA_FRAME_MAG_Z_MSB_BYTE

#define BMI160_DATA_FRAME_MAG_Z_MSB_BYTE   (5)

§ BMI160_DATA_FRAME_MAG_R_LSB_BYTE

#define BMI160_DATA_FRAME_MAG_R_LSB_BYTE   (6)

Referenced by bmi160_read_mag_xyzr().

§ BMI160_DATA_FRAME_MAG_R_MSB_BYTE

#define BMI160_DATA_FRAME_MAG_R_MSB_BYTE   (7)

Referenced by bmi160_read_mag_xyzr().

§ BMI160_GYRO_X_LSB_BYTE

#define BMI160_GYRO_X_LSB_BYTE   (0)

Referenced by bmi160_read_gyro_x().

§ BMI160_GYRO_X_MSB_BYTE

#define BMI160_GYRO_X_MSB_BYTE   (1)

Referenced by bmi160_read_gyro_x().

§ BMI160_GYRO_Y_LSB_BYTE

#define BMI160_GYRO_Y_LSB_BYTE   (0)

Referenced by bmi160_read_gyro_y().

§ BMI160_GYRO_Y_MSB_BYTE

#define BMI160_GYRO_Y_MSB_BYTE   (1)

Referenced by bmi160_read_gyro_y().

§ BMI160_GYRO_Z_LSB_BYTE

#define BMI160_GYRO_Z_LSB_BYTE   (0)

Referenced by bmi160_read_gyro_z().

§ BMI160_GYRO_Z_MSB_BYTE

#define BMI160_GYRO_Z_MSB_BYTE   (1)

Referenced by bmi160_read_gyro_z().

§ BMI160_DATA_FRAME_GYRO_X_LSB_BYTE

#define BMI160_DATA_FRAME_GYRO_X_LSB_BYTE   (0)

§ BMI160_DATA_FRAME_GYRO_X_MSB_BYTE

#define BMI160_DATA_FRAME_GYRO_X_MSB_BYTE   (1)

§ BMI160_DATA_FRAME_GYRO_Y_LSB_BYTE

#define BMI160_DATA_FRAME_GYRO_Y_LSB_BYTE   (2)

§ BMI160_DATA_FRAME_GYRO_Y_MSB_BYTE

#define BMI160_DATA_FRAME_GYRO_Y_MSB_BYTE   (3)

§ BMI160_DATA_FRAME_GYRO_Z_LSB_BYTE

#define BMI160_DATA_FRAME_GYRO_Z_LSB_BYTE   (4)

§ BMI160_DATA_FRAME_GYRO_Z_MSB_BYTE

#define BMI160_DATA_FRAME_GYRO_Z_MSB_BYTE   (5)

§ BMI160_ACCEL_X_LSB_BYTE

#define BMI160_ACCEL_X_LSB_BYTE   (0)

Referenced by bmi160_read_accel_x().

§ BMI160_ACCEL_X_MSB_BYTE

#define BMI160_ACCEL_X_MSB_BYTE   (1)

Referenced by bmi160_read_accel_x().

§ BMI160_ACCEL_Y_LSB_BYTE

#define BMI160_ACCEL_Y_LSB_BYTE   (0)

Referenced by bmi160_read_accel_y().

§ BMI160_ACCEL_Y_MSB_BYTE

#define BMI160_ACCEL_Y_MSB_BYTE   (1)

Referenced by bmi160_read_accel_y().

§ BMI160_ACCEL_Z_LSB_BYTE

#define BMI160_ACCEL_Z_LSB_BYTE   (0)

Referenced by bmi160_read_accel_z().

§ BMI160_ACCEL_Z_MSB_BYTE

#define BMI160_ACCEL_Z_MSB_BYTE   (1)

Referenced by bmi160_read_accel_z().

§ BMI160_DATA_FRAME_ACCEL_X_LSB_BYTE

#define BMI160_DATA_FRAME_ACCEL_X_LSB_BYTE   (0)

§ BMI160_DATA_FRAME_ACCEL_X_MSB_BYTE

#define BMI160_DATA_FRAME_ACCEL_X_MSB_BYTE   (1)

§ BMI160_DATA_FRAME_ACCEL_Y_LSB_BYTE

#define BMI160_DATA_FRAME_ACCEL_Y_LSB_BYTE   (2)

§ BMI160_DATA_FRAME_ACCEL_Y_MSB_BYTE

#define BMI160_DATA_FRAME_ACCEL_Y_MSB_BYTE   (3)

§ BMI160_DATA_FRAME_ACCEL_Z_LSB_BYTE

#define BMI160_DATA_FRAME_ACCEL_Z_LSB_BYTE   (4)

§ BMI160_DATA_FRAME_ACCEL_Z_MSB_BYTE

#define BMI160_DATA_FRAME_ACCEL_Z_MSB_BYTE   (5)

§ BMI160_TEMP_LSB_BYTE

#define BMI160_TEMP_LSB_BYTE   (0)

Referenced by bmi160_get_temp().

§ BMI160_TEMP_MSB_BYTE

#define BMI160_TEMP_MSB_BYTE   (1)

Referenced by bmi160_get_temp().

§ BMI160_STEP_COUNT_LSB_BYTE

#define BMI160_STEP_COUNT_LSB_BYTE   (0)

Referenced by bmi160_read_step_count().

§ BMI160_STEP_COUNT_MSB_BYTE

#define BMI160_STEP_COUNT_MSB_BYTE   (1)

Referenced by bmi160_read_step_count().

§ E_BMI160_NULL_PTR

#define E_BMI160_NULL_PTR   ((s8)-127)

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_fifo_data(), bmi160_fifo_length(), bmi160_get_accel_bw(), bmi160_get_accel_data_rdy(), bmi160_get_accel_fifo_filter_data(), bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_accel_offset_enable(), bmi160_get_accel_output_data_rate(), bmi160_get_accel_power_mode_stat(), bmi160_get_accel_range(), bmi160_get_accel_selftest_amp(), bmi160_get_accel_selftest_axis(), bmi160_get_accel_selftest_sign(), bmi160_get_accel_under_sampling_parameter(), bmi160_get_data_rdy_mag(), bmi160_get_drop_cmd_err(), bmi160_get_err_code(), bmi160_get_error_status(), bmi160_get_fatal_err(), bmi160_get_fifo_accel_enable(), bmi160_get_fifo_down_accel(), bmi160_get_fifo_down_gyro(), bmi160_get_fifo_gyro_enable(), bmi160_get_fifo_header_enable(), bmi160_get_fifo_mag_enable(), bmi160_get_fifo_tag_intr1_enable(), bmi160_get_fifo_tag_intr2_enable(), bmi160_get_fifo_time_enable(), bmi160_get_fifo_wm(), bmi160_get_foc_accel_x(), bmi160_get_foc_accel_y(), bmi160_get_foc_accel_z(), bmi160_get_foc_gyro_enable(), bmi160_get_foc_rdy(), bmi160_get_gyro_bw(), bmi160_get_gyro_data_rdy(), bmi160_get_gyro_fifo_filter_data(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), bmi160_get_gyro_offset_enable(), bmi160_get_gyro_output_data_rate(), bmi160_get_gyro_power_mode_stat(), bmi160_get_gyro_range(), bmi160_get_gyro_selftest(), bmi160_get_gyro_selftest_start(), bmi160_get_gyro_sleep_state(), bmi160_get_gyro_sleep_trigger(), bmi160_get_gyro_wakeup_intr(), bmi160_get_gyro_wakeup_trigger(), bmi160_get_i2c_device_addr(), bmi160_get_i2c_fail_err(), bmi160_get_i2c_wdt_enable(), bmi160_get_i2c_wdt_select(), bmi160_get_if_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_any_motion_durn(), bmi160_get_intr_any_motion_thres(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_flat_hold(), bmi160_get_intr_flat_hyst(), bmi160_get_intr_flat_theta(), bmi160_get_intr_high_g(), bmi160_get_intr_high_g_durn(), bmi160_get_intr_high_g_hyst(), bmi160_get_intr_high_g_thres(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_low_g_durn(), bmi160_get_intr_low_g_hyst(), bmi160_get_intr_low_g_mode(), bmi160_get_intr_low_g_thres(), bmi160_get_intr_low_high_source(), bmi160_get_intr_motion_source(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_orient_axes_enable(), bmi160_get_intr_orient_blocking(), bmi160_get_intr_orient_hyst(), bmi160_get_intr_orient_mode(), bmi160_get_intr_orient_theta(), bmi160_get_intr_orient_ud_enable(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_significant_motion_proof(), bmi160_get_intr_significant_motion_select(), bmi160_get_intr_significant_motion_skip(), bmi160_get_intr_single_tap(), bmi160_get_intr_slow_no_motion_durn(), bmi160_get_intr_slow_no_motion_select(), bmi160_get_intr_slow_no_motion_thres(), bmi160_get_intr_tap_durn(), bmi160_get_intr_tap_quiet(), bmi160_get_intr_tap_shock(), bmi160_get_intr_tap_source(), bmi160_get_intr_tap_thres(), bmi160_get_latch_intr(), bmi160_get_mag_burst(), bmi160_get_mag_data_rdy_err(), bmi160_get_mag_manual_enable(), bmi160_get_mag_manual_operation_stat(), bmi160_get_mag_offset(), bmi160_get_mag_output_data_rate(), bmi160_get_mag_power_mode_stat(), bmi160_get_mag_read_addr(), bmi160_get_mag_write_addr(), bmi160_get_mag_write_data(), bmi160_get_nvm_counter(), bmi160_get_nvm_prog_enable(), bmi160_get_nvm_rdy(), bmi160_get_output_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_sensor_time(), bmi160_get_spare0_trim(), bmi160_get_spi3(), bmi160_get_spi_enable(), bmi160_get_stat0_any_motion_intr(), bmi160_get_stat0_double_tap_intr(), bmi160_get_stat0_flat_intr(), bmi160_get_stat0_orient_intr(), bmi160_get_stat0_pmu_trigger_intr(), bmi160_get_stat0_significant_intr(), bmi160_get_stat0_single_tap_intr(), bmi160_get_stat0_step_intr(), bmi160_get_stat1_data_rdy_intr(), bmi160_get_stat1_fifo_full_intr(), bmi160_get_stat1_fifo_wm_intr(), bmi160_get_stat1_high_g_intr(), bmi160_get_stat1_low_g_intr(), bmi160_get_stat1_nomotion_intr(), bmi160_get_stat2_any_motion_first_x(), bmi160_get_stat2_any_motion_first_y(), bmi160_get_stat2_any_motion_first_z(), bmi160_get_stat2_any_motion_sign(), bmi160_get_stat2_tap_first_x(), bmi160_get_stat2_tap_first_y(), bmi160_get_stat2_tap_first_z(), bmi160_get_stat2_tap_sign(), bmi160_get_stat3_flat(), bmi160_get_stat3_high_g_first_x(), bmi160_get_stat3_high_g_first_y(), bmi160_get_stat3_high_g_first_z(), bmi160_get_stat3_high_g_sign(), bmi160_get_stat3_orient_xy(), bmi160_get_stat3_orient_z(), bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), bmi160_get_target_page(), bmi160_get_temp(), bmi160_read_accel_x(), bmi160_read_accel_xyz(), bmi160_read_accel_y(), bmi160_read_accel_z(), bmi160_read_gyro_x(), bmi160_read_gyro_xyz(), bmi160_read_gyro_y(), bmi160_read_gyro_z(), bmi160_read_mag_r(), bmi160_read_mag_x(), bmi160_read_mag_xyz(), bmi160_read_mag_xyzr(), bmi160_read_mag_y(), bmi160_read_mag_z(), bmi160_read_reg(), bmi160_read_step_count(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), bmi160_set_accel_offset_compensation_zaxis(), bmi160_set_accel_offset_enable(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_command_register(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_down_accel(), bmi160_set_fifo_down_gyro(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_fifo_wm(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_foc_accel_z(), bmi160_set_foc_gyro_enable(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), bmi160_set_gyro_offset_compensation_zaxis(), bmi160_set_gyro_offset_enable(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_device_addr(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_any_motion_durn(), bmi160_set_intr_any_motion_thres(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_high_g_durn(), bmi160_set_intr_high_g_hyst(), bmi160_set_intr_high_g_thres(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_durn(), bmi160_set_intr_low_g_hyst(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_g_thres(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_hyst(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_durn(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_slow_no_motion_thres(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_intr_tap_thres(), bmi160_set_latch_intr(), bmi160_set_mag_burst(), bmi160_set_mag_manual_enable(), bmi160_set_mag_offset(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_set_nvm_counter(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_spare0_trim(), bmi160_set_spi3(), bmi160_set_spi_enable(), bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), bmi160_set_target_page(), and bmi160_write_reg().

§ E_BMI160_COMM_RES

#define E_BMI160_COMM_RES   ((s8)-1)

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_bmm150_mag_compensate_xyz(), bmi160_bmm150_mag_set_power_mode(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_bst_yamaha_yas537_read_xy1y2_data(), bmi160_bst_yas537_acquisition_command_register(), bmi160_clear_step_counter(), bmi160_fifo_data(), bmi160_fifo_length(), bmi160_get_accel_bw(), bmi160_get_accel_data_rdy(), bmi160_get_accel_fifo_filter_data(), bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_accel_offset_enable(), bmi160_get_accel_output_data_rate(), bmi160_get_accel_power_mode_stat(), bmi160_get_accel_range(), bmi160_get_accel_selftest_amp(), bmi160_get_accel_selftest_axis(), bmi160_get_accel_selftest_sign(), bmi160_get_accel_under_sampling_parameter(), bmi160_get_data_rdy_mag(), bmi160_get_drop_cmd_err(), bmi160_get_err_code(), bmi160_get_error_status(), bmi160_get_fatal_err(), bmi160_get_fifo_accel_enable(), bmi160_get_fifo_down_accel(), bmi160_get_fifo_down_gyro(), bmi160_get_fifo_gyro_enable(), bmi160_get_fifo_header_enable(), bmi160_get_fifo_mag_enable(), bmi160_get_fifo_tag_intr1_enable(), bmi160_get_fifo_tag_intr2_enable(), bmi160_get_fifo_time_enable(), bmi160_get_fifo_wm(), bmi160_get_foc_accel_x(), bmi160_get_foc_accel_y(), bmi160_get_foc_accel_z(), bmi160_get_foc_gyro_enable(), bmi160_get_foc_rdy(), bmi160_get_gyro_bw(), bmi160_get_gyro_data_rdy(), bmi160_get_gyro_fifo_filter_data(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), bmi160_get_gyro_offset_enable(), bmi160_get_gyro_output_data_rate(), bmi160_get_gyro_power_mode_stat(), bmi160_get_gyro_range(), bmi160_get_gyro_selftest(), bmi160_get_gyro_selftest_start(), bmi160_get_gyro_sleep_state(), bmi160_get_gyro_sleep_trigger(), bmi160_get_gyro_wakeup_intr(), bmi160_get_gyro_wakeup_trigger(), bmi160_get_i2c_device_addr(), bmi160_get_i2c_fail_err(), bmi160_get_i2c_wdt_enable(), bmi160_get_i2c_wdt_select(), bmi160_get_if_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_any_motion_durn(), bmi160_get_intr_any_motion_thres(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_flat_hold(), bmi160_get_intr_flat_hyst(), bmi160_get_intr_flat_theta(), bmi160_get_intr_high_g(), bmi160_get_intr_high_g_durn(), bmi160_get_intr_high_g_hyst(), bmi160_get_intr_high_g_thres(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_low_g_durn(), bmi160_get_intr_low_g_hyst(), bmi160_get_intr_low_g_mode(), bmi160_get_intr_low_g_thres(), bmi160_get_intr_low_high_source(), bmi160_get_intr_motion_source(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_orient_axes_enable(), bmi160_get_intr_orient_blocking(), bmi160_get_intr_orient_hyst(), bmi160_get_intr_orient_mode(), bmi160_get_intr_orient_theta(), bmi160_get_intr_orient_ud_enable(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_significant_motion_proof(), bmi160_get_intr_significant_motion_select(), bmi160_get_intr_significant_motion_skip(), bmi160_get_intr_single_tap(), bmi160_get_intr_slow_no_motion_durn(), bmi160_get_intr_slow_no_motion_select(), bmi160_get_intr_slow_no_motion_thres(), bmi160_get_intr_tap_durn(), bmi160_get_intr_tap_quiet(), bmi160_get_intr_tap_shock(), bmi160_get_intr_tap_source(), bmi160_get_intr_tap_thres(), bmi160_get_latch_intr(), bmi160_get_mag_burst(), bmi160_get_mag_data_rdy_err(), bmi160_get_mag_manual_enable(), bmi160_get_mag_manual_operation_stat(), bmi160_get_mag_offset(), bmi160_get_mag_output_data_rate(), bmi160_get_mag_power_mode_stat(), bmi160_get_mag_read_addr(), bmi160_get_mag_write_addr(), bmi160_get_mag_write_data(), bmi160_get_nvm_counter(), bmi160_get_nvm_prog_enable(), bmi160_get_nvm_rdy(), bmi160_get_output_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_sensor_time(), bmi160_get_spare0_trim(), bmi160_get_spi3(), bmi160_get_spi_enable(), bmi160_get_stat0_any_motion_intr(), bmi160_get_stat0_double_tap_intr(), bmi160_get_stat0_flat_intr(), bmi160_get_stat0_orient_intr(), bmi160_get_stat0_pmu_trigger_intr(), bmi160_get_stat0_significant_intr(), bmi160_get_stat0_single_tap_intr(), bmi160_get_stat0_step_intr(), bmi160_get_stat1_data_rdy_intr(), bmi160_get_stat1_fifo_full_intr(), bmi160_get_stat1_fifo_wm_intr(), bmi160_get_stat1_high_g_intr(), bmi160_get_stat1_low_g_intr(), bmi160_get_stat1_nomotion_intr(), bmi160_get_stat2_any_motion_first_x(), bmi160_get_stat2_any_motion_first_y(), bmi160_get_stat2_any_motion_first_z(), bmi160_get_stat2_any_motion_sign(), bmi160_get_stat2_tap_first_x(), bmi160_get_stat2_tap_first_y(), bmi160_get_stat2_tap_first_z(), bmi160_get_stat2_tap_sign(), bmi160_get_stat3_flat(), bmi160_get_stat3_high_g_first_x(), bmi160_get_stat3_high_g_first_y(), bmi160_get_stat3_high_g_first_z(), bmi160_get_stat3_high_g_sign(), bmi160_get_stat3_orient_xy(), bmi160_get_stat3_orient_z(), bmi160_get_step_config(), bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), bmi160_get_target_page(), bmi160_get_temp(), bmi160_init(), bmi160_map_significant_motion_intr(), bmi160_map_step_detector_intr(), bmi160_read_accel_gyro_sensor_time(), bmi160_read_accel_x(), bmi160_read_accel_xyz(), bmi160_read_accel_y(), bmi160_read_accel_z(), bmi160_read_bmm150_mag_trim(), bmi160_read_fifo_header_data(), bmi160_read_fifo_header_data_user_defined_length(), bmi160_read_fifo_headerless_mode(), bmi160_read_fifo_headerless_mode_user_defined_length(), bmi160_read_gyro_x(), bmi160_read_gyro_xyz(), bmi160_read_gyro_y(), bmi160_read_gyro_z(), bmi160_read_mag_r(), bmi160_read_mag_x(), bmi160_read_mag_xyz(), bmi160_read_mag_xyzr(), bmi160_read_mag_z(), bmi160_read_reg(), bmi160_read_step_count(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), bmi160_set_accel_offset_compensation_zaxis(), bmi160_set_accel_offset_enable(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_bmm150_mag_presetmode(), bmi160_set_command_register(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_down_accel(), bmi160_set_fifo_down_gyro(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_fifo_wm(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_foc_accel_z(), bmi160_set_foc_gyro_enable(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), bmi160_set_gyro_offset_compensation_zaxis(), bmi160_set_gyro_offset_enable(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_device_addr(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_any_motion_durn(), bmi160_set_intr_any_motion_thres(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_high_g_durn(), bmi160_set_intr_high_g_hyst(), bmi160_set_intr_high_g_thres(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_durn(), bmi160_set_intr_low_g_hyst(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_g_thres(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_hyst(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_durn(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_slow_no_motion_thres(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_intr_tap_thres(), bmi160_set_latch_intr(), bmi160_set_mag_burst(), bmi160_set_mag_interface_normal(), bmi160_set_mag_manual_enable(), bmi160_set_mag_offset(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_set_nvm_counter(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_spare0_trim(), bmi160_set_spi3(), bmi160_set_spi_enable(), bmi160_set_step_config(), bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), bmi160_set_step_mode(), bmi160_set_target_page(), bmi160_unmap_significant_motion_intr(), and bmi160_write_reg().

§ E_BMI160_OUT_OF_RANGE

#define E_BMI160_OUT_OF_RANGE   ((s8)-2)

Referenced by bmi160_bmm150_mag_set_power_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_high_g(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_single_tap(), bmi160_get_output_enable(), bmi160_map_significant_motion_intr(), bmi160_map_step_detector_intr(), bmi160_read_bmm150_mag_trim(), bmi160_read_mag_x(), bmi160_read_mag_xyz(), bmi160_read_mag_y(), bmi160_read_mag_z(), bmi160_second_if_mag_compensate_xyz(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_bmm150_mag_and_secondary_if_power_mode(), bmi160_set_bmm150_mag_presetmode(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_latch_intr(), bmi160_set_mag_output_data_rate(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_spi3(), bmi160_set_step_counter_enable(), bmi160_set_step_mode(), bmi160_set_target_page(), and bmi160_unmap_significant_motion_intr().

§ E_BMI160_BUSY

#define E_BMI160_BUSY   ((s8)-3)

§ SUCCESS

#define SUCCESS   ((u8)0)

§ ERROR

#define ERROR   ((s8)-1)

§ BMI160_NULL

#define BMI160_NULL   (0)

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_fifo_data(), bmi160_fifo_length(), bmi160_get_accel_bw(), bmi160_get_accel_data_rdy(), bmi160_get_accel_fifo_filter_data(), bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_accel_offset_enable(), bmi160_get_accel_output_data_rate(), bmi160_get_accel_power_mode_stat(), bmi160_get_accel_range(), bmi160_get_accel_selftest_amp(), bmi160_get_accel_selftest_axis(), bmi160_get_accel_selftest_sign(), bmi160_get_accel_under_sampling_parameter(), bmi160_get_data_rdy_mag(), bmi160_get_drop_cmd_err(), bmi160_get_err_code(), bmi160_get_error_status(), bmi160_get_fatal_err(), bmi160_get_fifo_accel_enable(), bmi160_get_fifo_down_accel(), bmi160_get_fifo_down_gyro(), bmi160_get_fifo_gyro_enable(), bmi160_get_fifo_header_enable(), bmi160_get_fifo_mag_enable(), bmi160_get_fifo_tag_intr1_enable(), bmi160_get_fifo_tag_intr2_enable(), bmi160_get_fifo_time_enable(), bmi160_get_fifo_wm(), bmi160_get_foc_accel_x(), bmi160_get_foc_accel_y(), bmi160_get_foc_accel_z(), bmi160_get_foc_gyro_enable(), bmi160_get_foc_rdy(), bmi160_get_gyro_bw(), bmi160_get_gyro_data_rdy(), bmi160_get_gyro_fifo_filter_data(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), bmi160_get_gyro_offset_enable(), bmi160_get_gyro_output_data_rate(), bmi160_get_gyro_power_mode_stat(), bmi160_get_gyro_range(), bmi160_get_gyro_selftest(), bmi160_get_gyro_selftest_start(), bmi160_get_gyro_sleep_state(), bmi160_get_gyro_sleep_trigger(), bmi160_get_gyro_wakeup_intr(), bmi160_get_gyro_wakeup_trigger(), bmi160_get_i2c_device_addr(), bmi160_get_i2c_fail_err(), bmi160_get_i2c_wdt_enable(), bmi160_get_i2c_wdt_select(), bmi160_get_if_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_any_motion_durn(), bmi160_get_intr_any_motion_thres(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_flat_hold(), bmi160_get_intr_flat_hyst(), bmi160_get_intr_flat_theta(), bmi160_get_intr_high_g(), bmi160_get_intr_high_g_durn(), bmi160_get_intr_high_g_hyst(), bmi160_get_intr_high_g_thres(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_low_g_durn(), bmi160_get_intr_low_g_hyst(), bmi160_get_intr_low_g_mode(), bmi160_get_intr_low_g_thres(), bmi160_get_intr_low_high_source(), bmi160_get_intr_motion_source(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_orient_axes_enable(), bmi160_get_intr_orient_blocking(), bmi160_get_intr_orient_hyst(), bmi160_get_intr_orient_mode(), bmi160_get_intr_orient_theta(), bmi160_get_intr_orient_ud_enable(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_significant_motion_proof(), bmi160_get_intr_significant_motion_select(), bmi160_get_intr_significant_motion_skip(), bmi160_get_intr_single_tap(), bmi160_get_intr_slow_no_motion_durn(), bmi160_get_intr_slow_no_motion_select(), bmi160_get_intr_slow_no_motion_thres(), bmi160_get_intr_tap_durn(), bmi160_get_intr_tap_quiet(), bmi160_get_intr_tap_shock(), bmi160_get_intr_tap_source(), bmi160_get_intr_tap_thres(), bmi160_get_latch_intr(), bmi160_get_mag_burst(), bmi160_get_mag_data_rdy_err(), bmi160_get_mag_manual_enable(), bmi160_get_mag_manual_operation_stat(), bmi160_get_mag_offset(), bmi160_get_mag_output_data_rate(), bmi160_get_mag_power_mode_stat(), bmi160_get_mag_read_addr(), bmi160_get_mag_write_addr(), bmi160_get_mag_write_data(), bmi160_get_nvm_counter(), bmi160_get_nvm_prog_enable(), bmi160_get_nvm_rdy(), bmi160_get_output_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_sensor_time(), bmi160_get_spare0_trim(), bmi160_get_spi3(), bmi160_get_spi_enable(), bmi160_get_stat0_any_motion_intr(), bmi160_get_stat0_double_tap_intr(), bmi160_get_stat0_flat_intr(), bmi160_get_stat0_orient_intr(), bmi160_get_stat0_pmu_trigger_intr(), bmi160_get_stat0_significant_intr(), bmi160_get_stat0_single_tap_intr(), bmi160_get_stat0_step_intr(), bmi160_get_stat1_data_rdy_intr(), bmi160_get_stat1_fifo_full_intr(), bmi160_get_stat1_fifo_wm_intr(), bmi160_get_stat1_high_g_intr(), bmi160_get_stat1_low_g_intr(), bmi160_get_stat1_nomotion_intr(), bmi160_get_stat2_any_motion_first_x(), bmi160_get_stat2_any_motion_first_y(), bmi160_get_stat2_any_motion_first_z(), bmi160_get_stat2_any_motion_sign(), bmi160_get_stat2_tap_first_x(), bmi160_get_stat2_tap_first_y(), bmi160_get_stat2_tap_first_z(), bmi160_get_stat2_tap_sign(), bmi160_get_stat3_flat(), bmi160_get_stat3_high_g_first_x(), bmi160_get_stat3_high_g_first_y(), bmi160_get_stat3_high_g_first_z(), bmi160_get_stat3_high_g_sign(), bmi160_get_stat3_orient_xy(), bmi160_get_stat3_orient_z(), bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), bmi160_get_target_page(), bmi160_get_temp(), bmi160_read_accel_x(), bmi160_read_accel_xyz(), bmi160_read_accel_y(), bmi160_read_accel_z(), bmi160_read_gyro_x(), bmi160_read_gyro_xyz(), bmi160_read_gyro_y(), bmi160_read_gyro_z(), bmi160_read_mag_r(), bmi160_read_mag_x(), bmi160_read_mag_xyz(), bmi160_read_mag_xyzr(), bmi160_read_mag_y(), bmi160_read_mag_z(), bmi160_read_reg(), bmi160_read_step_count(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), bmi160_set_accel_offset_compensation_zaxis(), bmi160_set_accel_offset_enable(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_command_register(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_down_accel(), bmi160_set_fifo_down_gyro(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_fifo_wm(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_foc_accel_z(), bmi160_set_foc_gyro_enable(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), bmi160_set_gyro_offset_compensation_zaxis(), bmi160_set_gyro_offset_enable(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_device_addr(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_any_motion_durn(), bmi160_set_intr_any_motion_thres(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_high_g_durn(), bmi160_set_intr_high_g_hyst(), bmi160_set_intr_high_g_thres(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_durn(), bmi160_set_intr_low_g_hyst(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_g_thres(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_hyst(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_durn(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_slow_no_motion_thres(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_intr_tap_thres(), bmi160_set_latch_intr(), bmi160_set_mag_burst(), bmi160_set_mag_manual_enable(), bmi160_set_mag_offset(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_set_nvm_counter(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_spare0_trim(), bmi160_set_spi3(), bmi160_set_spi_enable(), bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), bmi160_set_target_page(), and bmi160_write_reg().

§ BMI160_DELAY_SETTLING_TIME

#define BMI160_DELAY_SETTLING_TIME   (5)

§ BMI160_RETURN_FUNCTION_TYPE

#define BMI160_RETURN_FUNCTION_TYPE   s8

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_bmm150_mag_compensate_xyz(), bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_set_power_mode(), bmi160_bmm150_mag_wakeup(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_bst_yamaha_yas537_read_xy1y2_data(), bmi160_bst_yas537_acquisition_command_register(), bmi160_clear_step_counter(), bmi160_fifo_data(), bmi160_fifo_length(), bmi160_get_accel_bw(), bmi160_get_accel_data_rdy(), bmi160_get_accel_fifo_filter_data(), bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_accel_offset_enable(), bmi160_get_accel_output_data_rate(), bmi160_get_accel_power_mode_stat(), bmi160_get_accel_range(), bmi160_get_accel_selftest_amp(), bmi160_get_accel_selftest_axis(), bmi160_get_accel_selftest_sign(), bmi160_get_accel_under_sampling_parameter(), bmi160_get_data_rdy_mag(), bmi160_get_drop_cmd_err(), bmi160_get_err_code(), bmi160_get_error_status(), bmi160_get_fatal_err(), bmi160_get_fifo_accel_enable(), bmi160_get_fifo_down_accel(), bmi160_get_fifo_down_gyro(), bmi160_get_fifo_gyro_enable(), bmi160_get_fifo_header_enable(), bmi160_get_fifo_mag_enable(), bmi160_get_fifo_tag_intr1_enable(), bmi160_get_fifo_tag_intr2_enable(), bmi160_get_fifo_time_enable(), bmi160_get_fifo_wm(), bmi160_get_foc_accel_x(), bmi160_get_foc_accel_y(), bmi160_get_foc_accel_z(), bmi160_get_foc_gyro_enable(), bmi160_get_foc_rdy(), bmi160_get_gyro_bw(), bmi160_get_gyro_data_rdy(), bmi160_get_gyro_fifo_filter_data(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), bmi160_get_gyro_offset_enable(), bmi160_get_gyro_output_data_rate(), bmi160_get_gyro_power_mode_stat(), bmi160_get_gyro_range(), bmi160_get_gyro_selftest(), bmi160_get_gyro_selftest_start(), bmi160_get_gyro_sleep_state(), bmi160_get_gyro_sleep_trigger(), bmi160_get_gyro_wakeup_intr(), bmi160_get_gyro_wakeup_trigger(), bmi160_get_i2c_device_addr(), bmi160_get_i2c_fail_err(), bmi160_get_i2c_wdt_enable(), bmi160_get_i2c_wdt_select(), bmi160_get_if_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_any_motion_durn(), bmi160_get_intr_any_motion_thres(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_flat_hold(), bmi160_get_intr_flat_hyst(), bmi160_get_intr_flat_theta(), bmi160_get_intr_high_g(), bmi160_get_intr_high_g_durn(), bmi160_get_intr_high_g_hyst(), bmi160_get_intr_high_g_thres(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_low_g_durn(), bmi160_get_intr_low_g_hyst(), bmi160_get_intr_low_g_mode(), bmi160_get_intr_low_g_thres(), bmi160_get_intr_low_high_source(), bmi160_get_intr_motion_source(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_orient_axes_enable(), bmi160_get_intr_orient_blocking(), bmi160_get_intr_orient_hyst(), bmi160_get_intr_orient_mode(), bmi160_get_intr_orient_theta(), bmi160_get_intr_orient_ud_enable(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_significant_motion_proof(), bmi160_get_intr_significant_motion_select(), bmi160_get_intr_significant_motion_skip(), bmi160_get_intr_single_tap(), bmi160_get_intr_slow_no_motion_durn(), bmi160_get_intr_slow_no_motion_select(), bmi160_get_intr_slow_no_motion_thres(), bmi160_get_intr_tap_durn(), bmi160_get_intr_tap_quiet(), bmi160_get_intr_tap_shock(), bmi160_get_intr_tap_source(), bmi160_get_intr_tap_thres(), bmi160_get_latch_intr(), bmi160_get_mag_burst(), bmi160_get_mag_data_rdy_err(), bmi160_get_mag_manual_enable(), bmi160_get_mag_manual_operation_stat(), bmi160_get_mag_offset(), bmi160_get_mag_output_data_rate(), bmi160_get_mag_power_mode_stat(), bmi160_get_mag_read_addr(), bmi160_get_mag_write_addr(), bmi160_get_mag_write_data(), bmi160_get_nvm_counter(), bmi160_get_nvm_prog_enable(), bmi160_get_nvm_rdy(), bmi160_get_output_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_sensor_time(), bmi160_get_spare0_trim(), bmi160_get_spi3(), bmi160_get_spi_enable(), bmi160_get_stat0_any_motion_intr(), bmi160_get_stat0_double_tap_intr(), bmi160_get_stat0_flat_intr(), bmi160_get_stat0_orient_intr(), bmi160_get_stat0_pmu_trigger_intr(), bmi160_get_stat0_significant_intr(), bmi160_get_stat0_single_tap_intr(), bmi160_get_stat0_step_intr(), bmi160_get_stat1_data_rdy_intr(), bmi160_get_stat1_fifo_full_intr(), bmi160_get_stat1_fifo_wm_intr(), bmi160_get_stat1_high_g_intr(), bmi160_get_stat1_low_g_intr(), bmi160_get_stat1_nomotion_intr(), bmi160_get_stat2_any_motion_first_x(), bmi160_get_stat2_any_motion_first_y(), bmi160_get_stat2_any_motion_first_z(), bmi160_get_stat2_any_motion_sign(), bmi160_get_stat2_tap_first_x(), bmi160_get_stat2_tap_first_y(), bmi160_get_stat2_tap_first_z(), bmi160_get_stat2_tap_sign(), bmi160_get_stat3_flat(), bmi160_get_stat3_high_g_first_x(), bmi160_get_stat3_high_g_first_y(), bmi160_get_stat3_high_g_first_z(), bmi160_get_stat3_high_g_sign(), bmi160_get_stat3_orient_xy(), bmi160_get_stat3_orient_z(), bmi160_get_step_config(), bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), bmi160_get_target_page(), bmi160_get_temp(), bmi160_init(), bmi160_map_significant_motion_intr(), bmi160_map_step_detector_intr(), bmi160_read_accel_gyro_sensor_time(), bmi160_read_accel_x(), bmi160_read_accel_xyz(), bmi160_read_accel_y(), bmi160_read_accel_z(), bmi160_read_bmm150_mag_trim(), bmi160_read_fifo_header_data(), bmi160_read_fifo_header_data_user_defined_length(), bmi160_read_fifo_headerless_mode(), bmi160_read_fifo_headerless_mode_user_defined_length(), bmi160_read_gyro_x(), bmi160_read_gyro_xyz(), bmi160_read_gyro_y(), bmi160_read_gyro_z(), bmi160_read_mag_r(), bmi160_read_mag_x(), bmi160_read_mag_xyz(), bmi160_read_mag_xyzr(), bmi160_read_mag_y(), bmi160_read_mag_z(), bmi160_read_reg(), bmi160_read_step_count(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), bmi160_set_accel_offset_compensation_zaxis(), bmi160_set_accel_offset_enable(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_bmm150_mag_and_secondary_if_power_mode(), bmi160_set_bmm150_mag_presetmode(), bmi160_set_command_register(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_down_accel(), bmi160_set_fifo_down_gyro(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_fifo_wm(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_foc_accel_z(), bmi160_set_foc_gyro_enable(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), bmi160_set_gyro_offset_compensation_zaxis(), bmi160_set_gyro_offset_enable(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_device_addr(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_any_motion_durn(), bmi160_set_intr_any_motion_thres(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_high_g_durn(), bmi160_set_intr_high_g_hyst(), bmi160_set_intr_high_g_thres(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_durn(), bmi160_set_intr_low_g_hyst(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_g_thres(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_hyst(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_durn(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_slow_no_motion_thres(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_intr_tap_thres(), bmi160_set_latch_intr(), bmi160_set_mag_burst(), bmi160_set_mag_interface_normal(), bmi160_set_mag_manual_enable(), bmi160_set_mag_offset(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_set_nvm_counter(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_spare0_trim(), bmi160_set_spi3(), bmi160_set_spi_enable(), bmi160_set_step_config(), bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), bmi160_set_step_mode(), bmi160_set_target_page(), bmi160_unmap_significant_motion_intr(), and bmi160_write_reg().

§ BMI160_USER_CHIP_ID_ADDR

#define BMI160_USER_CHIP_ID_ADDR   (0x00)

§ BMI160_USER_ERROR_ADDR

#define BMI160_USER_ERROR_ADDR   (0X02)

§ BMI160_USER_PMU_STAT_ADDR

#define BMI160_USER_PMU_STAT_ADDR   (0X03)

§ BMI160_USER_DATA_0_ADDR

#define BMI160_USER_DATA_0_ADDR   (0X04)

§ BMI160_USER_DATA_1_ADDR

#define BMI160_USER_DATA_1_ADDR   (0X05)

§ BMI160_USER_DATA_2_ADDR

#define BMI160_USER_DATA_2_ADDR   (0X06)

§ BMI160_USER_DATA_3_ADDR

#define BMI160_USER_DATA_3_ADDR   (0X07)

§ BMI160_USER_DATA_4_ADDR

#define BMI160_USER_DATA_4_ADDR   (0X08)

§ BMI160_USER_DATA_5_ADDR

#define BMI160_USER_DATA_5_ADDR   (0X09)

§ BMI160_USER_DATA_6_ADDR

#define BMI160_USER_DATA_6_ADDR   (0X0A)

§ BMI160_USER_DATA_7_ADDR

#define BMI160_USER_DATA_7_ADDR   (0X0B)

§ BMI160_USER_DATA_8_ADDR

#define BMI160_USER_DATA_8_ADDR   (0X0C)

§ BMI160_USER_DATA_9_ADDR

#define BMI160_USER_DATA_9_ADDR   (0X0D)

§ BMI160_USER_DATA_10_ADDR

#define BMI160_USER_DATA_10_ADDR   (0X0E)

§ BMI160_USER_DATA_11_ADDR

#define BMI160_USER_DATA_11_ADDR   (0X0F)

§ BMI160_USER_DATA_12_ADDR

#define BMI160_USER_DATA_12_ADDR   (0X10)

§ BMI160_USER_DATA_13_ADDR

#define BMI160_USER_DATA_13_ADDR   (0X11)

§ BMI160_USER_DATA_14_ADDR

#define BMI160_USER_DATA_14_ADDR   (0X12)

§ BMI160_USER_DATA_15_ADDR

#define BMI160_USER_DATA_15_ADDR   (0X13)

§ BMI160_USER_DATA_16_ADDR

#define BMI160_USER_DATA_16_ADDR   (0X14)

§ BMI160_USER_DATA_17_ADDR

#define BMI160_USER_DATA_17_ADDR   (0X15)

§ BMI160_USER_DATA_18_ADDR

#define BMI160_USER_DATA_18_ADDR   (0X16)

§ BMI160_USER_DATA_19_ADDR

#define BMI160_USER_DATA_19_ADDR   (0X17)

§ BMI160_USER_SENSORTIME_0_ADDR

#define BMI160_USER_SENSORTIME_0_ADDR   (0X18)

§ BMI160_USER_SENSORTIME_1_ADDR

#define BMI160_USER_SENSORTIME_1_ADDR   (0X19)

§ BMI160_USER_SENSORTIME_2_ADDR

#define BMI160_USER_SENSORTIME_2_ADDR   (0X1A)

§ BMI160_USER_STAT_ADDR

#define BMI160_USER_STAT_ADDR   (0X1B)

§ BMI160_USER_INTR_STAT_0_ADDR

#define BMI160_USER_INTR_STAT_0_ADDR   (0X1C)

§ BMI160_USER_INTR_STAT_1_ADDR

#define BMI160_USER_INTR_STAT_1_ADDR   (0X1D)

§ BMI160_USER_INTR_STAT_2_ADDR

#define BMI160_USER_INTR_STAT_2_ADDR   (0X1E)

§ BMI160_USER_INTR_STAT_3_ADDR

#define BMI160_USER_INTR_STAT_3_ADDR   (0X1F)

§ BMI160_USER_TEMPERATURE_0_ADDR

#define BMI160_USER_TEMPERATURE_0_ADDR   (0X20)

§ BMI160_USER_TEMPERATURE_1_ADDR

#define BMI160_USER_TEMPERATURE_1_ADDR   (0X21)

§ BMI160_USER_FIFO_LENGTH_0_ADDR

#define BMI160_USER_FIFO_LENGTH_0_ADDR   (0X22)

§ BMI160_USER_FIFO_LENGTH_1_ADDR

#define BMI160_USER_FIFO_LENGTH_1_ADDR   (0X23)

§ BMI160_USER_FIFO_DATA_ADDR

#define BMI160_USER_FIFO_DATA_ADDR   (0X24)

§ BMI160_USER_ACCEL_CONFIG_ADDR

#define BMI160_USER_ACCEL_CONFIG_ADDR   (0X40)

§ BMI160_USER_ACCEL_RANGE_ADDR

#define BMI160_USER_ACCEL_RANGE_ADDR   (0X41)

§ BMI160_USER_GYRO_CONFIG_ADDR

#define BMI160_USER_GYRO_CONFIG_ADDR   (0X42)

§ BMI160_USER_GYRO_RANGE_ADDR

#define BMI160_USER_GYRO_RANGE_ADDR   (0X43)

§ BMI160_USER_MAG_CONFIG_ADDR

#define BMI160_USER_MAG_CONFIG_ADDR   (0X44)

§ BMI160_USER_FIFO_DOWN_ADDR

#define BMI160_USER_FIFO_DOWN_ADDR   (0X45)

§ BMI160_USER_FIFO_CONFIG_0_ADDR

#define BMI160_USER_FIFO_CONFIG_0_ADDR   (0X46)

§ BMI160_USER_FIFO_CONFIG_1_ADDR

#define BMI160_USER_FIFO_CONFIG_1_ADDR   (0X47)

§ BMI160_USER_MAG_IF_0_ADDR

#define BMI160_USER_MAG_IF_0_ADDR   (0X4B)

§ BMI160_USER_MAG_IF_1_ADDR

#define BMI160_USER_MAG_IF_1_ADDR   (0X4C)

§ BMI160_USER_MAG_IF_2_ADDR

#define BMI160_USER_MAG_IF_2_ADDR   (0X4D)

§ BMI160_USER_MAG_IF_3_ADDR

#define BMI160_USER_MAG_IF_3_ADDR   (0X4E)

§ BMI160_USER_MAG_IF_4_ADDR

#define BMI160_USER_MAG_IF_4_ADDR   (0X4F)

§ BMI160_USER_INTR_ENABLE_0_ADDR

#define BMI160_USER_INTR_ENABLE_0_ADDR   (0X50)

§ BMI160_USER_INTR_ENABLE_1_ADDR

#define BMI160_USER_INTR_ENABLE_1_ADDR   (0X51)

§ BMI160_USER_INTR_ENABLE_2_ADDR

#define BMI160_USER_INTR_ENABLE_2_ADDR   (0X52)

§ BMI160_USER_INTR_OUT_CTRL_ADDR

#define BMI160_USER_INTR_OUT_CTRL_ADDR   (0X53)

§ BMI160_USER_INTR_LATCH_ADDR

#define BMI160_USER_INTR_LATCH_ADDR   (0X54)

§ BMI160_USER_INTR_MAP_0_ADDR

#define BMI160_USER_INTR_MAP_0_ADDR   (0X55)

§ BMI160_USER_INTR_MAP_1_ADDR

#define BMI160_USER_INTR_MAP_1_ADDR   (0X56)

§ BMI160_USER_INTR_MAP_2_ADDR

#define BMI160_USER_INTR_MAP_2_ADDR   (0X57)

§ BMI160_USER_INTR_DATA_0_ADDR

#define BMI160_USER_INTR_DATA_0_ADDR   (0X58)

§ BMI160_USER_INTR_DATA_1_ADDR

#define BMI160_USER_INTR_DATA_1_ADDR   (0X59)

§ BMI160_USER_INTR_LOWHIGH_0_ADDR

#define BMI160_USER_INTR_LOWHIGH_0_ADDR   (0X5A)

§ BMI160_USER_INTR_LOWHIGH_1_ADDR

#define BMI160_USER_INTR_LOWHIGH_1_ADDR   (0X5B)

§ BMI160_USER_INTR_LOWHIGH_2_ADDR

#define BMI160_USER_INTR_LOWHIGH_2_ADDR   (0X5C)

§ BMI160_USER_INTR_LOWHIGH_3_ADDR

#define BMI160_USER_INTR_LOWHIGH_3_ADDR   (0X5D)

§ BMI160_USER_INTR_LOWHIGH_4_ADDR

#define BMI160_USER_INTR_LOWHIGH_4_ADDR   (0X5E)

§ BMI160_USER_INTR_MOTION_0_ADDR

#define BMI160_USER_INTR_MOTION_0_ADDR   (0X5F)

§ BMI160_USER_INTR_MOTION_1_ADDR

#define BMI160_USER_INTR_MOTION_1_ADDR   (0X60)

§ BMI160_USER_INTR_MOTION_2_ADDR

#define BMI160_USER_INTR_MOTION_2_ADDR   (0X61)

§ BMI160_USER_INTR_MOTION_3_ADDR

#define BMI160_USER_INTR_MOTION_3_ADDR   (0X62)

§ BMI160_USER_INTR_TAP_0_ADDR

#define BMI160_USER_INTR_TAP_0_ADDR   (0X63)

§ BMI160_USER_INTR_TAP_1_ADDR

#define BMI160_USER_INTR_TAP_1_ADDR   (0X64)

§ BMI160_USER_INTR_ORIENT_0_ADDR

#define BMI160_USER_INTR_ORIENT_0_ADDR   (0X65)

§ BMI160_USER_INTR_ORIENT_1_ADDR

#define BMI160_USER_INTR_ORIENT_1_ADDR   (0X66)

§ BMI160_USER_INTR_FLAT_0_ADDR

#define BMI160_USER_INTR_FLAT_0_ADDR   (0X67)

§ BMI160_USER_INTR_FLAT_1_ADDR

#define BMI160_USER_INTR_FLAT_1_ADDR   (0X68)

§ BMI160_USER_FOC_CONFIG_ADDR

#define BMI160_USER_FOC_CONFIG_ADDR   (0X69)

§ BMI160_USER_CONFIG_ADDR

#define BMI160_USER_CONFIG_ADDR   (0X6A)

§ BMI160_USER_IF_CONFIG_ADDR

#define BMI160_USER_IF_CONFIG_ADDR   (0X6B)

§ BMI160_USER_PMU_TRIGGER_ADDR

#define BMI160_USER_PMU_TRIGGER_ADDR   (0X6C)

Referenced by bmi160_init().

§ BMI160_USER_SELF_TEST_ADDR

#define BMI160_USER_SELF_TEST_ADDR   (0X6D)

§ BMI160_USER_NV_CONFIG_ADDR

#define BMI160_USER_NV_CONFIG_ADDR   (0x70)

§ BMI160_USER_OFFSET_0_ADDR

#define BMI160_USER_OFFSET_0_ADDR   (0X71)

§ BMI160_USER_OFFSET_1_ADDR

#define BMI160_USER_OFFSET_1_ADDR   (0X72)

§ BMI160_USER_OFFSET_2_ADDR

#define BMI160_USER_OFFSET_2_ADDR   (0X73)

§ BMI160_USER_OFFSET_3_ADDR

#define BMI160_USER_OFFSET_3_ADDR   (0X74)

§ BMI160_USER_OFFSET_4_ADDR

#define BMI160_USER_OFFSET_4_ADDR   (0X75)

§ BMI160_USER_OFFSET_5_ADDR

#define BMI160_USER_OFFSET_5_ADDR   (0X76)

§ BMI160_USER_OFFSET_6_ADDR

#define BMI160_USER_OFFSET_6_ADDR   (0X77)

§ BMI160_USER_STEP_COUNT_0_ADDR

#define BMI160_USER_STEP_COUNT_0_ADDR   (0X78)

§ BMI160_USER_STEP_COUNT_1_ADDR

#define BMI160_USER_STEP_COUNT_1_ADDR   (0X79)

§ BMI160_USER_STEP_CONFIG_0_ADDR

#define BMI160_USER_STEP_CONFIG_0_ADDR   (0X7A)

§ BMI160_USER_STEP_CONFIG_1_ADDR

#define BMI160_USER_STEP_CONFIG_1_ADDR   (0X7B)

§ BMI160_CMD_COMMANDS_ADDR

#define BMI160_CMD_COMMANDS_ADDR   (0X7E)

§ BMI160_CMD_EXT_MODE_ADDR

#define BMI160_CMD_EXT_MODE_ADDR   (0X7F)

§ BMI160_COM_C_TRIM_FIVE_ADDR

#define BMI160_COM_C_TRIM_FIVE_ADDR   (0X05)

§ BMI160_SHIFT_BIT_POSITION_BY_01_BIT

#define BMI160_SHIFT_BIT_POSITION_BY_01_BIT   (1)

§ BMI160_SHIFT_BIT_POSITION_BY_02_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_02_BITS   (2)

§ BMI160_SHIFT_BIT_POSITION_BY_03_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_03_BITS   (3)

§ BMI160_SHIFT_BIT_POSITION_BY_04_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_04_BITS   (4)

§ BMI160_SHIFT_BIT_POSITION_BY_05_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_05_BITS   (5)

§ BMI160_SHIFT_BIT_POSITION_BY_06_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_06_BITS   (6)

§ BMI160_SHIFT_BIT_POSITION_BY_07_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_07_BITS   (7)

§ BMI160_SHIFT_BIT_POSITION_BY_08_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_08_BITS   (8)

§ BMI160_SHIFT_BIT_POSITION_BY_09_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_09_BITS   (9)

§ BMI160_SHIFT_BIT_POSITION_BY_12_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_12_BITS   (12)

§ BMI160_SHIFT_BIT_POSITION_BY_13_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_13_BITS   (13)

§ BMI160_SHIFT_BIT_POSITION_BY_14_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_14_BITS   (14)

§ BMI160_SHIFT_BIT_POSITION_BY_15_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_15_BITS   (15)

§ BMI160_SHIFT_BIT_POSITION_BY_16_BITS

#define BMI160_SHIFT_BIT_POSITION_BY_16_BITS   (16)

§ YAS532_MAG_STATE_NORMAL

#define YAS532_MAG_STATE_NORMAL   (0)

§ YAS532_MAG_STATE_INIT_COIL

#define YAS532_MAG_STATE_INIT_COIL   (1)

§ YAS532_MAG_STATE_MEASURE_OFFSET

#define YAS532_MAG_STATE_MEASURE_OFFSET   (2)

§ YAS532_MAG_INITCOIL_TIMEOUT

#define YAS532_MAG_INITCOIL_TIMEOUT   (1000)

§ YAS532_MAG_NOTRANS_POSITION

#define YAS532_MAG_NOTRANS_POSITION   (3)

§ YAS532_DEFAULT_SENSOR_DELAY

#define YAS532_DEFAULT_SENSOR_DELAY   (50)

§ YAS532_DATA_OVERFLOW

#define YAS532_DATA_OVERFLOW   (8190)

§ YAS532_DATA_UNDERFLOW

#define YAS532_DATA_UNDERFLOW   (0)

§ YAS532_MAG_TEMPERATURE_LOG

#define YAS532_MAG_TEMPERATURE_LOG   (10)

§ YAS532_TEMP20DEGREE_TYPICAL

#define YAS532_TEMP20DEGREE_TYPICAL   (390)

§ YAS532_VERSION_AC_COEF_X

#define YAS532_VERSION_AC_COEF_X   (850)

§ YAS532_VERSION_AC_COEF_Y1

#define YAS532_VERSION_AC_COEF_Y1   (750)

§ YAS532_VERSION_AC_COEF_Y2

#define YAS532_VERSION_AC_COEF_Y2   (750)

§ YAS532_DATA_CENTER

#define YAS532_DATA_CENTER   (4096)

§ set_vector

#define set_vector (   to,
  from 
)    {int _l; for (_l = 0; _l < 3; _l++) (to)[_l] = (from)[_l]; }

§ is_valid_offset

#define is_valid_offset (   a)
Value:
(((a)[0] <= 31) && ((a)[1] <= 31) && ((a)[2] <= 31) \
&& (-31 <= (a)[0]) && (-31 <= (a)[1]) && (-31 <= (a)[2]))

§ BMI160_YAS532_TESTR1

#define BMI160_YAS532_TESTR1   (0x88)

§ BMI160_YAS532_TESTR2

#define BMI160_YAS532_TESTR2   (0x89)

§ BMI160_YAS532_RCOIL

#define BMI160_YAS532_RCOIL   (0x81)

§ BMI160_YAS532_COMMAND_REGISTER

#define BMI160_YAS532_COMMAND_REGISTER   (0x82)

§ BMI160_YAS532_DATA_REGISTER

#define BMI160_YAS532_DATA_REGISTER   (0xB0)

§ BMI160_YAS532_CALIB_CX

#define BMI160_YAS532_CALIB_CX   (0x90)

§ BMI160_YAS532_CALIB_CY1

#define BMI160_YAS532_CALIB_CY1   (0x91)

§ BMI160_YAS532_CALIB_CY2

#define BMI160_YAS532_CALIB_CY2   (0x92)

§ BMI160_YAS532_CALIB1

#define BMI160_YAS532_CALIB1   (0x93)

§ BMI160_YAS532_CALIB2

#define BMI160_YAS532_CALIB2   (0x94)

§ BMI160_YAS532_CALIB3

#define BMI160_YAS532_CALIB3   (0x95)

§ BMI160_YAS532_CALIB4

#define BMI160_YAS532_CALIB4   (0x96)

§ BMI160_YAS532_CALIB5

#define BMI160_YAS532_CALIB5   (0x97)

§ BMI160_YAS532_CLAIB6

#define BMI160_YAS532_CLAIB6   (0x98)

§ BMI160_YAS532_CALIB7

#define BMI160_YAS532_CALIB7   (0x99)

§ BMI160_YAS532_CALIB8

#define BMI160_YAS532_CALIB8   (0x9A)

§ BMI160_YAS532_CALIIB9

#define BMI160_YAS532_CALIIB9   (0x9B)

§ BMI160_YAS532_CALIB10

#define BMI160_YAS532_CALIB10   (0x9C)

§ BMI160_YAS532_CALIB11

#define BMI160_YAS532_CALIB11   (0x9D)

§ BMI160_YAS532_OFFSET_X

#define BMI160_YAS532_OFFSET_X   (0x85)

§ BMI160_YAS532_OFFSET_Y

#define BMI160_YAS532_OFFSET_Y   (0x86)

§ BMI160_YAS532_OFFSET_Z

#define BMI160_YAS532_OFFSET_Z   (0x87)

§ BMI160_YAS532_WRITE_TESTR1

#define BMI160_YAS532_WRITE_TESTR1   (0x00)

§ BMI160_YAS532_WRITE_TESTR2

#define BMI160_YAS532_WRITE_TESTR2   (0x00)

§ BMI160_YAS532_WRITE_RCOIL

#define BMI160_YAS532_WRITE_RCOIL   (0x00)

§ YAS537_SRSTR_DATA

#define YAS537_SRSTR_DATA   (0x02)

§ YAS537_WRITE_A_D_CONVERTER

#define YAS537_WRITE_A_D_CONVERTER   (0x03)

§ YAS537_WRITE_A_D_CONVERTER2

#define YAS537_WRITE_A_D_CONVERTER2   (0xF8)

§ YAS537_WRITE_FILTER

#define YAS537_WRITE_FILTER   (0x08)

§ YAS537_WRITE_CONFR

#define YAS537_WRITE_CONFR   (0x08)

§ YAS537_WRITE_TEMP_CALIB

#define YAS537_WRITE_TEMP_CALIB   (0xFF)

§ YAS537_SET_COMMAND_REGISTER

#define YAS537_SET_COMMAND_REGISTER   (0x01)

§ YAS537_REG_SRSTR

#define YAS537_REG_SRSTR   (0x90)

§ YAS537_REG_CALR_C0

#define YAS537_REG_CALR_C0   (0xC0)

§ YAS537_REG_CALR_C1

#define YAS537_REG_CALR_C1   (0xC1)

§ YAS537_REG_CALR_C2

#define YAS537_REG_CALR_C2   (0xC2)

§ YAS537_REG_CALR_C3

#define YAS537_REG_CALR_C3   (0xC3)

§ YAS537_REG_CALR_C4

#define YAS537_REG_CALR_C4   (0xC4)

§ YAS537_REG_CALR_C5

#define YAS537_REG_CALR_C5   (0xC5)

§ YAS537_REG_CALR_C6

#define YAS537_REG_CALR_C6   (0xC6)

§ YAS537_REG_CALR_C7

#define YAS537_REG_CALR_C7   (0xC7)

§ YAS537_REG_CALR_C8

#define YAS537_REG_CALR_C8   (0xC8)

§ YAS537_REG_CALR_C9

#define YAS537_REG_CALR_C9   (0xC9)

§ YAS537_REG_CALR_CA

#define YAS537_REG_CALR_CA   (0xCA)

§ YAS537_REG_CALR_CB

#define YAS537_REG_CALR_CB   (0xCB)

§ YAS537_REG_CALR_CC

#define YAS537_REG_CALR_CC   (0xCC)

§ YAS537_REG_CALR_CD

#define YAS537_REG_CALR_CD   (0xCD)

§ YAS537_REG_CALR_CE

#define YAS537_REG_CALR_CE   (0xCE)

§ YAS537_REG_CALR_CF

#define YAS537_REG_CALR_CF   (0xCF)

§ YAS537_REG_CALR_DO

#define YAS537_REG_CALR_DO   (0xD0)

§ YAS537_REG_MTCR

#define YAS537_REG_MTCR   (0x93)

§ YAS537_REG_CONFR

#define YAS537_REG_CONFR   (0x82)

§ BMI160_REG_YAS537_CMDR

#define BMI160_REG_YAS537_CMDR   (0x81)

§ YAS537_REG_OXR

#define YAS537_REG_OXR   (0x84)

§ YAS537_REG_AVRR

#define YAS537_REG_AVRR   (0x87)

§ YAS537_REG_HCKR

#define YAS537_REG_HCKR   (0x88)

§ YAS537_REG_LCKR

#define YAS537_REG_LCKR   (0x89)

§ YAS537_REG_ADCCALR

#define YAS537_REG_ADCCALR   (0x91)

§ YAS537_REG_ADCCALR_ONE

#define YAS537_REG_ADCCALR_ONE   (0x92)

§ YAS537_REG_OCR

#define YAS537_REG_OCR   (0x9E)

§ YAS537_REG_TRMR

#define YAS537_REG_TRMR   (0x9F)

§ YAS537_REG_TEMPERATURE_0

#define YAS537_REG_TEMPERATURE_0   (0xB0)

§ YAS537_REG_TEMPERATURE_1

#define YAS537_REG_TEMPERATURE_1   (0xB1)

§ YAS537_REG_DATA_X_0

#define YAS537_REG_DATA_X_0   (0xB2)

§ YAS537_REG_DATA_X_1

#define YAS537_REG_DATA_X_1   (0xB3)

§ YAS537_REG_DATA_Y1_0

#define YAS537_REG_DATA_Y1_0   (0xB4)

§ YAS537_REG_DATA_Y1_1

#define YAS537_REG_DATA_Y1_1   (0xB5)

§ YAS537_REG_DATA_Y2_0

#define YAS537_REG_DATA_Y2_0   (0xB6)

§ YAS537_REG_DATA_Y2_1

#define YAS537_REG_DATA_Y2_1   (0xB7)

§ YAS537_MAG_STATE_NORMAL

#define YAS537_MAG_STATE_NORMAL   (0)

§ YAS537_MAG_STATE_INIT_COIL

#define YAS537_MAG_STATE_INIT_COIL   (1)

§ YAS537_MAG_STATE_RECORD_DATA

#define YAS537_MAG_STATE_RECORD_DATA   (2)

§ YAS537_DATA_UNDERFLOW

#define YAS537_DATA_UNDERFLOW   (0)

§ YAS537_DATA_OVERFLOW

#define YAS537_DATA_OVERFLOW   (16383)

§ yas537_set_vector

#define yas537_set_vector (   to,
  from 
)    {int _l; for (_l = 0; _l < 3; _l++) (to)[_l] = (from)[_l]; }

§ ABS

#define ABS (   a)    ((a) > 0 ? (a) : -(a))

Absolute value

§ AKM09912_SENSITIVITY_DIV

#define AKM09912_SENSITIVITY_DIV   (256)

§ AKM09912_SENSITIVITY

#define AKM09912_SENSITIVITY   (128)

§ AKM09911_SENSITIVITY_DIV

#define AKM09911_SENSITIVITY_DIV   (128)

§ AKM_ASAX

#define AKM_ASAX   (0)

§ AKM_ASAY

#define AKM_ASAY   (1)

§ AKM_ASAZ

#define AKM_ASAZ   (2)

§ AKM_POWER_DOWN_MODE_DATA

#define AKM_POWER_DOWN_MODE_DATA   (0x00)

§ AKM_FUSE_ROM_MODE

#define AKM_FUSE_ROM_MODE   (0x1F)

§ AKM_POWER_MODE_REG

#define AKM_POWER_MODE_REG   (0x31)

§ AKM_SINGLE_MEASUREMENT_MODE

#define AKM_SINGLE_MEASUREMENT_MODE   (0x01)

§ AKM_DATA_REGISTER

#define AKM_DATA_REGISTER   (0x11)

§ AKM_CHIP_ID_REG

#define AKM_CHIP_ID_REG   (0x01)

AKM09912 Register definition

Referenced by bmi160_read_bmm150_mag_trim().

§ BMI160_BMM150_SET_POWER_CONTROL

#define BMI160_BMM150_SET_POWER_CONTROL   (0x01)

§ BMI160_BMM150_MAX_RETRY_WAKEUP

#define BMI160_BMM150_MAX_RETRY_WAKEUP   (5)

§ BMI160_BMM150_POWER_ON

#define BMI160_BMM150_POWER_ON   (0x01)

§ BMI160_BMM150_POWER_OFF

#define BMI160_BMM150_POWER_OFF   (0x00)

§ BMI160_BMM150_FORCE_MODE

#define BMI160_BMM150_FORCE_MODE   (0x02)

§ BMI160_BMM150_POWER_ON_SUCCESS

#define BMI160_BMM150_POWER_ON_SUCCESS   (0)

§ BMI160_BMM150_POWER_ON_FAIL

#define BMI160_BMM150_POWER_ON_FAIL   ((s8)-1)

§ BMI160_BMM150_DIG_X1

#define BMI160_BMM150_DIG_X1   (0)

§ BMI160_BMM150_DIG_Y1

#define BMI160_BMM150_DIG_Y1   (1)

§ BMI160_BMM150_DIG_X2

#define BMI160_BMM150_DIG_X2   (2)

§ BMI160_BMM150_DIG_Y3

#define BMI160_BMM150_DIG_Y3   (3)

§ BMI160_BMM150_DIG_XY1

#define BMI160_BMM150_DIG_XY1   (4)

§ BMI160_BMM150_DIG_XY2

#define BMI160_BMM150_DIG_XY2   (5)

§ BMI160_BMM150_DIG_Z1_LSB

#define BMI160_BMM150_DIG_Z1_LSB   (6)

§ BMI160_BMM150_DIG_Z1_MSB

#define BMI160_BMM150_DIG_Z1_MSB   (7)

§ BMI160_BMM150_DIG_Z2_LSB

#define BMI160_BMM150_DIG_Z2_LSB   (8)

§ BMI160_BMM150_DIG_Z2_MSB

#define BMI160_BMM150_DIG_Z2_MSB   (9)

§ BMI160_BMM150_DIG_DIG_Z3_LSB

#define BMI160_BMM150_DIG_DIG_Z3_LSB   (10)

§ BMI160_BMM150_DIG_DIG_Z3_MSB

#define BMI160_BMM150_DIG_DIG_Z3_MSB   (11)

§ BMI160_BMM150_DIG_DIG_Z4_LSB

#define BMI160_BMM150_DIG_DIG_Z4_LSB   (12)

§ BMI160_BMM150_DIG_DIG_Z4_MSB

#define BMI160_BMM150_DIG_DIG_Z4_MSB   (13)

§ BMI160_BMM150_DIG_DIG_XYZ1_LSB

#define BMI160_BMM150_DIG_DIG_XYZ1_LSB   (14)

§ BMI160_BMM150_DIG_DIG_XYZ1_MSB

#define BMI160_BMM150_DIG_DIG_XYZ1_MSB   (15)

§ BMI160_FIFO_FRAME_CNT

#define BMI160_FIFO_FRAME_CNT   (146)

§ BMI160_FRAME_COUNT

#define BMI160_FRAME_COUNT   (1)

§ BMI160_USER_CHIP_ID__POS

#define BMI160_USER_CHIP_ID__POS   (0)

§ BMI160_USER_CHIP_ID__MSK

#define BMI160_USER_CHIP_ID__MSK   (0xFF)

§ BMI160_USER_CHIP_ID__LEN

#define BMI160_USER_CHIP_ID__LEN   (8)

§ BMI160_USER_CHIP_ID__REG

#define BMI160_USER_CHIP_ID__REG   (BMI160_USER_CHIP_ID_ADDR)

Referenced by bmi160_init().

§ BMI160_USER_ERR_STAT__POS

#define BMI160_USER_ERR_STAT__POS   (0)

§ BMI160_USER_ERR_STAT__LEN

#define BMI160_USER_ERR_STAT__LEN   (8)

§ BMI160_USER_ERR_STAT__MSK

#define BMI160_USER_ERR_STAT__MSK   (0xFF)

§ BMI160_USER_ERR_STAT__REG

#define BMI160_USER_ERR_STAT__REG   (BMI160_USER_ERROR_ADDR)

Referenced by bmi160_get_error_status().

§ BMI160_USER_FATAL_ERR__POS

#define BMI160_USER_FATAL_ERR__POS   (0)

§ BMI160_USER_FATAL_ERR__LEN

#define BMI160_USER_FATAL_ERR__LEN   (1)

§ BMI160_USER_FATAL_ERR__MSK

#define BMI160_USER_FATAL_ERR__MSK   (0x01)

§ BMI160_USER_FATAL_ERR__REG

#define BMI160_USER_FATAL_ERR__REG   (BMI160_USER_ERROR_ADDR)

Referenced by bmi160_get_fatal_err().

§ BMI160_USER_ERR_CODE__POS

#define BMI160_USER_ERR_CODE__POS   (1)

§ BMI160_USER_ERR_CODE__LEN

#define BMI160_USER_ERR_CODE__LEN   (4)

§ BMI160_USER_ERR_CODE__MSK

#define BMI160_USER_ERR_CODE__MSK   (0x1E)

§ BMI160_USER_ERR_CODE__REG

#define BMI160_USER_ERR_CODE__REG   (BMI160_USER_ERROR_ADDR)

Referenced by bmi160_get_err_code().

§ BMI160_USER_I2C_FAIL_ERR__POS

#define BMI160_USER_I2C_FAIL_ERR__POS   (5)

§ BMI160_USER_I2C_FAIL_ERR__LEN

#define BMI160_USER_I2C_FAIL_ERR__LEN   (1)

§ BMI160_USER_I2C_FAIL_ERR__MSK

#define BMI160_USER_I2C_FAIL_ERR__MSK   (0x20)

§ BMI160_USER_I2C_FAIL_ERR__REG

#define BMI160_USER_I2C_FAIL_ERR__REG   (BMI160_USER_ERROR_ADDR)

Referenced by bmi160_get_i2c_fail_err().

§ BMI160_USER_DROP_CMD_ERR__POS

#define BMI160_USER_DROP_CMD_ERR__POS   (6)

§ BMI160_USER_DROP_CMD_ERR__LEN

#define BMI160_USER_DROP_CMD_ERR__LEN   (1)

§ BMI160_USER_DROP_CMD_ERR__MSK

#define BMI160_USER_DROP_CMD_ERR__MSK   (0x40)

§ BMI160_USER_DROP_CMD_ERR__REG

#define BMI160_USER_DROP_CMD_ERR__REG   (BMI160_USER_ERROR_ADDR)

Referenced by bmi160_get_drop_cmd_err().

§ BMI160_USER_MAG_DATA_RDY_ERR__POS

#define BMI160_USER_MAG_DATA_RDY_ERR__POS   (7)

§ BMI160_USER_MAG_DATA_RDY_ERR__LEN

#define BMI160_USER_MAG_DATA_RDY_ERR__LEN   (1)

§ BMI160_USER_MAG_DATA_RDY_ERR__MSK

#define BMI160_USER_MAG_DATA_RDY_ERR__MSK   (0x80)

§ BMI160_USER_MAG_DATA_RDY_ERR__REG

#define BMI160_USER_MAG_DATA_RDY_ERR__REG   (BMI160_USER_ERROR_ADDR)

§ BMI160_USER_MAG_POWER_MODE_STAT__POS

#define BMI160_USER_MAG_POWER_MODE_STAT__POS   (0)

§ BMI160_USER_MAG_POWER_MODE_STAT__LEN

#define BMI160_USER_MAG_POWER_MODE_STAT__LEN   (2)

§ BMI160_USER_MAG_POWER_MODE_STAT__MSK

#define BMI160_USER_MAG_POWER_MODE_STAT__MSK   (0x03)

§ BMI160_USER_MAG_POWER_MODE_STAT__REG

#define BMI160_USER_MAG_POWER_MODE_STAT__REG   (BMI160_USER_PMU_STAT_ADDR)

§ BMI160_USER_GYRO_POWER_MODE_STAT__POS

#define BMI160_USER_GYRO_POWER_MODE_STAT__POS   (2)

§ BMI160_USER_GYRO_POWER_MODE_STAT__LEN

#define BMI160_USER_GYRO_POWER_MODE_STAT__LEN   (2)

§ BMI160_USER_GYRO_POWER_MODE_STAT__MSK

#define BMI160_USER_GYRO_POWER_MODE_STAT__MSK   (0x0C)

§ BMI160_USER_GYRO_POWER_MODE_STAT__REG

#define BMI160_USER_GYRO_POWER_MODE_STAT__REG   (BMI160_USER_PMU_STAT_ADDR)

§ BMI160_USER_ACCEL_POWER_MODE_STAT__POS

#define BMI160_USER_ACCEL_POWER_MODE_STAT__POS   (4)

§ BMI160_USER_ACCEL_POWER_MODE_STAT__LEN

#define BMI160_USER_ACCEL_POWER_MODE_STAT__LEN   (2)

§ BMI160_USER_ACCEL_POWER_MODE_STAT__MSK

#define BMI160_USER_ACCEL_POWER_MODE_STAT__MSK   (0x30)

§ BMI160_USER_ACCEL_POWER_MODE_STAT__REG

#define BMI160_USER_ACCEL_POWER_MODE_STAT__REG   (BMI160_USER_PMU_STAT_ADDR)

§ BMI160_USER_DATA_0_MAG_X_LSB__POS

#define BMI160_USER_DATA_0_MAG_X_LSB__POS   (0)

§ BMI160_USER_DATA_0_MAG_X_LSB__LEN

#define BMI160_USER_DATA_0_MAG_X_LSB__LEN   (8)

§ BMI160_USER_DATA_0_MAG_X_LSB__MSK

#define BMI160_USER_DATA_0_MAG_X_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_0_MAG_X_LSB__REG

#define BMI160_USER_DATA_0_MAG_X_LSB__REG   (BMI160_USER_DATA_0_ADDR)

§ BMI160_USER_DATA_MAG_X_LSB__POS

#define BMI160_USER_DATA_MAG_X_LSB__POS   (3)

§ BMI160_USER_DATA_MAG_X_LSB__LEN

#define BMI160_USER_DATA_MAG_X_LSB__LEN   (5)

§ BMI160_USER_DATA_MAG_X_LSB__MSK

#define BMI160_USER_DATA_MAG_X_LSB__MSK   (0xF8)

§ BMI160_USER_DATA_MAG_X_LSB__REG

#define BMI160_USER_DATA_MAG_X_LSB__REG   (BMI160_USER_DATA_0_ADDR)

§ BMI160_USER_DATA_1_MAG_X_MSB__POS

#define BMI160_USER_DATA_1_MAG_X_MSB__POS   (0)

§ BMI160_USER_DATA_1_MAG_X_MSB__LEN

#define BMI160_USER_DATA_1_MAG_X_MSB__LEN   (8)

§ BMI160_USER_DATA_1_MAG_X_MSB__MSK

#define BMI160_USER_DATA_1_MAG_X_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_1_MAG_X_MSB__REG

#define BMI160_USER_DATA_1_MAG_X_MSB__REG   (BMI160_USER_DATA_1_ADDR)

§ BMI160_USER_DATA_2_MAG_Y_LSB__POS

#define BMI160_USER_DATA_2_MAG_Y_LSB__POS   (0)

§ BMI160_USER_DATA_2_MAG_Y_LSB__LEN

#define BMI160_USER_DATA_2_MAG_Y_LSB__LEN   (8)

§ BMI160_USER_DATA_2_MAG_Y_LSB__MSK

#define BMI160_USER_DATA_2_MAG_Y_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_2_MAG_Y_LSB__REG

#define BMI160_USER_DATA_2_MAG_Y_LSB__REG   (BMI160_USER_DATA_2_ADDR)

Referenced by bmi160_read_mag_y().

§ BMI160_USER_DATA_MAG_Y_LSB__POS

#define BMI160_USER_DATA_MAG_Y_LSB__POS   (3)

§ BMI160_USER_DATA_MAG_Y_LSB__LEN

#define BMI160_USER_DATA_MAG_Y_LSB__LEN   (5)

§ BMI160_USER_DATA_MAG_Y_LSB__MSK

#define BMI160_USER_DATA_MAG_Y_LSB__MSK   (0xF8)

§ BMI160_USER_DATA_MAG_Y_LSB__REG

#define BMI160_USER_DATA_MAG_Y_LSB__REG   (BMI160_USER_DATA_2_ADDR)

Referenced by bmi160_read_mag_y().

§ BMI160_USER_DATA_3_MAG_Y_MSB__POS

#define BMI160_USER_DATA_3_MAG_Y_MSB__POS   (0)

§ BMI160_USER_DATA_3_MAG_Y_MSB__LEN

#define BMI160_USER_DATA_3_MAG_Y_MSB__LEN   (8)

§ BMI160_USER_DATA_3_MAG_Y_MSB__MSK

#define BMI160_USER_DATA_3_MAG_Y_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_3_MAG_Y_MSB__REG

#define BMI160_USER_DATA_3_MAG_Y_MSB__REG   (BMI160_USER_DATA_3_ADDR)

§ BMI160_USER_DATA_4_MAG_Z_LSB__POS

#define BMI160_USER_DATA_4_MAG_Z_LSB__POS   (0)

§ BMI160_USER_DATA_4_MAG_Z_LSB__LEN

#define BMI160_USER_DATA_4_MAG_Z_LSB__LEN   (8)

§ BMI160_USER_DATA_4_MAG_Z_LSB__MSK

#define BMI160_USER_DATA_4_MAG_Z_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_4_MAG_Z_LSB__REG

#define BMI160_USER_DATA_4_MAG_Z_LSB__REG   (BMI160_USER_DATA_4_ADDR)

Referenced by bmi160_read_mag_z().

§ BMI160_USER_DATA_MAG_Z_LSB__POS

#define BMI160_USER_DATA_MAG_Z_LSB__POS   (1)

§ BMI160_USER_DATA_MAG_Z_LSB__LEN

#define BMI160_USER_DATA_MAG_Z_LSB__LEN   (7)

§ BMI160_USER_DATA_MAG_Z_LSB__MSK

#define BMI160_USER_DATA_MAG_Z_LSB__MSK   (0xFE)

§ BMI160_USER_DATA_MAG_Z_LSB__REG

#define BMI160_USER_DATA_MAG_Z_LSB__REG   (BMI160_USER_DATA_4_ADDR)

Referenced by bmi160_read_mag_z().

§ BMI160_USER_DATA_5_MAG_Z_MSB__POS

#define BMI160_USER_DATA_5_MAG_Z_MSB__POS   (0)

§ BMI160_USER_DATA_5_MAG_Z_MSB__LEN

#define BMI160_USER_DATA_5_MAG_Z_MSB__LEN   (8)

§ BMI160_USER_DATA_5_MAG_Z_MSB__MSK

#define BMI160_USER_DATA_5_MAG_Z_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_5_MAG_Z_MSB__REG

#define BMI160_USER_DATA_5_MAG_Z_MSB__REG   (BMI160_USER_DATA_5_ADDR)

§ BMI160_USER_DATA_6_RHALL_LSB__POS

#define BMI160_USER_DATA_6_RHALL_LSB__POS   (0)

§ BMI160_USER_DATA_6_RHALL_LSB__LEN

#define BMI160_USER_DATA_6_RHALL_LSB__LEN   (8)

§ BMI160_USER_DATA_6_RHALL_LSB__MSK

#define BMI160_USER_DATA_6_RHALL_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_6_RHALL_LSB__REG

#define BMI160_USER_DATA_6_RHALL_LSB__REG   (BMI160_USER_DATA_6_ADDR)

Referenced by bmi160_read_mag_r().

§ BMI160_USER_DATA_MAG_R_LSB__POS

#define BMI160_USER_DATA_MAG_R_LSB__POS   (2)

§ BMI160_USER_DATA_MAG_R_LSB__LEN

#define BMI160_USER_DATA_MAG_R_LSB__LEN   (6)

§ BMI160_USER_DATA_MAG_R_LSB__MSK

#define BMI160_USER_DATA_MAG_R_LSB__MSK   (0xFC)

§ BMI160_USER_DATA_MAG_R_LSB__REG

#define BMI160_USER_DATA_MAG_R_LSB__REG   (BMI160_USER_DATA_6_ADDR)

§ BMI160_USER_DATA_7_RHALL_MSB__POS

#define BMI160_USER_DATA_7_RHALL_MSB__POS   (0)

§ BMI160_USER_DATA_7_RHALL_MSB__LEN

#define BMI160_USER_DATA_7_RHALL_MSB__LEN   (8)

§ BMI160_USER_DATA_7_RHALL_MSB__MSK

#define BMI160_USER_DATA_7_RHALL_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_7_RHALL_MSB__REG

#define BMI160_USER_DATA_7_RHALL_MSB__REG   (BMI160_USER_DATA_7_ADDR)

§ BMI160_USER_DATA_8_GYRO_X_LSB__POS

#define BMI160_USER_DATA_8_GYRO_X_LSB__POS   (0)

§ BMI160_USER_DATA_8_GYRO_X_LSB__LEN

#define BMI160_USER_DATA_8_GYRO_X_LSB__LEN   (8)

§ BMI160_USER_DATA_8_GYRO_X_LSB__MSK

#define BMI160_USER_DATA_8_GYRO_X_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_8_GYRO_X_LSB__REG

#define BMI160_USER_DATA_8_GYRO_X_LSB__REG   (BMI160_USER_DATA_8_ADDR)

§ BMI160_USER_DATA_9_GYRO_X_MSB__POS

#define BMI160_USER_DATA_9_GYRO_X_MSB__POS   (0)

§ BMI160_USER_DATA_9_GYRO_X_MSB__LEN

#define BMI160_USER_DATA_9_GYRO_X_MSB__LEN   (8)

§ BMI160_USER_DATA_9_GYRO_X_MSB__MSK

#define BMI160_USER_DATA_9_GYRO_X_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_9_GYRO_X_MSB__REG

#define BMI160_USER_DATA_9_GYRO_X_MSB__REG   (BMI160_USER_DATA_9_ADDR)

§ BMI160_USER_DATA_10_GYRO_Y_LSB__POS

#define BMI160_USER_DATA_10_GYRO_Y_LSB__POS   (0)

§ BMI160_USER_DATA_10_GYRO_Y_LSB__LEN

#define BMI160_USER_DATA_10_GYRO_Y_LSB__LEN   (8)

§ BMI160_USER_DATA_10_GYRO_Y_LSB__MSK

#define BMI160_USER_DATA_10_GYRO_Y_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_10_GYRO_Y_LSB__REG

#define BMI160_USER_DATA_10_GYRO_Y_LSB__REG   (BMI160_USER_DATA_10_ADDR)

Referenced by bmi160_read_gyro_y().

§ BMI160_USER_DATA_11_GYRO_Y_MSB__POS

#define BMI160_USER_DATA_11_GYRO_Y_MSB__POS   (0)

§ BMI160_USER_DATA_11_GYRO_Y_MSB__LEN

#define BMI160_USER_DATA_11_GYRO_Y_MSB__LEN   (8)

§ BMI160_USER_DATA_11_GYRO_Y_MSB__MSK

#define BMI160_USER_DATA_11_GYRO_Y_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_11_GYRO_Y_MSB__REG

#define BMI160_USER_DATA_11_GYRO_Y_MSB__REG   (BMI160_USER_DATA_11_ADDR)

§ BMI160_USER_DATA_12_GYRO_Z_LSB__POS

#define BMI160_USER_DATA_12_GYRO_Z_LSB__POS   (0)

§ BMI160_USER_DATA_12_GYRO_Z_LSB__LEN

#define BMI160_USER_DATA_12_GYRO_Z_LSB__LEN   (8)

§ BMI160_USER_DATA_12_GYRO_Z_LSB__MSK

#define BMI160_USER_DATA_12_GYRO_Z_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_12_GYRO_Z_LSB__REG

#define BMI160_USER_DATA_12_GYRO_Z_LSB__REG   (BMI160_USER_DATA_12_ADDR)

Referenced by bmi160_read_gyro_z().

§ BMI160_USER_DATA_13_GYRO_Z_MSB__POS

#define BMI160_USER_DATA_13_GYRO_Z_MSB__POS   (0)

§ BMI160_USER_DATA_13_GYRO_Z_MSB__LEN

#define BMI160_USER_DATA_13_GYRO_Z_MSB__LEN   (8)

§ BMI160_USER_DATA_13_GYRO_Z_MSB__MSK

#define BMI160_USER_DATA_13_GYRO_Z_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_13_GYRO_Z_MSB__REG

#define BMI160_USER_DATA_13_GYRO_Z_MSB__REG   (BMI160_USER_DATA_13_ADDR)

§ BMI160_USER_DATA_14_ACCEL_X_LSB__POS

#define BMI160_USER_DATA_14_ACCEL_X_LSB__POS   (0)

§ BMI160_USER_DATA_14_ACCEL_X_LSB__LEN

#define BMI160_USER_DATA_14_ACCEL_X_LSB__LEN   (8)

§ BMI160_USER_DATA_14_ACCEL_X_LSB__MSK

#define BMI160_USER_DATA_14_ACCEL_X_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_14_ACCEL_X_LSB__REG

#define BMI160_USER_DATA_14_ACCEL_X_LSB__REG   (BMI160_USER_DATA_14_ADDR)

§ BMI160_USER_DATA_15_ACCEL_X_MSB__POS

#define BMI160_USER_DATA_15_ACCEL_X_MSB__POS   (0)

§ BMI160_USER_DATA_15_ACCEL_X_MSB__LEN

#define BMI160_USER_DATA_15_ACCEL_X_MSB__LEN   (8)

§ BMI160_USER_DATA_15_ACCEL_X_MSB__MSK

#define BMI160_USER_DATA_15_ACCEL_X_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_15_ACCEL_X_MSB__REG

#define BMI160_USER_DATA_15_ACCEL_X_MSB__REG   (BMI160_USER_DATA_15_ADDR)

§ BMI160_USER_DATA_16_ACCEL_Y_LSB__POS

#define BMI160_USER_DATA_16_ACCEL_Y_LSB__POS   (0)

§ BMI160_USER_DATA_16_ACCEL_Y_LSB__LEN

#define BMI160_USER_DATA_16_ACCEL_Y_LSB__LEN   (8)

§ BMI160_USER_DATA_16_ACCEL_Y_LSB__MSK

#define BMI160_USER_DATA_16_ACCEL_Y_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_16_ACCEL_Y_LSB__REG

#define BMI160_USER_DATA_16_ACCEL_Y_LSB__REG   (BMI160_USER_DATA_16_ADDR)

Referenced by bmi160_read_accel_y().

§ BMI160_USER_DATA_17_ACCEL_Y_MSB__POS

#define BMI160_USER_DATA_17_ACCEL_Y_MSB__POS   (0)

§ BMI160_USER_DATA_17_ACCEL_Y_MSB__LEN

#define BMI160_USER_DATA_17_ACCEL_Y_MSB__LEN   (8)

§ BMI160_USER_DATA_17_ACCEL_Y_MSB__MSK

#define BMI160_USER_DATA_17_ACCEL_Y_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_17_ACCEL_Y_MSB__REG

#define BMI160_USER_DATA_17_ACCEL_Y_MSB__REG   (BMI160_USER_DATA_17_ADDR)

§ BMI160_USER_DATA_18_ACCEL_Z_LSB__POS

#define BMI160_USER_DATA_18_ACCEL_Z_LSB__POS   (0)

§ BMI160_USER_DATA_18_ACCEL_Z_LSB__LEN

#define BMI160_USER_DATA_18_ACCEL_Z_LSB__LEN   (8)

§ BMI160_USER_DATA_18_ACCEL_Z_LSB__MSK

#define BMI160_USER_DATA_18_ACCEL_Z_LSB__MSK   (0xFF)

§ BMI160_USER_DATA_18_ACCEL_Z_LSB__REG

#define BMI160_USER_DATA_18_ACCEL_Z_LSB__REG   (BMI160_USER_DATA_18_ADDR)

Referenced by bmi160_read_accel_z().

§ BMI160_USER_DATA_19_ACCEL_Z_MSB__POS

#define BMI160_USER_DATA_19_ACCEL_Z_MSB__POS   (0)

§ BMI160_USER_DATA_19_ACCEL_Z_MSB__LEN

#define BMI160_USER_DATA_19_ACCEL_Z_MSB__LEN   (8)

§ BMI160_USER_DATA_19_ACCEL_Z_MSB__MSK

#define BMI160_USER_DATA_19_ACCEL_Z_MSB__MSK   (0xFF)

§ BMI160_USER_DATA_19_ACCEL_Z_MSB__REG

#define BMI160_USER_DATA_19_ACCEL_Z_MSB__REG   (BMI160_USER_DATA_19_ADDR)

§ BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__POS

#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__POS   (0)

§ BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__LEN

#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__LEN   (8)

§ BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__MSK

#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__MSK   (0xFF)

§ BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__REG

#define BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__REG   (BMI160_USER_SENSORTIME_0_ADDR)

Referenced by bmi160_get_sensor_time().

§ BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__POS

#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__POS   (0)

§ BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__LEN

#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__LEN   (8)

§ BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__MSK

#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__MSK   (0xFF)

§ BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__REG

#define BMI160_USER_SENSORTIME_1_SENSOR_TIME_MSB__REG   (BMI160_USER_SENSORTIME_1_ADDR)

§ BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__POS

#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__POS   (0)

§ BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__LEN

#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__LEN   (8)

§ BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__MSK

#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__MSK   (0xFF)

§ BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__REG

#define BMI160_USER_SENSORTIME_2_SENSOR_TIME_MSB__REG   (BMI160_USER_SENSORTIME_2_ADDR)

§ BMI160_USER_STAT_GYRO_SELFTEST_OK__POS

#define BMI160_USER_STAT_GYRO_SELFTEST_OK__POS   (1)

§ BMI160_USER_STAT_GYRO_SELFTEST_OK__LEN

#define BMI160_USER_STAT_GYRO_SELFTEST_OK__LEN   (1)

§ BMI160_USER_STAT_GYRO_SELFTEST_OK__MSK

#define BMI160_USER_STAT_GYRO_SELFTEST_OK__MSK   (0x02)

§ BMI160_USER_STAT_GYRO_SELFTEST_OK__REG

#define BMI160_USER_STAT_GYRO_SELFTEST_OK__REG   (BMI160_USER_STAT_ADDR)

§ BMI160_USER_STAT_MAG_MANUAL_OPERATION__POS

#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__POS   (2)

§ BMI160_USER_STAT_MAG_MANUAL_OPERATION__LEN

#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__LEN   (1)

§ BMI160_USER_STAT_MAG_MANUAL_OPERATION__MSK

#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__MSK   (0x04)

§ BMI160_USER_STAT_MAG_MANUAL_OPERATION__REG

#define BMI160_USER_STAT_MAG_MANUAL_OPERATION__REG   (BMI160_USER_STAT_ADDR)

§ BMI160_USER_STAT_FOC_RDY__POS

#define BMI160_USER_STAT_FOC_RDY__POS   (3)

§ BMI160_USER_STAT_FOC_RDY__LEN

#define BMI160_USER_STAT_FOC_RDY__LEN   (1)

§ BMI160_USER_STAT_FOC_RDY__MSK

#define BMI160_USER_STAT_FOC_RDY__MSK   (0x08)

§ BMI160_USER_STAT_FOC_RDY__REG

#define BMI160_USER_STAT_FOC_RDY__REG   (BMI160_USER_STAT_ADDR)

Referenced by bmi160_get_foc_rdy().

§ BMI160_USER_STAT_NVM_RDY__POS

#define BMI160_USER_STAT_NVM_RDY__POS   (4)

§ BMI160_USER_STAT_NVM_RDY__LEN

#define BMI160_USER_STAT_NVM_RDY__LEN   (1)

§ BMI160_USER_STAT_NVM_RDY__MSK

#define BMI160_USER_STAT_NVM_RDY__MSK   (0x10)

§ BMI160_USER_STAT_NVM_RDY__REG

#define BMI160_USER_STAT_NVM_RDY__REG   (BMI160_USER_STAT_ADDR)

Referenced by bmi160_get_nvm_rdy().

§ BMI160_USER_STAT_DATA_RDY_MAG__POS

#define BMI160_USER_STAT_DATA_RDY_MAG__POS   (5)

§ BMI160_USER_STAT_DATA_RDY_MAG__LEN

#define BMI160_USER_STAT_DATA_RDY_MAG__LEN   (1)

§ BMI160_USER_STAT_DATA_RDY_MAG__MSK

#define BMI160_USER_STAT_DATA_RDY_MAG__MSK   (0x20)

§ BMI160_USER_STAT_DATA_RDY_MAG__REG

#define BMI160_USER_STAT_DATA_RDY_MAG__REG   (BMI160_USER_STAT_ADDR)

Referenced by bmi160_get_data_rdy_mag().

§ BMI160_USER_STAT_DATA_RDY_GYRO__POS

#define BMI160_USER_STAT_DATA_RDY_GYRO__POS   (6)

§ BMI160_USER_STAT_DATA_RDY_GYRO__LEN

#define BMI160_USER_STAT_DATA_RDY_GYRO__LEN   (1)

§ BMI160_USER_STAT_DATA_RDY_GYRO__MSK

#define BMI160_USER_STAT_DATA_RDY_GYRO__MSK   (0x40)

§ BMI160_USER_STAT_DATA_RDY_GYRO__REG

#define BMI160_USER_STAT_DATA_RDY_GYRO__REG   (BMI160_USER_STAT_ADDR)

§ BMI160_USER_STAT_DATA_RDY_ACCEL__POS

#define BMI160_USER_STAT_DATA_RDY_ACCEL__POS   (7)

§ BMI160_USER_STAT_DATA_RDY_ACCEL__LEN

#define BMI160_USER_STAT_DATA_RDY_ACCEL__LEN   (1)

§ BMI160_USER_STAT_DATA_RDY_ACCEL__MSK

#define BMI160_USER_STAT_DATA_RDY_ACCEL__MSK   (0x80)

§ BMI160_USER_STAT_DATA_RDY_ACCEL__REG

#define BMI160_USER_STAT_DATA_RDY_ACCEL__REG   (BMI160_USER_STAT_ADDR)

§ BMI160_USER_INTR_STAT_0_STEP_INTR__POS

#define BMI160_USER_INTR_STAT_0_STEP_INTR__POS   (0)

§ BMI160_USER_INTR_STAT_0_STEP_INTR__LEN

#define BMI160_USER_INTR_STAT_0_STEP_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_0_STEP_INTR__MSK

#define BMI160_USER_INTR_STAT_0_STEP_INTR__MSK   (0x01)

§ BMI160_USER_INTR_STAT_0_STEP_INTR__REG

#define BMI160_USER_INTR_STAT_0_STEP_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__POS

#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__POS   (1)

§ BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__LEN

#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__MSK

#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__MSK   (0x02)

§ BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__REG

#define BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_0_ANY_MOTION__POS

#define BMI160_USER_INTR_STAT_0_ANY_MOTION__POS   (2)

§ BMI160_USER_INTR_STAT_0_ANY_MOTION__LEN

#define BMI160_USER_INTR_STAT_0_ANY_MOTION__LEN   (1)

§ BMI160_USER_INTR_STAT_0_ANY_MOTION__MSK

#define BMI160_USER_INTR_STAT_0_ANY_MOTION__MSK   (0x04)

§ BMI160_USER_INTR_STAT_0_ANY_MOTION__REG

#define BMI160_USER_INTR_STAT_0_ANY_MOTION__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_0_PMU_TRIGGER__POS

#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__POS   3

§ BMI160_USER_INTR_STAT_0_PMU_TRIGGER__LEN

#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__LEN   (1)

§ BMI160_USER_INTR_STAT_0_PMU_TRIGGER__MSK

#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__MSK   (0x08)

§ BMI160_USER_INTR_STAT_0_PMU_TRIGGER__REG

#define BMI160_USER_INTR_STAT_0_PMU_TRIGGER__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__POS

#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__POS   4

§ BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__LEN

#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__MSK

#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__MSK   (0x10)

§ BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__REG

#define BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__POS

#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__POS   5

§ BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__LEN

#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__MSK

#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__MSK   (0x20)

§ BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__REG

#define BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_0_ORIENT__POS

#define BMI160_USER_INTR_STAT_0_ORIENT__POS   (6)

§ BMI160_USER_INTR_STAT_0_ORIENT__LEN

#define BMI160_USER_INTR_STAT_0_ORIENT__LEN   (1)

§ BMI160_USER_INTR_STAT_0_ORIENT__MSK

#define BMI160_USER_INTR_STAT_0_ORIENT__MSK   (0x40)

§ BMI160_USER_INTR_STAT_0_ORIENT__REG

#define BMI160_USER_INTR_STAT_0_ORIENT__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_0_FLAT__POS

#define BMI160_USER_INTR_STAT_0_FLAT__POS   (7)

§ BMI160_USER_INTR_STAT_0_FLAT__LEN

#define BMI160_USER_INTR_STAT_0_FLAT__LEN   (1)

§ BMI160_USER_INTR_STAT_0_FLAT__MSK

#define BMI160_USER_INTR_STAT_0_FLAT__MSK   (0x80)

§ BMI160_USER_INTR_STAT_0_FLAT__REG

#define BMI160_USER_INTR_STAT_0_FLAT__REG   (BMI160_USER_INTR_STAT_0_ADDR)

§ BMI160_USER_INTR_STAT_1_HIGH_G_INTR__POS

#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__POS   (2)

§ BMI160_USER_INTR_STAT_1_HIGH_G_INTR__LEN

#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_1_HIGH_G_INTR__MSK

#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__MSK   (0x04)

§ BMI160_USER_INTR_STAT_1_HIGH_G_INTR__REG

#define BMI160_USER_INTR_STAT_1_HIGH_G_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)

§ BMI160_USER_INTR_STAT_1_LOW_G_INTR__POS

#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__POS   (3)

§ BMI160_USER_INTR_STAT_1_LOW_G_INTR__LEN

#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_1_LOW_G_INTR__MSK

#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__MSK   (0x08)

§ BMI160_USER_INTR_STAT_1_LOW_G_INTR__REG

#define BMI160_USER_INTR_STAT_1_LOW_G_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)

§ BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__POS

#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__POS   (4)

§ BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__LEN

#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__MSK

#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__MSK   (0x10)

§ BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__REG

#define BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)

§ BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__POS

#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__POS   (5)

§ BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__LEN

#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__MSK

#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__MSK   (0x20)

§ BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__REG

#define BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)

§ BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__POS

#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__POS   (6)

§ BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__LEN

#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__MSK

#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__MSK   (0x40)

§ BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__REG

#define BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)

§ BMI160_USER_INTR_STAT_1_NOMOTION_INTR__POS

#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__POS   (7)

§ BMI160_USER_INTR_STAT_1_NOMOTION_INTR__LEN

#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__LEN   (1)

§ BMI160_USER_INTR_STAT_1_NOMOTION_INTR__MSK

#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__MSK   (0x80)

§ BMI160_USER_INTR_STAT_1_NOMOTION_INTR__REG

#define BMI160_USER_INTR_STAT_1_NOMOTION_INTR__REG   (BMI160_USER_INTR_STAT_1_ADDR)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__POS

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__POS   (0)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__LEN

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__LEN   (1)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__MSK

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__MSK   (0x01)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__REG

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__POS

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__POS   (1)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__LEN

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__LEN   (1)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__MSK

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__MSK   (0x02)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__REG

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__POS

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__POS   (2)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__LEN

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__LEN   (1)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__MSK

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__MSK   (0x04)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__REG

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__POS

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__POS   (3)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__LEN

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__LEN   (1)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__MSK

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__MSK   (0x08)

§ BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__REG

#define BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_X__POS

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__POS   (4)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_X__LEN

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__LEN   (1)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_X__MSK

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__MSK   (0x10)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_X__REG

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_X__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__POS

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__POS   (5)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__LEN

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__LEN   (1)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__MSK

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__MSK   (0x20)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__REG

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__POS

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__POS   (6)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__LEN

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__LEN   (1)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__MSK

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__MSK   (0x40)

§ BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__REG

#define BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2_TAP_SIGN__POS

#define BMI160_USER_INTR_STAT_2_TAP_SIGN__POS   (7)

§ BMI160_USER_INTR_STAT_2_TAP_SIGN__LEN

#define BMI160_USER_INTR_STAT_2_TAP_SIGN__LEN   (1)

§ BMI160_USER_INTR_STAT_2_TAP_SIGN__MSK

#define BMI160_USER_INTR_STAT_2_TAP_SIGN__MSK   (0x80)

§ BMI160_USER_INTR_STAT_2_TAP_SIGN__REG

#define BMI160_USER_INTR_STAT_2_TAP_SIGN__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_2__POS

#define BMI160_USER_INTR_STAT_2__POS   (0)

§ BMI160_USER_INTR_STAT_2__LEN

#define BMI160_USER_INTR_STAT_2__LEN   (8)

§ BMI160_USER_INTR_STAT_2__MSK

#define BMI160_USER_INTR_STAT_2__MSK   (0xFF)

§ BMI160_USER_INTR_STAT_2__REG

#define BMI160_USER_INTR_STAT_2__REG   (BMI160_USER_INTR_STAT_2_ADDR)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__POS

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__POS   (0)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__LEN

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__LEN   (1)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__MSK

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__MSK   (0x01)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__REG

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__REG   (BMI160_USER_INTR_STAT_3_ADDR)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__POS

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__POS   (1)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__LEN

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__LEN   (1)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__MSK

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__MSK   (0x02)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__REG

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__REG   (BMI160_USER_INTR_STAT_3_ADDR)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__POS

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__POS   (2)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__LEN

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__LEN   (1)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__MSK

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__MSK   (0x04)

§ BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__REG

#define BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__REG   (BMI160_USER_INTR_STAT_3_ADDR)

§ BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__POS

#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__POS   (3)

§ BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__LEN

#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__LEN   (1)

§ BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__MSK

#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__MSK   (0x08)

§ BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__REG

#define BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__REG   (BMI160_USER_INTR_STAT_3_ADDR)

§ BMI160_USER_INTR_STAT_3_ORIENT_XY__POS

#define BMI160_USER_INTR_STAT_3_ORIENT_XY__POS   (4)

§ BMI160_USER_INTR_STAT_3_ORIENT_XY__LEN

#define BMI160_USER_INTR_STAT_3_ORIENT_XY__LEN   (2)

§ BMI160_USER_INTR_STAT_3_ORIENT_XY__MSK

#define BMI160_USER_INTR_STAT_3_ORIENT_XY__MSK   (0x30)

§ BMI160_USER_INTR_STAT_3_ORIENT_XY__REG

#define BMI160_USER_INTR_STAT_3_ORIENT_XY__REG   (BMI160_USER_INTR_STAT_3_ADDR)

§ BMI160_USER_INTR_STAT_3_ORIENT_Z__POS

#define BMI160_USER_INTR_STAT_3_ORIENT_Z__POS   (6)

§ BMI160_USER_INTR_STAT_3_ORIENT_Z__LEN

#define BMI160_USER_INTR_STAT_3_ORIENT_Z__LEN   (1)

§ BMI160_USER_INTR_STAT_3_ORIENT_Z__MSK

#define BMI160_USER_INTR_STAT_3_ORIENT_Z__MSK   (0x40)

§ BMI160_USER_INTR_STAT_3_ORIENT_Z__REG

#define BMI160_USER_INTR_STAT_3_ORIENT_Z__REG   (BMI160_USER_INTR_STAT_3_ADDR)

§ BMI160_USER_INTR_STAT_3_FLAT__POS

#define BMI160_USER_INTR_STAT_3_FLAT__POS   (7)

§ BMI160_USER_INTR_STAT_3_FLAT__LEN

#define BMI160_USER_INTR_STAT_3_FLAT__LEN   (1)

§ BMI160_USER_INTR_STAT_3_FLAT__MSK

#define BMI160_USER_INTR_STAT_3_FLAT__MSK   (0x80)

§ BMI160_USER_INTR_STAT_3_FLAT__REG

#define BMI160_USER_INTR_STAT_3_FLAT__REG   (BMI160_USER_INTR_STAT_3_ADDR)

Referenced by bmi160_get_stat3_flat().

§ BMI160_USER_INTR_STAT_3__POS

#define BMI160_USER_INTR_STAT_3__POS   (0)

§ BMI160_USER_INTR_STAT_3__LEN

#define BMI160_USER_INTR_STAT_3__LEN   (8)

§ BMI160_USER_INTR_STAT_3__MSK

#define BMI160_USER_INTR_STAT_3__MSK   (0xFF)

§ BMI160_USER_INTR_STAT_3__REG

#define BMI160_USER_INTR_STAT_3__REG   (BMI160_USER_INTR_STAT_3_ADDR)

§ BMI160_USER_TEMP_LSB_VALUE__POS

#define BMI160_USER_TEMP_LSB_VALUE__POS   (0)

§ BMI160_USER_TEMP_LSB_VALUE__LEN

#define BMI160_USER_TEMP_LSB_VALUE__LEN   (8)

§ BMI160_USER_TEMP_LSB_VALUE__MSK

#define BMI160_USER_TEMP_LSB_VALUE__MSK   (0xFF)

§ BMI160_USER_TEMP_LSB_VALUE__REG

#define BMI160_USER_TEMP_LSB_VALUE__REG   (BMI160_USER_TEMPERATURE_0_ADDR)

Referenced by bmi160_get_temp().

§ BMI160_USER_TEMP_MSB_VALUE__POS

#define BMI160_USER_TEMP_MSB_VALUE__POS   (0)

§ BMI160_USER_TEMP_MSB_VALUE__LEN

#define BMI160_USER_TEMP_MSB_VALUE__LEN   (8)

§ BMI160_USER_TEMP_MSB_VALUE__MSK

#define BMI160_USER_TEMP_MSB_VALUE__MSK   (0xFF)

§ BMI160_USER_TEMP_MSB_VALUE__REG

#define BMI160_USER_TEMP_MSB_VALUE__REG   (BMI160_USER_TEMPERATURE_1_ADDR)

§ BMI160_USER_FIFO_BYTE_COUNTER_LSB__POS

#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__POS   (0)

§ BMI160_USER_FIFO_BYTE_COUNTER_LSB__LEN

#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__LEN   (8)

§ BMI160_USER_FIFO_BYTE_COUNTER_LSB__MSK

#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__MSK   (0xFF)

§ BMI160_USER_FIFO_BYTE_COUNTER_LSB__REG

#define BMI160_USER_FIFO_BYTE_COUNTER_LSB__REG   (BMI160_USER_FIFO_LENGTH_0_ADDR)

Referenced by bmi160_fifo_length().

§ BMI160_USER_FIFO_BYTE_COUNTER_MSB__POS

#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__POS   (0)

§ BMI160_USER_FIFO_BYTE_COUNTER_MSB__LEN

#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__LEN   3

§ BMI160_USER_FIFO_BYTE_COUNTER_MSB__MSK

#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__MSK   (0x07)

§ BMI160_USER_FIFO_BYTE_COUNTER_MSB__REG

#define BMI160_USER_FIFO_BYTE_COUNTER_MSB__REG   (BMI160_USER_FIFO_LENGTH_1_ADDR)

§ BMI160_USER_FIFO_DATA__POS

#define BMI160_USER_FIFO_DATA__POS   (0)

§ BMI160_USER_FIFO_DATA__LEN

#define BMI160_USER_FIFO_DATA__LEN   (8)

§ BMI160_USER_FIFO_DATA__MSK

#define BMI160_USER_FIFO_DATA__MSK   (0xFF)

§ BMI160_USER_FIFO_DATA__REG

#define BMI160_USER_FIFO_DATA__REG   (BMI160_USER_FIFO_DATA_ADDR)

Referenced by bmi160_fifo_data().

§ BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__POS

#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__POS   (0)

§ BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__LEN

#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__LEN   (4)

§ BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__MSK

#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__MSK   (0x0F)

§ BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__REG

#define BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__REG   (BMI160_USER_ACCEL_CONFIG_ADDR)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_BW__POS

#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__POS   (4)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_BW__LEN

#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__LEN   (3)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_BW__MSK

#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__MSK   (0x70)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_BW__REG

#define BMI160_USER_ACCEL_CONFIG_ACCEL_BW__REG   (BMI160_USER_ACCEL_CONFIG_ADDR)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__POS

#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__POS   (7)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__LEN

#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__LEN   (1)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__MSK

#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__MSK   (0x80)

§ BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__REG

#define BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__REG   (BMI160_USER_ACCEL_CONFIG_ADDR)

§ BMI160_USER_ACCEL_RANGE__POS

#define BMI160_USER_ACCEL_RANGE__POS   (0)

§ BMI160_USER_ACCEL_RANGE__LEN

#define BMI160_USER_ACCEL_RANGE__LEN   (4)

§ BMI160_USER_ACCEL_RANGE__MSK

#define BMI160_USER_ACCEL_RANGE__MSK   (0x0F)

§ BMI160_USER_ACCEL_RANGE__REG

#define BMI160_USER_ACCEL_RANGE__REG   (BMI160_USER_ACCEL_RANGE_ADDR)

§ BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__POS

#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__POS   (0)

§ BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__LEN

#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__LEN   (4)

§ BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__MSK

#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__MSK   (0x0F)

§ BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__REG

#define BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__REG   (BMI160_USER_GYRO_CONFIG_ADDR)

§ BMI160_USER_GYRO_CONFIG_BW__POS

#define BMI160_USER_GYRO_CONFIG_BW__POS   (4)

§ BMI160_USER_GYRO_CONFIG_BW__LEN

#define BMI160_USER_GYRO_CONFIG_BW__LEN   (2)

§ BMI160_USER_GYRO_CONFIG_BW__MSK

#define BMI160_USER_GYRO_CONFIG_BW__MSK   (0x30)

§ BMI160_USER_GYRO_CONFIG_BW__REG

#define BMI160_USER_GYRO_CONFIG_BW__REG   (BMI160_USER_GYRO_CONFIG_ADDR)

§ BMI160_USER_GYRO_RANGE__POS

#define BMI160_USER_GYRO_RANGE__POS   (0)

§ BMI160_USER_GYRO_RANGE__LEN

#define BMI160_USER_GYRO_RANGE__LEN   (3)

§ BMI160_USER_GYRO_RANGE__MSK

#define BMI160_USER_GYRO_RANGE__MSK   (0x07)

§ BMI160_USER_GYRO_RANGE__REG

#define BMI160_USER_GYRO_RANGE__REG   (BMI160_USER_GYRO_RANGE_ADDR)

§ BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__POS

#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__POS   (0)

§ BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__LEN

#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__LEN   (4)

§ BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__MSK

#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__MSK   (0x0F)

§ BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__REG

#define BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__REG   (BMI160_USER_MAG_CONFIG_ADDR)

§ BMI160_USER_FIFO_DOWN_GYRO__POS

#define BMI160_USER_FIFO_DOWN_GYRO__POS   (0)

§ BMI160_USER_FIFO_DOWN_GYRO__LEN

#define BMI160_USER_FIFO_DOWN_GYRO__LEN   (3)

§ BMI160_USER_FIFO_DOWN_GYRO__MSK

#define BMI160_USER_FIFO_DOWN_GYRO__MSK   (0x07)

§ BMI160_USER_FIFO_DOWN_GYRO__REG

#define BMI160_USER_FIFO_DOWN_GYRO__REG   (BMI160_USER_FIFO_DOWN_ADDR)

§ BMI160_USER_FIFO_FILTER_GYRO__POS

#define BMI160_USER_FIFO_FILTER_GYRO__POS   (3)

§ BMI160_USER_FIFO_FILTER_GYRO__LEN

#define BMI160_USER_FIFO_FILTER_GYRO__LEN   (1)

§ BMI160_USER_FIFO_FILTER_GYRO__MSK

#define BMI160_USER_FIFO_FILTER_GYRO__MSK   (0x08)

§ BMI160_USER_FIFO_FILTER_GYRO__REG

#define BMI160_USER_FIFO_FILTER_GYRO__REG   (BMI160_USER_FIFO_DOWN_ADDR)

§ BMI160_USER_FIFO_DOWN_ACCEL__POS

#define BMI160_USER_FIFO_DOWN_ACCEL__POS   (4)

§ BMI160_USER_FIFO_DOWN_ACCEL__LEN

#define BMI160_USER_FIFO_DOWN_ACCEL__LEN   (3)

§ BMI160_USER_FIFO_DOWN_ACCEL__MSK

#define BMI160_USER_FIFO_DOWN_ACCEL__MSK   (0x70)

§ BMI160_USER_FIFO_DOWN_ACCEL__REG

#define BMI160_USER_FIFO_DOWN_ACCEL__REG   (BMI160_USER_FIFO_DOWN_ADDR)

§ BMI160_USER_FIFO_FILTER_ACCEL__POS

#define BMI160_USER_FIFO_FILTER_ACCEL__POS   (7)

§ BMI160_USER_FIFO_FILTER_ACCEL__LEN

#define BMI160_USER_FIFO_FILTER_ACCEL__LEN   (1)

§ BMI160_USER_FIFO_FILTER_ACCEL__MSK

#define BMI160_USER_FIFO_FILTER_ACCEL__MSK   (0x80)

§ BMI160_USER_FIFO_FILTER_ACCEL__REG

#define BMI160_USER_FIFO_FILTER_ACCEL__REG   (BMI160_USER_FIFO_DOWN_ADDR)

§ BMI160_USER_FIFO_WM__POS

#define BMI160_USER_FIFO_WM__POS   (0)

§ BMI160_USER_FIFO_WM__LEN

#define BMI160_USER_FIFO_WM__LEN   (8)

§ BMI160_USER_FIFO_WM__MSK

#define BMI160_USER_FIFO_WM__MSK   (0xFF)

§ BMI160_USER_FIFO_WM__REG

#define BMI160_USER_FIFO_WM__REG   (BMI160_USER_FIFO_CONFIG_0_ADDR)

§ BMI160_USER_FIFO_TIME_ENABLE__POS

#define BMI160_USER_FIFO_TIME_ENABLE__POS   (1)

§ BMI160_USER_FIFO_TIME_ENABLE__LEN

#define BMI160_USER_FIFO_TIME_ENABLE__LEN   (1)

§ BMI160_USER_FIFO_TIME_ENABLE__MSK

#define BMI160_USER_FIFO_TIME_ENABLE__MSK   (0x02)

§ BMI160_USER_FIFO_TIME_ENABLE__REG

#define BMI160_USER_FIFO_TIME_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)

§ BMI160_USER_FIFO_TAG_INTR2_ENABLE__POS

#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__POS   (2)

§ BMI160_USER_FIFO_TAG_INTR2_ENABLE__LEN

#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__LEN   (1)

§ BMI160_USER_FIFO_TAG_INTR2_ENABLE__MSK

#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__MSK   (0x04)

§ BMI160_USER_FIFO_TAG_INTR2_ENABLE__REG

#define BMI160_USER_FIFO_TAG_INTR2_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)

§ BMI160_USER_FIFO_TAG_INTR1_ENABLE__POS

#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__POS   (3)

§ BMI160_USER_FIFO_TAG_INTR1_ENABLE__LEN

#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__LEN   (1)

§ BMI160_USER_FIFO_TAG_INTR1_ENABLE__MSK

#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__MSK   (0x08)

§ BMI160_USER_FIFO_TAG_INTR1_ENABLE__REG

#define BMI160_USER_FIFO_TAG_INTR1_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)

§ BMI160_USER_FIFO_HEADER_ENABLE__POS

#define BMI160_USER_FIFO_HEADER_ENABLE__POS   (4)

§ BMI160_USER_FIFO_HEADER_ENABLE__LEN

#define BMI160_USER_FIFO_HEADER_ENABLE__LEN   (1)

§ BMI160_USER_FIFO_HEADER_ENABLE__MSK

#define BMI160_USER_FIFO_HEADER_ENABLE__MSK   (0x10)

§ BMI160_USER_FIFO_HEADER_ENABLE__REG

#define BMI160_USER_FIFO_HEADER_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)

§ BMI160_USER_FIFO_MAG_ENABLE__POS

#define BMI160_USER_FIFO_MAG_ENABLE__POS   (5)

§ BMI160_USER_FIFO_MAG_ENABLE__LEN

#define BMI160_USER_FIFO_MAG_ENABLE__LEN   (1)

§ BMI160_USER_FIFO_MAG_ENABLE__MSK

#define BMI160_USER_FIFO_MAG_ENABLE__MSK   (0x20)

§ BMI160_USER_FIFO_MAG_ENABLE__REG

#define BMI160_USER_FIFO_MAG_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)

§ BMI160_USER_FIFO_ACCEL_ENABLE__POS

#define BMI160_USER_FIFO_ACCEL_ENABLE__POS   (6)

§ BMI160_USER_FIFO_ACCEL_ENABLE__LEN

#define BMI160_USER_FIFO_ACCEL_ENABLE__LEN   (1)

§ BMI160_USER_FIFO_ACCEL_ENABLE__MSK

#define BMI160_USER_FIFO_ACCEL_ENABLE__MSK   (0x40)

§ BMI160_USER_FIFO_ACCEL_ENABLE__REG

#define BMI160_USER_FIFO_ACCEL_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)

§ BMI160_USER_FIFO_GYRO_ENABLE__POS

#define BMI160_USER_FIFO_GYRO_ENABLE__POS   (7)

§ BMI160_USER_FIFO_GYRO_ENABLE__LEN

#define BMI160_USER_FIFO_GYRO_ENABLE__LEN   (1)

§ BMI160_USER_FIFO_GYRO_ENABLE__MSK

#define BMI160_USER_FIFO_GYRO_ENABLE__MSK   (0x80)

§ BMI160_USER_FIFO_GYRO_ENABLE__REG

#define BMI160_USER_FIFO_GYRO_ENABLE__REG   (BMI160_USER_FIFO_CONFIG_1_ADDR)

§ BMI160_USER_I2C_DEVICE_ADDR__POS

#define BMI160_USER_I2C_DEVICE_ADDR__POS   (1)

§ BMI160_USER_I2C_DEVICE_ADDR__LEN

#define BMI160_USER_I2C_DEVICE_ADDR__LEN   (7)

§ BMI160_USER_I2C_DEVICE_ADDR__MSK

#define BMI160_USER_I2C_DEVICE_ADDR__MSK   (0xFE)

§ BMI160_USER_I2C_DEVICE_ADDR__REG

#define BMI160_USER_I2C_DEVICE_ADDR__REG   (BMI160_USER_MAG_IF_0_ADDR)

§ BMI160_USER_MAG_BURST__POS

#define BMI160_USER_MAG_BURST__POS   (0)

§ BMI160_USER_MAG_BURST__LEN

#define BMI160_USER_MAG_BURST__LEN   (2)

§ BMI160_USER_MAG_BURST__MSK

#define BMI160_USER_MAG_BURST__MSK   (0x03)

§ BMI160_USER_MAG_BURST__REG

#define BMI160_USER_MAG_BURST__REG   (BMI160_USER_MAG_IF_1_ADDR)

§ BMI160_USER_MAG_OFFSET__POS

#define BMI160_USER_MAG_OFFSET__POS   (2)

§ BMI160_USER_MAG_OFFSET__LEN

#define BMI160_USER_MAG_OFFSET__LEN   (4)

§ BMI160_USER_MAG_OFFSET__MSK

#define BMI160_USER_MAG_OFFSET__MSK   (0x3C)

§ BMI160_USER_MAG_OFFSET__REG

#define BMI160_USER_MAG_OFFSET__REG   (BMI160_USER_MAG_IF_1_ADDR)

§ BMI160_USER_MAG_MANUAL_ENABLE__POS

#define BMI160_USER_MAG_MANUAL_ENABLE__POS   (7)

§ BMI160_USER_MAG_MANUAL_ENABLE__LEN

#define BMI160_USER_MAG_MANUAL_ENABLE__LEN   (1)

§ BMI160_USER_MAG_MANUAL_ENABLE__MSK

#define BMI160_USER_MAG_MANUAL_ENABLE__MSK   (0x80)

§ BMI160_USER_MAG_MANUAL_ENABLE__REG

#define BMI160_USER_MAG_MANUAL_ENABLE__REG   (BMI160_USER_MAG_IF_1_ADDR)

§ BMI160_USER_READ_ADDR__POS

#define BMI160_USER_READ_ADDR__POS   (0)

§ BMI160_USER_READ_ADDR__LEN

#define BMI160_USER_READ_ADDR__LEN   (8)

§ BMI160_USER_READ_ADDR__MSK

#define BMI160_USER_READ_ADDR__MSK   (0xFF)

§ BMI160_USER_READ_ADDR__REG

#define BMI160_USER_READ_ADDR__REG   (BMI160_USER_MAG_IF_2_ADDR)

§ BMI160_USER_WRITE_ADDR__POS

#define BMI160_USER_WRITE_ADDR__POS   (0)

§ BMI160_USER_WRITE_ADDR__LEN

#define BMI160_USER_WRITE_ADDR__LEN   (8)

§ BMI160_USER_WRITE_ADDR__MSK

#define BMI160_USER_WRITE_ADDR__MSK   (0xFF)

§ BMI160_USER_WRITE_ADDR__REG

#define BMI160_USER_WRITE_ADDR__REG   (BMI160_USER_MAG_IF_3_ADDR)

§ BMI160_USER_WRITE_DATA__POS

#define BMI160_USER_WRITE_DATA__POS   (0)

§ BMI160_USER_WRITE_DATA__LEN

#define BMI160_USER_WRITE_DATA__LEN   (8)

§ BMI160_USER_WRITE_DATA__MSK

#define BMI160_USER_WRITE_DATA__MSK   (0xFF)

§ BMI160_USER_WRITE_DATA__REG

#define BMI160_USER_WRITE_DATA__REG   (BMI160_USER_MAG_IF_4_ADDR)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__POS   (0)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__MSK   (0x01)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__POS   (1)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__MSK   (0x02)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__POS   (2)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__MSK   (0x04)

§ BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)

§ BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__POS   (4)

§ BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__MSK   (0x10)

§ BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)

§ BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__POS   (5)

§ BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__MSK   (0x20)

§ BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)

§ BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__POS   (6)

§ BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__MSK   (0x40)

§ BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)

§ BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__POS   (7)

§ BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__MSK   (0x80)

§ BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__REG   (BMI160_USER_INTR_ENABLE_0_ADDR)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__POS   (0)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__MSK   (0x01)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__POS   (1)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__MSK   (0x02)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__POS   (2)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__MSK   (0x04)

§ BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)

§ BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__POS   (3)

§ BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__MSK   (0x08)

§ BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)

§ BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__POS   (4)

§ BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__MSK   (0x10)

§ BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)

§ BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__POS   (5)

§ BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__MSK   (0x20)

§ BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)

§ BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__POS   (6)

§ BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__MSK   (0x40)

§ BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__REG   (BMI160_USER_INTR_ENABLE_1_ADDR)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__POS   (0)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__MSK   (0x01)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__POS   (1)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__MSK   (0x02)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__POS   (2)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__MSK   (0x04)

§ BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)

§ BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__POS

#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__POS   (3)

§ BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__LEN

#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__MSK

#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__MSK   (0x08)

§ BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__REG

#define BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__REG   (BMI160_USER_INTR_ENABLE_2_ADDR)

§ BMI160_USER_INTR1_EDGE_CTRL__POS

#define BMI160_USER_INTR1_EDGE_CTRL__POS   (0)

§ BMI160_USER_INTR1_EDGE_CTRL__LEN

#define BMI160_USER_INTR1_EDGE_CTRL__LEN   (1)

§ BMI160_USER_INTR1_EDGE_CTRL__MSK

#define BMI160_USER_INTR1_EDGE_CTRL__MSK   (0x01)

§ BMI160_USER_INTR1_EDGE_CTRL__REG

#define BMI160_USER_INTR1_EDGE_CTRL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR1_LEVEL__POS

#define BMI160_USER_INTR1_LEVEL__POS   (1)

§ BMI160_USER_INTR1_LEVEL__LEN

#define BMI160_USER_INTR1_LEVEL__LEN   (1)

§ BMI160_USER_INTR1_LEVEL__MSK

#define BMI160_USER_INTR1_LEVEL__MSK   (0x02)

§ BMI160_USER_INTR1_LEVEL__REG

#define BMI160_USER_INTR1_LEVEL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR1_OUTPUT_TYPE__POS

#define BMI160_USER_INTR1_OUTPUT_TYPE__POS   (2)

§ BMI160_USER_INTR1_OUTPUT_TYPE__LEN

#define BMI160_USER_INTR1_OUTPUT_TYPE__LEN   (1)

§ BMI160_USER_INTR1_OUTPUT_TYPE__MSK

#define BMI160_USER_INTR1_OUTPUT_TYPE__MSK   (0x04)

§ BMI160_USER_INTR1_OUTPUT_TYPE__REG

#define BMI160_USER_INTR1_OUTPUT_TYPE__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR1_OUTPUT_ENABLE__POS

#define BMI160_USER_INTR1_OUTPUT_ENABLE__POS   (3)

§ BMI160_USER_INTR1_OUTPUT_ENABLE__LEN

#define BMI160_USER_INTR1_OUTPUT_ENABLE__LEN   (1)

§ BMI160_USER_INTR1_OUTPUT_ENABLE__MSK

#define BMI160_USER_INTR1_OUTPUT_ENABLE__MSK   (0x08)

§ BMI160_USER_INTR1_OUTPUT_ENABLE__REG

#define BMI160_USER_INTR1_OUTPUT_ENABLE__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR2_EDGE_CTRL__POS

#define BMI160_USER_INTR2_EDGE_CTRL__POS   (4)

§ BMI160_USER_INTR2_EDGE_CTRL__LEN

#define BMI160_USER_INTR2_EDGE_CTRL__LEN   (1)

§ BMI160_USER_INTR2_EDGE_CTRL__MSK

#define BMI160_USER_INTR2_EDGE_CTRL__MSK   (0x10)

§ BMI160_USER_INTR2_EDGE_CTRL__REG

#define BMI160_USER_INTR2_EDGE_CTRL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR2_LEVEL__POS

#define BMI160_USER_INTR2_LEVEL__POS   (5)

§ BMI160_USER_INTR2_LEVEL__LEN

#define BMI160_USER_INTR2_LEVEL__LEN   (1)

§ BMI160_USER_INTR2_LEVEL__MSK

#define BMI160_USER_INTR2_LEVEL__MSK   (0x20)

§ BMI160_USER_INTR2_LEVEL__REG

#define BMI160_USER_INTR2_LEVEL__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR2_OUTPUT_TYPE__POS

#define BMI160_USER_INTR2_OUTPUT_TYPE__POS   (6)

§ BMI160_USER_INTR2_OUTPUT_TYPE__LEN

#define BMI160_USER_INTR2_OUTPUT_TYPE__LEN   (1)

§ BMI160_USER_INTR2_OUTPUT_TYPE__MSK

#define BMI160_USER_INTR2_OUTPUT_TYPE__MSK   (0x40)

§ BMI160_USER_INTR2_OUTPUT_TYPE__REG

#define BMI160_USER_INTR2_OUTPUT_TYPE__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR2_OUTPUT_EN__POS

#define BMI160_USER_INTR2_OUTPUT_EN__POS   (7)

§ BMI160_USER_INTR2_OUTPUT_EN__LEN

#define BMI160_USER_INTR2_OUTPUT_EN__LEN   (1)

§ BMI160_USER_INTR2_OUTPUT_EN__MSK

#define BMI160_USER_INTR2_OUTPUT_EN__MSK   (0x80)

§ BMI160_USER_INTR2_OUTPUT_EN__REG

#define BMI160_USER_INTR2_OUTPUT_EN__REG   (BMI160_USER_INTR_OUT_CTRL_ADDR)

§ BMI160_USER_INTR_LATCH__POS

#define BMI160_USER_INTR_LATCH__POS   (0)

§ BMI160_USER_INTR_LATCH__LEN

#define BMI160_USER_INTR_LATCH__LEN   (4)

§ BMI160_USER_INTR_LATCH__MSK

#define BMI160_USER_INTR_LATCH__MSK   (0x0F)

§ BMI160_USER_INTR_LATCH__REG

#define BMI160_USER_INTR_LATCH__REG   (BMI160_USER_INTR_LATCH_ADDR)

§ BMI160_USER_INTR1_INPUT_ENABLE__POS

#define BMI160_USER_INTR1_INPUT_ENABLE__POS   (4)

§ BMI160_USER_INTR1_INPUT_ENABLE__LEN

#define BMI160_USER_INTR1_INPUT_ENABLE__LEN   (1)

§ BMI160_USER_INTR1_INPUT_ENABLE__MSK

#define BMI160_USER_INTR1_INPUT_ENABLE__MSK   (0x10)

§ BMI160_USER_INTR1_INPUT_ENABLE__REG

#define BMI160_USER_INTR1_INPUT_ENABLE__REG   (BMI160_USER_INTR_LATCH_ADDR)

§ BMI160_USER_INTR2_INPUT_ENABLE__POS

#define BMI160_USER_INTR2_INPUT_ENABLE__POS   (5)

§ BMI160_USER_INTR2_INPUT_ENABLE__LEN

#define BMI160_USER_INTR2_INPUT_ENABLE__LEN   (1)

§ BMI160_USER_INTR2_INPUT_ENABLE__MSK

#define BMI160_USER_INTR2_INPUT_ENABLE__MSK   (0x20)

§ BMI160_USER_INTR2_INPUT_ENABLE__REG

#define BMI160_USER_INTR2_INPUT_ENABLE__REG   (BMI160_USER_INTR_LATCH_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_LOW_G__POS

#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__POS   (0)

§ BMI160_USER_INTR_MAP_0_INTR1_LOW_G__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_LOW_G__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__MSK   (0x01)

§ BMI160_USER_INTR_MAP_0_INTR1_LOW_G__REG

#define BMI160_USER_INTR_MAP_0_INTR1_LOW_G__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__POS

#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__POS   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__MSK   (0x02)

§ BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__REG

#define BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__POS

#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__POS   (2)

§ BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__MSK   (0x04)

§ BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__REG

#define BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__POS

#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__POS   (3)

§ BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__MSK   (0x08)

§ BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__REG

#define BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__POS

#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__POS   (4)

§ BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__MSK   (0x10)

§ BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__REG

#define BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__POS

#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__POS   (5)

§ BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__MSK   (0x20)

§ BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__REG

#define BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_ORIENT__POS

#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__POS   (6)

§ BMI160_USER_INTR_MAP_0_INTR1_ORIENT__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_ORIENT__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__MSK   (0x40)

§ BMI160_USER_INTR_MAP_0_INTR1_ORIENT__REG

#define BMI160_USER_INTR_MAP_0_INTR1_ORIENT__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_0_INTR1_FLAT__POS

#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__POS   (7)

§ BMI160_USER_INTR_MAP_0_INTR1_FLAT__LEN

#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__LEN   (1)

§ BMI160_USER_INTR_MAP_0_INTR1_FLAT__MSK

#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__MSK   (0x80)

§ BMI160_USER_INTR_MAP_0_INTR1_FLAT__REG

#define BMI160_USER_INTR_MAP_0_INTR1_FLAT__REG   (BMI160_USER_INTR_MAP_0_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__POS

#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__POS   (0)

§ BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__LEN

#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__MSK

#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__MSK   (0x01)

§ BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__REG

#define BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__POS

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__POS   (1)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__LEN

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__MSK

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__MSK   (0x02)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__REG

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__POS

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__POS   (2)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__LEN

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__MSK

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__MSK   (0x04)

§ BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__REG

#define BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__POS

#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__POS   (3)

§ BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__LEN

#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__MSK

#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__MSK   (0x08)

§ BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__REG

#define BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__POS

#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__POS   (4)

§ BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__LEN

#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__MSK

#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__MSK   (0x10)

§ BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__REG

#define BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__POS

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__POS   (5)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__LEN

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__MSK

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__MSK   (0x20)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__REG

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__POS

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__POS   (6)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__LEN

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__MSK

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__MSK   (0x40)

§ BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__REG

#define BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__POS

#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__POS   (7)

§ BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__LEN

#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__LEN   (1)

§ BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__MSK

#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__MSK   (0x80)

§ BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__REG

#define BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__REG   (BMI160_USER_INTR_MAP_1_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_LOW_G__POS

#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__POS   (0)

§ BMI160_USER_INTR_MAP_2_INTR2_LOW_G__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_LOW_G__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__MSK   (0x01)

§ BMI160_USER_INTR_MAP_2_INTR2_LOW_G__REG

#define BMI160_USER_INTR_MAP_2_INTR2_LOW_G__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__POS

#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__POS   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__MSK   (0x02)

§ BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__REG

#define BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__POS

#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__POS   (2)

§ BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__MSK   (0x04)

§ BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__REG

#define BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__POS

#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__POS   (3)

§ BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__MSK   (0x08)

§ BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__REG

#define BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__POS

#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__POS   (4)

§ BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__MSK   (0x10)

§ BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__REG

#define BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__POS

#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__POS   (5)

§ BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__MSK   (0x20)

§ BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__REG

#define BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_ORIENT__POS

#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__POS   (6)

§ BMI160_USER_INTR_MAP_2_INTR2_ORIENT__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_ORIENT__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__MSK   (0x40)

§ BMI160_USER_INTR_MAP_2_INTR2_ORIENT__REG

#define BMI160_USER_INTR_MAP_2_INTR2_ORIENT__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_MAP_2_INTR2_FLAT__POS

#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__POS   (7)

§ BMI160_USER_INTR_MAP_2_INTR2_FLAT__LEN

#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__LEN   (1)

§ BMI160_USER_INTR_MAP_2_INTR2_FLAT__MSK

#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__MSK   (0x80)

§ BMI160_USER_INTR_MAP_2_INTR2_FLAT__REG

#define BMI160_USER_INTR_MAP_2_INTR2_FLAT__REG   (BMI160_USER_INTR_MAP_2_ADDR)

§ BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__POS

#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__POS   (3)

§ BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__LEN

#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__LEN   (1)

§ BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__MSK

#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__MSK   (0x08)

§ BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__REG

#define BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__REG   (BMI160_USER_INTR_DATA_0_ADDR)

§ BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__POS

#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__POS   (7)

§ BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__LEN

#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__LEN   (1)

§ BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__MSK

#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__MSK   (0x80)

§ BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__REG

#define BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__REG   (BMI160_USER_INTR_DATA_0_ADDR)

§ BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__POS

#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__POS   (7)

§ BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__LEN

#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__LEN   (1)

§ BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__MSK

#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__MSK   (0x80)

§ BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__REG

#define BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__REG   (BMI160_USER_INTR_DATA_1_ADDR)

§ BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__POS

#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__POS   (0)

§ BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__LEN

#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__LEN   (8)

§ BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__MSK

#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__MSK   (0xFF)

§ BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__REG

#define BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__REG   (BMI160_USER_INTR_LOWHIGH_0_ADDR)

§ BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__POS

#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__POS   (0)

§ BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__LEN

#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__LEN   (8)

§ BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__MSK

#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__MSK   (0xFF)

§ BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__REG

#define BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__REG   (BMI160_USER_INTR_LOWHIGH_1_ADDR)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__POS

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__POS   (0)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__LEN

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__LEN   (2)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__MSK

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__MSK   (0x03)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__REG

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__REG   (BMI160_USER_INTR_LOWHIGH_2_ADDR)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__POS

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__POS   (2)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__LEN

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__LEN   (1)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__MSK

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__MSK   (0x04)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__REG

#define BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__REG   (BMI160_USER_INTR_LOWHIGH_2_ADDR)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__POS

#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__POS   (6)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__LEN

#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__LEN   (2)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__MSK

#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__MSK   (0xC0)

§ BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__REG

#define BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__REG   (BMI160_USER_INTR_LOWHIGH_2_ADDR)

§ BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__POS

#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__POS   (0)

§ BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__LEN

#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__LEN   (8)

§ BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__MSK

#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__MSK   (0xFF)

§ BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__REG

#define BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__REG   (BMI160_USER_INTR_LOWHIGH_3_ADDR)

§ BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__POS

#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__POS   (0)

§ BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__LEN

#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__LEN   (8)

§ BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__MSK

#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__MSK   (0xFF)

§ BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__REG

#define BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__REG   (BMI160_USER_INTR_LOWHIGH_4_ADDR)

§ BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__POS

#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__POS   (0)

§ BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__LEN

#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__LEN   (2)

§ BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__MSK

#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__MSK   (0x03)

§ BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__REG

#define BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__REG   (BMI160_USER_INTR_MOTION_0_ADDR)

§ BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__POS

#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__POS   (2)

§ BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__LEN

#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__LEN   (6)

§ BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__MSK

#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__MSK   (0xFC)

§ BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__REG

#define BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__REG   (BMI160_USER_INTR_MOTION_0_ADDR)

§ BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__POS

#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__POS   (0)

§ BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__LEN

#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__LEN   (8)

§ BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__MSK

#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__MSK   (0xFF)

§ BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__REG

#define BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__REG   (BMI160_USER_INTR_MOTION_1_ADDR)

§ BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__POS

#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__POS   (0)

§ BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__LEN

#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__LEN   (8)

§ BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__MSK

#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__MSK   (0xFF)

§ BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__REG

#define BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__REG   (BMI160_USER_INTR_MOTION_2_ADDR)

§ BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__POS

#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__POS   (0)

§ BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__LEN

#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__LEN   (1)

§ BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__MSK

#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__MSK   (0x01)

§ BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__REG

#define BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__REG   (BMI160_USER_INTR_MOTION_3_ADDR)

§ BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__POS

#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__POS   (1)

§ BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__LEN

#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__LEN   (1)

§ BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__MSK

#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__MSK   (0x02)

§ BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__REG

#define BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__REG   (BMI160_USER_INTR_MOTION_3_ADDR)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__POS

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__POS   (2)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__LEN

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__LEN   (2)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__MSK

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__MSK   (0x0C)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__REG

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__REG   (BMI160_USER_INTR_MOTION_3_ADDR)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__POS

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__POS   (4)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__LEN

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__LEN   (2)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__MSK

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__MSK   (0x30)

§ BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__REG

#define BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__REG   (BMI160_USER_INTR_MOTION_3_ADDR)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__POS

#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__POS   (0)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__LEN

#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__LEN   (3)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__MSK

#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__MSK   (0x07)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__REG

#define BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__REG   (BMI160_USER_INTR_TAP_0_ADDR)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__POS

#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__POS   (6)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__LEN

#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__LEN   (1)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__MSK

#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__MSK   (0x40)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__REG

#define BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__REG   (BMI160_USER_INTR_TAP_0_ADDR)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__POS

#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__POS   (7)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__LEN

#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__LEN   (1)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__MSK

#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__MSK   (0x80)

§ BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__REG

#define BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__REG   (BMI160_USER_INTR_TAP_0_ADDR)

§ BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__POS

#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__POS   (0)

§ BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__LEN

#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__LEN   (5)

§ BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__MSK

#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__MSK   (0x1F)

§ BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__REG

#define BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__REG   (BMI160_USER_INTR_TAP_1_ADDR)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__POS

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__POS   (0)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__LEN

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__LEN   (2)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__MSK

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__MSK   (0x03)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__REG

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__REG   (BMI160_USER_INTR_ORIENT_0_ADDR)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__POS

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__POS   (2)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__LEN

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__LEN   (2)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__MSK

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__MSK   (0x0C)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__REG

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__REG   (BMI160_USER_INTR_ORIENT_0_ADDR)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__POS

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__POS   (4)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__LEN

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__LEN   (4)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__MSK

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__MSK   (0xF0)

§ BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__REG

#define BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__REG   (BMI160_USER_INTR_ORIENT_0_ADDR)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__POS

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__POS   (0)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__LEN

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__LEN   (6)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__MSK

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__MSK   (0x3F)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__REG

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__REG   (BMI160_USER_INTR_ORIENT_1_ADDR)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__POS

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__POS   (6)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__LEN

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__LEN   (1)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__MSK

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__MSK   (0x40)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__REG

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__REG   (BMI160_USER_INTR_ORIENT_1_ADDR)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__POS

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__POS   (7)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__LEN

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__LEN   (1)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__MSK

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__MSK   (0x80)

§ BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__REG

#define BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__REG   (BMI160_USER_INTR_ORIENT_1_ADDR)

§ BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__POS

#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__POS   (0)

§ BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__LEN

#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__LEN   (6)

§ BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__MSK

#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__MSK   (0x3F)

§ BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__REG

#define BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__REG   (BMI160_USER_INTR_FLAT_0_ADDR)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__POS

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__POS   (0)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__LEN

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__LEN   (4)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__MSK

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__MSK   (0x0F)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__REG

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__REG   (BMI160_USER_INTR_FLAT_1_ADDR)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__POS

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__POS   (4)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__LEN

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__LEN   (2)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__MSK

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__MSK   (0x30)

§ BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__REG

#define BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__REG   (BMI160_USER_INTR_FLAT_1_ADDR)

§ BMI160_USER_FOC_ACCEL_Z__POS

#define BMI160_USER_FOC_ACCEL_Z__POS   (0)

§ BMI160_USER_FOC_ACCEL_Z__LEN

#define BMI160_USER_FOC_ACCEL_Z__LEN   (2)

§ BMI160_USER_FOC_ACCEL_Z__MSK

#define BMI160_USER_FOC_ACCEL_Z__MSK   (0x03)

§ BMI160_USER_FOC_ACCEL_Z__REG

#define BMI160_USER_FOC_ACCEL_Z__REG   (BMI160_USER_FOC_CONFIG_ADDR)

§ BMI160_USER_FOC_ACCEL_Y__POS

#define BMI160_USER_FOC_ACCEL_Y__POS   (2)

§ BMI160_USER_FOC_ACCEL_Y__LEN

#define BMI160_USER_FOC_ACCEL_Y__LEN   (2)

§ BMI160_USER_FOC_ACCEL_Y__MSK

#define BMI160_USER_FOC_ACCEL_Y__MSK   (0x0C)

§ BMI160_USER_FOC_ACCEL_Y__REG

#define BMI160_USER_FOC_ACCEL_Y__REG   (BMI160_USER_FOC_CONFIG_ADDR)

§ BMI160_USER_FOC_ACCEL_X__POS

#define BMI160_USER_FOC_ACCEL_X__POS   (4)

§ BMI160_USER_FOC_ACCEL_X__LEN

#define BMI160_USER_FOC_ACCEL_X__LEN   (2)

§ BMI160_USER_FOC_ACCEL_X__MSK

#define BMI160_USER_FOC_ACCEL_X__MSK   (0x30)

§ BMI160_USER_FOC_ACCEL_X__REG

#define BMI160_USER_FOC_ACCEL_X__REG   (BMI160_USER_FOC_CONFIG_ADDR)

§ BMI160_USER_FOC_GYRO_ENABLE__POS

#define BMI160_USER_FOC_GYRO_ENABLE__POS   (6)

§ BMI160_USER_FOC_GYRO_ENABLE__LEN

#define BMI160_USER_FOC_GYRO_ENABLE__LEN   (1)

§ BMI160_USER_FOC_GYRO_ENABLE__MSK

#define BMI160_USER_FOC_GYRO_ENABLE__MSK   (0x40)

§ BMI160_USER_FOC_GYRO_ENABLE__REG

#define BMI160_USER_FOC_GYRO_ENABLE__REG   (BMI160_USER_FOC_CONFIG_ADDR)

§ BMI160_USER_CONFIG_NVM_PROG_ENABLE__POS

#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__POS   (1)

§ BMI160_USER_CONFIG_NVM_PROG_ENABLE__LEN

#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__LEN   (1)

§ BMI160_USER_CONFIG_NVM_PROG_ENABLE__MSK

#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__MSK   (0x02)

§ BMI160_USER_CONFIG_NVM_PROG_ENABLE__REG

#define BMI160_USER_CONFIG_NVM_PROG_ENABLE__REG   (BMI160_USER_CONFIG_ADDR)

§ BMI160_USER_IF_CONFIG_SPI3__POS

#define BMI160_USER_IF_CONFIG_SPI3__POS   (0)

§ BMI160_USER_IF_CONFIG_SPI3__LEN

#define BMI160_USER_IF_CONFIG_SPI3__LEN   (1)

§ BMI160_USER_IF_CONFIG_SPI3__MSK

#define BMI160_USER_IF_CONFIG_SPI3__MSK   (0x01)

§ BMI160_USER_IF_CONFIG_SPI3__REG

#define BMI160_USER_IF_CONFIG_SPI3__REG   (BMI160_USER_IF_CONFIG_ADDR)

Referenced by bmi160_get_spi3(), and bmi160_set_spi3().

§ BMI160_USER_IF_CONFIG_IF_MODE__POS

#define BMI160_USER_IF_CONFIG_IF_MODE__POS   (4)

§ BMI160_USER_IF_CONFIG_IF_MODE__LEN

#define BMI160_USER_IF_CONFIG_IF_MODE__LEN   (2)

§ BMI160_USER_IF_CONFIG_IF_MODE__MSK

#define BMI160_USER_IF_CONFIG_IF_MODE__MSK   (0x30)

§ BMI160_USER_IF_CONFIG_IF_MODE__REG

#define BMI160_USER_IF_CONFIG_IF_MODE__REG   (BMI160_USER_IF_CONFIG_ADDR)

§ BMI160_USER_GYRO_SLEEP_TRIGGER__POS

#define BMI160_USER_GYRO_SLEEP_TRIGGER__POS   (0)

§ BMI160_USER_GYRO_SLEEP_TRIGGER__LEN

#define BMI160_USER_GYRO_SLEEP_TRIGGER__LEN   (3)

§ BMI160_USER_GYRO_SLEEP_TRIGGER__MSK

#define BMI160_USER_GYRO_SLEEP_TRIGGER__MSK   (0x07)

§ BMI160_USER_GYRO_SLEEP_TRIGGER__REG

#define BMI160_USER_GYRO_SLEEP_TRIGGER__REG   (BMI160_USER_PMU_TRIGGER_ADDR)

§ BMI160_USER_GYRO_WAKEUP_TRIGGER__POS

#define BMI160_USER_GYRO_WAKEUP_TRIGGER__POS   (3)

§ BMI160_USER_GYRO_WAKEUP_TRIGGER__LEN

#define BMI160_USER_GYRO_WAKEUP_TRIGGER__LEN   (2)

§ BMI160_USER_GYRO_WAKEUP_TRIGGER__MSK

#define BMI160_USER_GYRO_WAKEUP_TRIGGER__MSK   (0x18)

§ BMI160_USER_GYRO_WAKEUP_TRIGGER__REG

#define BMI160_USER_GYRO_WAKEUP_TRIGGER__REG   (BMI160_USER_PMU_TRIGGER_ADDR)

§ BMI160_USER_GYRO_SLEEP_STATE__POS

#define BMI160_USER_GYRO_SLEEP_STATE__POS   (5)

§ BMI160_USER_GYRO_SLEEP_STATE__LEN

#define BMI160_USER_GYRO_SLEEP_STATE__LEN   (1)

§ BMI160_USER_GYRO_SLEEP_STATE__MSK

#define BMI160_USER_GYRO_SLEEP_STATE__MSK   (0x20)

§ BMI160_USER_GYRO_SLEEP_STATE__REG

#define BMI160_USER_GYRO_SLEEP_STATE__REG   (BMI160_USER_PMU_TRIGGER_ADDR)

§ BMI160_USER_GYRO_WAKEUP_INTR__POS

#define BMI160_USER_GYRO_WAKEUP_INTR__POS   (6)

§ BMI160_USER_GYRO_WAKEUP_INTR__LEN

#define BMI160_USER_GYRO_WAKEUP_INTR__LEN   (1)

§ BMI160_USER_GYRO_WAKEUP_INTR__MSK

#define BMI160_USER_GYRO_WAKEUP_INTR__MSK   (0x40)

§ BMI160_USER_GYRO_WAKEUP_INTR__REG

#define BMI160_USER_GYRO_WAKEUP_INTR__REG   (BMI160_USER_PMU_TRIGGER_ADDR)

§ BMI160_USER_ACCEL_SELFTEST_AXIS__POS

#define BMI160_USER_ACCEL_SELFTEST_AXIS__POS   (0)

§ BMI160_USER_ACCEL_SELFTEST_AXIS__LEN

#define BMI160_USER_ACCEL_SELFTEST_AXIS__LEN   (2)

§ BMI160_USER_ACCEL_SELFTEST_AXIS__MSK

#define BMI160_USER_ACCEL_SELFTEST_AXIS__MSK   (0x03)

§ BMI160_USER_ACCEL_SELFTEST_AXIS__REG

#define BMI160_USER_ACCEL_SELFTEST_AXIS__REG   (BMI160_USER_SELF_TEST_ADDR)

§ BMI160_USER_ACCEL_SELFTEST_SIGN__POS

#define BMI160_USER_ACCEL_SELFTEST_SIGN__POS   (2)

§ BMI160_USER_ACCEL_SELFTEST_SIGN__LEN

#define BMI160_USER_ACCEL_SELFTEST_SIGN__LEN   (1)

§ BMI160_USER_ACCEL_SELFTEST_SIGN__MSK

#define BMI160_USER_ACCEL_SELFTEST_SIGN__MSK   (0x04)

§ BMI160_USER_ACCEL_SELFTEST_SIGN__REG

#define BMI160_USER_ACCEL_SELFTEST_SIGN__REG   (BMI160_USER_SELF_TEST_ADDR)

§ BMI160_USER_SELFTEST_AMP__POS

#define BMI160_USER_SELFTEST_AMP__POS   (3)

§ BMI160_USER_SELFTEST_AMP__LEN

#define BMI160_USER_SELFTEST_AMP__LEN   (1)

§ BMI160_USER_SELFTEST_AMP__MSK

#define BMI160_USER_SELFTEST_AMP__MSK   (0x08)

§ BMI160_USER_SELFTEST_AMP__REG

#define BMI160_USER_SELFTEST_AMP__REG   (BMI160_USER_SELF_TEST_ADDR)

§ BMI160_USER_GYRO_SELFTEST_START__POS

#define BMI160_USER_GYRO_SELFTEST_START__POS   (4)

§ BMI160_USER_GYRO_SELFTEST_START__LEN

#define BMI160_USER_GYRO_SELFTEST_START__LEN   (1)

§ BMI160_USER_GYRO_SELFTEST_START__MSK

#define BMI160_USER_GYRO_SELFTEST_START__MSK   (0x10)

§ BMI160_USER_GYRO_SELFTEST_START__REG

#define BMI160_USER_GYRO_SELFTEST_START__REG   (BMI160_USER_SELF_TEST_ADDR)

§ BMI160_USER_NV_CONFIG_SPI_ENABLE__POS

#define BMI160_USER_NV_CONFIG_SPI_ENABLE__POS   (0)

§ BMI160_USER_NV_CONFIG_SPI_ENABLE__LEN

#define BMI160_USER_NV_CONFIG_SPI_ENABLE__LEN   (1)

§ BMI160_USER_NV_CONFIG_SPI_ENABLE__MSK

#define BMI160_USER_NV_CONFIG_SPI_ENABLE__MSK   (0x01)

§ BMI160_USER_NV_CONFIG_SPI_ENABLE__REG

#define BMI160_USER_NV_CONFIG_SPI_ENABLE__REG   (BMI160_USER_NV_CONFIG_ADDR)

§ BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__POS

#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__POS   (1)

§ BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__LEN

#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__LEN   (1)

§ BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__MSK

#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__MSK   (0x02)

§ BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__REG

#define BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__REG   (BMI160_USER_NV_CONFIG_ADDR)

§ BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__POS

#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__POS   (2)

§ BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__LEN

#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__LEN   (1)

§ BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__MSK

#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__MSK   (0x04)

§ BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__REG

#define BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__REG   (BMI160_USER_NV_CONFIG_ADDR)

§ BMI160_USER_NV_CONFIG_SPARE0__POS

#define BMI160_USER_NV_CONFIG_SPARE0__POS   (3)

§ BMI160_USER_NV_CONFIG_SPARE0__LEN

#define BMI160_USER_NV_CONFIG_SPARE0__LEN   (1)

§ BMI160_USER_NV_CONFIG_SPARE0__MSK

#define BMI160_USER_NV_CONFIG_SPARE0__MSK   (0x08)

§ BMI160_USER_NV_CONFIG_SPARE0__REG

#define BMI160_USER_NV_CONFIG_SPARE0__REG   (BMI160_USER_NV_CONFIG_ADDR)

§ BMI160_USER_NV_CONFIG_NVM_COUNTER__POS

#define BMI160_USER_NV_CONFIG_NVM_COUNTER__POS   (4)

§ BMI160_USER_NV_CONFIG_NVM_COUNTER__LEN

#define BMI160_USER_NV_CONFIG_NVM_COUNTER__LEN   (4)

§ BMI160_USER_NV_CONFIG_NVM_COUNTER__MSK

#define BMI160_USER_NV_CONFIG_NVM_COUNTER__MSK   (0xF0)

§ BMI160_USER_NV_CONFIG_NVM_COUNTER__REG

#define BMI160_USER_NV_CONFIG_NVM_COUNTER__REG   (BMI160_USER_NV_CONFIG_ADDR)

§ BMI160_USER_OFFSET_0_ACCEL_OFF_X__POS

#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__POS   (0)

§ BMI160_USER_OFFSET_0_ACCEL_OFF_X__LEN

#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__LEN   (8)

§ BMI160_USER_OFFSET_0_ACCEL_OFF_X__MSK

#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__MSK   (0xFF)

§ BMI160_USER_OFFSET_0_ACCEL_OFF_X__REG

#define BMI160_USER_OFFSET_0_ACCEL_OFF_X__REG   (BMI160_USER_OFFSET_0_ADDR)

§ BMI160_USER_OFFSET_1_ACCEL_OFF_Y__POS

#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__POS   (0)

§ BMI160_USER_OFFSET_1_ACCEL_OFF_Y__LEN

#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__LEN   (8)

§ BMI160_USER_OFFSET_1_ACCEL_OFF_Y__MSK

#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__MSK   (0xFF)

§ BMI160_USER_OFFSET_1_ACCEL_OFF_Y__REG

#define BMI160_USER_OFFSET_1_ACCEL_OFF_Y__REG   (BMI160_USER_OFFSET_1_ADDR)

§ BMI160_USER_OFFSET_2_ACCEL_OFF_Z__POS

#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__POS   (0)

§ BMI160_USER_OFFSET_2_ACCEL_OFF_Z__LEN

#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__LEN   (8)

§ BMI160_USER_OFFSET_2_ACCEL_OFF_Z__MSK

#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__MSK   (0xFF)

§ BMI160_USER_OFFSET_2_ACCEL_OFF_Z__REG

#define BMI160_USER_OFFSET_2_ACCEL_OFF_Z__REG   (BMI160_USER_OFFSET_2_ADDR)

§ BMI160_USER_OFFSET_3_GYRO_OFF_X__POS

#define BMI160_USER_OFFSET_3_GYRO_OFF_X__POS   (0)

§ BMI160_USER_OFFSET_3_GYRO_OFF_X__LEN

#define BMI160_USER_OFFSET_3_GYRO_OFF_X__LEN   (8)

§ BMI160_USER_OFFSET_3_GYRO_OFF_X__MSK

#define BMI160_USER_OFFSET_3_GYRO_OFF_X__MSK   (0xFF)

§ BMI160_USER_OFFSET_3_GYRO_OFF_X__REG

#define BMI160_USER_OFFSET_3_GYRO_OFF_X__REG   (BMI160_USER_OFFSET_3_ADDR)

§ BMI160_USER_OFFSET_4_GYRO_OFF_Y__POS

#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__POS   (0)

§ BMI160_USER_OFFSET_4_GYRO_OFF_Y__LEN

#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__LEN   (8)

§ BMI160_USER_OFFSET_4_GYRO_OFF_Y__MSK

#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__MSK   (0xFF)

§ BMI160_USER_OFFSET_4_GYRO_OFF_Y__REG

#define BMI160_USER_OFFSET_4_GYRO_OFF_Y__REG   (BMI160_USER_OFFSET_4_ADDR)

§ BMI160_USER_OFFSET_5_GYRO_OFF_Z__POS

#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__POS   (0)

§ BMI160_USER_OFFSET_5_GYRO_OFF_Z__LEN

#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__LEN   (8)

§ BMI160_USER_OFFSET_5_GYRO_OFF_Z__MSK

#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__MSK   (0xFF)

§ BMI160_USER_OFFSET_5_GYRO_OFF_Z__REG

#define BMI160_USER_OFFSET_5_GYRO_OFF_Z__REG   (BMI160_USER_OFFSET_5_ADDR)

§ BMI160_USER_OFFSET_6_GYRO_OFF_X__POS

#define BMI160_USER_OFFSET_6_GYRO_OFF_X__POS   (0)

§ BMI160_USER_OFFSET_6_GYRO_OFF_X__LEN

#define BMI160_USER_OFFSET_6_GYRO_OFF_X__LEN   (2)

§ BMI160_USER_OFFSET_6_GYRO_OFF_X__MSK

#define BMI160_USER_OFFSET_6_GYRO_OFF_X__MSK   (0x03)

§ BMI160_USER_OFFSET_6_GYRO_OFF_X__REG

#define BMI160_USER_OFFSET_6_GYRO_OFF_X__REG   (BMI160_USER_OFFSET_6_ADDR)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Y__POS

#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__POS   (2)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Y__LEN

#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__LEN   (2)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Y__MSK

#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__MSK   (0x0C)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Y__REG

#define BMI160_USER_OFFSET_6_GYRO_OFF_Y__REG   (BMI160_USER_OFFSET_6_ADDR)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Z__POS

#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__POS   (4)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Z__LEN

#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__LEN   (2)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Z__MSK

#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__MSK   (0x30)

§ BMI160_USER_OFFSET_6_GYRO_OFF_Z__REG

#define BMI160_USER_OFFSET_6_GYRO_OFF_Z__REG   (BMI160_USER_OFFSET_6_ADDR)

§ BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__POS

#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__POS   (6)

§ BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__LEN

#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__LEN   (1)

§ BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__MSK

#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__MSK   (0x40)

§ BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__REG

#define BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__REG   (BMI160_USER_OFFSET_6_ADDR)

§ BMI160_USER_OFFSET_6_GYRO_OFF_EN__POS

#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__POS   (7)

§ BMI160_USER_OFFSET_6_GYRO_OFF_EN__LEN

#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__LEN   (1)

§ BMI160_USER_OFFSET_6_GYRO_OFF_EN__MSK

#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__MSK   (0x80)

§ BMI160_USER_OFFSET_6_GYRO_OFF_EN__REG

#define BMI160_USER_OFFSET_6_GYRO_OFF_EN__REG   (BMI160_USER_OFFSET_6_ADDR)

§ BMI160_USER_STEP_COUNT_LSB__POS

#define BMI160_USER_STEP_COUNT_LSB__POS   (0)

§ BMI160_USER_STEP_COUNT_LSB__LEN

#define BMI160_USER_STEP_COUNT_LSB__LEN   (7)

§ BMI160_USER_STEP_COUNT_LSB__MSK

#define BMI160_USER_STEP_COUNT_LSB__MSK   (0xFF)

§ BMI160_USER_STEP_COUNT_LSB__REG

#define BMI160_USER_STEP_COUNT_LSB__REG   (BMI160_USER_STEP_COUNT_0_ADDR)

Referenced by bmi160_read_step_count().

§ BMI160_USER_STEP_COUNT_MSB__POS

#define BMI160_USER_STEP_COUNT_MSB__POS   (0)

§ BMI160_USER_STEP_COUNT_MSB__LEN

#define BMI160_USER_STEP_COUNT_MSB__LEN   (7)

§ BMI160_USER_STEP_COUNT_MSB__MSK

#define BMI160_USER_STEP_COUNT_MSB__MSK   (0xFF)

§ BMI160_USER_STEP_COUNT_MSB__REG

#define BMI160_USER_STEP_COUNT_MSB__REG   (BMI160_USER_STEP_COUNT_1_ADDR)

§ BMI160_USER_STEP_CONFIG_ZERO__POS

#define BMI160_USER_STEP_CONFIG_ZERO__POS   (0)

§ BMI160_USER_STEP_CONFIG_ZERO__LEN

#define BMI160_USER_STEP_CONFIG_ZERO__LEN   (7)

§ BMI160_USER_STEP_CONFIG_ZERO__MSK

#define BMI160_USER_STEP_CONFIG_ZERO__MSK   (0xFF)

§ BMI160_USER_STEP_CONFIG_ZERO__REG

#define BMI160_USER_STEP_CONFIG_ZERO__REG   (BMI160_USER_STEP_CONFIG_0_ADDR)

§ BMI160_USER_STEP_CONFIG_ONE_CNF1__POS

#define BMI160_USER_STEP_CONFIG_ONE_CNF1__POS   (0)

§ BMI160_USER_STEP_CONFIG_ONE_CNF1__LEN

#define BMI160_USER_STEP_CONFIG_ONE_CNF1__LEN   (3)

§ BMI160_USER_STEP_CONFIG_ONE_CNF1__MSK

#define BMI160_USER_STEP_CONFIG_ONE_CNF1__MSK   (0x07)

§ BMI160_USER_STEP_CONFIG_ONE_CNF1__REG

#define BMI160_USER_STEP_CONFIG_ONE_CNF1__REG   (BMI160_USER_STEP_CONFIG_1_ADDR)

§ BMI160_USER_STEP_CONFIG_ONE_CNF2__POS

#define BMI160_USER_STEP_CONFIG_ONE_CNF2__POS   (4)

§ BMI160_USER_STEP_CONFIG_ONE_CNF2__LEN

#define BMI160_USER_STEP_CONFIG_ONE_CNF2__LEN   (4)

§ BMI160_USER_STEP_CONFIG_ONE_CNF2__MSK

#define BMI160_USER_STEP_CONFIG_ONE_CNF2__MSK   (0xF0)

§ BMI160_USER_STEP_CONFIG_ONE_CNF2__REG

#define BMI160_USER_STEP_CONFIG_ONE_CNF2__REG   (BMI160_USER_STEP_CONFIG_1_ADDR)

§ BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__POS

#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__POS   (3)

§ BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__LEN

#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__LEN   (1)

§ BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__MSK

#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__MSK   (0x08)

§ BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__REG

#define BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__REG   (BMI160_USER_STEP_CONFIG_1_ADDR)

§ BMI160_CMD_COMMANDS__POS

#define BMI160_CMD_COMMANDS__POS   (0)

§ BMI160_CMD_COMMANDS__LEN

#define BMI160_CMD_COMMANDS__LEN   (8)

§ BMI160_CMD_COMMANDS__MSK

#define BMI160_CMD_COMMANDS__MSK   (0xFF)

§ BMI160_CMD_COMMANDS__REG

#define BMI160_CMD_COMMANDS__REG   (BMI160_CMD_COMMANDS_ADDR)

§ BMI160_CMD_TARGET_PAGE__POS

#define BMI160_CMD_TARGET_PAGE__POS   (4)

§ BMI160_CMD_TARGET_PAGE__LEN

#define BMI160_CMD_TARGET_PAGE__LEN   (2)

§ BMI160_CMD_TARGET_PAGE__MSK

#define BMI160_CMD_TARGET_PAGE__MSK   (0x30)

§ BMI160_CMD_TARGET_PAGE__REG

#define BMI160_CMD_TARGET_PAGE__REG   (BMI160_CMD_EXT_MODE_ADDR)

§ BMI160_CMD_PAGING_EN__POS

#define BMI160_CMD_PAGING_EN__POS   (7)

§ BMI160_CMD_PAGING_EN__LEN

#define BMI160_CMD_PAGING_EN__LEN   (1)

§ BMI160_CMD_PAGING_EN__MSK

#define BMI160_CMD_PAGING_EN__MSK   (0x80)

§ BMI160_CMD_PAGING_EN__REG

#define BMI160_CMD_PAGING_EN__REG   (BMI160_CMD_EXT_MODE_ADDR)

§ BMI160_COM_C_TRIM_FIVE__POS

#define BMI160_COM_C_TRIM_FIVE__POS   (0)

§ BMI160_COM_C_TRIM_FIVE__LEN

#define BMI160_COM_C_TRIM_FIVE__LEN   (8)

§ BMI160_COM_C_TRIM_FIVE__MSK

#define BMI160_COM_C_TRIM_FIVE__MSK   (0xFF)

§ BMI160_COM_C_TRIM_FIVE__REG

#define BMI160_COM_C_TRIM_FIVE__REG   (BMI160_COM_C_TRIM_FIVE_ADDR)

§ FIFO_FRAME

#define FIFO_FRAME   (512)

§ FIFO_CONFIG_CHECK1

#define FIFO_CONFIG_CHECK1   (0x00)

§ FIFO_CONFIG_CHECK2

#define FIFO_CONFIG_CHECK2   (0x80)

§ BST_BMM

#define BST_BMM   (0)

§ BST_AKM

#define BST_AKM   (1)

§ BMI160_YAS537_I2C_ADDRESS

#define BMI160_YAS537_I2C_ADDRESS   (0x2E)

§ BMI160_ACCEL_RANGE_2G

#define BMI160_ACCEL_RANGE_2G   (0X03)

§ BMI160_ACCEL_RANGE_4G

#define BMI160_ACCEL_RANGE_4G   (0X05)

§ BMI160_ACCEL_RANGE_8G

#define BMI160_ACCEL_RANGE_8G   (0X08)

§ BMI160_ACCEL_RANGE_16G

#define BMI160_ACCEL_RANGE_16G   (0X0C)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED

#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED   (0x00)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_0_78HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_0_78HZ   (0x01)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_1_56HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_1_56HZ   (0x02)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_3_12HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_3_12HZ   (0x03)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_6_25HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_6_25HZ   (0x04)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_12_5HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_12_5HZ   (0x05)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_25HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_25HZ   (0x06)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_50HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_50HZ   (0x07)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_100HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_100HZ   (0x08)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ   (0x09)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_400HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_400HZ   (0x0A)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_800HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_800HZ   (0x0B)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_1600HZ

#define BMI160_ACCEL_OUTPUT_DATA_RATE_1600HZ   (0x0C)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED0

#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED0   (0x0D)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED1

#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED1   (0x0E)

§ BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED2

#define BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED2   (0x0F)

§ BMI160_ACCEL_OSR4_AVG1

#define BMI160_ACCEL_OSR4_AVG1   (0)

§ BMI160_ACCEL_OSR2_AVG2

#define BMI160_ACCEL_OSR2_AVG2   (1)

§ BMI160_ACCEL_NORMAL_AVG4

#define BMI160_ACCEL_NORMAL_AVG4   (2)

§ BMI160_ACCEL_CIC_AVG8

#define BMI160_ACCEL_CIC_AVG8   (3)

§ BMI160_ACCEL_RES_AVG2

#define BMI160_ACCEL_RES_AVG2   (4)

§ BMI160_ACCEL_RES_AVG4

#define BMI160_ACCEL_RES_AVG4   (5)

§ BMI160_ACCEL_RES_AVG8

#define BMI160_ACCEL_RES_AVG8   (6)

§ BMI160_ACCEL_RES_AVG16

#define BMI160_ACCEL_RES_AVG16   (7)

§ BMI160_ACCEL_RES_AVG32

#define BMI160_ACCEL_RES_AVG32   (8)

§ BMI160_ACCEL_RES_AVG64

#define BMI160_ACCEL_RES_AVG64   (9)

§ BMI160_ACCEL_RES_AVG128

#define BMI160_ACCEL_RES_AVG128   (10)

§ BMI160_US_DISABLE

#define BMI160_US_DISABLE   (0)

§ BMI160_US_ENABLE

#define BMI160_US_ENABLE   (1)

§ BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED

#define BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED   (0x00)

§ BMI160_GYRO_OUTPUT_DATA_RATE_25HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_25HZ   (0x06)

§ BMI160_GYRO_OUTPUT_DATA_RATE_50HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_50HZ   (0x07)

§ BMI160_GYRO_OUTPUT_DATA_RATE_100HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_100HZ   (0x08)

§ BMI160_GYRO_OUTPUT_DATA_RATE_200HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_200HZ   (0x09)

§ BMI160_GYRO_OUTPUT_DATA_RATE_400HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_400HZ   (0x0A)

§ BMI160_GYRO_OUTPUT_DATA_RATE_800HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_800HZ   (0x0B)

§ BMI160_GYRO_OUTPUT_DATA_RATE_1600HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_1600HZ   (0x0C)

§ BMI160_GYRO_OUTPUT_DATA_RATE_3200HZ

#define BMI160_GYRO_OUTPUT_DATA_RATE_3200HZ   (0x0D)

§ BMI160_GYRO_OSR4_MODE

#define BMI160_GYRO_OSR4_MODE   (0x00)

§ BMI160_GYRO_OSR2_MODE

#define BMI160_GYRO_OSR2_MODE   (0x01)

§ BMI160_GYRO_NORMAL_MODE

#define BMI160_GYRO_NORMAL_MODE   (0x02)

§ BMI160_GYRO_CIC_MODE

#define BMI160_GYRO_CIC_MODE   (0x03)

§ BMI160_GYRO_RANGE_2000_DEG_SEC

#define BMI160_GYRO_RANGE_2000_DEG_SEC   (0x00)

§ BMI160_GYRO_RANGE_1000_DEG_SEC

#define BMI160_GYRO_RANGE_1000_DEG_SEC   (0x01)

§ BMI160_GYRO_RANGE_500_DEG_SEC

#define BMI160_GYRO_RANGE_500_DEG_SEC   (0x02)

§ BMI160_GYRO_RANGE_250_DEG_SEC

#define BMI160_GYRO_RANGE_250_DEG_SEC   (0x03)

§ BMI160_GYRO_RANGE_125_DEG_SEC

#define BMI160_GYRO_RANGE_125_DEG_SEC   (0x04)

§ BMI160_MAG_OUTPUT_DATA_RATE_RESERVED

#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED   (0x00)

§ BMI160_MAG_OUTPUT_DATA_RATE_0_78HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_0_78HZ   (0x01)

§ BMI160_MAG_OUTPUT_DATA_RATE_1_56HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_1_56HZ   (0x02)

§ BMI160_MAG_OUTPUT_DATA_RATE_3_12HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_3_12HZ   (0x03)

§ BMI160_MAG_OUTPUT_DATA_RATE_6_25HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_6_25HZ   (0x04)

§ BMI160_MAG_OUTPUT_DATA_RATE_12_5HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_12_5HZ   (0x05)

§ BMI160_MAG_OUTPUT_DATA_RATE_25HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_25HZ   (0x06)

§ BMI160_MAG_OUTPUT_DATA_RATE_50HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_50HZ   (0x07)

§ BMI160_MAG_OUTPUT_DATA_RATE_100HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_100HZ   (0x08)

§ BMI160_MAG_OUTPUT_DATA_RATE_200HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_200HZ   (0x09)

§ BMI160_MAG_OUTPUT_DATA_RATE_400HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_400HZ   (0x0A)

§ BMI160_MAG_OUTPUT_DATA_RATE_800HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_800HZ   (0x0B)

§ BMI160_MAG_OUTPUT_DATA_RATE_1600HZ

#define BMI160_MAG_OUTPUT_DATA_RATE_1600HZ   (0x0C)

§ BMI160_MAG_OUTPUT_DATA_RATE_RESERVED0

#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED0   (0x0D)

§ BMI160_MAG_OUTPUT_DATA_RATE_RESERVED1

#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED1   (0x0E)

§ BMI160_MAG_OUTPUT_DATA_RATE_RESERVED2

#define BMI160_MAG_OUTPUT_DATA_RATE_RESERVED2   (0x0F)

§ ACCEL_OFFSET_ENABLE

#define ACCEL_OFFSET_ENABLE   (0x01)

§ GYRO_OFFSET_ENABLE

#define GYRO_OFFSET_ENABLE   (0x01)

§ START_FOC_ACCEL_GYRO

#define START_FOC_ACCEL_GYRO   (0X03)

§ BMI160_ANY_MOTION_X_ENABLE

#define BMI160_ANY_MOTION_X_ENABLE   (0)

§ BMI160_ANY_MOTION_Y_ENABLE

#define BMI160_ANY_MOTION_Y_ENABLE   (1)

§ BMI160_ANY_MOTION_Z_ENABLE

#define BMI160_ANY_MOTION_Z_ENABLE   (2)

§ BMI160_DOUBLE_TAP_ENABLE

#define BMI160_DOUBLE_TAP_ENABLE   (4)

§ BMI160_SINGLE_TAP_ENABLE

#define BMI160_SINGLE_TAP_ENABLE   (5)

§ BMI160_ORIENT_ENABLE

#define BMI160_ORIENT_ENABLE   (6)

§ BMI160_FLAT_ENABLE

#define BMI160_FLAT_ENABLE   (7)

§ BMI160_HIGH_G_X_ENABLE

#define BMI160_HIGH_G_X_ENABLE   (0)

§ BMI160_HIGH_G_Y_ENABLE

#define BMI160_HIGH_G_Y_ENABLE   (1)

§ BMI160_HIGH_G_Z_ENABLE

#define BMI160_HIGH_G_Z_ENABLE   (2)

§ BMI160_LOW_G_ENABLE

#define BMI160_LOW_G_ENABLE   (3)

§ BMI160_DATA_RDY_ENABLE

#define BMI160_DATA_RDY_ENABLE   (4)

§ BMI160_FIFO_FULL_ENABLE

#define BMI160_FIFO_FULL_ENABLE   (5)

§ BMI160_FIFO_WM_ENABLE

#define BMI160_FIFO_WM_ENABLE   (6)

§ BMI160_NOMOTION_X_ENABLE

#define BMI160_NOMOTION_X_ENABLE   (0)

§ BMI160_NOMOTION_Y_ENABLE

#define BMI160_NOMOTION_Y_ENABLE   (1)

§ BMI160_NOMOTION_Z_ENABLE

#define BMI160_NOMOTION_Z_ENABLE   (2)

§ FOC_X_AXIS

#define FOC_X_AXIS   (0)

§ FOC_Y_AXIS

#define FOC_Y_AXIS   (1)

§ FOC_Z_AXIS

#define FOC_Z_AXIS   (2)

§ BMI160_INTR1_EDGE_CTRL

#define BMI160_INTR1_EDGE_CTRL   (0)

§ BMI160_INTR2_EDGE_CTRL

#define BMI160_INTR2_EDGE_CTRL   (1)

§ BMI160_INTR1_LEVEL

#define BMI160_INTR1_LEVEL   (0)

§ BMI160_INTR2_LEVEL

#define BMI160_INTR2_LEVEL   (1)

§ BMI160_INTR1_OUTPUT_TYPE

#define BMI160_INTR1_OUTPUT_TYPE   (0)

§ BMI160_INTR2_OUTPUT_TYPE

#define BMI160_INTR2_OUTPUT_TYPE   (1)

§ BMI160_INTR1_OUTPUT_ENABLE

#define BMI160_INTR1_OUTPUT_ENABLE   (0)

§ BMI160_INTR2_OUTPUT_ENABLE

#define BMI160_INTR2_OUTPUT_ENABLE   (1)

§ BMI160_INTR1_INPUT_ENABLE

#define BMI160_INTR1_INPUT_ENABLE   (0)

§ BMI160_INTR2_INPUT_ENABLE

#define BMI160_INTR2_INPUT_ENABLE   (1)

§ BMI160_INTR1_MAP_LOW_G

#define BMI160_INTR1_MAP_LOW_G   (0)

§ BMI160_INTR2_MAP_LOW_G

#define BMI160_INTR2_MAP_LOW_G   (1)

§ BMI160_INTR1_MAP_HIGH_G

#define BMI160_INTR1_MAP_HIGH_G   (0)

§ BMI160_INTR2_MAP_HIGH_G

#define BMI160_INTR2_MAP_HIGH_G   (1)

§ BMI160_INTR1_MAP_ANY_MOTION

#define BMI160_INTR1_MAP_ANY_MOTION   (0)

§ BMI160_INTR2_MAP_ANY_MOTION

#define BMI160_INTR2_MAP_ANY_MOTION   (1)

§ BMI160_INTR1_MAP_NOMO

#define BMI160_INTR1_MAP_NOMO   (0)

§ BMI160_INTR2_MAP_NOMO

#define BMI160_INTR2_MAP_NOMO   (1)

§ BMI160_INTR1_MAP_DOUBLE_TAP

#define BMI160_INTR1_MAP_DOUBLE_TAP   (0)

§ BMI160_INTR2_MAP_DOUBLE_TAP

#define BMI160_INTR2_MAP_DOUBLE_TAP   (1)

§ BMI160_INTR1_MAP_SINGLE_TAP

#define BMI160_INTR1_MAP_SINGLE_TAP   (0)

§ BMI160_INTR2_MAP_SINGLE_TAP

#define BMI160_INTR2_MAP_SINGLE_TAP   (1)

§ BMI160_INTR1_MAP_ORIENT

#define BMI160_INTR1_MAP_ORIENT   (0)

§ BMI160_INTR2_MAP_ORIENT

#define BMI160_INTR2_MAP_ORIENT   (1)

§ BMI160_INTR1_MAP_FLAT

#define BMI160_INTR1_MAP_FLAT   (0)

§ BMI160_INTR2_MAP_FLAT

#define BMI160_INTR2_MAP_FLAT   (1)

§ BMI160_INTR1_MAP_DATA_RDY

#define BMI160_INTR1_MAP_DATA_RDY   (0)

§ BMI160_INTR2_MAP_DATA_RDY

#define BMI160_INTR2_MAP_DATA_RDY   (1)

§ BMI160_INTR1_MAP_FIFO_WM

#define BMI160_INTR1_MAP_FIFO_WM   (0)

§ BMI160_INTR2_MAP_FIFO_WM

#define BMI160_INTR2_MAP_FIFO_WM   (1)

§ BMI160_INTR1_MAP_FIFO_FULL

#define BMI160_INTR1_MAP_FIFO_FULL   (0)

§ BMI160_INTR2_MAP_FIFO_FULL

#define BMI160_INTR2_MAP_FIFO_FULL   (1)

§ BMI160_INTR1_MAP_PMUTRIG

#define BMI160_INTR1_MAP_PMUTRIG   (0)

§ BMI160_INTR2_MAP_PMUTRIG

#define BMI160_INTR2_MAP_PMUTRIG   (1)

§ BMI160_MAP_INTR1

#define BMI160_MAP_INTR1   (0)

§ BMI160_MAP_INTR2

#define BMI160_MAP_INTR2   (1)

§ BMI160_TAP_DURN_50MS

#define BMI160_TAP_DURN_50MS   (0x00)

§ BMI160_TAP_DURN_100MS

#define BMI160_TAP_DURN_100MS   (0x01)

§ BMI160_TAP_DURN_150MS

#define BMI160_TAP_DURN_150MS   (0x02)

§ BMI160_TAP_DURN_200MS

#define BMI160_TAP_DURN_200MS   (0x03)

§ BMI160_TAP_DURN_250MS

#define BMI160_TAP_DURN_250MS   (0x04)

§ BMI160_TAP_DURN_375MS

#define BMI160_TAP_DURN_375MS   (0x05)

§ BMI160_TAP_DURN_500MS

#define BMI160_TAP_DURN_500MS   (0x06)

§ BMI160_TAP_DURN_700MS

#define BMI160_TAP_DURN_700MS   (0x07)

§ BMI160_TAP_SHOCK_50MS

#define BMI160_TAP_SHOCK_50MS   (0x00)

§ BMI160_TAP_SHOCK_75MS

#define BMI160_TAP_SHOCK_75MS   (0x01)

§ BMI160_TAP_QUIET_30MS

#define BMI160_TAP_QUIET_30MS   (0x00)

§ BMI160_TAP_QUIET_20MS

#define BMI160_TAP_QUIET_20MS   (0x01)

§ BMI160_STEP_NORMAL_MODE

#define BMI160_STEP_NORMAL_MODE   (0)

Referenced by bmi160_set_step_mode().

§ BMI160_STEP_SENSITIVE_MODE

#define BMI160_STEP_SENSITIVE_MODE   (1)

Referenced by bmi160_set_step_mode().

§ BMI160_STEP_ROBUST_MODE

#define BMI160_STEP_ROBUST_MODE   (2)

Referenced by bmi160_set_step_mode().

§ STEP_CONFIG_NORMAL

#define STEP_CONFIG_NORMAL   (0X315)

Referenced by bmi160_set_step_mode().

§ STEP_CONFIG_SENSITIVE

#define STEP_CONFIG_SENSITIVE   (0X2D)

Referenced by bmi160_set_step_mode().

§ STEP_CONFIG_ROBUST

#define STEP_CONFIG_ROBUST   (0X71D)

Referenced by bmi160_set_step_mode().

§ BMI160_MAG_DIG_X1

#define BMI160_MAG_DIG_X1   (0x5D)

§ BMI160_MAG_DIG_Y1

#define BMI160_MAG_DIG_Y1   (0x5E)

§ BMI160_MAG_DIG_Z4_LSB

#define BMI160_MAG_DIG_Z4_LSB   (0x62)

§ BMI160_MAG_DIG_Z4_MSB

#define BMI160_MAG_DIG_Z4_MSB   (0x63)

§ BMI160_MAG_DIG_X2

#define BMI160_MAG_DIG_X2   (0x64)

§ BMI160_MAG_DIG_Y2

#define BMI160_MAG_DIG_Y2   (0x65)

§ BMI160_MAG_DIG_Z2_LSB

#define BMI160_MAG_DIG_Z2_LSB   (0x68)

§ BMI160_MAG_DIG_Z2_MSB

#define BMI160_MAG_DIG_Z2_MSB   (0x69)

§ BMI160_MAG_DIG_Z1_LSB

#define BMI160_MAG_DIG_Z1_LSB   (0x6A)

§ BMI160_MAG_DIG_Z1_MSB

#define BMI160_MAG_DIG_Z1_MSB   (0x6B)

§ BMI160_MAG_DIG_XYZ1_LSB

#define BMI160_MAG_DIG_XYZ1_LSB   (0x6C)

§ BMI160_MAG_DIG_XYZ1_MSB

#define BMI160_MAG_DIG_XYZ1_MSB   (0x6D)

§ BMI160_MAG_DIG_Z3_LSB

#define BMI160_MAG_DIG_Z3_LSB   (0x6E)

§ BMI160_MAG_DIG_Z3_MSB

#define BMI160_MAG_DIG_Z3_MSB   (0x6F)

§ BMI160_MAG_DIG_XY2

#define BMI160_MAG_DIG_XY2   (0x70)

§ BMI160_MAG_DIG_XY1

#define BMI160_MAG_DIG_XY1   (0x71)

§ BMI160_MAG_PRESETMODE_LOWPOWER

#define BMI160_MAG_PRESETMODE_LOWPOWER   (1)

§ BMI160_MAG_PRESETMODE_REGULAR

#define BMI160_MAG_PRESETMODE_REGULAR   (2)

§ BMI160_MAG_PRESETMODE_HIGHACCURACY

#define BMI160_MAG_PRESETMODE_HIGHACCURACY   (3)

§ BMI160_MAG_PRESETMODE_ENHANCED

#define BMI160_MAG_PRESETMODE_ENHANCED   (4)

§ BMI160_MAG_LOWPOWER_DR

#define BMI160_MAG_LOWPOWER_DR   (0x02)

§ BMI160_MAG_REGULAR_DR

#define BMI160_MAG_REGULAR_DR   (0x02)

§ BMI160_MAG_HIGHACCURACY_DR

#define BMI160_MAG_HIGHACCURACY_DR   (0x2A)

§ BMI160_MAG_ENHANCED_DR

#define BMI160_MAG_ENHANCED_DR   (0x02)

§ BMI160_MAG_LOWPOWER_REPXY

#define BMI160_MAG_LOWPOWER_REPXY   (1)

§ BMI160_MAG_REGULAR_REPXY

#define BMI160_MAG_REGULAR_REPXY   (4)

§ BMI160_MAG_HIGHACCURACY_REPXY

#define BMI160_MAG_HIGHACCURACY_REPXY   (23)

§ BMI160_MAG_ENHANCED_REPXY

#define BMI160_MAG_ENHANCED_REPXY   (7)

§ BMI160_MAG_LOWPOWER_REPZ

#define BMI160_MAG_LOWPOWER_REPZ   (2)

§ BMI160_MAG_REGULAR_REPZ

#define BMI160_MAG_REGULAR_REPZ   (14)

§ BMI160_MAG_HIGHACCURACY_REPZ

#define BMI160_MAG_HIGHACCURACY_REPZ   (82)

§ BMI160_MAG_ENHANCED_REPZ

#define BMI160_MAG_ENHANCED_REPZ   (26)

§ BMI160_MAG_NOAMRL_SWITCH_TIMES

#define BMI160_MAG_NOAMRL_SWITCH_TIMES   (5)

§ MAG_INTERFACE_PMU_ENABLE

#define MAG_INTERFACE_PMU_ENABLE   (1)

§ MAG_INTERFACE_PMU_DISABLE

#define MAG_INTERFACE_PMU_DISABLE   (0)

§ BMI160_MAG_OVERFLOW_OUTPUT

#define BMI160_MAG_OVERFLOW_OUTPUT   ((s16)-32768)

§ BMI160_MAG_OVERFLOW_OUTPUT_S32

#define BMI160_MAG_OVERFLOW_OUTPUT_S32   ((s32)(-2147483647-1))

§ BMI160_MAG_NEGATIVE_SATURATION_Z

#define BMI160_MAG_NEGATIVE_SATURATION_Z   ((s16)-32767)

§ BMI160_MAG_POSITIVE_SATURATION_Z

#define BMI160_MAG_POSITIVE_SATURATION_Z   ((u16)32767)

§ BMI160_MAG_FLIP_OVERFLOW_ADCVAL

#define BMI160_MAG_FLIP_OVERFLOW_ADCVAL   ((s16)-4096)

§ BMI160_MAG_HALL_OVERFLOW_ADCVAL

#define BMI160_MAG_HALL_OVERFLOW_ADCVAL   ((s16)-16384)

§ BMI160_BMM150_CHIP_ID

#define BMI160_BMM150_CHIP_ID   (0x40)

§ BMI160_BMM150_POWE_CONTROL_REG

#define BMI160_BMM150_POWE_CONTROL_REG   (0x4B)

§ BMI160_BMM150_POWE_MODE_REG

#define BMI160_BMM150_POWE_MODE_REG   (0x4C)

§ BMI160_BMM150_DATA_REG

#define BMI160_BMM150_DATA_REG   (0x42)

§ BMI160_BMM150_XY_REP

#define BMI160_BMM150_XY_REP   (0x51)

§ BMI160_BMM150_Z_REP

#define BMI160_BMM150_Z_REP   (0x52)

§ BMI160_BST_AKM_ASAX

#define BMI160_BST_AKM_ASAX   (0x60)

§ BMI160_BST_AKM_ASAY

#define BMI160_BST_AKM_ASAY   (0x61)

§ BMI160_BST_AKM_ASAZ

#define BMI160_BST_AKM_ASAZ   (0x62)

§ AKM_POWER_DOWN_MODE

#define AKM_POWER_DOWN_MODE   (0)

§ AKM_SINGLE_MEAS_MODE

#define AKM_SINGLE_MEAS_MODE   (1)

§ FUSE_ROM_MODE

#define FUSE_ROM_MODE   (2)

§ BMI160_MAG_FORCE_MODE

#define BMI160_MAG_FORCE_MODE   (0)

§ BMI160_MAG_SUSPEND_MODE

#define BMI160_MAG_SUSPEND_MODE   (1)

§ FORCE_MODE

#define FORCE_MODE   (0)

§ SUSPEND_MODE

#define SUSPEND_MODE   (1)

§ NORMAL_MODE

#define NORMAL_MODE   (2)

§ MAG_SUSPEND_MODE

#define MAG_SUSPEND_MODE   (1)

§ FIFO_HEADER_ENABLE

#define FIFO_HEADER_ENABLE   (0x01)

§ FIFO_MAG_ENABLE

#define FIFO_MAG_ENABLE   (0x01)

§ FIFO_ACCEL_ENABLE

#define FIFO_ACCEL_ENABLE   (0x01)

§ FIFO_GYRO_ENABLE

#define FIFO_GYRO_ENABLE   (0x01)

§ FIFO_TIME_ENABLE

#define FIFO_TIME_ENABLE   (0x01)

§ FIFO_STOPONFULL_ENABLE

#define FIFO_STOPONFULL_ENABLE   (0x01)

§ FIFO_WM_INTERRUPT_ENABLE

#define FIFO_WM_INTERRUPT_ENABLE   (0x01)

§ BMI160_FIFO_INDEX_LENGTH

#define BMI160_FIFO_INDEX_LENGTH   (1)

§ BMI160_FIFO_TAG_INTR_MASK

#define BMI160_FIFO_TAG_INTR_MASK   (0xFC)

§ FIFO_HEAD_A

#define FIFO_HEAD_A   (0x84)

§ FIFO_HEAD_G

#define FIFO_HEAD_G   (0x88)

§ FIFO_HEAD_M

#define FIFO_HEAD_M   (0x90)

§ FIFO_HEAD_G_A

#define FIFO_HEAD_G_A   (0x8C)

§ FIFO_HEAD_M_A

#define FIFO_HEAD_M_A   (0x94)

§ FIFO_HEAD_M_G

#define FIFO_HEAD_M_G   (0x98)

§ FIFO_HEAD_M_G_A

#define FIFO_HEAD_M_G_A   (0x9C)

§ FIFO_HEAD_SENSOR_TIME

#define FIFO_HEAD_SENSOR_TIME   (0x44)

§ FIFO_HEAD_INPUT_CONFIG

#define FIFO_HEAD_INPUT_CONFIG   (0x48)

§ FIFO_HEAD_SKIP_FRAME

#define FIFO_HEAD_SKIP_FRAME   (0x40)

§ FIFO_HEAD_OVER_READ_LSB

#define FIFO_HEAD_OVER_READ_LSB   (0x80)

§ FIFO_HEAD_OVER_READ_MSB

#define FIFO_HEAD_OVER_READ_MSB   (0x00)

§ FIFO_INPUT_CONFIG_OVER_LEN

#define FIFO_INPUT_CONFIG_OVER_LEN   ((s8)-11)

§ FIFO_OVER_READ_RETURN

#define FIFO_OVER_READ_RETURN   ((s8)-10)

§ FIFO_SENSORTIME_RETURN

#define FIFO_SENSORTIME_RETURN   ((s8)-9)

§ FIFO_SKIP_OVER_LEN

#define FIFO_SKIP_OVER_LEN   ((s8)-8)

§ FIFO_M_G_A_OVER_LEN

#define FIFO_M_G_A_OVER_LEN   ((s8)-7)

§ FIFO_M_G_OVER_LEN

#define FIFO_M_G_OVER_LEN   ((s8)-6)

§ FIFO_M_A_OVER_LEN

#define FIFO_M_A_OVER_LEN   ((s8)-5)

§ FIFO_G_A_OVER_LEN

#define FIFO_G_A_OVER_LEN   ((s8)-4)

§ FIFO_M_OVER_LEN

#define FIFO_M_OVER_LEN   ((s8)-3)

§ FIFO_G_OVER_LEN

#define FIFO_G_OVER_LEN   ((s8)-2)

§ FIFO_A_OVER_LEN

#define FIFO_A_OVER_LEN   ((s8)-1)

§ ACCEL_MODE_NORMAL

#define ACCEL_MODE_NORMAL   (0x11)

§ ACCEL_LOWPOWER

#define ACCEL_LOWPOWER   (0X12)

§ ACCEL_SUSPEND

#define ACCEL_SUSPEND   (0X10)

§ BMI160_ACCEL_SUSPEND

#define BMI160_ACCEL_SUSPEND   0

§ BMI160_ACCEL_NORMAL_MODE

#define BMI160_ACCEL_NORMAL_MODE   1

§ BMI160_ACCEL_LOW_POWER

#define BMI160_ACCEL_LOW_POWER   2

§ GYRO_MODE_SUSPEND

#define GYRO_MODE_SUSPEND   (0x14)

§ GYRO_MODE_NORMAL

#define GYRO_MODE_NORMAL   (0x15)

§ GYRO_MODE_FASTSTARTUP

#define GYRO_MODE_FASTSTARTUP   (0x17)

§ MAG_MODE_SUSPEND

#define MAG_MODE_SUSPEND   (0x18)

§ MAG_MODE_NORMAL

#define MAG_MODE_NORMAL   (0x19)

§ MAG_MODE_LOWPOWER

#define MAG_MODE_LOWPOWER   (0x1A)

§ BMI160_ENABLE

#define BMI160_ENABLE   (0x01)

§ BMI160_DISABLE

#define BMI160_DISABLE   (0x00)

§ BMI160_EDGE

#define BMI160_EDGE   (0x01)

§ BMI160_LEVEL

#define BMI160_LEVEL   (0x00)

§ BMI160_LEVEL_LOW

#define BMI160_LEVEL_LOW   (0x00)

§ BMI160_LEVEL_HIGH

#define BMI160_LEVEL_HIGH   (0x01)

§ BMI160_OPEN_DRAIN

#define BMI160_OPEN_DRAIN   (0x01)

§ BMI160_PUSH_PULL

#define BMI160_PUSH_PULL   (0x00)

§ BMI160_INPUT

#define BMI160_INPUT   (0x01)

§ BMI160_OUTPUT

#define BMI160_OUTPUT   (0x00)

§ FILTER_DATA

#define FILTER_DATA   (0x00)

§ UNFILTER_DATA

#define UNFILTER_DATA   (0x01)

§ SLOW_MOTION

#define SLOW_MOTION   (0x00)

§ NO_MOTION

#define NO_MOTION   (0x01)

§ ANY_MOTION

#define ANY_MOTION   (0x00)

§ SIGNIFICANT_MOTION

#define SIGNIFICANT_MOTION   (0x01)

§ BMI160_LATCH_DUR_NONE

#define BMI160_LATCH_DUR_NONE   (0x00)

§ BMI160_LATCH_DUR_312_5_MICRO_SEC

#define BMI160_LATCH_DUR_312_5_MICRO_SEC   (0x01)

§ BMI160_LATCH_DUR_625_MICRO_SEC

#define BMI160_LATCH_DUR_625_MICRO_SEC   (0x02)

§ BMI160_LATCH_DUR_1_25_MILLI_SEC

#define BMI160_LATCH_DUR_1_25_MILLI_SEC   (0x03)

§ BMI160_LATCH_DUR_2_5_MILLI_SEC

#define BMI160_LATCH_DUR_2_5_MILLI_SEC   (0x04)

§ BMI160_LATCH_DUR_5_MILLI_SEC

#define BMI160_LATCH_DUR_5_MILLI_SEC   (0x05)

§ BMI160_LATCH_DUR_10_MILLI_SEC

#define BMI160_LATCH_DUR_10_MILLI_SEC   (0x06)

§ BMI160_LATCH_DUR_20_MILLI_SEC

#define BMI160_LATCH_DUR_20_MILLI_SEC   (0x07)

§ BMI160_LATCH_DUR_40_MILLI_SEC

#define BMI160_LATCH_DUR_40_MILLI_SEC   (0x08)

§ BMI160_LATCH_DUR_80_MILLI_SEC

#define BMI160_LATCH_DUR_80_MILLI_SEC   (0x09)

§ BMI160_LATCH_DUR_160_MILLI_SEC

#define BMI160_LATCH_DUR_160_MILLI_SEC   (0x0A)

§ BMI160_LATCH_DUR_320_MILLI_SEC

#define BMI160_LATCH_DUR_320_MILLI_SEC   (0x0B)

§ BMI160_LATCH_DUR_640_MILLI_SEC

#define BMI160_LATCH_DUR_640_MILLI_SEC   (0x0C)

§ BMI160_LATCH_DUR_1_28_SEC

#define BMI160_LATCH_DUR_1_28_SEC   (0x0D)

§ BMI160_LATCH_DUR_2_56_SEC

#define BMI160_LATCH_DUR_2_56_SEC   (0x0E)

§ BMI160_LATCHED

#define BMI160_LATCHED   (0x0F)

§ BMI160_GYRO_MANUAL_OFFSET_0_7

#define BMI160_GYRO_MANUAL_OFFSET_0_7   (0x00FF)

§ BMI160_GYRO_MANUAL_OFFSET_8_9

#define BMI160_GYRO_MANUAL_OFFSET_8_9   (0x0300)

§ BMI160_STEP_CONFIG_0_7

#define BMI160_STEP_CONFIG_0_7   (0x00FF)

Referenced by bmi160_set_step_config().

§ BMI160_STEP_CONFIG_8_10

#define BMI160_STEP_CONFIG_8_10   (0x0700)

Referenced by bmi160_set_step_config().

§ BMI160_STEP_CONFIG_11_14

#define BMI160_STEP_CONFIG_11_14   (0xF000)

Referenced by bmi160_set_step_config().

§ BMI160_WRITE_TARGET_PAGE0

#define BMI160_WRITE_TARGET_PAGE0   (0x00)

§ BMI160_WRITE_TARGET_PAGE1

#define BMI160_WRITE_TARGET_PAGE1   (0x01)

§ BMI160_WRITE_ENABLE_PAGE1

#define BMI160_WRITE_ENABLE_PAGE1   (0x01)

§ BMI160_MANUAL_DISABLE

#define BMI160_MANUAL_DISABLE   (0x00)

§ BMI160_MANUAL_ENABLE

#define BMI160_MANUAL_ENABLE   (0x01)

§ BMI160_YAS_DISABLE_RCOIL

#define BMI160_YAS_DISABLE_RCOIL   (0x00)

§ BMI160_ENABLE_MAG_IF_MODE

#define BMI160_ENABLE_MAG_IF_MODE   (0x02)

§ BMI160_ENABLE_ANY_MOTION_INTR1

#define BMI160_ENABLE_ANY_MOTION_INTR1   (0x04)

§ BMI160_ENABLE_ANY_MOTION_INTR2

#define BMI160_ENABLE_ANY_MOTION_INTR2   (0x04)

§ BMI160_MAG_DATA_READ_REG

#define BMI160_MAG_DATA_READ_REG   (0x04)

§ BMI160_BMM_POWER_MODE_REG

#define BMI160_BMM_POWER_MODE_REG   (0x06)

§ BMI160_ENABLE_ANY_MOTION_AXIS

#define BMI160_ENABLE_ANY_MOTION_AXIS   (0x07)

§ BMI160_ENABLE_LOW_G

#define BMI160_ENABLE_LOW_G   (0x08)

§ BMI160_YAS532_ACQ_START

#define BMI160_YAS532_ACQ_START   (0x11)

§ BMI160_YAS_DEVICE_ID_REG

#define BMI160_YAS_DEVICE_ID_REG   (0x80)

§ BMI160_FIFO_GYRO_ENABLE

#define BMI160_FIFO_GYRO_ENABLE   (0x80)

§ BMI160_SIG_MOTION_INTR_ENABLE

#define BMI160_SIG_MOTION_INTR_ENABLE   (0x01)

§ BMI160_STEP_DETECT_INTR_ENABLE

#define BMI160_STEP_DETECT_INTR_ENABLE   (0x01)

§ BMI160_LOW_G_INTR_STAT

#define BMI160_LOW_G_INTR_STAT   (0x01)

§ BMI160_PULL_UP_DATA

#define BMI160_PULL_UP_DATA   (0x30)

§ BMI160_FIFO_M_G_A_ENABLE

#define BMI160_FIFO_M_G_A_ENABLE   (0xE0)

§ BMI160_FIFO_M_G_ENABLE

#define BMI160_FIFO_M_G_ENABLE   (0xA0)

§ BMI160_FIFO_M_A_ENABLE

#define BMI160_FIFO_M_A_ENABLE   (0x60)

§ BMI160_FIFO_G_A_ENABLE

#define BMI160_FIFO_G_A_ENABLE   (0xC0)

§ BMI160_FIFO_A_ENABLE

#define BMI160_FIFO_A_ENABLE   (0x40)

§ BMI160_FIFO_M_ENABLE

#define BMI160_FIFO_M_ENABLE   (0x20)

§ BMI160_SEC_IF_BMM150

#define BMI160_SEC_IF_BMM150   (0)

§ BMI160_SEC_IF_AKM09911

#define BMI160_SEC_IF_AKM09911   (1)

§ BMI160_SEC_IF_AKM09912

#define BMI160_SEC_IF_AKM09912   (2)

§ BMI160_SEC_IF_YAS532

#define BMI160_SEC_IF_YAS532   (3)

§ BMI160_SEC_IF_YAS537

#define BMI160_SEC_IF_YAS537   (4)

§ BMI160_COMMAND_REG_ONE

#define BMI160_COMMAND_REG_ONE   (0x37)

§ BMI160_COMMAND_REG_TWO

#define BMI160_COMMAND_REG_TWO   (0x9A)

§ BMI160_COMMAND_REG_THREE

#define BMI160_COMMAND_REG_THREE   (0xC0)

§ RESET_STEP_COUNTER

#define RESET_STEP_COUNTER   (0xB2)

§ BMI160_GET_BITSLICE

#define BMI160_GET_BITSLICE (   regvar,
  bitname 
)    ((regvar & bitname##__MSK) >> bitname##__POS)

Referenced by bmi160_fifo_length(), bmi160_get_accel_bw(), bmi160_get_accel_data_rdy(), bmi160_get_accel_fifo_filter_data(), bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_accel_offset_enable(), bmi160_get_accel_output_data_rate(), bmi160_get_accel_power_mode_stat(), bmi160_get_accel_range(), bmi160_get_accel_selftest_amp(), bmi160_get_accel_selftest_axis(), bmi160_get_accel_selftest_sign(), bmi160_get_accel_under_sampling_parameter(), bmi160_get_data_rdy_mag(), bmi160_get_drop_cmd_err(), bmi160_get_err_code(), bmi160_get_error_status(), bmi160_get_fatal_err(), bmi160_get_fifo_accel_enable(), bmi160_get_fifo_down_accel(), bmi160_get_fifo_down_gyro(), bmi160_get_fifo_gyro_enable(), bmi160_get_fifo_header_enable(), bmi160_get_fifo_mag_enable(), bmi160_get_fifo_tag_intr1_enable(), bmi160_get_fifo_tag_intr2_enable(), bmi160_get_fifo_time_enable(), bmi160_get_fifo_wm(), bmi160_get_foc_accel_x(), bmi160_get_foc_accel_y(), bmi160_get_foc_accel_z(), bmi160_get_foc_gyro_enable(), bmi160_get_foc_rdy(), bmi160_get_gyro_bw(), bmi160_get_gyro_data_rdy(), bmi160_get_gyro_fifo_filter_data(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), bmi160_get_gyro_offset_enable(), bmi160_get_gyro_output_data_rate(), bmi160_get_gyro_power_mode_stat(), bmi160_get_gyro_range(), bmi160_get_gyro_selftest(), bmi160_get_gyro_selftest_start(), bmi160_get_gyro_sleep_state(), bmi160_get_gyro_sleep_trigger(), bmi160_get_gyro_wakeup_intr(), bmi160_get_gyro_wakeup_trigger(), bmi160_get_i2c_device_addr(), bmi160_get_i2c_fail_err(), bmi160_get_i2c_wdt_enable(), bmi160_get_i2c_wdt_select(), bmi160_get_if_mode(), bmi160_get_input_enable(), bmi160_get_intr_any_motion(), bmi160_get_intr_any_motion_durn(), bmi160_get_intr_any_motion_thres(), bmi160_get_intr_data_rdy(), bmi160_get_intr_double_tap(), bmi160_get_intr_edge_ctrl(), bmi160_get_intr_enable_0(), bmi160_get_intr_enable_1(), bmi160_get_intr_enable_2(), bmi160_get_intr_fifo_full(), bmi160_get_intr_fifo_wm(), bmi160_get_intr_flat(), bmi160_get_intr_flat_hold(), bmi160_get_intr_flat_hyst(), bmi160_get_intr_flat_theta(), bmi160_get_intr_high_g(), bmi160_get_intr_high_g_durn(), bmi160_get_intr_high_g_hyst(), bmi160_get_intr_high_g_thres(), bmi160_get_intr_level(), bmi160_get_intr_low_g(), bmi160_get_intr_low_g_durn(), bmi160_get_intr_low_g_hyst(), bmi160_get_intr_low_g_mode(), bmi160_get_intr_low_g_thres(), bmi160_get_intr_low_high_source(), bmi160_get_intr_motion_source(), bmi160_get_intr_nomotion(), bmi160_get_intr_orient(), bmi160_get_intr_orient_axes_enable(), bmi160_get_intr_orient_blocking(), bmi160_get_intr_orient_hyst(), bmi160_get_intr_orient_mode(), bmi160_get_intr_orient_theta(), bmi160_get_intr_orient_ud_enable(), bmi160_get_intr_output_type(), bmi160_get_intr_pmu_trig(), bmi160_get_intr_significant_motion_proof(), bmi160_get_intr_significant_motion_select(), bmi160_get_intr_significant_motion_skip(), bmi160_get_intr_single_tap(), bmi160_get_intr_slow_no_motion_durn(), bmi160_get_intr_slow_no_motion_select(), bmi160_get_intr_slow_no_motion_thres(), bmi160_get_intr_tap_durn(), bmi160_get_intr_tap_quiet(), bmi160_get_intr_tap_shock(), bmi160_get_intr_tap_source(), bmi160_get_intr_tap_thres(), bmi160_get_latch_intr(), bmi160_get_mag_burst(), bmi160_get_mag_data_rdy_err(), bmi160_get_mag_manual_enable(), bmi160_get_mag_manual_operation_stat(), bmi160_get_mag_offset(), bmi160_get_mag_output_data_rate(), bmi160_get_mag_power_mode_stat(), bmi160_get_mag_read_addr(), bmi160_get_mag_write_addr(), bmi160_get_mag_write_data(), bmi160_get_nvm_counter(), bmi160_get_nvm_prog_enable(), bmi160_get_nvm_rdy(), bmi160_get_output_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_spare0_trim(), bmi160_get_spi3(), bmi160_get_spi_enable(), bmi160_get_stat0_any_motion_intr(), bmi160_get_stat0_double_tap_intr(), bmi160_get_stat0_flat_intr(), bmi160_get_stat0_orient_intr(), bmi160_get_stat0_pmu_trigger_intr(), bmi160_get_stat0_significant_intr(), bmi160_get_stat0_single_tap_intr(), bmi160_get_stat0_step_intr(), bmi160_get_stat1_data_rdy_intr(), bmi160_get_stat1_fifo_full_intr(), bmi160_get_stat1_fifo_wm_intr(), bmi160_get_stat1_high_g_intr(), bmi160_get_stat1_low_g_intr(), bmi160_get_stat1_nomotion_intr(), bmi160_get_stat2_any_motion_first_x(), bmi160_get_stat2_any_motion_first_y(), bmi160_get_stat2_any_motion_first_z(), bmi160_get_stat2_any_motion_sign(), bmi160_get_stat2_tap_first_x(), bmi160_get_stat2_tap_first_y(), bmi160_get_stat2_tap_first_z(), bmi160_get_stat2_tap_sign(), bmi160_get_stat3_flat(), bmi160_get_stat3_high_g_first_x(), bmi160_get_stat3_high_g_first_y(), bmi160_get_stat3_high_g_first_z(), bmi160_get_stat3_high_g_sign(), bmi160_get_stat3_orient_xy(), bmi160_get_stat3_orient_z(), bmi160_get_step_config(), bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), bmi160_get_target_page(), bmi160_read_mag_r(), bmi160_read_mag_x(), bmi160_read_mag_xyz(), bmi160_read_mag_xyzr(), bmi160_read_mag_y(), and bmi160_read_mag_z().

§ BMI160_SET_BITSLICE

#define BMI160_SET_BITSLICE (   regvar,
  bitname,
  val 
)
Value:
((regvar & ~bitname##__MSK) | \
((val<<bitname##__POS)&bitname##__MSK))

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_set_accel_bw(), bmi160_set_accel_fifo_filter_data(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), bmi160_set_accel_offset_compensation_zaxis(), bmi160_set_accel_offset_enable(), bmi160_set_accel_output_data_rate(), bmi160_set_accel_range(), bmi160_set_accel_selftest_amp(), bmi160_set_accel_selftest_axis(), bmi160_set_accel_selftest_sign(), bmi160_set_accel_under_sampling_parameter(), bmi160_set_fifo_accel_enable(), bmi160_set_fifo_down_accel(), bmi160_set_fifo_down_gyro(), bmi160_set_fifo_gyro_enable(), bmi160_set_fifo_header_enable(), bmi160_set_fifo_mag_enable(), bmi160_set_fifo_tag_intr1_enable(), bmi160_set_fifo_tag_intr2_enable(), bmi160_set_fifo_time_enable(), bmi160_set_foc_accel_x(), bmi160_set_foc_accel_y(), bmi160_set_foc_accel_z(), bmi160_set_foc_gyro_enable(), bmi160_set_gyro_bw(), bmi160_set_gyro_fifo_filter_data(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), bmi160_set_gyro_offset_compensation_zaxis(), bmi160_set_gyro_offset_enable(), bmi160_set_gyro_output_data_rate(), bmi160_set_gyro_range(), bmi160_set_gyro_selftest_start(), bmi160_set_gyro_sleep_state(), bmi160_set_gyro_sleep_trigger(), bmi160_set_gyro_wakeup_intr(), bmi160_set_gyro_wakeup_trigger(), bmi160_set_i2c_device_addr(), bmi160_set_i2c_wdt_enable(), bmi160_set_i2c_wdt_select(), bmi160_set_if_mode(), bmi160_set_input_enable(), bmi160_set_intr_any_motion(), bmi160_set_intr_any_motion_durn(), bmi160_set_intr_data_rdy(), bmi160_set_intr_double_tap(), bmi160_set_intr_edge_ctrl(), bmi160_set_intr_enable_0(), bmi160_set_intr_enable_1(), bmi160_set_intr_enable_2(), bmi160_set_intr_fifo_full(), bmi160_set_intr_fifo_wm(), bmi160_set_intr_flat(), bmi160_set_intr_flat_hold(), bmi160_set_intr_flat_hyst(), bmi160_set_intr_flat_theta(), bmi160_set_intr_high_g(), bmi160_set_intr_high_g_hyst(), bmi160_set_intr_level(), bmi160_set_intr_low_g(), bmi160_set_intr_low_g_hyst(), bmi160_set_intr_low_g_mode(), bmi160_set_intr_low_high_source(), bmi160_set_intr_motion_source(), bmi160_set_intr_nomotion(), bmi160_set_intr_orient(), bmi160_set_intr_orient_axes_enable(), bmi160_set_intr_orient_blocking(), bmi160_set_intr_orient_hyst(), bmi160_set_intr_orient_mode(), bmi160_set_intr_orient_theta(), bmi160_set_intr_orient_ud_enable(), bmi160_set_intr_output_type(), bmi160_set_intr_pmu_trig(), bmi160_set_intr_significant_motion_proof(), bmi160_set_intr_significant_motion_select(), bmi160_set_intr_significant_motion_skip(), bmi160_set_intr_single_tap(), bmi160_set_intr_slow_no_motion_durn(), bmi160_set_intr_slow_no_motion_select(), bmi160_set_intr_tap_durn(), bmi160_set_intr_tap_quiet(), bmi160_set_intr_tap_shock(), bmi160_set_intr_tap_source(), bmi160_set_intr_tap_thres(), bmi160_set_latch_intr(), bmi160_set_mag_burst(), bmi160_set_mag_manual_enable(), bmi160_set_mag_offset(), bmi160_set_mag_output_data_rate(), bmi160_set_nvm_counter(), bmi160_set_nvm_prog_enable(), bmi160_set_output_enable(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_spare0_trim(), bmi160_set_spi3(), bmi160_set_spi_enable(), bmi160_set_step_config(), bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), and bmi160_set_target_page().

Typedef Documentation

§ s8

typedef signed char s8

used for signed 8bit

§ s16

typedef signed short int s16

used for signed 16bit

§ s32

typedef signed int s32

used for signed 32bit

§ s64

typedef signed long long int s64

used for signed 64bit

§ u8

typedef unsigned char u8

used for unsigned 8bit

§ u16

typedef unsigned short int u16

used for unsigned 16bit

§ u32

typedef unsigned int u32

used for unsigned 32bit

§ u64

typedef unsigned long long int u64

used for unsigned 64bit

Function Documentation

§ bmi160_init()

BMI160_RETURN_FUNCTION_TYPE bmi160_init ( struct bmi160_t bmi160)

This function is used for initialize bus read and bus write functions assign the chip id and device address chip id is read in the register 0x00 bit from 0 to 7.

Parameters
bmi160: structure pointer
Returns
results of bus communication function
Return values
0-> Success
-1-> Error
Note
While changing the parameter of the bmi160_t consider the following point: Changing the reference value of the parameter will changes the local copy or local reference make sure your changes will not affect the reference value of the parameter (Better case don't change the reference value of the parameter)

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_CHIP_ID__REG, BMI160_USER_PMU_TRIGGER_ADDR, bmi160_write_reg(), bmi160_t::chip_id, bmi160_t::dev_addr, and E_BMI160_COMM_RES.

§ bmi160_write_reg()

BMI160_RETURN_FUNCTION_TYPE bmi160_write_reg ( u8  v_addr_u8,
u8 v_data_u8,
u8  v_len_u8 
)

This API write the data to the given register.

Parameters
v_addr_u8-> Address of the register
v_data_u8-> The data from the register
v_len_u8-> no of bytes to read
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_init(), bmi160_map_significant_motion_intr(), bmi160_map_step_detector_intr(), and bmi160_unmap_significant_motion_intr().

§ bmi160_read_reg()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_reg ( u8  v_addr_u8,
u8 v_data_u8,
u8  v_len_u8 
)

This API reads the data from the given register.

Parameters
v_addr_u8-> Address of the register
v_data_u8-> The data from the register
v_len_u8-> no of bytes to read
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_wakeup(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_map_significant_motion_intr(), bmi160_map_step_detector_intr(), bmi160_read_bmm150_mag_trim(), bmi160_read_fifo_headerless_mode_user_defined_length(), and bmi160_unmap_significant_motion_intr().

§ bmi160_get_fatal_err()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fatal_err ( u8 v_fatal_err_u8)

This API used to reads the fatal error from the Register 0x02 bit 0 This flag will be reset only by power-on-reset and soft reset.

Parameters
v_fatal_err_u8: The status of fatal error
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FATAL_ERR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_err_code()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_err_code ( u8 v_err_code_u8)

This API used to read the error code from register 0x02 bit 1 to 4.

Parameters
v_err_code_u8: The status of error codes
error_code description
0x00 no error
0x01 ACC_CONF error (accel ODR and bandwidth not compatible)
0x02 GYR_CONF error (Gyroscope ODR and bandwidth not compatible)
0x03 Under sampling mode and interrupt uses pre filtered data
0x04 reserved
0x05 Selected trigger-readout offset in
- MAG_IF greater than selected ODR
0x06 FIFO configuration error for header less mode
0x07 Under sampling mode and pre filtered data as FIFO source
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ERR_CODE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_i2c_fail_err()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_fail_err ( u8 v_i2c_err_code_u8)

This API Reads the i2c error code from the Register 0x02 bit 5. This error occurred in I2C master detected.

Parameters
v_i2c_err_code_u8: The status of i2c fail error
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_I2C_FAIL_ERR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_drop_cmd_err()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_drop_cmd_err ( u8 v_drop_cmd_err_u8)

This API Reads the dropped command error from the register 0x02 bit 6.

Parameters
v_drop_cmd_err_u8: The status of drop command error
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_DROP_CMD_ERR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_mag_data_rdy_err()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_data_rdy_err ( u8 v_mag_data_rdy_err_u8)

This API reads the magnetometer data ready interrupt not active. It reads from the error register 0x0x2 bit 7.

Parameters
v_mag_data_rdy_err_u8: The status of mag data ready interrupt
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_MAG_DATA_RDY_ERR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_error_status()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_error_status ( u8 v_fatal_er_u8r,
u8 v_err_code_u8,
u8 v_i2c_fail_err_u8,
u8 v_drop_cmd_err_u8,
u8 v_mag_data_rdy_err_u8 
)

This API reads the error status from the error register 0x02 bit 0 to 7.

Parameters
v_mag_data_rdy_err_u8: The status of mag data ready interrupt
v_fatal_er_u8r: The status of fatal error
v_err_code_u8: The status of error code
v_i2c_fail_err_u8: The status of I2C fail error
v_drop_cmd_err_u8: The status of drop command error
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ERR_STAT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_mag_power_mode_stat()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_power_mode_stat ( u8 v_mag_power_mode_stat_u8)

This API reads the magnetometer power mode from PMU status register 0x03 bit 0 and 1.

Parameters
v_mag_power_mode_stat_u8: The value of mag power mode
mag_powermode value
SUSPEND 0x00
NORMAL 0x01
LOW POWER 0x02
Note
The power mode of mag set by the 0x7E command register
using the function "bmi160_set_command_register()"
value mode
0x18 MAG_MODE_SUSPEND
0x19 MAG_MODE_NORMAL
0x1A MAG_MODE_LOWPOWER
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_MAG_POWER_MODE_STAT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_read_bmm150_mag_trim(), and bmi160_set_mag_interface_normal().

§ bmi160_get_gyro_power_mode_stat()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_power_mode_stat ( u8 v_gyro_power_mode_stat_u8)

This API reads the gyroscope power mode from PMU status register 0x03 bit 2 and 3.

Parameters
v_gyro_power_mode_stat_u8: The value of gyro power mode
gyro_powermode value
SUSPEND 0x00
NORMAL 0x01
FAST POWER UP 0x03
Note
The power mode of gyro set by the 0x7E command register
using the function "bmi160_set_command_register()"
value mode
0x14 GYRO_MODE_SUSPEND
0x15 GYRO_MODE_NORMAL
0x17 GYRO_MODE_FASTSTARTUP
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_POWER_MODE_STAT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_accel_power_mode_stat()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_power_mode_stat ( u8 v_accel_power_mode_stat_u8)

This API reads the accelerometer power mode from PMU status register 0x03 bit 4 and 5.

Parameters
v_accel_power_mode_stat_u8: The value of accel power mode
accel_powermode value
SUSPEND 0x00
NORMAL 0x01
LOW POWER 0x02
Note
The power mode of accel set by the 0x7E command register
using the function "bmi160_set_command_register()"
value mode
0x11 ACCEL_MODE_NORMAL
0x12 ACCEL_LOWPOWER
0x10 ACCEL_SUSPEND
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ACCEL_POWER_MODE_STAT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_read_bmm150_mag_trim(), and bmi160_set_bmm150_mag_and_secondary_if_power_mode().

§ bmi160_set_mag_interface_normal()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_interface_normal ( void  )

This API switch mag interface to normal mode and confirm whether the mode switching done successfully or not.

Returns
results of bus communication function and current MAG_PMU result
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DELAY, bmi160_get_mag_power_mode_stat(), BMI160_INIT_VALUE, BMI160_MAG_NOAMRL_SWITCH_TIMES, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_command_register(), bmi160_t::delay_msec, E_BMI160_COMM_RES, MAG_INTERFACE_PMU_ENABLE, MAG_MODE_NORMAL, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_read_bmm150_mag_trim(), and bmi160_set_bmm150_mag_and_secondary_if_power_mode().

§ bmi160_read_mag_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_x ( s16 v_mag_x_s16,
u8  v_sensor_select_u8 
)

This API reads magnetometer data X values from the register 0x04 and 0x05.

The mag sensor data read form auxiliary mag

Parameters
v_mag_x_s16: The value of mag x
v_sensor_select_u8: Mag selection value
value sensor
0 BMM150
1 AKM09911 or AKM09912
Note
For mag data output rate configuration use the following function
bmi160_set_mag_output_data_rate()
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_MAG_X_DATA_LENGTH, BMI160_MAG_X_DATA_SIZE, BMI160_MAG_X_LSB_BYTE, BMI160_MAG_X_MSB_BYTE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_05_BITS, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_0_MAG_X_LSB__REG, BMI160_USER_DATA_MAG_X_LSB__REG, BST_AKM, BST_BMM, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_read_mag_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_y ( s16 v_mag_y_s16,
u8  v_sensor_select_u8 
)

This API reads magnetometer data Y values from the register 0x06 and 0x07.

The mag sensor data read form auxiliary mag

Parameters
v_mag_y_s16: The value of mag y
v_sensor_select_u8: Mag selection value
value sensor
0 BMM150
1 AKM09911 or AKM09912
Note
For mag data output rate configuration use the following function
bmi160_set_mag_output_data_rate()
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_MAG_Y_DATA_LENGTH, BMI160_MAG_Y_DATA_SIZE, BMI160_MAG_Y_LSB_BYTE, BMI160_MAG_Y_MSB_BYTE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_05_BITS, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_2_MAG_Y_LSB__REG, BMI160_USER_DATA_MAG_Y_LSB__REG, BST_AKM, BST_BMM, bmi160_t::dev_addr, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_read_mag_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_z ( s16 v_mag_z_s16,
u8  v_sensor_select_u8 
)

This API reads magnetometer data Z values from the register 0x08 and 0x09.

The mag sensor data read form auxiliary mag

Parameters
v_mag_z_s16: The value of mag z
v_sensor_select_u8: Mag selection value
value sensor
0 BMM150
1 AKM09911 or AKM09912
Note
For mag data output rate configuration use the following function
bmi160_set_mag_output_data_rate()
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_MAG_Z_DATA_LENGTH, BMI160_MAG_Z_DATA_SIZE, BMI160_MAG_Z_LSB_BYTE, BMI160_MAG_Z_MSB_BYTE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_07_BITS, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_4_MAG_Z_LSB__REG, BMI160_USER_DATA_MAG_Z_LSB__REG, BST_AKM, BST_BMM, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_read_mag_r()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_r ( s16 v_mag_r_s16)

This API reads magnetometer data RHALL values from the register 0x0A and 0x0B.

Parameters
v_mag_r_s16: The value of BMM150 r data
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_MAG_R_DATA_LENGTH, BMI160_MAG_R_DATA_SIZE, BMI160_MAG_R_LSB_BYTE, BMI160_MAG_R_MSB_BYTE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_06_BITS, BMI160_USER_DATA_6_RHALL_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_mag_xyz()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_xyz ( struct bmi160_mag_t mag,
u8  v_sensor_select_u8 
)

This API reads magnetometer data X,Y,Z values from the register 0x04 to 0x09.

The mag sensor data read form auxiliary mag

Parameters
mag: The value of mag xyz data
v_sensor_select_u8: Mag selection value
value sensor
0 BMM150
1 AKM09911 or AKM09912
Note
For mag data output rate configuration use the following function
bmi160_set_mag_output_data_rate()
Returns
results of bus communication function
Return values
0-> Success
-1-> Error *

References BMI160_DATA_FRAME_MAG_X_LSB_BYTE, BMI160_DATA_FRAME_MAG_X_MSB_BYTE, BMI160_DATA_FRAME_MAG_Y_LSB_BYTE, BMI160_DATA_FRAME_MAG_Y_MSB_BYTE, BMI160_DATA_FRAME_MAG_Z_LSB_BYTE, BMI160_DATA_FRAME_MAG_Z_MSB_BYTE, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_MAG_XYZ_DATA_LENGTH, BMI160_MAG_XYZ_DATA_SIZE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_05_BITS, BMI160_SHIFT_BIT_POSITION_BY_07_BITS, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_0_MAG_X_LSB__REG, BMI160_USER_DATA_MAG_X_LSB__REG, BST_AKM, BST_BMM, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, bmi160_mag_t::x, bmi160_mag_t::y, and bmi160_mag_t::z.

Referenced by bmi160_read_bmm150_mag_trim().

§ bmi160_read_mag_xyzr()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_mag_xyzr ( struct bmi160_mag_xyzr_t mag)

§ bmi160_read_gyro_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_x ( s16 v_gyro_x_s16)

This API reads gyro data X values form the register 0x0C and 0x0D.

Parameters
v_gyro_x_s16: The value of gyro x data
@note Gyro Configuration use the following function
@note bmi160_set_gyro_output_data_rate()
@note bmi160_set_gyro_bw()
@note bmi160_set_gyro_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GYRO_DATA_LENGTH, BMI160_GYRO_X_DATA_SIZE, BMI160_GYRO_X_LSB_BYTE, BMI160_GYRO_X_MSB_BYTE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_8_GYRO_X_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_gyro_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_y ( s16 v_gyro_y_s16)

This API reads gyro data Y values form the register 0x0E and 0x0F.

Parameters
v_gyro_y_s16: The value of gyro y data
@note Gyro Configuration use the following function
@note bmi160_set_gyro_output_data_rate()
@note bmi160_set_gyro_bw()
@note bmi160_set_gyro_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error result of communication routines

References BMI160_GYRO_DATA_LENGTH, BMI160_GYRO_Y_DATA_SIZE, BMI160_GYRO_Y_LSB_BYTE, BMI160_GYRO_Y_MSB_BYTE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_10_GYRO_Y_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_gyro_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_z ( s16 v_gyro_z_s16)

This API reads gyro data Z values form the register 0x10 and 0x11.

Parameters
v_gyro_z_s16: The value of gyro z data
@note Gyro Configuration use the following function
@note bmi160_set_gyro_output_data_rate()
@note bmi160_set_gyro_bw()
@note bmi160_set_gyro_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GYRO_DATA_LENGTH, BMI160_GYRO_Z_DATA_SIZE, BMI160_GYRO_Z_LSB_BYTE, BMI160_GYRO_Z_MSB_BYTE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_12_GYRO_Z_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_gyro_xyz()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_gyro_xyz ( struct bmi160_gyro_t gyro)

This API reads gyro data X,Y,Z values from the register 0x0C to 0x11.

Parameters
gyro: The value of gyro xyz
@note Gyro Configuration use the following function
@note bmi160_set_gyro_output_data_rate()
@note bmi160_set_gyro_bw()
@note bmi160_set_gyro_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_DATA_FRAME_GYRO_X_LSB_BYTE, BMI160_DATA_FRAME_GYRO_X_MSB_BYTE, BMI160_DATA_FRAME_GYRO_Y_LSB_BYTE, BMI160_DATA_FRAME_GYRO_Y_MSB_BYTE, BMI160_DATA_FRAME_GYRO_Z_LSB_BYTE, BMI160_DATA_FRAME_GYRO_Z_MSB_BYTE, BMI160_GYRO_XYZ_DATA_LENGTH, BMI160_GYRO_XYZ_DATA_SIZE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_8_GYRO_X_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, bmi160_gyro_t::x, bmi160_gyro_t::y, and bmi160_gyro_t::z.

§ bmi160_read_accel_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_x ( s16 v_accel_x_s16)

This API reads accelerometer data X values form the register 0x12 and 0x13.

Parameters
v_accel_x_s16: The value of accel x
@note For accel configuration use the following functions
@note bmi160_set_accel_output_data_rate()
@note bmi160_set_accel_bw()
@note bmi160_set_accel_under_sampling_parameter()
@note bmi160_set_accel_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_ACCEL_DATA_LENGTH, BMI160_ACCEL_X_DATA_SIZE, BMI160_ACCEL_X_LSB_BYTE, BMI160_ACCEL_X_MSB_BYTE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_14_ACCEL_X_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_accel_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_y ( s16 v_accel_y_s16)

This API reads accelerometer data Y values form the register 0x14 and 0x15.

Parameters
v_accel_y_s16: The value of accel y
@note For accel configuration use the following functions
@note bmi160_set_accel_output_data_rate()
@note bmi160_set_accel_bw()
@note bmi160_set_accel_under_sampling_parameter()
@note bmi160_set_accel_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_ACCEL_DATA_LENGTH, BMI160_ACCEL_Y_DATA_SIZE, BMI160_ACCEL_Y_LSB_BYTE, BMI160_ACCEL_Y_MSB_BYTE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_16_ACCEL_Y_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_accel_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_z ( s16 v_accel_z_s16)

This API reads accelerometer data Z values form the register 0x16 and 0x17.

Parameters
v_accel_z_s16: The value of accel z
@note For accel configuration use the following functions
@note bmi160_set_accel_output_data_rate()
@note bmi160_set_accel_bw()
@note bmi160_set_accel_under_sampling_parameter()
@note bmi160_set_accel_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_ACCEL_DATA_LENGTH, BMI160_ACCEL_Z_DATA_SIZE, BMI160_ACCEL_Z_LSB_BYTE, BMI160_ACCEL_Z_MSB_BYTE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_18_ACCEL_Z_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_accel_xyz()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_xyz ( struct bmi160_accel_t accel)

This API reads accelerometer data X,Y,Z values from the register 0x12 to 0x17.

Parameters
accel:The value of accel xyz
@note For accel configuration use the following functions
@note bmi160_set_accel_output_data_rate()
@note bmi160_set_accel_bw()
@note bmi160_set_accel_under_sampling_parameter()
@note bmi160_set_accel_range()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_ACCEL_XYZ_DATA_LENGTH, BMI160_ACCEL_XYZ_DATA_SIZE, BMI160_DATA_FRAME_ACCEL_X_LSB_BYTE, BMI160_DATA_FRAME_ACCEL_X_MSB_BYTE, BMI160_DATA_FRAME_ACCEL_Y_LSB_BYTE, BMI160_DATA_FRAME_ACCEL_Y_MSB_BYTE, BMI160_DATA_FRAME_ACCEL_Z_LSB_BYTE, BMI160_DATA_FRAME_ACCEL_Z_MSB_BYTE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_DATA_14_ACCEL_X_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, bmi160_accel_t::x, bmi160_accel_t::y, and bmi160_accel_t::z.

§ bmi160_get_sensor_time()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_sensor_time ( u32 v_sensor_time_u32)

This API reads sensor_time from the register 0x18 to 0x1A.

Parameters
v_sensor_time_u32: The value of sensor time
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SENSOR_TIME_DATA_SIZE, BMI160_SENSOR_TIME_LENGTH, BMI160_SENSOR_TIME_LSB_BYTE, BMI160_SENSOR_TIME_MSB_BYTE, BMI160_SENSOR_TIME_XLSB_BYTE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_SHIFT_BIT_POSITION_BY_16_BITS, BMI160_USER_SENSORTIME_0_SENSOR_TIME_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_read_accel_gyro_sensor_time()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_accel_gyro_sensor_time ( u8  accel_gyro_sensortime_select,
struct bmi160_sensortime_accel_gyro_data accel_gyro_sensor_time 
)

§ bmi160_get_gyro_selftest()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_selftest ( u8 v_gyro_selftest_u8)

This API reads the Gyroscope self test status from the register 0x1B bit 1.

Parameters
v_gyro_selftest_u8: The value of gyro self test status
value status
0 Gyroscope self test is running or failed
1 Gyroscope self test completed successfully
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STAT_GYRO_SELFTEST_OK__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_mag_manual_operation_stat()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_manual_operation_stat ( u8 v_mag_manual_stat_u8)

This API reads the status of mag manual interface operation form the register 0x1B bit 2.

Parameters
v_mag_manual_stat_u8: The value of mag manual operation status
value status
0 Indicates no manual magnetometer
- interface operation is ongoing
1 Indicates manual magnetometer
- interface operation is ongoing
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STAT_MAG_MANUAL_OPERATION__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_foc_rdy()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_rdy ( u8 v_foc_rdy_u8)

This API reads the fast offset compensation status form the register 0x1B bit 3.

Parameters
v_foc_rdy_u8: The status of fast compensation
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STAT_FOC_RDY__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_set_accel_foc_trigger(), and bmi160_set_foc_gyro_enable().

§ bmi160_get_nvm_rdy()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_nvm_rdy ( u8 v_nvm_rdy_u8)

This API Reads the nvm_rdy status from the resister 0x1B bit 4.

Parameters
v_nvm_rdy_u8: The value of NVM ready status
value status
0 NVM write operation in progress
1 NVM is ready to accept a new write trigger
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STAT_NVM_RDY__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_data_rdy_mag()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_data_rdy_mag ( u8 v_data_rdy_u8)

This API reads the status of mag data ready from the register 0x1B bit 5 The status get reset when one mag data register is read out.

Parameters
v_data_rdy_u8: The value of mag data ready status
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STAT_DATA_RDY_MAG__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_gyro_data_rdy()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_data_rdy ( u8 v_data_rdy_u8)

This API reads the status of gyro data ready form the register 0x1B bit 6 The status get reset when gyro data register read out.

Parameters
v_data_rdy_u8: The value of gyro data ready
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STAT_DATA_RDY_GYRO__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_accel_data_rdy()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_data_rdy ( u8 v_data_rdy_u8)

This API reads the status of accel data ready form the register 0x1B bit 7 The status get reset when accel data register read out.

Parameters
v_data_rdy_u8: The value of accel data ready status
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STAT_DATA_RDY_ACCEL__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_step_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_step_intr ( u8 v_step_intr_u8)

This API reads the step detector interrupt status from the register 0x1C bit 0 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_step_intr_u8: The status of step detector interrupt
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_STEP_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_significant_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_significant_intr ( u8 v_significant_intr_u8)

This API reads the significant motion interrupt status from the register 0x1C bit 1 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_significant_intr_u8: The status of step motion interrupt
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_SIGNIFICANT_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_any_motion_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_any_motion_intr ( u8 v_any_motion_intr_u8)

This API reads the any motion interrupt status from the register 0x1C bit 2 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_any_motion_intr_u8: The status of any-motion interrupt
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_ANY_MOTION__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_pmu_trigger_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_pmu_trigger_intr ( u8 v_pmu_trigger_intr_u8)

This API reads the power mode trigger interrupt status from the register 0x1C bit 3 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_pmu_trigger_intr_u8: The status of power mode trigger interrupt
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_PMU_TRIGGER__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_double_tap_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_double_tap_intr ( u8 v_double_tap_intr_u8)

This API reads the double tab status from the register 0x1C bit 4 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_double_tap_intr_u8:The status of double tab interrupt
@note Double tap interrupt can be configured by the following functions
@note INTERRUPT MAPPING
@note bmi160_set_intr_double_tap()
@note AXIS MAPPING
@note bmi160_get_stat2_tap_first_x()
@note bmi160_get_stat2_tap_first_y()
@note bmi160_get_stat2_tap_first_z()
@note DURATION
@note bmi160_set_intr_tap_durn()
@note THRESHOLD
@note bmi160_set_intr_tap_thres()
@note TAP QUIET
@note bmi160_set_intr_tap_quiet()
@note TAP SHOCK
@note bmi160_set_intr_tap_shock()
@note TAP SOURCE
@note bmi160_set_intr_tap_source()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_DOUBLE_TAP_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_single_tap_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_single_tap_intr ( u8 v_single_tap_intr_u8)

This API reads the single tab status from the register 0x1C bit 5 flag is associated with a specific interrupt function. It is set when the single tab interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_single_tap_intr_u8:The status of single tap interrupt
@note Single tap interrupt can be configured by the following functions
@note INTERRUPT MAPPING
@note bmi160_set_intr_single_tap()
@note AXIS MAPPING
@note bmi160_get_stat2_tap_first_x()
@note bmi160_get_stat2_tap_first_y()
@note bmi160_get_stat2_tap_first_z()
@note DURATION
@note bmi160_set_intr_tap_durn()
@note THRESHOLD
@note bmi160_set_intr_tap_thres()
@note TAP QUIET
@note bmi160_set_intr_tap_quiet()
@note TAP SHOCK
@note bmi160_set_intr_tap_shock()
@note TAP SOURCE
@note bmi160_set_intr_tap_source()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_SINGLE_TAP_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_orient_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_orient_intr ( u8 v_orient_intr_u8)

This API reads the orient status from the register 0x1C bit 6 flag is associated with a specific interrupt function. It is set when the orient interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_orient_intr_u8: The status of orient interrupt
@note For orient interrupt configuration use the following functions
@note STATUS
@note bmi160_get_stat0_orient_intr()
@note AXIS MAPPING
@note bmi160_get_stat3_orient_xy()
@note bmi160_get_stat3_orient_z()
@note bmi160_set_intr_orient_axes_enable()
@note INTERRUPT MAPPING
@note bmi160_set_intr_orient()
@note INTERRUPT OUTPUT
@note bmi160_set_intr_orient_ud_enable()
@note THETA
@note bmi160_set_intr_orient_theta()
@note HYSTERESIS
@note bmi160_set_intr_orient_hyst()
@note BLOCKING
@note bmi160_set_intr_orient_blocking()
@note MODE
@note bmi160_set_intr_orient_mode()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_ORIENT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat0_flat_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat0_flat_intr ( u8 v_flat_intr_u8)

This API reads the flat interrupt status from the register 0x1C bit 7 flag is associated with a specific interrupt function. It is set when the flat interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_flat_intr_u8: The status of flat interrupt
@note For flat configuration use the following functions
@note STATS
@note bmi160_get_stat0_flat_intr()
@note bmi160_get_stat3_flat()
@note INTERRUPT MAPPING
@note bmi160_set_intr_flat()
@note THETA
@note bmi160_set_intr_flat_theta()
@note HOLD TIME
@note bmi160_set_intr_flat_hold()
@note HYSTERESIS
@note bmi160_set_intr_flat_hyst()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_0_FLAT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat1_high_g_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_high_g_intr ( u8 v_high_g_intr_u8)

This API reads the high_g interrupt status from the register 0x1D bit 2 flag is associated with a specific interrupt function. It is set when the high g interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_high_g_intr_u8: The status of high_g interrupt
@note High_g interrupt configured by following functions
@note STATUS
@note bmi160_get_stat1_high_g_intr()
@note AXIS MAPPING
@note bmi160_get_stat3_high_g_first_x()
@note bmi160_get_stat3_high_g_first_y()
@note bmi160_get_stat3_high_g_first_z()
@note SIGN MAPPING
@note bmi160_get_stat3_high_g_first_sign()
@note INTERRUPT MAPPING
@note bmi160_set_intr_high_g()
@note HYSTERESIS
@note bmi160_set_intr_high_g_hyst()
@note DURATION
@note bmi160_set_intr_high_g_durn()
@note THRESHOLD
@note bmi160_set_intr_high_g_thres()
@note SOURCE
@note bmi160_set_intr_low_high_source()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_1_HIGH_G_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat1_low_g_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_low_g_intr ( u8 v_low_g_intr_u8)

This API reads the low g interrupt status from the register 0x1D bit 3 flag is associated with a specific interrupt function. It is set when the low g interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_low_g_intr_u8: The status of low_g interrupt
@note Low_g interrupt configured by following functions
@note STATUS
@note bmi160_get_stat1_low_g_intr()
@note INTERRUPT MAPPING
@note bmi160_set_intr_low_g()
@note SOURCE
@note bmi160_set_intr_low_high_source()
@note DURATION
@note bmi160_set_intr_low_g_durn()
@note THRESHOLD
@note bmi160_set_intr_low_g_thres()
@note HYSTERESIS
@note bmi160_set_intr_low_g_hyst()
@note MODE
@note bmi160_set_intr_low_g_mode()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_1_LOW_G_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat1_data_rdy_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_data_rdy_intr ( u8 v_data_rdy_intr_u8)

This API reads data ready interrupt status from the register 0x1D bit 4 flag is associated with a specific interrupt function. It is set when the data ready interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_data_rdy_intr_u8: The status of data ready interrupt
@note Data ready interrupt configured by following functions
@note STATUS
@note bmi160_get_stat1_data_rdy_intr()
@note INTERRUPT MAPPING
@note bmi160_set_intr_data_rdy()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_1_DATA_RDY_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat1_fifo_full_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_fifo_full_intr ( u8 v_fifo_full_intr_u8)

This API reads data ready FIFO full interrupt status from the register 0x1D bit 5 flag is associated with a specific interrupt function. It is set when the FIFO full interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_fifo_full_intr_u8: The status of fifo full interrupt
@note FIFO full interrupt can be configured by following functions
@note bmi160_set_intr_fifo_full()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_1_FIFO_FULL_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat1_fifo_wm_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_fifo_wm_intr ( u8 v_fifo_wm_intr_u8)

This API reads data ready FIFO watermark interrupt status from the register 0x1D bit 6 flag is associated with a specific interrupt function. It is set when the FIFO watermark interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_fifo_wm_intr_u8: The status of fifo water mark interrupt
@note FIFO full interrupt can be configured by following functions
@note bmi160_set_intr_fifo_wm()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_1_FIFO_WM_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat1_nomotion_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat1_nomotion_intr ( u8 v_nomotion_intr_u8)

This API reads data ready no motion interrupt status from the register 0x1D bit 7 flag is associated with a specific interrupt function. It is set when the no motion interrupt triggers. The setting of INT_LATCH controls if the interrupt signal and hence the respective interrupt flag will be permanently latched, temporarily latched or not latched.

Parameters
v_nomotion_intr_u8: The status of no motion interrupt
@note No motion interrupt can be configured by following function
@note STATUS
@note bmi160_get_stat1_nomotion_intr()
@note INTERRUPT MAPPING
@note bmi160_set_intr_nomotion()
@note DURATION
@note bmi160_set_intr_slow_no_motion_durn()
@note THRESHOLD
@note bmi160_set_intr_slow_no_motion_thres()
@note SLOW/NO MOTION SELECT
@note bmi160_set_intr_slow_no_motion_select()

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_1_NOMOTION_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_any_motion_first_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_first_x ( u8 v_anymotion_first_x_u8)

This API reads the status of any motion first x from the register 0x1E bit 0.

Parameters
v_anymotion_first_x_u8: The status of any motion first x interrupt
value status
0 not triggered
1 triggered by x axis
Returns
results of bus communication function
Return values
0-> Success
-1-> Error
Parameters
v_anymotion_first_x_u8: The status of any motion first x interrupt
value status
0 not triggered
1 triggered by x axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_any_motion_first_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_first_y ( u8 v_any_motion_first_y_u8)

This API reads the status of any motion first y interrupt from the register 0x1E bit 1.

Parameters
v_any_motion_first_y_u8: The status of any motion first y interrupt
value status
0 not triggered
1 triggered by y axis
    @return results of bus communication function
    @retval 0 -> Success
    @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_any_motion_first_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_first_z ( u8 v_any_motion_first_z_u8)

This API reads the status of any motion first z interrupt from the register 0x1E bit 2.

Parameters
v_any_motion_first_z_u8: The status of any motion first z interrupt
value status
0 not triggered
1 triggered by y axis
    @return results of bus communication function
    @retval 0 -> Success
    @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_ANY_MOTION_FIRST_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_any_motion_sign()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_any_motion_sign ( u8 v_anymotion_sign_u8)

This API reads the any motion sign status from the register 0x1E bit 3.

Parameters
v_anymotion_sign_u8: The status of any motion sign
value sign
0 positive
1 negative
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_ANY_MOTION_SIGN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_tap_first_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_first_x ( u8 v_tap_first_x_u8)

This API reads the any motion tap first x status from the register 0x1E bit 4.

Parameters
v_tap_first_x_u8:The status of any motion tap first x
value status
0 not triggered
1 triggered by x axis
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_TAP_FIRST_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_tap_first_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_first_y ( u8 v_tap_first_y_u8)

This API reads the tap first y interrupt status from the register 0x1E bit 5.

Parameters
v_tap_first_y_u8:The status of tap first y interrupt
value status
0 not triggered
1 triggered by y axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_TAP_FIRST_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_tap_first_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_first_z ( u8 v_tap_first_z_u8)

This API reads the tap first z interrupt status from the register 0x1E bit 6.

Parameters
v_tap_first_z_u8:The status of tap first z interrupt
value status
0 not triggered
1 triggered by z axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_TAP_FIRST_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat2_tap_sign()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat2_tap_sign ( u8 v_tap_sign_u8)

This API reads the tap sign status from the register 0x1E bit 7.

Parameters
v_tap_sign_u8: The status of tap sign
value sign
0 positive
1 negative
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_2_TAP_SIGN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat3_high_g_first_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_first_x ( u8 v_high_g_first_x_u8)

This API reads the high_g first x status from the register 0x1F bit 0.

Parameters
v_high_g_first_x_u8:The status of high_g first x
value status
0 not triggered
1 triggered by x axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat3_high_g_first_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_first_y ( u8 v_high_g_first_y_u8)

This API reads the high_g first y status from the register 0x1F bit 1.

Parameters
v_high_g_first_y_u8: The status of high_g first y
value status
0 not triggered
1 triggered by y axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat3_high_g_first_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_first_z ( u8 v_high_g_first_z_u8)

This API reads the high_g first z status from the register 0x1F bit 3.

Parameters
v_high_g_first_z_u8: The status of high_g first z
value status
0 not triggered
1 triggered by z axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_3_HIGH_G_FIRST_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat3_high_g_sign()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_high_g_sign ( u8 v_high_g_sign_u8)

This API reads the high sign status from the register 0x1F bit 3.

Parameters
v_high_g_sign_u8:The status of high sign
value sign
0 positive
1 negative
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_3_HIGH_G_SIGN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat3_orient_xy()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_orient_xy ( u8 v_orient_xy_u8)

This API reads the status of orient_xy plane from the register 0x1F bit 4 and 5.

Parameters
v_orient_xy_u8:The status of orient_xy plane
value status
0x00 portrait upright
0x01 portrait upside down
0x02 landscape left
0x03 landscape right
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_3_ORIENT_XY__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat3_orient_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_orient_z ( u8 v_orient_z_u8)

This API reads the status of orient z plane from the register 0x1F bit 6.

Parameters
v_orient_z_u8:The status of orient z
value status
0x00 upward looking
0x01 downward looking
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_3_ORIENT_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_stat3_flat()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_stat3_flat ( u8 v_flat_u8)

This API reads the flat status from the register 0x1F bit 7.

Parameters
v_flat_u8: The status of flat interrupt
value status
0x00 non flat
0x01 flat position
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_STAT_3_FLAT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_temp()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_temp ( s16 v_temp_s16)

This API reads the temperature of the sensor from the register 0x21 bit 0 to 7.

Parameters
v_temp_s16: The value of temperature
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_TEMP_DATA_LENGTH, BMI160_TEMP_DATA_SIZE, BMI160_TEMP_LSB_BYTE, BMI160_TEMP_MSB_BYTE, BMI160_USER_TEMP_LSB_VALUE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_fifo_length()

BMI160_RETURN_FUNCTION_TYPE bmi160_fifo_length ( u32 v_fifo_length_u32)

This API reads the of the sensor form the register 0x23 and 0x24 bit 0 to 7 and 0 to 2.

this byte counter is updated each time a complete frame was read or writtern

Parameters
v_fifo_length_u32: The value of fifo byte counter
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_FIFO_DATA_LENGTH, BMI160_FIFO_DATA_SIZE, BMI160_FIFO_LENGTH_LSB_BYTE, BMI160_FIFO_LENGTH_MSB_BYTE, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_FIFO_BYTE_COUNTER_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_fifo_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_fifo_data ( u8 v_fifodata_u8,
u16  v_fifo_length_u16 
)

This API reads the fifo data of the sensor from the register 0x24.

Data format depends on the setting of register FIFO_CONFIG

Parameters
v_fifodata_u8: Pointer holding the fifo data
v_fifo_length_u16: The value of fifo length maximum 1024
Note
For reading FIFO data use the following functions
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_DATA__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_read_fifo_header_data_user_defined_length(), and bmi160_read_fifo_headerless_mode_user_defined_length().

§ bmi160_get_accel_output_data_rate()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_output_data_rate ( u8 v_output_data_rate_u8)

This API is used to get the accel output date rate form the register 0x40 bit 0 to 3.

Parameters
v_output_data_rate_u8:The value of accel output date rate
value output data rate
0 BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED
1 BMI160_ACCEL_OUTPUT_DATA_RATE_0_78HZ
2 BMI160_ACCEL_OUTPUT_DATA_RATE_1_56HZ
3 BMI160_ACCEL_OUTPUT_DATA_RATE_3_12HZ
4 BMI160_ACCEL_OUTPUT_DATA_RATE_6_25HZ
5 BMI160_ACCEL_OUTPUT_DATA_RATE_12_5HZ
6 BMI160_ACCEL_OUTPUT_DATA_RATE_25HZ
7 BMI160_ACCEL_OUTPUT_DATA_RATE_50HZ
8 BMI160_ACCEL_OUTPUT_DATA_RATE_100HZ
9 BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ
10 BMI160_ACCEL_OUTPUT_DATA_RATE_400HZ
11 BMI160_ACCEL_OUTPUT_DATA_RATE_800HZ
12 BMI160_ACCEL_OUTPUT_DATA_RATE_1600HZ
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_output_data_rate()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_output_data_rate ( u8  v_output_data_rate_u8,
u8  v_accel_bw_u8 
)

This API is used to set the accel output date rate form the register 0x40 bit 0 to 3.

Parameters
v_output_data_rate_u8:The value of accel output date rate
value output data rate
0 BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED
1 BMI160_ACCEL_OUTPUT_DATA_RATE_0_78HZ
2 BMI160_ACCEL_OUTPUT_DATA_RATE_1_56HZ
3 BMI160_ACCEL_OUTPUT_DATA_RATE_3_12HZ
4 BMI160_ACCEL_OUTPUT_DATA_RATE_6_25HZ
5 BMI160_ACCEL_OUTPUT_DATA_RATE_12_5HZ
6 BMI160_ACCEL_OUTPUT_DATA_RATE_25HZ
7 BMI160_ACCEL_OUTPUT_DATA_RATE_50HZ
8 BMI160_ACCEL_OUTPUT_DATA_RATE_100HZ
9 BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ
10 BMI160_ACCEL_OUTPUT_DATA_RATE_400HZ
11 BMI160_ACCEL_OUTPUT_DATA_RATE_800HZ
12 BMI160_ACCEL_OUTPUT_DATA_RATE_1600HZ
v_accel_bw_u8:The value of accel selected accel bandwidth
value output data rate
0 BMI160_ACCEL_OSR4_AVG1
1 BMI160_ACCEL_OSR2_AVG2
2 BMI160_ACCEL_NORMAL_AVG4
3 BMI160_ACCEL_CIC_AVG8
4 BMI160_ACCEL_RES_AVG2
5 BMI160_ACCEL_RES_AVG4
6 BMI160_ACCEL_RES_AVG8
7 BMI160_ACCEL_RES_AVG16
8 BMI160_ACCEL_RES_AVG32
9 BMI160_ACCEL_RES_AVG64
10 BMI160_ACCEL_RES_AVG128
    @note Verify the accel bandwidth before seting the

output data rate

bandwidth output data rate under sampling
OSR4 12.5 TO 1600 0
OSR2 12.5 TO 1600 0
NORMAL 12.5 TO 1600 0
CIC 12.5 TO 1600 0
AVG2 0.78 TO 400 1
AVG4 0.78 TO 200 1
AVG8 0.78 TO 100 1
AVG16 0.78 TO 50 1
AVG32 0.78 TO 25 1
AVG64 0.78 TO 12.5 1
AVG128 0.78 TO 6.25 1
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error
Parameters
v_output_data_rate_u8:The value of accel output date rate
value output data rate
0 BMI160_ACCEL_OUTPUT_DATA_RATE_RESERVED
1 BMI160_ACCEL_OUTPUT_DATA_RATE_0_78HZ
2 BMI160_ACCEL_OUTPUT_DATA_RATE_1_56HZ
3 BMI160_ACCEL_OUTPUT_DATA_RATE_3_12HZ
4 BMI160_ACCEL_OUTPUT_DATA_RATE_6_25HZ
5 BMI160_ACCEL_OUTPUT_DATA_RATE_12_5HZ
6 BMI160_ACCEL_OUTPUT_DATA_RATE_25HZ
7 BMI160_ACCEL_OUTPUT_DATA_RATE_50HZ
8 BMI160_ACCEL_OUTPUT_DATA_RATE_100HZ
9 BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ
10 BMI160_ACCEL_OUTPUT_DATA_RATE_400HZ
11 BMI160_ACCEL_OUTPUT_DATA_RATE_800HZ
12 BMI160_ACCEL_OUTPUT_DATA_RATE_1600HZ
v_accel_bw_u8:The value of accel selected accel bandwidth
value output data rate
0 BMI160_ACCEL_OSR4_AVG1
1 BMI160_ACCEL_OSR2_AVG2
2 BMI160_ACCEL_NORMAL_AVG4
3 BMI160_ACCEL_CIC_AVG8
4 BMI160_ACCEL_RES_AVG2
5 BMI160_ACCEL_RES_AVG4
6 BMI160_ACCEL_RES_AVG8
7 BMI160_ACCEL_RES_AVG16
8 BMI160_ACCEL_RES_AVG32
9 BMI160_ACCEL_RES_AVG64
10 BMI160_ACCEL_RES_AVG128
    @note Verify the accel bandwidth before setting the

output data rate

bandwidth output data rate under sampling
OSR4 12.5 TO 1600 0
OSR2 12.5 TO 1600 0
NORMAL 12.5 TO 1600 0
CIC 12.5 TO 1600 0
AVG2 0.78 TO 400 1
AVG4 0.78 TO 200 1
AVG8 0.78 TO 100 1
AVG16 0.78 TO 50 1
AVG32 0.78 TO 25 1
AVG64 0.78 TO 12.5 1
AVG128 0.78 TO 6.25 1
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_ACCEL_CIC_AVG8, BMI160_ACCEL_NORMAL_AVG4, BMI160_ACCEL_OSR2_AVG2, BMI160_ACCEL_OSR4_AVG1, BMI160_ACCEL_OUTPUT_DATA_RATE_0_78HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_100HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_12_5HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_1600HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_200HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_25HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_400HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_50HZ, BMI160_ACCEL_OUTPUT_DATA_RATE_6_25HZ, BMI160_ACCEL_RES_AVG128, BMI160_ACCEL_RES_AVG16, BMI160_ACCEL_RES_AVG2, BMI160_ACCEL_RES_AVG32, BMI160_ACCEL_RES_AVG4, BMI160_ACCEL_RES_AVG64, BMI160_ACCEL_RES_AVG8, BMI160_ASSIGN_DATA, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_accel_under_sampling_parameter(), BMI160_SET_BITSLICE, BMI160_US_DISABLE, BMI160_US_ENABLE, BMI160_USER_ACCEL_CONFIG_OUTPUT_DATA_RATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_accel_bw()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_bw ( u8 v_bw_u8)

This API is used to get the accel bandwidth from the register 0x40 bit 4 to 6.

bandwidth parameter determines filter configuration(acc_us=0) and averaging for under sampling mode(acc_us=1)

Parameters
v_bw_u8: The value of accel bandwidth
@note accel bandwidth depends on under sampling parameter
@note under sampling parameter cab be set by the function
"BMI160_SET_ACCEL_UNDER_SAMPLING_PARAMETER"

@note Filter configuration
accel_us Filter configuration
0x00 OSR4 mode
0x01 OSR2 mode
0x02 normal mode
0x03 CIC mode
0x04 Reserved
0x05 Reserved
0x06 Reserved
0x07 Reserved
Note
accel under sampling mode
accel_us Under sampling mode
0x00 no averaging
0x01 average 2 samples
0x02 average 4 samples
0x03 average 8 samples
0x04 average 16 samples
0x05 average 32 samples
0x06 average 64 samples
0x07 average 128 samples
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ACCEL_CONFIG_ACCEL_BW__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_bw()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_bw ( u8  v_bw_u8)

This API is used to set the accel bandwidth from the register 0x40 bit 4 to 6.

bandwidth parameter determines filter configuration(acc_us=0) and averaging for under sampling mode(acc_us=1)

Parameters
v_bw_u8: The value of accel bandwidth
@note accel bandwidth depends on under sampling parameter
@note under sampling parameter cab be set by the function
"BMI160_SET_ACCEL_UNDER_SAMPLING_PARAMETER"

@note Filter configuration
accel_us Filter configuration
0x00 OSR4 mode
0x01 OSR2 mode
0x02 normal mode
0x03 CIC mode
0x04 Reserved
0x05 Reserved
0x06 Reserved
0x07 Reserved
Note
accel under sampling mode
accel_us Under sampling mode
0x00 no averaging
0x01 average 2 samples
0x02 average 4 samples
0x03 average 8 samples
0x04 average 16 samples
0x05 average 32 samples
0x06 average 64 samples
0x07 average 128 samples
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ACCEL_BW, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_ACCEL_CONFIG_ACCEL_BW__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_accel_under_sampling_parameter()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_under_sampling_parameter ( u8 v_accel_under_sampling_u8)

This API is used to get the accel under sampling parameter form the register 0x40 bit 7.

Parameters
v_accel_under_sampling_u8: The value of accel under sampling
value under_sampling
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_under_sampling_parameter()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_under_sampling_parameter ( u8  v_accel_under_sampling_u8)

This API is used to set the accel under sampling parameter form the register 0x40 bit 7.

Parameters
v_accel_under_sampling_u8: The value of accel under sampling
value under_sampling
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_UNDER_SAMPLING, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_ACCEL_CONFIG_ACCEL_UNDER_SAMPLING__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_set_accel_output_data_rate().

§ bmi160_get_accel_range()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_range ( u8 v_range_u8)

This API is used to get the ranges (g values) of the accel from the register 0x41 bit 0 to 3.

Parameters
v_range_u8: The value of accel g range
value g_range
0x03 BMI160_ACCEL_RANGE_2G
0x05 BMI160_ACCEL_RANGE_4G
0x08 BMI160_ACCEL_RANGE_8G
0x0C BMI160_ACCEL_RANGE_16G
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ACCEL_RANGE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_range()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_range ( u8  v_range_u8)

This API is used to set the ranges (g values) of the accel from the register 0x41 bit 0 to 3.

Parameters
v_range_u8: The value of accel g range
value g_range
0x03 BMI160_ACCEL_RANGE_2G
0x05 BMI160_ACCEL_RANGE_4G
0x08 BMI160_ACCEL_RANGE_8G
0x0C BMI160_ACCEL_RANGE_16G
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_ACCEL_RANGE0, BMI160_ACCEL_RANGE1, BMI160_ACCEL_RANGE3, BMI160_ACCEL_RANGE4, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_ACCEL_RANGE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_gyro_output_data_rate()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_output_data_rate ( u8 v_output_data_rate_u8)

This API is used to get the gyroscope output data rate from the register 0x42 bit 0 to 3.

Parameters
v_output_data_rate_u8:The value of gyro output data rate
value gyro output data rate
0x00 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x01 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x02 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x03 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x04 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x05 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x06 BMI160_GYRO_OUTPUT_DATA_RATE_25HZ
0x07 BMI160_GYRO_OUTPUT_DATA_RATE_50HZ
0x08 BMI160_GYRO_OUTPUT_DATA_RATE_100HZ
0x09 BMI160_GYRO_OUTPUT_DATA_RATE_200HZ
0x0A BMI160_GYRO_OUTPUT_DATA_RATE_400HZ
0x0B BMI160_GYRO_OUTPUT_DATA_RATE_800HZ
0x0C BMI160_GYRO_OUTPUT_DATA_RATE_1600HZ
0x0D BMI160_GYRO_OUTPUT_DATA_RATE_3200HZ
0x0E BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x0F BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_output_data_rate()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_output_data_rate ( u8  v_output_data_rate_u8)

This API is used to set the gyroscope output data rate from the register 0x42 bit 0 to 3.

Parameters
v_output_data_rate_u8:The value of gyro output data rate
value gyro output data rate
0x00 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x01 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x02 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x03 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x04 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x05 BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x06 BMI160_GYRO_OUTPUT_DATA_RATE_25HZ
0x07 BMI160_GYRO_OUTPUT_DATA_RATE_50HZ
0x08 BMI160_GYRO_OUTPUT_DATA_RATE_100HZ
0x09 BMI160_GYRO_OUTPUT_DATA_RATE_200HZ
0x0A BMI160_GYRO_OUTPUT_DATA_RATE_400HZ
0x0B BMI160_GYRO_OUTPUT_DATA_RATE_800HZ
0x0C BMI160_GYRO_OUTPUT_DATA_RATE_1600HZ
0x0D BMI160_GYRO_OUTPUT_DATA_RATE_3200HZ
0x0E BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
0x0F BMI160_GYRO_OUTPUT_DATA_RATE_RESERVED
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_OUTPUT_DATA_RATE1, BMI160_OUTPUT_DATA_RATE2, BMI160_OUTPUT_DATA_RATE3, BMI160_OUTPUT_DATA_RATE4, BMI160_OUTPUT_DATA_RATE5, BMI160_OUTPUT_DATA_RATE6, BMI160_OUTPUT_DATA_RATE7, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_CONFIG_OUTPUT_DATA_RATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_gyro_bw()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_bw ( u8 v_bw_u8)

This API is used to get the data of gyro from the register 0x42 bit 4 to 5.

Parameters
v_bw_u8: The value of gyro bandwidth
value gyro bandwidth
0x00 BMI160_GYRO_OSR4_MODE
0x01 BMI160_GYRO_OSR2_MODE
0x02 BMI160_GYRO_NORMAL_MODE
0x03 BMI160_GYRO_CIC_MODE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_CONFIG_BW__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_bw()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_bw ( u8  v_bw_u8)

This API is used to set the data of gyro from the register 0x42 bit 4 to 5.

Parameters
v_bw_u8: The value of gyro bandwidth
value gyro bandwidth
0x00 BMI160_GYRO_OSR4_MODE
0x01 BMI160_GYRO_OSR2_MODE
0x02 BMI160_GYRO_NORMAL_MODE
0x03 BMI160_GYRO_CIC_MODE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_GYRO_BW, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_CONFIG_BW__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_gyro_range()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_range ( u8 v_range_u8)

This API reads the range of gyro from the register 0x43 bit 0 to 2.

Parameters
v_range_u8: The value of gyro range
value range
0x00 BMI160_GYRO_RANGE_2000_DEG_SEC
0x01 BMI160_GYRO_RANGE_1000_DEG_SEC
0x02 BMI160_GYRO_RANGE_500_DEG_SEC
0x03 BMI160_GYRO_RANGE_250_DEG_SEC
0x04 BMI160_GYRO_RANGE_125_DEG_SEC
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_RANGE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_range()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_range ( u8  v_range_u8)

This API set the range of gyro from the register 0x43 bit 0 to 2.

Parameters
v_range_u8: The value of gyro range
value range
0x00 BMI160_GYRO_RANGE_2000_DEG_SEC
0x01 BMI160_GYRO_RANGE_1000_DEG_SEC
0x02 BMI160_GYRO_RANGE_500_DEG_SEC
0x03 BMI160_GYRO_RANGE_250_DEG_SEC
0x04 BMI160_GYRO_RANGE_125_DEG_SEC
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_GYRO_RANGE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_RANGE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_mag_output_data_rate()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_output_data_rate ( u8 v_output_data_rate_u8)

This API is used to get the output data rate of magnetometer from the register 0x44 bit 0 to 3.

Parameters
v_output_data_rate_u8: The value of mag output data rate
value mag output data rate
0x00 BMI160_MAG_OUTPUT_DATA_RATE_RESERVED
0x01 BMI160_MAG_OUTPUT_DATA_RATE_0_78HZ
0x02 BMI160_MAG_OUTPUT_DATA_RATE_1_56HZ
0x03 BMI160_MAG_OUTPUT_DATA_RATE_3_12HZ
0x04 BMI160_MAG_OUTPUT_DATA_RATE_6_25HZ
0x05 BMI160_MAG_OUTPUT_DATA_RATE_12_5HZ
0x06 BMI160_MAG_OUTPUT_DATA_RATE_25HZ
0x07 BMI160_MAG_OUTPUT_DATA_RATE_50HZ
0x08 BMI160_MAG_OUTPUT_DATA_RATE_100HZ
0x09 BMI160_MAG_OUTPUT_DATA_RATE_200HZ
0x0A BMI160_MAG_OUTPUT_DATA_RATE_400HZ
0x0B BMI160_MAG_OUTPUT_DATA_RATE_800HZ
0x0C BMI160_MAG_OUTPUT_DATA_RATE_1600HZ
0x0D BMI160_MAG_OUTPUT_DATA_RATE_RESERVED0
0x0E BMI160_MAG_OUTPUT_DATA_RATE_RESERVED1
0x0F BMI160_MAG_OUTPUT_DATA_RATE_RESERVED2
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_mag_output_data_rate()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_output_data_rate ( u8  v_output_data_rate_u8)

This API is used to set the output data rate of magnetometer from the register 0x44 bit 0 to 3.

Parameters
v_output_data_rate_u8: The value of mag output data rate
value mag output data rate
0x00 BMI160_MAG_OUTPUT_DATA_RATE_RESERVED
0x01 BMI160_MAG_OUTPUT_DATA_RATE_0_78HZ
0x02 BMI160_MAG_OUTPUT_DATA_RATE_1_56HZ
0x03 BMI160_MAG_OUTPUT_DATA_RATE_3_12HZ
0x04 BMI160_MAG_OUTPUT_DATA_RATE_6_25HZ
0x05 BMI160_MAG_OUTPUT_DATA_RATE_12_5HZ
0x06 BMI160_MAG_OUTPUT_DATA_RATE_25HZ
0x07 BMI160_MAG_OUTPUT_DATA_RATE_50HZ
0x08 BMI160_MAG_OUTPUT_DATA_RATE_100HZ
0x09 BMI160_MAG_OUTPUT_DATA_RATE_200HZ
0x0A BMI160_MAG_OUTPUT_DATA_RATE_400HZ
0x0B BMI160_MAG_OUTPUT_DATA_RATE_800HZ
0x0C BMI160_MAG_OUTPUT_DATA_RATE_1600HZ
0x0D BMI160_MAG_OUTPUT_DATA_RATE_RESERVED0
0x0E BMI160_MAG_OUTPUT_DATA_RATE_RESERVED1
0x0F BMI160_MAG_OUTPUT_DATA_RATE_RESERVED2
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ACCEL_OUTPUT_DATA_RATE, BMI160_NULL, BMI160_OUTPUT_DATA_RATE0, BMI160_OUTPUT_DATA_RATE6, BMI160_OUTPUT_DATA_RATE7, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_MAG_CONFIG_OUTPUT_DATA_RATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_get_fifo_down_gyro()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_down_gyro ( u8 v_fifo_down_gyro_u8)

This API is used to read Down sampling for gyro (2**downs_gyro) in the register 0x45 bit 0 to 2.

Parameters
v_fifo_down_gyro_u8:The value of gyro fifo down
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_DOWN_GYRO__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_down_gyro()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_down_gyro ( u8  v_fifo_down_gyro_u8)

This API is used to set Down sampling for gyro (2**downs_gyro) in the register 0x45 bit 0 to 2.

Parameters
v_fifo_down_gyro_u8:The value of gyro fifo down
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_DOWN_GYRO__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_gyro_fifo_filter_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_fifo_filter_data ( u8 v_gyro_fifo_filter_data_u8)

This API is used to read gyro fifo filter data from the register 0x45 bit 3.

Parameters
v_gyro_fifo_filter_data_u8:The value of gyro filter data
value gyro_fifo_filter_data
0x00 Unfiltered data
0x01 Filtered data
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_FILTER_GYRO__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_fifo_filter_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_fifo_filter_data ( u8  v_gyro_fifo_filter_data_u8)

This API is used to set gyro fifo filter data from the register 0x45 bit 3.

Parameters
v_gyro_fifo_filter_data_u8:The value of gyro filter data
value gyro_fifo_filter_data
0x00 Unfiltered data
0x01 Filtered data
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_FILTER, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_FILTER_GYRO__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_fifo_down_accel()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_down_accel ( u8 v_fifo_down_u8)

This API is used to read Down sampling for accel (2*downs_accel) from the register 0x45 bit 4 to 6.

Parameters
v_fifo_down_u8:The value of accel fifo down
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_DOWN_ACCEL__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_down_accel()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_down_accel ( u8  v_fifo_down_u8)

This API is used to set Down sampling for accel (2*downs_accel) from the register 0x45 bit 4 to 6.

Parameters
v_fifo_down_u8:The value of accel fifo down
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_DOWN_ACCEL__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_accel_fifo_filter_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_fifo_filter_data ( u8 accel_fifo_filter_u8)

This API is used to read accel fifo filter data from the register 0x45 bit 7.

Parameters
accel_fifo_filter_u8:The value of accel filter data
value accel_fifo_filter_data
0x00 Unfiltered data
0x01 Filtered data
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error
accel_fifo_filter_u8:The value of accel filter data
value accel_fifo_filter_u8
0x00 Unfiltered data
0x01 Filtered data
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_FILTER_ACCEL__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_fifo_filter_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_fifo_filter_data ( u8  v_accel_fifo_filter_u8)

This API is used to set accel fifo filter data from the register 0x45 bit 7.

Parameters
v_accel_fifo_filter_u8:The value of accel filter data
value accel_fifo_filter_data
0x00 Unfiltered data
0x01 Filtered data
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_FILTER, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_FILTER_ACCEL__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_fifo_wm()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_wm ( u8 v_fifo_wm_u8)

This API is used to Trigger an interrupt when FIFO contains water mark level from the register 0x46 bit 0 to 7.

Parameters
v_fifo_wm_u8: The value of fifo water mark level
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_WM__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_wm()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_wm ( u8  v_fifo_wm_u8)

This API is used to Trigger an interrupt when FIFO contains water mark level from the register 0x46 bit 0 to 7.

Parameters
v_fifo_wm_u8: The value of fifo water mark level
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_WM__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_fifo_time_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_time_enable ( u8 v_fifo_time_enable_u8)

This API reads fifo sensor time frame after the last valid data frame form the register 0x47 bit 1.

Parameters
v_fifo_time_enable_u8: The value of sensor time
value fifo sensor time
0x00 do not return sensortime frame
0x01 return sensortime frame
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_TIME_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_time_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_time_enable ( u8  v_fifo_time_enable_u8)

This API set fifo sensor time frame after the last valid data frame form the register 0x47 bit 1.

Parameters
v_fifo_time_enable_u8: The value of sensor time
value fifo sensor time
0x00 do not return sensortime frame
0x01 return sensortime frame
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_TIME, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_TIME_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_fifo_tag_intr2_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_tag_intr2_enable ( u8 v_fifo_tag_intr2_u8)

This API reads FIFO tag interrupt2 enable status from the resister 0x47 bit 2.

Parameters
v_fifo_tag_intr2_u8: The value of fifo tag interrupt
value fifo tag interrupt
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_TAG_INTR2_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_tag_intr2_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_tag_intr2_enable ( u8  v_fifo_tag_intr2_u8)

This API set FIFO tag interrupt2 enable status from the resister 0x47 bit 2.

Parameters
v_fifo_tag_intr2_u8: The value of fifo tag interrupt
value fifo tag interrupt
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_INTR, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_input_enable(), BMI160_USER_FIFO_TAG_INTR2_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_fifo_tag_intr1_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_tag_intr1_enable ( u8 v_fifo_tag_intr1_u8)

This API get FIFO tag interrupt1 enable status from the resister 0x47 bit 3.

Parameters
v_fifo_tag_intr1_u8:The value of fifo tag interrupt1
value fifo tag interrupt
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_TAG_INTR1_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_tag_intr1_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_tag_intr1_enable ( u8  v_fifo_tag_intr1_u8)

This API set FIFO tag interrupt1 enable status from the resister 0x47 bit 3.

Parameters
v_fifo_tag_intr1_u8:The value of fifo tag interrupt1
value fifo tag interrupt
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_INTR, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_input_enable(), BMI160_USER_FIFO_TAG_INTR1_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_fifo_header_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_header_enable ( u8 v_fifo_header_u8)

This API reads FIFO frame header enable from the register 0x47 bit 4.

Parameters
v_fifo_header_u8:The value of fifo header
value fifo header
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_HEADER_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_header_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_header_enable ( u8  v_fifo_header_u8)

This API set FIFO frame header enable from the register 0x47 bit 4.

Parameters
v_fifo_header_u8:The value of fifo header
value fifo header
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_HEADER, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_HEADER_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_read_fifo_headerless_mode_user_defined_length().

§ bmi160_get_fifo_mag_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_mag_enable ( u8 v_fifo_mag_u8)

This API is used to read stored magnetometer data in FIFO (all 3 axes) from the register 0x47 bit 5.

Parameters
v_fifo_mag_u8: The value of fifo mag enble
value fifo mag
0x00 no magnetometer data is stored
0x01 magnetometer data is stored
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_MAG_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_mag_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_mag_enable ( u8  v_fifo_mag_u8)

This API is used to set stored magnetometer data in FIFO (all 3 axes) from the register 0x47 bit 5.

Parameters
v_fifo_mag_u8: The value of fifo mag enble
value fifo mag
0x00 no magnetometer data is stored
0x01 magnetometer data is stored
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_MAG, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_MAG_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_fifo_accel_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_accel_enable ( u8 v_fifo_accel_u8)

This API is used to read stored accel data in FIFO (all 3 axes) from the register 0x47 bit 6.

Parameters
v_fifo_accel_u8: The value of fifo accel enble
value fifo accel
0x00 no accel data is stored
0x01 accel data is stored
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_ACCEL_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_accel_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_accel_enable ( u8  v_fifo_accel_u8)

This API is used to set stored accel data in FIFO (all 3 axes) from the register 0x47 bit 6.

Parameters
v_fifo_accel_u8: The value of fifo accel enble
value fifo accel
0x00 no accel data is stored
0x01 accel data is stored
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_ACCEL, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_ACCEL_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_fifo_gyro_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_fifo_gyro_enable ( u8 v_fifo_gyro_u8)

This API is used to read stored gyro data in FIFO (all 3 axes) from the resister 0x47 bit 7.

Parameters
v_fifo_gyro_u8: The value of fifo gyro enble
value fifo gyro
0x00 no gyro data is stored
0x01 gyro data is stored
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FIFO_GYRO_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_fifo_gyro_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_fifo_gyro_enable ( u8  v_fifo_gyro_u8)

This API is used to set stored gyro data in FIFO (all 3 axes) from the resister 0x47 bit 7.

Parameters
v_fifo_gyro_u8: The value of fifo gyro enble
value fifo gyro
0x00 no gyro data is stored
0x01 gyro data is stored
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_FIFO_GYRO, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FIFO_GYRO_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_i2c_device_addr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_device_addr ( u8 v_i2c_device_addr_u8)

This API is used to read I2C device address of auxiliary mag from the register 0x4B bit 1 to 7.

Parameters
v_i2c_device_addr_u8: The value of mag I2C device address
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_I2C_DEVICE_ADDR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_i2c_device_addr()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_i2c_device_addr ( u8  v_i2c_device_addr_u8)

This API is used to set I2C device address of auxiliary mag from the register 0x4B bit 1 to 7.

Parameters
v_i2c_device_addr_u8: The value of mag I2C device address
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_I2C_DEVICE_ADDR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_get_mag_burst()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_burst ( u8 v_mag_burst_u8)

This API is used to read Burst data length (1,2,6,8 byte) from the register 0x4C bit 0 to 1.

Parameters
v_mag_burst_u8: The data of mag burst read lenth
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_MAG_BURST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_mag_burst()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_burst ( u8  v_mag_burst_u8)

This API is used to set Burst data length (1,2,6,8 byte) from the register 0x4C bit 0 to 1.

Parameters
v_mag_burst_u8: The data of mag burst read lenth
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_MAG_BURST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_mag_offset()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_offset ( u8 v_mag_offset_u8)

This API is used to read trigger-readout offset in units of 2.5 ms. If set to zero, the offset is maximum, i.e. after readout a trigger is issued immediately. from the register 0x4C bit 2 to 5.

Parameters
v_mag_offset_u8: The value of mag offset
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_MAG_OFFSET__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_mag_offset()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_offset ( u8  v_mag_offset_u8)

This API is used to set trigger-readout offset in units of 2.5 ms. If set to zero, the offset is maximum, i.e. after readout a trigger is issued immediately. from the register 0x4C bit 2 to 5.

Parameters
v_mag_offset_u8: The value of mag offset
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_MAG_OFFSET__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_mag_manual_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_manual_enable ( u8 v_mag_manual_u8)

This API is used to read Enable register access on MAG_IF[2] or MAG_IF[3] writes. This implies that the DATA registers are not updated with magnetometer values. Accessing magnetometer requires the magnetometer in normal mode in PMU_STATUS. from the register 0x4C bit 7.

Parameters
v_mag_manual_u8: The value of mag manual enable
value mag manual
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_MAG_MANUAL_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_set_mag_manual_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_manual_enable ( u8  v_mag_manual_u8)

This API is used to set Enable register access on MAG_IF[2] or MAG_IF[3] writes. This implies that the DATA registers are not updated with magnetometer values. Accessing magnetometer requires the magnetometer in normal mode in PMU_STATUS. from the register 0x4C bit 7.

Parameters
v_mag_manual_u8: The value of mag manual enable
value mag manual
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GEN_READ_WRITE_DELAY, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_MAG_MANUAL_ENABLE__REG, bmi160_t::delay_msec, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, bmi160_t::mag_manual_enable, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_set_power_mode(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_bst_yas537_acquisition_command_register(), bmi160_read_bmm150_mag_trim(), bmi160_set_bmm150_mag_and_secondary_if_power_mode(), and bmi160_set_bmm150_mag_presetmode().

§ bmi160_get_mag_read_addr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_read_addr ( u8 v_mag_read_addr_u8)

This API is used to read data magnetometer address to read from the register 0x4D bit 0 to 7.

It used to provide mag read address of auxiliary mag

Parameters
v_mag_read_addr_u8: The value of address need to be read
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_READ_ADDR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_mag_read_addr()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_read_addr ( u8  v_mag_read_addr_u8)

This API is used to set magnetometer write address from the register 0x4D bit 0 to 7.

mag write address writes the address of auxiliary mag to write

Parameters
v_mag_read_addr_u8The data of auxiliary mag address to write data
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_READ_ADDR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_set_power_mode(), bmi160_bmm150_mag_wakeup(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_bst_yas537_acquisition_command_register(), bmi160_read_bmm150_mag_trim(), and bmi160_set_bmm150_mag_presetmode().

§ bmi160_get_mag_write_addr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_write_addr ( u8 v_mag_write_addr_u8)

This API is used to read magnetometer write address from the register 0x4E bit 0 to 7.

mag write address writes the address of auxiliary mag to write

Parameters
v_mag_write_addr_u8The data of auxiliary mag address to write data
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_WRITE_ADDR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_mag_write_addr()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_write_addr ( u8  v_mag_write_addr_u8)

This API is used to set magnetometer write address from the register 0x4E bit 0 to 7.

mag write address writes the address of auxiliary mag to write

Parameters
v_mag_write_addr_u8The data of auxiliary mag address to write data
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_WRITE_ADDR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_set_power_mode(), bmi160_bmm150_mag_wakeup(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yas537_acquisition_command_register(), bmi160_read_bmm150_mag_trim(), and bmi160_set_bmm150_mag_presetmode().

§ bmi160_get_mag_write_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_mag_write_data ( u8 v_mag_write_data_u8)

This API is used to read magnetometer write data form the resister 0x4F bit 0 to 7.

This writes the data will be wrote to mag

Parameters
v_mag_write_data_u8The value of mag data
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_WRITE_DATA__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_mag_write_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_mag_write_data ( u8  v_mag_write_data_u8)

This API is used to set magnetometer write data form the resister 0x4F bit 0 to 7.

This writes the data will be wrote to mag

Parameters
v_mag_write_data_u8The value of mag data
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_WRITE_DATA__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bmm150_mag_set_power_mode(), bmi160_bmm150_mag_wakeup(), bmi160_bst_yamaha_yas537_calib_values(), bmi160_bst_yas537_acquisition_command_register(), bmi160_read_bmm150_mag_trim(), and bmi160_set_bmm150_mag_presetmode().

§ bmi160_get_intr_enable_0()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_enable_0 ( u8  v_enable_u8,
u8 v_intr_enable_zero_u8 
)

This API is used to read interrupt enable from the register 0x50 bit 0 to 7.

Parameters
v_enable_u8: Value to decided to select interrupt
v_enable_u8 interrupt
0 BMI160_ANY_MOTION_X_ENABLE
1 BMI160_ANY_MOTION_Y_ENABLE
2 BMI160_ANY_MOTION_Z_ENABLE
3 BMI160_DOUBLE_TAP_ENABLE
4 BMI160_SINGLE_TAP_ENABLE
5 BMI160_ORIENT_ENABLE
6 BMI160_FLAT_ENABLE
v_intr_enable_zero_u8: The interrupt enable value
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_ANY_MOTION_X_ENABLE, BMI160_ANY_MOTION_Y_ENABLE, BMI160_ANY_MOTION_Z_ENABLE, BMI160_DOUBLE_TAP_ENABLE, BMI160_FLAT_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_ORIENT_ENABLE, BMI160_RETURN_FUNCTION_TYPE, BMI160_SINGLE_TAP_ENABLE, BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_enable_0()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_enable_0 ( u8  v_enable_u8,
u8  v_intr_enable_zero_u8 
)

This API is used to set interrupt enable from the register 0x50 bit 0 to 7.

Parameters
v_enable_u8: Value to decided to select interrupt
v_enable_u8 interrupt
0 BMI160_ANY_MOTION_X_ENABLE
1 BMI160_ANY_MOTION_Y_ENABLE
2 BMI160_ANY_MOTION_Z_ENABLE
3 BMI160_DOUBLE_TAP_ENABLE
4 BMI160_SINGLE_TAP_ENABLE
5 BMI160_ORIENT_ENABLE
6 BMI160_FLAT_ENABLE
v_intr_enable_zero_u8: The interrupt enable value
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_ANY_MOTION_X_ENABLE, BMI160_ANY_MOTION_Y_ENABLE, BMI160_ANY_MOTION_Z_ENABLE, BMI160_DOUBLE_TAP_ENABLE, BMI160_FLAT_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_ORIENT_ENABLE, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_SINGLE_TAP_ENABLE, BMI160_USER_INTR_ENABLE_0_ANY_MOTION_X_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Y_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_ANY_MOTION_Z_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_DOUBLE_TAP_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_FLAT_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_ORIENT_ENABLE__REG, BMI160_USER_INTR_ENABLE_0_SINGLE_TAP_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_enable_1()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_enable_1 ( u8  v_enable_u8,
u8 v_intr_enable_1_u8 
)

This API is used to read interrupt enable byte1 from the register 0x51 bit 0 to 6.

It read the high_g_x,high_g_y,high_g_z,low_g_enable data ready, fifo full and fifo water mark.

Parameters
v_enable_u8: The value of interrupt enable
v_enable_u8: Value to decided to select interrupt
v_enable_u8 interrupt
0 BMI160_HIGH_G_X_ENABLE
1 BMI160_HIGH_G_Y_ENABLE
2 BMI160_HIGH_G_Z_ENABLE
3 BMI160_LOW_G_ENABLE
4 BMI160_DATA_RDY_ENABLE
5 BMI160_FIFO_FULL_ENABLE
6 BMI160_FIFO_WM_ENABLE
v_intr_enable_1_u8: The interrupt enable value
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_DATA_RDY_ENABLE, BMI160_FIFO_FULL_ENABLE, BMI160_FIFO_WM_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_HIGH_G_X_ENABLE, BMI160_HIGH_G_Y_ENABLE, BMI160_HIGH_G_Z_ENABLE, BMI160_INIT_VALUE, BMI160_LOW_G_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_enable_1()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_enable_1 ( u8  v_enable_u8,
u8  v_intr_enable_1_u8 
)

This API is used to set interrupt enable byte1 from the register 0x51 bit 0 to 6.

It read the high_g_x,high_g_y,high_g_z,low_g_enable data ready, fifo full and fifo water mark.

Parameters
v_enable_u8: The value of interrupt enable
v_enable_u8: Value to decided to select interrupt
v_enable_u8 interrupt
0 BMI160_HIGH_G_X_ENABLE
1 BMI160_HIGH_G_Y_ENABLE
2 BMI160_HIGH_G_Z_ENABLE
3 BMI160_LOW_G_ENABLE
4 BMI160_DATA_RDY_ENABLE
5 BMI160_FIFO_FULL_ENABLE
6 BMI160_FIFO_WM_ENABLE
v_intr_enable_1_u8: The interrupt enable value
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_DATA_RDY_ENABLE, BMI160_FIFO_FULL_ENABLE, BMI160_FIFO_WM_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_HIGH_G_X_ENABLE, BMI160_HIGH_G_Y_ENABLE, BMI160_HIGH_G_Z_ENABLE, BMI160_INIT_VALUE, BMI160_LOW_G_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ENABLE_1_DATA_RDY_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_FIFO_FULL_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_FIFO_WM_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_HIGH_G_X_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_HIGH_G_Y_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_HIGH_G_Z_ENABLE__REG, BMI160_USER_INTR_ENABLE_1_LOW_G_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_enable_2()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_enable_2 ( u8  v_enable_u8,
u8 v_intr_enable_2_u8 
)

This API is used to read interrupt enable byte2 from the register bit 0x52 bit 0 to 3.

It reads no motion x,y and z

 @param v_enable_u8: The value of interrupt enable
v_enable_u8 interrupt
0 BMI160_NOMOTION_X_ENABLE
1 BMI160_NOMOTION_Y_ENABLE
2 BMI160_NOMOTION_Z_ENABLE
Parameters
v_intr_enable_2_u8: The interrupt enable value
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NOMOTION_X_ENABLE, BMI160_NOMOTION_Y_ENABLE, BMI160_NOMOTION_Z_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__REG, BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__REG, BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_enable_2()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_enable_2 ( u8  v_enable_u8,
u8  v_intr_enable_2_u8 
)

This API is used to set interrupt enable byte2 from the register bit 0x52 bit 0 to 3.

It reads no motion x,y and z

 @param v_enable_u8: The value of interrupt enable
v_enable_u8 interrupt
0 BMI160_NOMOTION_X_ENABLE
1 BMI160_NOMOTION_Y_ENABLE
2 BMI160_NOMOTION_Z_ENABLE
Parameters
v_intr_enable_2_u8: The interrupt enable value
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NOMOTION_X_ENABLE, BMI160_NOMOTION_Y_ENABLE, BMI160_NOMOTION_Z_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ENABLE_2_NOMOTION_X_ENABLE__REG, BMI160_USER_INTR_ENABLE_2_NOMOTION_Y_ENABLE__REG, BMI160_USER_INTR_ENABLE_2_NOMOTION_Z_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_step_detector_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_step_detector_enable ( u8 v_step_intr_u8)

This API is used to read interrupt enable step detector interrupt from the register bit 0x52 bit 3.

Parameters
v_step_intr_u8: The value of step detector interrupt enable
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__REG, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_map_step_detector_intr(), and bmi160_set_intr_low_g().

§ bmi160_set_step_detector_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_detector_enable ( u8  v_step_intr_u8)

This API is used to set interrupt enable step detector interrupt from the register bit 0x52 bit 3.

Parameters
v_step_intr_u8: The value of step detector interrupt enable
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ENABLE_2_STEP_DETECTOR_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

Referenced by bmi160_map_step_detector_intr(), and bmi160_set_intr_low_g().

§ bmi160_get_intr_edge_ctrl()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_edge_ctrl ( u8  v_channel_u8,
u8 v_intr_edge_ctrl_u8 
)

Configure trigger condition of interrupt1 and interrupt2 pin from the register 0x53.

interrupt1 - bit 0 interrupt2 - bit 4

Parameters
v_channel_u8The value of edge trigger selection
v_channel_u8 Edge trigger
0 BMI160_INTR1_EDGE_CTRL
1 BMI160_INTR2_EDGE_CTRL
v_intr_edge_ctrl_u8: The value of edge trigger enable
value interrupt enable
0x01 BMI160_EDGE
0x00 BMI160_LEVEL
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_EDGE_CTRL, BMI160_INTR2_EDGE_CTRL, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR1_EDGE_CTRL__REG, BMI160_USER_INTR2_EDGE_CTRL__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_edge_ctrl()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_edge_ctrl ( u8  v_channel_u8,
u8  v_intr_edge_ctrl_u8 
)

Configure trigger condition of interrupt1 and interrupt2 pin from the register 0x53.

interrupt1 - bit 0 interrupt2 - bit 4

Parameters
v_channel_u8The value of edge trigger selection
v_channel_u8 Edge trigger
0 BMI160_INTR1_EDGE_CTRL
1 BMI160_INTR2_EDGE_CTRL
v_intr_edge_ctrl_u8: The value of edge trigger enable
value interrupt enable
0x01 BMI160_EDGE
0x00 BMI160_LEVEL
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_EDGE_CTRL, BMI160_INTR2_EDGE_CTRL, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR1_EDGE_CTRL__REG, BMI160_USER_INTR2_EDGE_CTRL__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_level()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_level ( u8  v_channel_u8,
u8 v_intr_level_u8 
)

API used for get the Configure level condition of interrupt1 and interrupt2 pin form the register 0x53.

interrupt1 - bit 1 interrupt2 - bit 5

Parameters
v_channel_u8The value of level condition selection
v_channel_u8 level selection
0 BMI160_INTR1_LEVEL
1 BMI160_INTR2_LEVEL
v_intr_level_u8: The value of level of interrupt enable
value Behaviour
0x01 BMI160_LEVEL_HIGH
0x00 BMI160_LEVEL_LOW
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_LEVEL, BMI160_INTR2_LEVEL, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR1_LEVEL__REG, BMI160_USER_INTR2_LEVEL__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_level()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_level ( u8  v_channel_u8,
u8  v_intr_level_u8 
)

API used for set the Configure level condition of interrupt1 and interrupt2 pin form the register 0x53.

interrupt1 - bit 1 interrupt2 - bit 5

Parameters
v_channel_u8The value of level condition selection
v_channel_u8 level selection
0 BMI160_INTR1_LEVEL
1 BMI160_INTR2_LEVEL
v_intr_level_u8: The value of level of interrupt enable
value Behaviour
0x01 BMI160_LEVEL_HIGH
0x00 BMI160_LEVEL_LOW
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_LEVEL, BMI160_INTR2_LEVEL, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR1_LEVEL__REG, BMI160_USER_INTR2_LEVEL__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_output_type()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_output_type ( u8  v_channel_u8,
u8 v_intr_output_type_u8 
)

API used to get configured output enable of interrupt1 and interrupt2 from the register 0x53.

interrupt1 - bit 2 interrupt2 - bit 6

Parameters
v_channel_u8The value of output type enable selection
v_channel_u8 level selection
0 BMI160_INTR1_OUTPUT_TYPE
1 BMI160_INTR2_OUTPUT_TYPE
v_intr_output_type_u8: The value of output type of interrupt enable
value Behaviour
0x01 BMI160_OPEN_DRAIN
0x00 BMI160_PUSH_PULL
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_OUTPUT_TYPE, BMI160_INTR2_OUTPUT_TYPE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR1_OUTPUT_TYPE__REG, BMI160_USER_INTR2_OUTPUT_TYPE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_output_type()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_output_type ( u8  v_channel_u8,
u8  v_intr_output_type_u8 
)

API used to set output enable of interrupt1 and interrupt2 from the register 0x53.

interrupt1 - bit 2 interrupt2 - bit 6

Parameters
v_channel_u8The value of output type enable selection
v_channel_u8 level selection
0 BMI160_INTR1_OUTPUT_TYPE
1 BMI160_INTR2_OUTPUT_TYPE
v_intr_output_type_u8: The value of output type of interrupt enable
value Behaviour
0x01 BMI160_OPEN_DRAIN
0x00 BMI160_PUSH_PULL
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_OUTPUT_TYPE, BMI160_INTR2_OUTPUT_TYPE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR1_OUTPUT_TYPE__REG, BMI160_USER_INTR2_OUTPUT_TYPE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_output_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_output_enable ( u8  v_channel_u8,
u8 v_output_enable_u8 
)

API used to get the Output enable for interrupt1 and interrupt2 pin from the register 0x53.

interrupt1 - bit 3 interrupt2 - bit 7

Parameters
v_channel_u8The value of output enable selection
v_channel_u8 level selection
0 BMI160_INTR1_OUTPUT_TYPE
1 BMI160_INTR2_OUTPUT_TYPE
v_output_enable_u8: The value of output enable of interrupt enable
value Behaviour
0x01 INTERRUPT OUTPUT ENABLED
0x00 INTERRUPT OUTPUT DISABLED
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_OUTPUT_ENABLE, BMI160_INTR2_OUTPUT_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR1_OUTPUT_ENABLE__REG, BMI160_USER_INTR2_OUTPUT_EN__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_output_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_output_enable ( u8  v_channel_u8,
u8  v_output_enable_u8 
)

API used to set the Output enable for interrupt1 and interrupt2 pin from the register 0x53.

interrupt1 - bit 3 interrupt2 - bit 7

Parameters
v_channel_u8The value of output enable selection
v_channel_u8 level selection
0 BMI160_INTR1_OUTPUT_TYPE
1 BMI160_INTR2_OUTPUT_TYPE
v_output_enable_u8: The value of output enable of interrupt enable
value Behaviour
0x01 INTERRUPT OUTPUT ENABLED
0x00 INTERRUPT OUTPUT DISABLED
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_OUTPUT_ENABLE, BMI160_INTR2_OUTPUT_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR1_OUTPUT_ENABLE__REG, BMI160_USER_INTR2_OUTPUT_EN__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_latch_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_latch_intr ( u8 v_latch_intr_u8)

This API is used to get the latch duration from the register 0x54 bit 0 to 3.

This latch selection is not applicable for data ready, orientation and flat interrupts.

Parameters
v_latch_intr_u8: The value of latch duration
Latch Duration value
BMI160_LATCH_DUR_NONE 0x00
BMI160_LATCH_DUR_312_5_MICRO_SEC 0x01
BMI160_LATCH_DUR_625_MICRO_SEC 0x02
BMI160_LATCH_DUR_1_25_MILLI_SEC 0x03
BMI160_LATCH_DUR_2_5_MILLI_SEC 0x04
BMI160_LATCH_DUR_5_MILLI_SEC 0x05
BMI160_LATCH_DUR_10_MILLI_SEC 0x06
BMI160_LATCH_DUR_20_MILLI_SEC 0x07
BMI160_LATCH_DUR_40_MILLI_SEC 0x08
BMI160_LATCH_DUR_80_MILLI_SEC 0x09
BMI160_LATCH_DUR_160_MILLI_SEC 0x0A
BMI160_LATCH_DUR_320_MILLI_SEC 0x0B
BMI160_LATCH_DUR_640_MILLI_SEC 0x0C
BMI160_LATCH_DUR_1_28_SEC 0x0D
BMI160_LATCH_DUR_2_56_SEC 0x0E
BMI160_LATCHED 0x0F
  @return results of bus communication function
  @retval 0 -> Success
  @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LATCH__REG, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_latch_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_latch_intr ( u8  v_latch_intr_u8)

This API is used to set the latch duration from the register 0x54 bit 0 to 3.

This latch selection is not applicable for data ready, orientation and flat interrupts.

Parameters
v_latch_intr_u8: The value of latch duration
Latch Duration value
BMI160_LATCH_DUR_NONE 0x00
BMI160_LATCH_DUR_312_5_MICRO_SEC 0x01
BMI160_LATCH_DUR_625_MICRO_SEC 0x02
BMI160_LATCH_DUR_1_25_MILLI_SEC 0x03
BMI160_LATCH_DUR_2_5_MILLI_SEC 0x04
BMI160_LATCH_DUR_5_MILLI_SEC 0x05
BMI160_LATCH_DUR_10_MILLI_SEC 0x06
BMI160_LATCH_DUR_20_MILLI_SEC 0x07
BMI160_LATCH_DUR_40_MILLI_SEC 0x08
BMI160_LATCH_DUR_80_MILLI_SEC 0x09
BMI160_LATCH_DUR_160_MILLI_SEC 0x0A
BMI160_LATCH_DUR_320_MILLI_SEC 0x0B
BMI160_LATCH_DUR_640_MILLI_SEC 0x0C
BMI160_LATCH_DUR_1_28_SEC 0x0D
BMI160_LATCH_DUR_2_56_SEC 0x0E
BMI160_LATCHED 0x0F
  @return results of bus communication function
  @retval 0 -> Success
  @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_LATCH_INTR, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_LATCH__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_input_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_input_enable ( u8  v_channel_u8,
u8 v_input_en_u8 
)

API used to get input enable for interrupt1 and interrupt2 pin from the register 0x54.

interrupt1 - bit 4 interrupt2 - bit 5

Parameters
v_channel_u8The value of input enable selection
v_channel_u8 input selection
0 BMI160_INTR1_INPUT_ENABLE
1 BMI160_INTR2_INPUT_ENABLE
v_input_en_u8: The value of input enable of interrupt enable
value Behaviour
0x01 BMI160_INPUT
0x00 BMI160_OUTPUT
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_INPUT_ENABLE, BMI160_INTR2_INPUT_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR1_INPUT_ENABLE__REG, BMI160_USER_INTR2_INPUT_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_input_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_input_enable ( u8  v_channel_u8,
u8  v_input_en_u8 
)

API used to set input enable for interrupt1 and interrupt2 pin from the register 0x54.

interrupt1 - bit 4 interrupt2 - bit 5

Parameters
v_channel_u8The value of input enable selection
v_channel_u8 input selection
0 BMI160_INTR1_INPUT_ENABLE
1 BMI160_INTR2_INPUT_ENABLE
v_input_en_u8: The value of input enable of interrupt enable
value Behaviour
0x01 BMI160_INPUT
0x00 BMI160_OUTPUT
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_INPUT_ENABLE, BMI160_INTR2_INPUT_ENABLE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR1_INPUT_ENABLE__REG, BMI160_USER_INTR2_INPUT_ENABLE__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_set_fifo_tag_intr1_enable(), and bmi160_set_fifo_tag_intr2_enable().

§ bmi160_get_intr_low_g()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g ( u8  v_channel_u8,
u8 v_intr_low_g_u8 
)

reads the Low g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57

interrupt1 bit 0 in the register 0x55 interrupt2 bit 0 in the register 0x57

 @param v_channel_u8: The value of low_g selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_LOW_G
1 BMI160_INTR2_MAP_LOW_G
Parameters
v_intr_low_g_u8: The value of low_g enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_LOW_G, BMI160_INTR2_MAP_LOW_G, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_LOW_G__REG, BMI160_USER_INTR_MAP_2_INTR2_LOW_G__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_low_g()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g ( u8  v_channel_u8,
u8  v_intr_low_g_u8 
)

set the Low g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57

interrupt1 bit 0 in the register 0x55 interrupt2 bit 0 in the register 0x57

 @param v_channel_u8: The value of low_g selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_LOW_G
1 BMI160_INTR2_MAP_LOW_G
Parameters
v_intr_low_g_u8: The value of low_g enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, bmi160_get_step_counter_enable(), bmi160_get_step_detector_enable(), BMI160_INIT_VALUE, BMI160_INTR1_MAP_LOW_G, BMI160_INTR2_MAP_LOW_G, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_step_counter_enable(), bmi160_set_step_detector_enable(), BMI160_USER_INTR_MAP_0_INTR1_LOW_G__REG, BMI160_USER_INTR_MAP_2_INTR2_LOW_G__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_high_g()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g ( u8  v_channel_u8,
u8 v_intr_high_g_u8 
)

Reads the HIGH g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 1 in the register 0x55 interrupt2 bit 1 in the register 0x57

 @param v_channel_u8: The value of high_g selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_HIGH_G
1 BMI160_INTR2_MAP_HIGH_G
Parameters
v_intr_high_g_u8: The value of high_g enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_HIGH_G, BMI160_INTR2_MAP_HIGH_G, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__REG, BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_high_g()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g ( u8  v_channel_u8,
u8  v_intr_high_g_u8 
)

Write the HIGH g interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 1 in the register 0x55 interrupt2 bit 1 in the register 0x57

 @param v_channel_u8: The value of high_g selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_HIGH_G
1 BMI160_INTR2_MAP_HIGH_G
Parameters
v_intr_high_g_u8: The value of high_g enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_HIGH_G, BMI160_INTR2_MAP_HIGH_G, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_0_INTR1_HIGH_G__REG, BMI160_USER_INTR_MAP_2_INTR2_HIGH_G__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_any_motion()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_any_motion ( u8  v_channel_u8,
u8 v_intr_any_motion_u8 
)

Reads the Any motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 2 in the register 0x55 interrupt2 bit 2 in the register 0x57

 @param v_channel_u8: The value of any motion selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_ANY_MOTION
1 BMI160_INTR2_MAP_ANY_MOTION
Parameters
v_intr_any_motion_u8: The value of any motion enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_ANY_MOTION, BMI160_INTR2_MAP_ANY_MOTION, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__REG, BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_any_motion()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_any_motion ( u8  v_channel_u8,
u8  v_intr_any_motion_u8 
)

Write the Any motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 2 in the register 0x55 interrupt2 bit 2 in the register 0x57

 @param v_channel_u8: The value of any motion selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_ANY_MOTION
1 BMI160_INTR2_MAP_ANY_MOTION
Parameters
v_intr_any_motion_u8: The value of any motion enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, bmi160_get_intr_significant_motion_select(), BMI160_INIT_VALUE, BMI160_INTR1_MAP_ANY_MOTION, BMI160_INTR2_MAP_ANY_MOTION, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_intr_significant_motion_select(), BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__REG, BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_nomotion()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_nomotion ( u8  v_channel_u8,
u8 v_intr_nomotion_u8 
)

Reads the No motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 3 in the register 0x55 interrupt2 bit 3 in the register 0x57

 @param v_channel_u8: The value of no motion selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_NOMO
1 BMI160_INTR2_MAP_NOMO
Parameters
v_intr_nomotion_u8: The value of no motion enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_NOMO, BMI160_INTR2_MAP_NOMO, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__REG, BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_nomotion()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_nomotion ( u8  v_channel_u8,
u8  v_intr_nomotion_u8 
)

Write the No motion interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 3 in the register 0x55 interrupt2 bit 3 in the register 0x57

 @param v_channel_u8: The value of no motion selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_NOMO
1 BMI160_INTR2_MAP_NOMO
Parameters
v_intr_nomotion_u8: The value of no motion enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_NOMO, BMI160_INTR2_MAP_NOMO, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_0_INTR1_NOMOTION__REG, BMI160_USER_INTR_MAP_2_INTR2_NOMOTION__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_double_tap()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_double_tap ( u8  v_channel_u8,
u8 v_intr_double_tap_u8 
)

Reads the Double Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 4 in the register 0x55 interrupt2 bit 4 in the register 0x57

 @param v_channel_u8: The value of double tap interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_DOUBLE_TAP
1 BMI160_INTR2_MAP_DOUBLE_TAP
Parameters
v_intr_double_tap_u8: The value of double tap enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_DOUBLE_TAP, BMI160_INTR2_MAP_DOUBLE_TAP, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__REG, BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_double_tap()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_double_tap ( u8  v_channel_u8,
u8  v_intr_double_tap_u8 
)

Write the Double Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 4 in the register 0x55 interrupt2 bit 4 in the register 0x57

 @param v_channel_u8: The value of double tap interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_DOUBLE_TAP
1 BMI160_INTR2_MAP_DOUBLE_TAP
Parameters
v_intr_double_tap_u8: The value of double tap enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_DOUBLE_TAP, BMI160_INTR2_MAP_DOUBLE_TAP, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_0_INTR1_DOUBLE_TAP__REG, BMI160_USER_INTR_MAP_2_INTR2_DOUBLE_TAP__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_single_tap()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_single_tap ( u8  v_channel_u8,
u8 v_intr_single_tap_u8 
)

Reads the Single Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 5 in the register 0x55 interrupt2 bit 5 in the register 0x57

 @param v_channel_u8: The value of single tap interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_SINGLE_TAP
1 BMI160_INTR2_MAP_SINGLE_TAP
Parameters
v_intr_single_tap_u8: The value of single tap enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_SINGLE_TAP, BMI160_INTR2_MAP_SINGLE_TAP, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__REG, BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_single_tap()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_single_tap ( u8  v_channel_u8,
u8  v_intr_single_tap_u8 
)

Write the Single Tap interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 5 in the register 0x55 interrupt2 bit 5 in the register 0x57

 @param v_channel_u8: The value of single tap interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_SINGLE_TAP
1 BMI160_INTR2_MAP_SINGLE_TAP
Parameters
v_intr_single_tap_u8: The value of single tap enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_SINGLE_TAP, BMI160_INTR2_MAP_SINGLE_TAP, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_0_INTR1_SINGLE_TAP__REG, BMI160_USER_INTR_MAP_2_INTR2_SINGLE_TAP__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_orient()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient ( u8  v_channel_u8,
u8 v_intr_orient_u8 
)

Reads the Orient interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 6 in the register 0x55 interrupt2 bit 6 in the register 0x57

 @param v_channel_u8: The value of orient interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_ORIENT
1 BMI160_INTR2_MAP_ORIENT
Parameters
v_intr_orient_u8: The value of orient enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_ORIENT, BMI160_INTR2_MAP_ORIENT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_ORIENT__REG, BMI160_USER_INTR_MAP_2_INTR2_ORIENT__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_orient()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient ( u8  v_channel_u8,
u8  v_intr_orient_u8 
)

Write the Orient interrupt interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 6 in the register 0x55 interrupt2 bit 6 in the register 0x57

 @param v_channel_u8: The value of orient interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_ORIENT
1 BMI160_INTR2_MAP_ORIENT
Parameters
v_intr_orient_u8: The value of orient enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_ORIENT, BMI160_INTR2_MAP_ORIENT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_0_INTR1_ORIENT__REG, BMI160_USER_INTR_MAP_2_INTR2_ORIENT__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_flat()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat ( u8  v_channel_u8,
u8 v_intr_flat_u8 
)

Reads the Flat interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 7 in the register 0x55 interrupt2 bit 7 in the register 0x57

 @param v_channel_u8: The value of flat interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_FLAT
1 BMI160_INTR2_MAP_FLAT
Parameters
v_intr_flat_u8: The value of flat enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_FLAT, BMI160_INTR2_MAP_FLAT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_0_INTR1_FLAT__REG, BMI160_USER_INTR_MAP_2_INTR2_FLAT__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_flat()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat ( u8  v_channel_u8,
u8  v_intr_flat_u8 
)

Write the Flat interrupt mapped to interrupt1 and interrupt2 from the register 0x55 and 0x57.

interrupt1 bit 7 in the register 0x55 interrupt2 bit 7 in the register 0x57

 @param v_channel_u8: The value of flat interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_FLAT
1 BMI160_INTR2_MAP_FLAT
Parameters
v_intr_flat_u8: The value of flat enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_FLAT, BMI160_INTR2_MAP_FLAT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_0_INTR1_FLAT__REG, BMI160_USER_INTR_MAP_2_INTR2_FLAT__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_pmu_trig()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_pmu_trig ( u8  v_channel_u8,
u8 v_intr_pmu_trig_u8 
)

Reads PMU trigger interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 0 and 4.

interrupt1 bit 0 in the register 0x56 interrupt2 bit 4 in the register 0x56

 @param v_channel_u8: The value of pmu trigger selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_PMUTRIG
1 BMI160_INTR2_MAP_PMUTRIG
Parameters
v_intr_pmu_trig_u8: The value of pmu trigger enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_PMUTRIG, BMI160_INTR2_MAP_PMUTRIG, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__REG, BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_pmu_trig()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_pmu_trig ( u8  v_channel_u8,
u8  v_intr_pmu_trig_u8 
)

Write PMU trigger interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 0 and 4.

interrupt1 bit 0 in the register 0x56 interrupt2 bit 4 in the register 0x56

 @param v_channel_u8: The value of pmu trigger selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_PMUTRIG
1 BMI160_INTR2_MAP_PMUTRIG
Parameters
v_intr_pmu_trig_u8: The value of pmu trigger enable
value trigger enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_PMUTRIG, BMI160_INTR2_MAP_PMUTRIG, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_1_INTR1_PMU_TRIG__REG, BMI160_USER_INTR_MAP_1_INTR2_PMU_TRIG__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_fifo_full()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_fifo_full ( u8  v_channel_u8,
u8 v_intr_fifo_full_u8 
)

Reads FIFO Full interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 5 and 1.

interrupt1 bit 5 in the register 0x56 interrupt2 bit 1 in the register 0x56

 @param v_channel_u8: The value of fifo full interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_FIFO_FULL
1 BMI160_INTR2_MAP_FIFO_FULL
Parameters
v_intr_fifo_full_u8: The value of fifo full interrupt enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_FIFO_FULL, BMI160_INTR2_MAP_FIFO_FULL, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__REG, BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_fifo_full()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_fifo_full ( u8  v_channel_u8,
u8  v_intr_fifo_full_u8 
)

Write FIFO Full interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 5 and 1.

interrupt1 bit 5 in the register 0x56 interrupt2 bit 1 in the register 0x56

 @param v_channel_u8: The value of fifo full interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_FIFO_FULL
1 BMI160_INTR2_MAP_FIFO_FULL
Parameters
v_intr_fifo_full_u8: The value of fifo full interrupt enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_FIFO_FULL, BMI160_INTR2_MAP_FIFO_FULL, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_1_INTR1_FIFO_FULL__REG, BMI160_USER_INTR_MAP_1_INTR2_FIFO_FULL__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_fifo_wm()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_fifo_wm ( u8  v_channel_u8,
u8 v_intr_fifo_wm_u8 
)

Reads FIFO Watermark interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 6 and 2.

interrupt1 bit 6 in the register 0x56 interrupt2 bit 2 in the register 0x56

 @param v_channel_u8: The value of fifo Watermark interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_FIFO_WM
1 BMI160_INTR2_MAP_FIFO_WM
Parameters
v_intr_fifo_wm_u8: The value of fifo Watermark interrupt enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_FIFO_WM, BMI160_INTR2_MAP_FIFO_WM, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__REG, BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_fifo_wm()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_fifo_wm ( u8  v_channel_u8,
u8  v_intr_fifo_wm_u8 
)

Write FIFO Watermark interrupt mapped to interrupt1 and interrupt2 form the register 0x56 bit 6 and 2.

interrupt1 bit 6 in the register 0x56 interrupt2 bit 2 in the register 0x56

 @param v_channel_u8: The value of fifo Watermark interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_FIFO_WM
1 BMI160_INTR2_MAP_FIFO_WM
Parameters
v_intr_fifo_wm_u8: The value of fifo Watermark interrupt enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_FIFO_WM, BMI160_INTR2_MAP_FIFO_WM, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_1_INTR1_FIFO_WM__REG, BMI160_USER_INTR_MAP_1_INTR2_FIFO_WM__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_data_rdy()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_data_rdy ( u8  v_channel_u8,
u8 v_intr_data_rdy_u8 
)

Reads Data Ready interrupt mapped to interrupt1 and interrupt2 form the register 0x56.

interrupt1 bit 7 in the register 0x56 interrupt2 bit 3 in the register 0x56

 @param v_channel_u8: The value of data ready interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_DATA_RDY
1 BMI160_INTR2_MAP_DATA_RDY
Parameters
v_intr_data_rdy_u8: The value of data ready interrupt enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_INTR1_MAP_DATA_RDY, BMI160_INTR2_MAP_DATA_RDY, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__REG, BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and E_BMI160_OUT_OF_RANGE.

§ bmi160_set_intr_data_rdy()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_data_rdy ( u8  v_channel_u8,
u8  v_intr_data_rdy_u8 
)

Write Data Ready interrupt mapped to interrupt1 and interrupt2 form the register 0x56.

interrupt1 bit 7 in the register 0x56 interrupt2 bit 3 in the register 0x56

 @param v_channel_u8: The value of data ready interrupt selection
v_channel_u8 interrupt
0 BMI160_INTR1_MAP_DATA_RDY
1 BMI160_INTR2_MAP_DATA_RDY
Parameters
v_intr_data_rdy_u8: The value of data ready interrupt enable
value interrupt enable
0x01 BMI160_ENABLE
0x00 BMI160_DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_INTR1_MAP_DATA_RDY, BMI160_INTR2_MAP_DATA_RDY, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MAP_1_INTR1_DATA_RDY__REG, BMI160_USER_INTR_MAP_1_INTR2_DATA_RDY__REG, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_tap_source()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_source ( u8 v_tap_source_u8)

This API reads data source for the interrupt engine for the single and double tap interrupts from the register 0x58 bit 3.

Parameters
v_tap_source_u8: The value of the tap source
value Description
0x01 UNFILTER_DATA
0x00 FILTER_DATA
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_tap_source()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_source ( u8  v_tap_source_u8)

This API write data source for the interrupt engine for the single and double tap interrupts from the register 0x58 bit 3.

Parameters
v_tap_source_u8: The value of the tap source
value Description
0x01 UNFILTER_DATA
0x00 FILTER_DATA
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SOURCE_INTR, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_DATA_0_INTR_TAP_SOURCE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_low_high_source()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_high_source ( u8 v_low_high_source_u8)

This API Reads Data source for the interrupt engine for the low and high g interrupts from the register 0x58 bit 7.

Parameters
v_low_high_source_u8: The value of the tap source
value Description
0x01 UNFILTER_DATA
0x00 FILTER_DATA
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_low_high_source()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_high_source ( u8  v_low_high_source_u8)

This API write Data source for the interrupt engine for the low and high g interrupts from the register 0x58 bit 7.

Parameters
v_low_high_source_u8: The value of the tap source
value Description
0x01 UNFILTER_DATA
0x00 FILTER_DATA
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SOURCE_INTR, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_DATA_0_INTR_LOW_HIGH_SOURCE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_motion_source()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_motion_source ( u8 v_motion_source_u8)

This API reads Data source for the interrupt engine for the nomotion and anymotion interrupts from the register 0x59 bit 7.

Parameters
v_motion_source_u8: The value of the any/no motion interrupt source
value Description
0x01 UNFILTER_DATA
0x00 FILTER_DATA
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_motion_source()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_motion_source ( u8  v_motion_source_u8)

This API write Data source for the interrupt engine for the nomotion and anymotion interrupts from the register 0x59 bit 7.

Parameters
v_motion_source_u8: The value of the any/no motion interrupt source
value Description
0x01 UNFILTER_DATA
0x00 FILTER_DATA
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SOURCE_INTR, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_DATA_1_INTR_MOTION_SOURCE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_low_g_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_durn ( u8 v_low_g_durn_u8)

This API is used to read the low_g duration from register 0x5A bit 0 to 7.

Parameters
v_low_g_durn_u8: The value of low_g duration
@note Low_g duration trigger trigger delay according to
"(v_low_g_durn_u8 * 2.5)ms" in a range from 2.5ms to 640ms.
the default corresponds delay is 20ms
@note When low_g data source of interrupt is unfiltered
the sensor must not be in low power mode

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_low_g_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_durn ( u8  v_low_g_durn_u8)

This API is used to write the low_g duration from register 0x5A bit 0 to 7.

Parameters
v_low_g_durn_u8: The value of low_g duration
@note Low_g duration trigger trigger delay according to
"(v_low_g_durn_u8 * 2.5)ms" in a range from 2.5ms to 640ms.
the default corresponds delay is 20ms
@note When low_g data source of interrupt is unfiltered
the sensor must not be in low power mode

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_0_INTR_LOW_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_intr_low_g_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_thres ( u8 v_low_g_thres_u8)

This API is used to read Threshold definition for the low-g interrupt from the register 0x5B bit 0 to 7.

Parameters
v_low_g_thres_u8: The value of low_g threshold
@note Low_g interrupt trigger threshold according to
(v_low_g_thres_u8 * 7.81)mg for v_low_g_thres_u8 > 0
3.91 mg for v_low_g_thres_u8 = 0
The threshold range is form 3.91mg to 2.000mg


@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_low_g_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_thres ( u8  v_low_g_thres_u8)

This API is used to write Threshold definition for the low-g interrupt from the register 0x5B bit 0 to 7.

Parameters
v_low_g_thres_u8: The value of low_g threshold
@note Low_g interrupt trigger threshold according to
(v_low_g_thres_u8 * 7.81)mg for v_low_g_thres_u8 > 0
3.91 mg for v_low_g_thres_u8 = 0
The threshold range is form 3.91mg to 2.000mg


@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_1_INTR_LOW_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_intr_low_g_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_hyst ( u8 v_low_hyst_u8)

This API Reads Low-g interrupt hysteresis from the register 0x5C bit 0 to 1.

Parameters
v_low_hyst_u8:The value of low_g hysteresis
@note Low_g hysteresis calculated by v_low_hyst_u8*125 mg

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_low_g_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_hyst ( u8  v_low_hyst_u8)

This API write Low-g interrupt hysteresis from the register 0x5C bit 0 to 1.

Parameters
v_low_hyst_u8:The value of low_g hysteresis
@note Low_g hysteresis calculated by v_low_hyst_u8*125 mg

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_intr_low_g_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_low_g_mode ( u8 v_low_g_mode_u8)

This API reads Low-g interrupt mode from the register 0x5C bit 2.

Parameters
v_low_g_mode_u8: The value of low_g mode
Value Description
0 single-axis
1 axis-summing
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_low_g_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_low_g_mode ( u8  v_low_g_mode_u8)

This API write Low-g interrupt mode from the register 0x5C bit 2.

Parameters
v_low_g_mode_u8: The value of low_g mode
Value Description
0 single-axis
1 axis-summing
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_LOW_G_MODE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_LOWHIGH_2_INTR_LOW_G_MODE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_high_g_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g_hyst ( u8 v_high_g_hyst_u8)

This API reads High-g interrupt hysteresis from the register 0x5C bit 6 and 7.

Parameters
v_high_g_hyst_u8: The value of high hysteresis
@note High_g hysteresis changes according to accel g range
accel g range can be set by the function ""
accel_range high_g hysteresis
2g high_hy*125 mg
4g high_hy*250 mg
8g high_hy*500 mg
16g high_hy*1000 mg
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_high_g_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g_hyst ( u8  v_high_g_hyst_u8)

This API write High-g interrupt hysteresis from the register 0x5C bit 6 and 7.

Parameters
v_high_g_hyst_u8: The value of high hysteresis
@note High_g hysteresis changes according to accel g range
accel g range can be set by the function ""
accel_range high_g hysteresis
2g high_hy*125 mg
4g high_hy*250 mg
8g high_hy*500 mg
16g high_hy*1000 mg
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_LOWHIGH_2_INTR_HIGH_G_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_intr_high_g_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g_durn ( u8 v_high_g_durn_u8)

This API is used to read Delay time definition for the high-g interrupt from the register 0x5D bit 0 to 7.

Parameters
v_high_g_durn_u8: The value of high duration
@note High_g interrupt delay triggered according to
v_high_g_durn_u8 * 2.5ms in a range from 2.5ms to 640ms

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_high_g_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g_durn ( u8  v_high_g_durn_u8)

This API is used to write Delay time definition for the high-g interrupt from the register 0x5D bit 0 to 7.

Parameters
v_high_g_durn_u8: The value of high duration
@note High_g interrupt delay triggered according to
v_high_g_durn_u8 * 2.5ms in a range from 2.5ms to 640ms

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_3_INTR_HIGH_G_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_intr_high_g_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_high_g_thres ( u8 v_high_g_thres_u8)

This API is used to read Threshold definition for the high-g interrupt from the register 0x5E 0 to 7.

Parameters
v_high_g_thres_u8: Pointer holding the value of Threshold
Note
High_g threshold changes according to accel g range accel g range can be set by the function ""
accel_range high_g threshold
2g v_high_g_thres_u8*7.81 mg
4g v_high_g_thres_u8*15.63 mg
8g v_high_g_thres_u8*31.25 mg
16g v_high_g_thres_u8*62.5 mg
when v_high_g_thres_u8 = 0
accel_range high_g threshold
2g 3.91 mg
4g 7.81 mg
8g 15.63 mg
16g 31.25 mg
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_high_g_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_high_g_thres ( u8  v_high_g_thres_u8)

This API is used to write Threshold definition for the high-g interrupt from the register 0x5E 0 to 7.

Parameters
v_high_g_thres_u8: Pointer holding the value of Threshold
Note
High_g threshold changes according to accel g range accel g range can be set by the function ""
accel_range high_g threshold
2g v_high_g_thres_u8*7.81 mg
4g v_high_g_thres_u8*15.63 mg
8g v_high_g_thres_u8*31.25 mg
16g v_high_g_thres_u8*62.5 mg
when v_high_g_thres_u8 = 0
accel_range high_g threshold
2g 3.91 mg
4g 7.81 mg
8g 15.63 mg
16g 31.25 mg
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_LOWHIGH_4_INTR_HIGH_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_intr_any_motion_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_any_motion_durn ( u8 v_any_motion_durn_u8)

This API reads any motion duration from the register 0x5F bit 0 and 1.

Parameters
v_any_motion_durn_u8: The value of any motion duration
@note Any motion duration can be calculated by "v_any_motion_durn_u8 + 1"

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_any_motion_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_any_motion_durn ( u8  v_any_motion_durn_u8)

This API write any motion duration from the register 0x5F bit 0 and 1.

Parameters
v_any_motion_durn_u8: The value of any motion duration
@note Any motion duration can be calculated by "v_any_motion_durn_u8 + 1"

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MOTION_0_INTR_ANY_MOTION_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_intr_slow_no_motion_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_slow_no_motion_durn ( u8 v_slow_no_motion_u8)

This API read Slow/no-motion interrupt trigger delay duration from the register 0x5F bit 2 to 7.

Parameters
v_slow_no_motion_u8:The value of slow no motion duration
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

@note
@note v_slow_no_motion_u8(5:4)=0b00 ->
[v_slow_no_motion_u8(3:0) + 1] * 1.28s (1.28s-20.48s)
@note v_slow_no_motion_u8(5:4)=1 ->
[v_slow_no_motion_u8(3:0)+5] * 5.12s (25.6s-102.4s)
@note v_slow_no_motion_u8(5)='1' ->
[(v_slow_no_motion_u8:0)+11] * 10.24s (112.64s-430.08s);

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_slow_no_motion_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_slow_no_motion_durn ( u8  v_slow_no_motion_u8)

This API write Slow/no-motion interrupt trigger delay duration from the register 0x5F bit 2 to 7.

Parameters
v_slow_no_motion_u8:The value of slow no motion duration
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

@note
@note v_slow_no_motion_u8(5:4)=0b00 ->
[v_slow_no_motion_u8(3:0) + 1] * 1.28s (1.28s-20.48s)
@note v_slow_no_motion_u8(5:4)=1 ->
[v_slow_no_motion_u8(3:0)+5] * 5.12s (25.6s-102.4s)
@note v_slow_no_motion_u8(5)='1' ->
[(v_slow_no_motion_u8:0)+11] * 10.24s (112.64s-430.08s);

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MOTION_0_INTR_SLOW_NO_MOTION_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_intr_any_motion_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_any_motion_thres ( u8 v_any_motion_thres_u8)

This API is used to read threshold definition for the any-motion interrupt from the register 0x60 bit 0 to 7.

Parameters
v_any_motion_thres_u8: The value of any motion threshold
@note any motion threshold changes according to accel g range
accel g range can be set by the function ""
accel_range any motion threshold
2g v_any_motion_thres_u8*3.91 mg
4g v_any_motion_thres_u8*7.81 mg
8g v_any_motion_thres_u8*15.63 mg
16g v_any_motion_thres_u8*31.25 mg
Note
when v_any_motion_thres_u8 = 0
accel_range any motion threshold
2g 1.95 mg
4g 3.91 mg
8g 7.81 mg
16g 15.63 mg
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_any_motion_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_any_motion_thres ( u8  v_any_motion_thres_u8)

This API is used to write threshold definition for the any-motion interrupt from the register 0x60 bit 0 to 7.

Parameters
v_any_motion_thres_u8: The value of any motion threshold
@note any motion threshold changes according to accel g range
accel g range can be set by the function ""
accel_range any motion threshold
2g v_any_motion_thres_u8*3.91 mg
4g v_any_motion_thres_u8*7.81 mg
8g v_any_motion_thres_u8*15.63 mg
16g v_any_motion_thres_u8*31.25 mg
Note
when v_any_motion_thres_u8 = 0
accel_range any motion threshold
2g 1.95 mg
4g 3.91 mg
8g 7.81 mg
16g 15.63 mg
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MOTION_1_INTR_ANY_MOTION_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_intr_slow_no_motion_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_slow_no_motion_thres ( u8 v_slow_no_motion_thres_u8)

This API is used to read threshold for the slow/no-motion interrupt from the register 0x61 bit 0 to 7.

Parameters
v_slow_no_motion_thres_u8: The value of slow no motion threshold
Note
slow no motion threshold changes according to accel g range accel g range can be set by the function ""
accel_range slow no motion threshold
2g v_slow_no_motion_thres_u8*3.91 mg
4g v_slow_no_motion_thres_u8*7.81 mg
8g v_slow_no_motion_thres_u8*15.63 mg
16g v_slow_no_motion_thres_u8*31.25 mg
when v_slow_no_motion_thres_u8 = 0
accel_range slow no motion threshold
2g 1.95 mg
4g 3.91 mg
8g 7.81 mg
16g 15.63 mg
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_slow_no_motion_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_slow_no_motion_thres ( u8  v_slow_no_motion_thres_u8)

This API is used to write threshold for the slow/no-motion interrupt from the register 0x61 bit 0 to 7.

Parameters
v_slow_no_motion_thres_u8: The value of slow no motion threshold
Note
slow no motion threshold changes according to accel g range accel g range can be set by the function ""
accel_range slow no motion threshold
2g v_slow_no_motion_thres_u8*3.91 mg
4g v_slow_no_motion_thres_u8*7.81 mg
8g v_slow_no_motion_thres_u8*15.63 mg
16g v_slow_no_motion_thres_u8*31.25 mg
when v_slow_no_motion_thres_u8 = 0
accel_range slow no motion threshold
2g 1.95 mg
4g 3.91 mg
8g 7.81 mg
16g 15.63 mg
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MOTION_2_INTR_SLOW_NO_MOTION_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_intr_slow_no_motion_select()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_slow_no_motion_select ( u8 v_intr_slow_no_motion_select_u8)

This API is used to read the slow/no-motion selection from the register 0x62 bit 0.

Parameters
v_intr_slow_no_motion_select_u8: The value of slow/no-motion select
value Behaviour
0x00 SLOW_MOTION
0x01 NO_MOTION
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_slow_no_motion_select()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_slow_no_motion_select ( u8  v_intr_slow_no_motion_select_u8)

This API is used to write the slow/no-motion selection from the register 0x62 bit 0.

Parameters
v_intr_slow_no_motion_select_u8: The value of slow/no-motion select
value Behaviour
0x00 SLOW_MOTION
0x01 NO_MOTION
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_NO_MOTION, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_MOTION_3_INTR_SLOW_NO_MOTION_SELECT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_significant_motion_select()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_significant_motion_select ( u8 v_intr_significant_motion_select_u8)

This API is used to select the significant or any motion interrupt from the register 0x62 bit 1.

Parameters
v_intr_significant_motion_select_u8: the value of significant or any motion interrupt selection
value Behaviour
0x00 ANY_MOTION
0x01 SIGNIFICANT_MOTION
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_map_significant_motion_intr(), and bmi160_set_intr_any_motion().

§ bmi160_set_intr_significant_motion_select()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_significant_motion_select ( u8  v_intr_significant_motion_select_u8)

This API is used to write, select the significant or any motion interrupt from the register 0x62 bit 1.

Parameters
v_intr_significant_motion_select_u8: the value of significant or any motion interrupt selection
value Behaviour
0x00 ANY_MOTION
0x01 SIGNIFICANT_MOTION
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SIGNIFICANT_MOTION, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_SIGNIFICATION_MOTION_SELECT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_map_significant_motion_intr(), and bmi160_set_intr_any_motion().

§ bmi160_unmap_significant_motion_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_unmap_significant_motion_intr ( u8  v_significant_u8)

This API used to unmap the signification motion interrupt.

Parameters
v_significant_u8: The value of interrupt selection
BMI160_MAP_INTR1    0
BMI160_MAP_INTR2    1
Returns
results of communication routine

brief This API used to unmap the signification motion interrupt

Parameters
v_significant_u8: The value of interrupt selection
BMI160_MAP_INTR1   0
BMI160_MAP_INTR2   1
Returns
results of communication routine

References BMI160_ASSIGN_DATA, BMI160_INIT_VALUE, BMI160_MAP_INTR1, BMI160_MAP_INTR2, bmi160_read_reg(), BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ENABLE_0_ADDR, BMI160_USER_INTR_MAP_0_INTR1_ANY_MOTION__REG, BMI160_USER_INTR_MAP_2_INTR2_ANY_MOTION__REG, bmi160_write_reg(), bmi160_t::delay_msec, E_BMI160_COMM_RES, E_BMI160_OUT_OF_RANGE, V_ANY_MOTION_AXIS_STAT, and V_ANY_MOTION_INTR_STAT.

§ bmi160_get_intr_significant_motion_skip()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_significant_motion_skip ( u8 v_int_sig_mot_skip_u8)

This API is used to read the significant skip time from the register 0x62 bit 2 and 3.

Parameters
v_int_sig_mot_skip_u8: the value of significant skip time
value Behaviour
0x00 skip time 1.5 seconds
0x01 skip time 3 seconds
0x02 skip time 6 seconds
0x03 skip time 12 seconds
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_significant_motion_skip()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_significant_motion_skip ( u8  v_int_sig_mot_skip_u8)

This API is used to write the significant skip time from the register 0x62 bit 2 and 3.

Parameters
v_int_sig_mot_skip_u8: the value of significant skip time
value Behaviour
0x00 skip time 1.5 seconds
0x01 skip time 3 seconds
0x02 skip time 6 seconds
0x03 skip time 12 seconds
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_UNDER_SIG_MOTION, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_SIGNIFICANT_MOTION_SKIP__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_significant_motion_proof()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_significant_motion_proof ( u8 v_significant_motion_proof_u8)

This API is used to read the significant proof time from the register 0x62 bit 4 and 5.

Parameters
v_significant_motion_proof_u8: the value of significant proof time
value Behaviour
0x00 proof time 0.25 seconds
0x01 proof time 0.5 seconds
0x02 proof time 1 seconds
0x03 proof time 2 seconds
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_significant_motion_proof()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_significant_motion_proof ( u8  v_significant_motion_proof_u8)

This API is used to write the significant proof time from the register 0x62 bit 4 and 5.

Parameters
v_significant_motion_proof_u8: the value of significant proof time
value Behaviour
0x00 proof time 0.25 seconds
0x01 proof time 0.5 seconds
0x02 proof time 1 seconds
0x03 proof time 2 seconds
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_UNDER_SIG_MOTION, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_SIGNIFICANT_MOTION_PROOF__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_tap_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_durn ( u8 v_tap_durn_u8)

This API is used to get the tap duration from the register 0x63 bit 0 to 2.

Parameters
v_tap_durn_u8: The value of tap duration
value Behaviour
0x00 BMI160_TAP_DURN_50MS
0x01 BMI160_TAP_DURN_100MS
0x03 BMI160_TAP_DURN_150MS
0x04 BMI160_TAP_DURN_200MS
0x05 BMI160_TAP_DURN_250MS
0x06 BMI160_TAP_DURN_375MS
0x07 BMI160_TAP_DURN_700MS
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_tap_durn()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_durn ( u8  v_tap_durn_u8)

This API is used to write the tap duration from the register 0x63 bit 0 to 2.

Parameters
v_tap_durn_u8: The value of tap duration
value Behaviour
0x00 BMI160_TAP_DURN_50MS
0x01 BMI160_TAP_DURN_100MS
0x03 BMI160_TAP_DURN_150MS
0x04 BMI160_TAP_DURN_200MS
0x05 BMI160_TAP_DURN_250MS
0x06 BMI160_TAP_DURN_375MS
0x07 BMI160_TAP_DURN_700MS
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_TAP_TURN, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_TAP_DURN_100MS, BMI160_TAP_DURN_150MS, BMI160_TAP_DURN_200MS, BMI160_TAP_DURN_250MS, BMI160_TAP_DURN_375MS, BMI160_TAP_DURN_500MS, BMI160_TAP_DURN_50MS, BMI160_TAP_DURN_700MS, BMI160_USER_INTR_TAP_0_INTR_TAP_DURN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_tap_shock()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_shock ( u8 v_tap_shock_u8)

This API read the tap shock duration from the register 0x63 bit 2.

Parameters
v_tap_shock_u8:The value of tap shock
value Behaviour
0x00 BMI160_TAP_SHOCK_50MS
0x01 BMI160_TAP_SHOCK_75MS
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_tap_shock()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_shock ( u8  v_tap_shock_u8)

This API write the tap shock duration from the register 0x63 bit 2.

Parameters
v_tap_shock_u8:The value of tap shock
value Behaviour
0x00 BMI160_TAP_SHOCK_50MS
0x01 BMI160_TAP_SHOCK_75MS
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_TAP_SHOCK, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_TAP_0_INTR_TAP_SHOCK__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_tap_quiet()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_quiet ( u8 v_tap_quiet_u8)

This API read tap quiet duration from the register 0x63 bit 7.

Parameters
v_tap_quiet_u8: The value of tap quiet
value Behaviour
0x00 BMI160_TAP_QUIET_30MS
0x01 BMI160_TAP_QUIET_20MS
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_tap_quiet()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_quiet ( u8  v_tap_quiet_u8)

This API write tap quiet duration from the register 0x63 bit 7.

Parameters
v_tap_quiet_u8: The value of tap quiet
value Behaviour
0x00 BMI160_TAP_QUIET_30MS
0x01 BMI160_TAP_QUIET_20MS
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_TAP_QUIET, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_TAP_0_INTR_TAP_QUIET__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_tap_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_tap_thres ( u8 v_tap_thres_u8)

This API read Threshold of the single/double tap interrupt from the register 0x64 bit 0 to 4.

Parameters
v_tap_thres_u8: The value of single/double tap threshold
Note
single/double tap threshold changes according to accel g range accel g range can be set by the function ""
accel_range single/double tap threshold
2g ((v_tap_thres_u8 + 1) * 62.5)mg
4g ((v_tap_thres_u8 + 1) * 125)mg
8g ((v_tap_thres_u8 + 1) * 250)mg
16g ((v_tap_thres_u8 + 1) * 500)mg
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_tap_thres()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_tap_thres ( u8  v_tap_thres_u8)

This API write Threshold of the single/double tap interrupt from the register 0x64 bit 0 to 4.

Parameters
v_tap_thres_u8: The value of single/double tap threshold
Note
single/double tap threshold changes according to accel g range accel g range can be set by the function ""
accel_range single/double tap threshold
2g ((v_tap_thres_u8 + 1) * 62.5)mg
4g ((v_tap_thres_u8 + 1) * 125)mg
8g ((v_tap_thres_u8 + 1) * 250)mg
16g ((v_tap_thres_u8 + 1) * 500)mg
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_TAP_1_INTR_TAP_THRES__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_intr_orient_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_mode ( u8 v_orient_mode_u8)

This API read the threshold for orientation interrupt from the register 0x65 bit 0 and 1.

Parameters
v_orient_mode_u8: The value of threshold for orientation
value Behaviour
0x00 symmetrical
0x01 high-asymmetrical
0x02 low-asymmetrical
0x03 symmetrical
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_orient_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_mode ( u8  v_orient_mode_u8)

This API write the threshold for orientation interrupt from the register 0x65 bit 0 and 1.

Parameters
v_orient_mode_u8: The value of threshold for orientation
value Behaviour
0x00 symmetrical
0x01 high-asymmetrical
0x02 low-asymmetrical
0x03 symmetrical
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ORIENT_MODE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_MODE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_orient_blocking()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_blocking ( u8 v_orient_blocking_u8)

This API read the orient blocking mode that is used for the generation of the orientation interrupt. from the register 0x65 bit 2 and 3.

Parameters
v_orient_blocking_u8: The value of orient blocking mode
value Behaviour
0x00 No blocking
0x01 Theta blocking or acceleration in any axis > 1.5g
0x02 Theta blocking or acceleration slope in any axis >
- 0.2g or acceleration in any axis > 1.5g
0x03 Theta blocking or acceleration slope in any axis >
- 0.4g or acceleration in any axis >
- 1.5g and value of orient is not stable
- for at least 100 ms
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_orient_blocking()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_blocking ( u8  v_orient_blocking_u8)

This API write the orient blocking mode that is used for the generation of the orientation interrupt. from the register 0x65 bit 2 and 3.

Parameters
v_orient_blocking_u8: The value of orient blocking mode
value Behaviour
0x00 No blocking
0x01 Theta blocking or acceleration in any axis > 1.5g
0x02 Theta blocking or acceleration slope in any axis >
- 0.2g or acceleration in any axis > 1.5g
0x03 Theta blocking or acceleration slope in any axis >
- 0.4g or acceleration in any axis >
- 1.5g and value of orient is not stable
- for at least 100 ms
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ORIENT_BLOCKING, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_BLOCKING__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_orient_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_hyst ( u8 v_orient_hyst_u8)

This API read Orient interrupt hysteresis, from the register 0x64 bit 4 to 7.

Parameters
v_orient_hyst_u8: The value of orient hysteresis
@note 1 LSB corresponds to 62.5 mg,
irrespective of the selected accel range


@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_orient_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_hyst ( u8  v_orient_hyst_u8)

This API write Orient interrupt hysteresis, from the register 0x64 bit 4 to 7.

Parameters
v_orient_hyst_u8: The value of orient hysteresis
@note 1 LSB corresponds to 62.5 mg,
irrespective of the selected accel range


@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ORIENT_0_INTR_ORIENT_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_intr_orient_theta()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_theta ( u8 v_orient_theta_u8)

This API read Orient blocking angle (0 to 44.8) from the register 0x66 bit 0 to 5.

Parameters
v_orient_theta_u8: The value of Orient blocking angle
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_orient_theta()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_theta ( u8  v_orient_theta_u8)

This API write Orient blocking angle (0 to 44.8) from the register 0x66 bit 0 to 5.

Parameters
v_orient_theta_u8: The value of Orient blocking angle
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ORIENT_THETA, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_THETA__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_orient_ud_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_ud_enable ( u8 v_orient_ud_u8)

This API read orient change of up/down bit from the register 0x66 bit 6.

Parameters
v_orient_ud_u8: The value of orient change of up/down
value Behaviour
0x00 Is ignored
0x01 Generates orientation interrupt
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_orient_ud_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_ud_enable ( u8  v_orient_ud_u8)

This API write orient change of up/down bit from the register 0x66 bit 6.

Parameters
v_orient_ud_u8: The value of orient change of up/down
value Behaviour
0x00 Is ignored
0x01 Generates orientation interrupt
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_ORIENT_UD, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_UD_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_orient_axes_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_orient_axes_enable ( u8 v_orient_axes_u8)

This API read orientation axes changes from the register 0x66 bit 7.

Parameters
v_orient_axes_u8: The value of orient axes assignment
value Behaviour Name
0x00 x = x, y = y, z = zorient_ax_noex
0x01 x = y, y = z, z = xorient_ax_ex
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_orient_axes_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_orient_axes_enable ( u8  v_orient_axes_u8)

This API write orientation axes changes from the register 0x66 bit 7.

Parameters
v_orient_axes_u8: The value of orient axes assignment
value Behaviour Name
0x00 x = x, y = y, z = zorient_ax_noex
0x01 x = y, y = z, z = xorient_ax_ex
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_ORIENT_AXES, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_ORIENT_1_INTR_ORIENT_AXES_EX__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_flat_theta()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat_theta ( u8 v_flat_theta_u8)

This API read Flat angle (0 to 44.8) for flat interrupt from the register 0x67 bit 0 to 5.

Parameters
v_flat_theta_u8: The value of flat angle
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_flat_theta()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat_theta ( u8  v_flat_theta_u8)

This API write Flat angle (0 to 44.8) for flat interrupt from the register 0x67 bit 0 to 5.

Parameters
v_flat_theta_u8: The value of flat angle
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_FLAT_THETA, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_FLAT_0_INTR_FLAT_THETA__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_flat_hold()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat_hold ( u8 v_flat_hold_u8)

This API read Flat interrupt hold time; from the register 0x68 bit 4 and 5.

Parameters
v_flat_hold_u8: The value of flat hold time
value Behaviour
0x00 0ms
0x01 512ms
0x01 1024ms
0x01 2048ms
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_flat_hold()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat_hold ( u8  v_flat_hold_u8)

This API write Flat interrupt hold time; from the register 0x68 bit 4 and 5.

Parameters
v_flat_hold_u8: The value of flat hold time
value Behaviour
0x00 0ms
0x01 512ms
0x01 1024ms
0x01 2048ms
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_FLAT_HOLD, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_FLAT_1_INTR_FLAT_HOLD__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_intr_flat_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_intr_flat_hyst ( u8 v_flat_hyst_u8)

This API read flat interrupt hysteresis from the register 0x68 bit 0 to 3.

Parameters
v_flat_hyst_u8: The value of flat hysteresis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_intr_flat_hyst()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_intr_flat_hyst ( u8  v_flat_hyst_u8)

This API write flat interrupt hysteresis from the register 0x68 bit 0 to 3.

Parameters
v_flat_hyst_u8: The value of flat hysteresis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_FLAT_HYST, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_INTR_FLAT_1_INTR_FLAT_HYST__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_foc_accel_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_accel_z ( u8 v_foc_accel_z_u8)

This API read accel offset compensation target value for z-axis from the register 0x69 bit 0 and 1.

Parameters
v_foc_accel_z_u8: the value of accel offset compensation z axis
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FOC_ACCEL_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_foc_accel_z()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_accel_z ( u8  v_foc_accel_z_u8)

This API write accel offset compensation target value for z-axis from the register 0x69 bit 0 and 1.

Parameters
v_foc_accel_z_u8: the value of accel offset compensation z axis
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FOC_ACCEL_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_foc_accel_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_accel_y ( u8 v_foc_accel_y_u8)

This API read accel offset compensation target value for y-axis from the register 0x69 bit 2 and 3.

Parameters
v_foc_accel_y_u8: the value of accel offset compensation y axis
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FOC_ACCEL_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_foc_accel_y()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_accel_y ( u8  v_foc_accel_y_u8)

This API write accel offset compensation target value for y-axis from the register 0x69 bit 2 and 3.

Parameters
v_foc_accel_y_u8: the value of accel offset compensation y axis
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error
Parameters
v_foc_accel_y_u8: the value of accel offset compensation y axis
value Behaviour
0x00 disable
0x01 +1g
0x02 -1g
0x03 0g
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ACCEL_FOC, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FOC_ACCEL_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_foc_accel_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_accel_x ( u8 v_foc_accel_x_u8)

This API read accel offset compensation target value for x-axis is from the register 0x69 bit 4 and 5.

Parameters
v_foc_accel_x_u8: the value of accel offset compensation x axis
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error
Parameters
v_foc_accel_x_u8: the value of accel offset compensation x axis
value Behaviour
0x00 disable
0x01 +1g
0x02 -1g
0x03 0g
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FOC_ACCEL_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_foc_accel_x()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_accel_x ( u8  v_foc_accel_x_u8)

This API write accel offset compensation target value for x-axis is from the register 0x69 bit 4 and 5.

Parameters
v_foc_accel_x_u8: the value of accel offset compensation x axis
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ACCEL_FOC, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_FOC_ACCEL_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_set_foc_gyro_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_foc_gyro_enable ( u8  v_foc_gyro_u8,
s16 v_gyro_off_x_s16,
s16 v_gyro_off_y_s16,
s16 v_gyro_off_z_s16 
)

This API write gyro fast offset enable from the register 0x69 bit 6.

Parameters
v_foc_gyro_u8: The value of gyro fast offset enable
value Description
0 fast offset compensation disabled
1 fast offset compensation enabled
v_gyro_off_x_s16: The value of gyro fast offset x axis data
v_gyro_off_y_s16: The value of gyro fast offset y axis data
v_gyro_off_z_s16: The value of gyro fast offset z axis data
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_DELAY_SETTLING_TIME, BMI160_FOC_STAT_HIGH, BMI160_GEN_READ_WRITE_DATA_LENGTH, bmi160_get_foc_rdy(), bmi160_get_gyro_offset_compensation_xaxis(), bmi160_get_gyro_offset_compensation_yaxis(), bmi160_get_gyro_offset_compensation_zaxis(), BMI160_INIT_VALUE, BMI160_MAXIMUM_TIMEOUT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_command_register(), bmi160_set_gyro_offset_enable(), BMI160_USER_FOC_GYRO_ENABLE__REG, bmi160_t::delay_msec, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, GYRO_OFFSET_ENABLE, START_FOC_ACCEL_GYRO, and SUCCESS.

§ bmi160_get_nvm_prog_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_nvm_prog_enable ( u8 v_nvm_prog_u8)

This API read NVM program enable from the register 0x6A bit 1.

Parameters
v_nvm_prog_u8: The value of NVM program enable
Value Description
0 DISABLE
1 ENABLE
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_CONFIG_NVM_PROG_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_nvm_prog_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_nvm_prog_enable ( u8  v_nvm_prog_u8)

This API write NVM program enable from the register 0x6A bit 1.

Parameters
v_nvm_prog_u8: The value of NVM program enable
Value Description
0 DISABLE
1 ENABLE
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_NVM_PROG, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_CONFIG_NVM_PROG_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_spi3()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_spi3 ( u8 v_spi3_u8)

This API read to configure SPI Interface Mode for primary and OIS interface from the register 0x6B bit 0.

Parameters
v_spi3_u8: The value of SPI mode selection
Value Description
0 SPI 4-wire mode
1 SPI 3-wire mode
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_IF_CONFIG_SPI3__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_spi3()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_spi3 ( u8  v_spi3_u8)

This API write to configure SPI Interface Mode for primary and OIS interface from the register 0x6B bit 0.

Parameters
v_spi3_u8: The value of SPI mode selection
Value Description
0 SPI 4-wire mode
1 SPI 3-wire mode
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SPI3, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_IF_CONFIG_SPI3__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_foc_gyro_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_foc_gyro_enable ( u8 v_foc_gyro_u8)

This API read gyro fast offset enable from the register 0x69 bit 6.

Parameters
v_foc_gyro_u8: The value of gyro fast offset enable
value Description
0 fast offset compensation disabled
1 fast offset compensation enabled
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_FOC_GYRO_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_i2c_wdt_select()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_wdt_select ( u8 v_i2c_wdt_u8)

This API read I2C Watchdog timer from the register 0x70 bit 1.

Parameters
v_i2c_wdt_u8: The value of I2C watch dog timer
Value Description
0 I2C watchdog v_timeout_u8 after 1 ms
1 I2C watchdog v_timeout_u8 after 50 ms
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_i2c_wdt_select()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_i2c_wdt_select ( u8  v_i2c_wdt_u8)

This API write I2C Watchdog timer from the register 0x70 bit 1.

Parameters
v_i2c_wdt_u8: The value of I2C watch dog timer
Value Description
0 I2C watchdog v_timeout_u8 after 1 ms
1 I2C watchdog v_timeout_u8 after 50 ms
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_I2C_WDT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_IF_CONFIG_I2C_WDT_SELECT__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_i2c_wdt_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_i2c_wdt_enable ( u8 v_i2c_wdt_u8)

This API read I2C watchdog enable from the register 0x70 bit 2.

Parameters
v_i2c_wdt_u8: The value of I2C watchdog enable
Value Description
0 DISABLE
1 ENABLE
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_i2c_wdt_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_i2c_wdt_enable ( u8  v_i2c_wdt_u8)

This API write I2C watchdog enable from the register 0x70 bit 2.

Parameters
v_i2c_wdt_u8: The value of I2C watchdog enable
Value Description
0 DISABLE
1 ENABLE
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_I2C_WDT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_IF_CONFIG_I2C_WDT_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_if_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_if_mode ( u8 v_if_mode_u8)

This API read I2C interface configuration(if) moe from the register 0x6B bit 4 and 5.

Parameters
v_if_mode_u8: The value of interface configuration mode
Value Description
0x00 Primary interface:autoconfig / secondary interface:off
0x01 Primary interface:I2C / secondary interface:OIS
0x02 Primary interface:autoconfig/secondary interface:Magnetometer
0x03 Reserved
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_IF_CONFIG_IF_MODE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_set_if_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_if_mode ( u8  v_if_mode_u8)

This API write I2C interface configuration(if) moe from the register 0x6B bit 4 and 5.

Parameters
v_if_mode_u8: The value of interface configuration mode
Value Description
0x00 Primary interface:autoconfig / secondary interface:off
0x01 Primary interface:I2C / secondary interface:OIS
0x02 Primary interface:autoconfig/secondary interface:Magnetometer
0x03 Reserved
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_IF_MODE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_IF_CONFIG_IF_MODE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_get_gyro_sleep_trigger()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_sleep_trigger ( u8 v_gyro_sleep_trigger_u8)

This API read gyro sleep trigger from the register 0x6C bit 0 to 2.

Parameters
v_gyro_sleep_trigger_u8: The value of gyro sleep trigger
Value Description
0x00 nomotion: no / Not INT1 pin: no / INT2 pin: no
0x01 nomotion: no / Not INT1 pin: no / INT2 pin: yes
0x02 nomotion: no / Not INT1 pin: yes / INT2 pin: no
0x03 nomotion: no / Not INT1 pin: yes / INT2 pin: yes
0x04 nomotion: yes / Not INT1 pin: no / INT2 pin: no
0x05 anymotion: yes / Not INT1 pin: no / INT2 pin: yes
0x06 anymotion: yes / Not INT1 pin: yes / INT2 pin: no
0x07 anymotion: yes / Not INT1 pin: yes / INT2 pin: yes
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_SLEEP_TRIGGER__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_sleep_trigger()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_sleep_trigger ( u8  v_gyro_sleep_trigger_u8)

This API write gyro sleep trigger from the register 0x6C bit 0 to 2.

Parameters
v_gyro_sleep_trigger_u8: The value of gyro sleep trigger
Value Description
0x00 nomotion: no / Not INT1 pin: no / INT2 pin: no
0x01 nomotion: no / Not INT1 pin: no / INT2 pin: yes
0x02 nomotion: no / Not INT1 pin: yes / INT2 pin: no
0x03 nomotion: no / Not INT1 pin: yes / INT2 pin: yes
0x04 nomotion: yes / Not INT1 pin: no / INT2 pin: no
0x05 anymotion: yes / Not INT1 pin: no / INT2 pin: yes
0x06 anymotion: yes / Not INT1 pin: yes / INT2 pin: no
0x07 anymotion: yes / Not INT1 pin: yes / INT2 pin: yes
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_GYRO_SLEEP_TIGGER, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_SLEEP_TRIGGER__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_gyro_wakeup_trigger()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_wakeup_trigger ( u8 v_gyro_wakeup_trigger_u8)

This API read gyro wakeup trigger from the register 0x6C bit 3 and 4.

Parameters
v_gyro_wakeup_trigger_u8: The value of gyro wakeup trigger
Value Description
0x00 anymotion: no / INT1 pin: no
0x01 anymotion: no / INT1 pin: yes
0x02 anymotion: yes / INT1 pin: no
0x03 anymotion: yes / INT1 pin: yes
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_WAKEUP_TRIGGER__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_wakeup_trigger()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_wakeup_trigger ( u8  v_gyro_wakeup_trigger_u8)

This API write gyro wakeup trigger from the register 0x6C bit 3 and 4.

Parameters
v_gyro_wakeup_trigger_u8: The value of gyro wakeup trigger
Value Description
0x00 anymotion: no / INT1 pin: no
0x01 anymotion: no / INT1 pin: yes
0x02 anymotion: yes / INT1 pin: no
0x03 anymotion: yes / INT1 pin: yes
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_GYRO_WAKEUP_TRIGGER, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_WAKEUP_TRIGGER__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_gyro_sleep_state()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_sleep_state ( u8 v_gyro_sleep_state_u8)

This API read Target state for gyro sleep mode from the register 0x6C bit 5.

Parameters
v_gyro_sleep_state_u8: The value of gyro sleep mode
Value Description
0x00 Sleep transition to fast wake up state
0x01 Sleep transition to suspend state
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_SLEEP_STATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_sleep_state()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_sleep_state ( u8  v_gyro_sleep_state_u8)

This API write Target state for gyro sleep mode from the register 0x6C bit 5.

Parameters
v_gyro_sleep_state_u8: The value of gyro sleep mode
Value Description
0x00 Sleep transition to fast wake up state
0x01 Sleep transition to suspend state
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SLEEP_STATE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_SLEEP_STATE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_gyro_wakeup_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_wakeup_intr ( u8 v_gyro_wakeup_intr_u8)

This API read gyro wakeup interrupt from the register 0x6C bit 6.

Parameters
v_gyro_wakeup_intr_u8: The valeu of gyro wakeup interrupt
Value Description
0x00 DISABLE
0x01 ENABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_WAKEUP_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_wakeup_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_wakeup_intr ( u8  v_gyro_wakeup_intr_u8)

This API write gyro wakeup interrupt from the register 0x6C bit 6.

Parameters
v_gyro_wakeup_intr_u8: The valeu of gyro wakeup interrupt
Value Description
0x00 DISABLE
0x01 ENABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_WAKEUP_INTR, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_WAKEUP_INTR__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_accel_selftest_axis()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_selftest_axis ( u8 v_accel_selftest_axis_u8)

This API read accel select axis to be self-test.

Parameters
v_accel_selftest_axis_u8: The value of accel self test axis selection
Value Description
0x00 disabled
0x01 x-axis
0x02 y-axis
0x03 z-axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ACCEL_SELFTEST_AXIS__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_selftest_axis()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_selftest_axis ( u8  v_accel_selftest_axis_u8)

This API write accel select axis to be self-test.

Parameters
v_accel_selftest_axis_u8: The value of accel self test axis selection
Value Description
0x00 disabled
0x01 x-axis
0x02 y-axis
0x03 z-axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_ACCEL_SELFTEST_AXIS, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_ACCEL_SELFTEST_AXIS__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_accel_selftest_sign()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_selftest_sign ( u8 v_accel_selftest_sign_u8)

This API read accel self test axis sign from the register 0x6D bit 2.

Parameters
v_accel_selftest_sign_u8The value of accel self test axis sign
Value Description
0x00 negative
0x01 positive
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_ACCEL_SELFTEST_SIGN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_selftest_sign()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_selftest_sign ( u8  v_accel_selftest_sign_u8)

This API write accel self test axis sign from the register 0x6D bit 2.

Parameters
v_accel_selftest_sign_u8The value of accel self test axis sign
Value Description
0x00 negative
0x01 positive
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SELFTEST_SIGN, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_ACCEL_SELFTEST_SIGN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_accel_selftest_amp()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_selftest_amp ( u8 v_accel_selftest_amp_u8)

This API read accel self test amplitude from the register 0x6D bit 3 select amplitude of the selftest deflection:

Parameters
v_accel_selftest_amp_u8: The value of accel self test amplitude
Value Description
0x00 LOW
0x01 HIGH
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_SELFTEST_AMP__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_selftest_amp()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_selftest_amp ( u8  v_accel_selftest_amp_u8)

This API write accel self test amplitude from the register 0x6D bit 3 select amplitude of the selftest deflection:

Parameters
v_accel_selftest_amp_u8: The value of accel self test amplitude
Value Description
0x00 LOW
0x01 HIGH
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SELFTEST_AMP, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_SELFTEST_AMP__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_gyro_selftest_start()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_selftest_start ( u8 v_gyro_selftest_start_u8)

This API read gyro self test trigger.

Parameters
v_gyro_selftest_start_u8The value of gyro self test start
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_GYRO_SELFTEST_START__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_selftest_start()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_selftest_start ( u8  v_gyro_selftest_start_u8)

This API write gyro self test trigger.

Parameters
v_gyro_selftest_start_u8The value of gyro self test start
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_SELFTEST_START, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_GYRO_SELFTEST_START__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

§ bmi160_get_spi_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_spi_enable ( u8 v_spi_enable_u8)

This API read primary interface selection I2C or SPI from the register 0x70 bit 0.

Parameters
v_spi_enable_u8The value of Interface selection
Value Description
0x00 I2C Enable
0x01 I2C DISBALE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_NV_CONFIG_SPI_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_spi_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_spi_enable ( u8  v_spi_enable_u8)

This API write primary interface selection I2C or SPI from the register 0x70 bit 0.

Parameters
v_spi_enable_u8The value of Interface selection
Value Description
0x00 I2C Enable
0x01 I2C DISBALE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_NV_CONFIG_SPI_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_spare0_trim()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_spare0_trim ( u8 v_spare0_trim_u8)

This API read the spare zero form register 0x70 bit 3.

Parameters
v_spare0_trim_u8The value of spare zero
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_NV_CONFIG_SPARE0__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_spare0_trim()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_spare0_trim ( u8  v_spare0_trim_u8)

This API write the spare zero form register 0x70 bit 3.

Parameters
v_spare0_trim_u8The value of spare zero
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_NV_CONFIG_SPARE0__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_nvm_counter()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_nvm_counter ( u8 v_nvm_counter_u8)

This API read the NVM counter form register 0x70 bit 4 to 7.

Parameters
v_nvm_counter_u8The value of NVM counter
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_NV_CONFIG_NVM_COUNTER__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_nvm_counter()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_nvm_counter ( u8  v_nvm_counter_u8)

This API write the NVM counter form register 0x70 bit 4 to 7.

Parameters
v_nvm_counter_u8The value of NVM counter
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_NV_CONFIG_NVM_COUNTER__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

§ bmi160_get_accel_offset_compensation_xaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_compensation_xaxis ( s8 v_accel_off_x_s8)

This API read accel manual offset compensation of x axis from the register 0x71 bit 0 to 7.

Parameters
v_accel_off_x_s8The value of accel manual offset compensation of x axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_OFFSET_0_ACCEL_OFF_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_accel_foc_trigger_xyz(), and bmi160_set_accel_foc_trigger().

§ bmi160_set_accel_offset_compensation_xaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_compensation_xaxis ( s8  v_accel_off_x_s8)

This API write accel manual offset compensation of x axis from the register 0x71 bit 0 to 7.

Parameters
v_accel_off_x_s8The value of accel manual offset compensation of x axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References ACCEL_OFFSET_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_accel_offset_enable(), BMI160_SET_BITSLICE, BMI160_USER_OFFSET_0_ACCEL_OFF_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, and SUCCESS.

§ bmi160_get_accel_offset_compensation_yaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_compensation_yaxis ( s8 v_accel_off_y_s8)

This API read accel manual offset compensation of y axis from the register 0x72 bit 0 to 7.

Parameters
v_accel_off_y_s8The value of accel manual offset compensation of y axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_OFFSET_1_ACCEL_OFF_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_accel_foc_trigger_xyz(), and bmi160_set_accel_foc_trigger().

§ bmi160_set_accel_offset_compensation_yaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_compensation_yaxis ( s8  v_accel_off_y_s8)

This API write accel manual offset compensation of y axis from the register 0x72 bit 0 to 7.

Parameters
v_accel_off_y_s8The value of accel manual offset compensation of y axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References ACCEL_OFFSET_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_accel_offset_enable(), BMI160_SET_BITSLICE, BMI160_USER_OFFSET_1_ACCEL_OFF_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, and SUCCESS.

§ bmi160_get_accel_offset_compensation_zaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_compensation_zaxis ( s8 v_accel_off_z_s8)

This API read accel manual offset compensation of z axis from the register 0x73 bit 0 to 7.

Parameters
v_accel_off_z_s8The value of accel manual offset compensation of z axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_OFFSET_2_ACCEL_OFF_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_accel_foc_trigger_xyz(), and bmi160_set_accel_foc_trigger().

§ bmi160_set_accel_offset_compensation_zaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_compensation_zaxis ( s8  v_accel_off_z_s8)

This API write accel manual offset compensation of z axis from the register 0x73 bit 0 to 7.

Parameters
v_accel_off_z_s8The value of accel manual offset compensation of z axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References ACCEL_OFFSET_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_accel_offset_enable(), BMI160_SET_BITSLICE, BMI160_USER_OFFSET_2_ACCEL_OFF_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, and SUCCESS.

§ bmi160_get_gyro_offset_compensation_xaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_compensation_xaxis ( s16 v_gyro_off_x_s16)

This API read gyro manual offset compensation of x axis from the register 0x74 bit 0 to 7 and 0x77 bit 0 and 1.

Parameters
v_gyro_off_x_s16The value of gyro manual offset compensation of x axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_06_BITS, BMI160_SHIFT_BIT_POSITION_BY_14_BITS, BMI160_USER_OFFSET_3_GYRO_OFF_X__REG, BMI160_USER_OFFSET_6_GYRO_OFF_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_set_foc_gyro_enable().

§ bmi160_set_gyro_offset_compensation_xaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_compensation_xaxis ( s16  v_gyro_off_x_s16)

This API write gyro manual offset compensation of x axis from the register 0x74 bit 0 to 7 and 0x77 bit 0 and 1.

Parameters
v_gyro_off_x_s16The value of gyro manual offset compensation of x axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GYRO_MANUAL_OFFSET_0_7, BMI160_GYRO_MANUAL_OFFSET_8_9, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_gyro_offset_enable(), BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_OFFSET_3_GYRO_OFF_X__REG, BMI160_USER_OFFSET_6_GYRO_OFF_X__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, GYRO_OFFSET_ENABLE, and SUCCESS.

§ bmi160_get_gyro_offset_compensation_yaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_compensation_yaxis ( s16 v_gyro_off_y_s16)

This API read gyro manual offset compensation of y axis from the register 0x75 bit 0 to 7 and 0x77 bit 2 and 3.

Parameters
v_gyro_off_y_s16The value of gyro manual offset compensation of y axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_06_BITS, BMI160_SHIFT_BIT_POSITION_BY_14_BITS, BMI160_USER_OFFSET_4_GYRO_OFF_Y__REG, BMI160_USER_OFFSET_6_GYRO_OFF_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_set_foc_gyro_enable().

§ bmi160_set_gyro_offset_compensation_yaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_compensation_yaxis ( s16  v_gyro_off_y_s16)

This API write gyro manual offset compensation of y axis from the register 0x75 bit 0 to 7 and 0x77 bit 2 and 3.

Parameters
v_gyro_off_y_s16The value of gyro manual offset compensation of y axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GYRO_MANUAL_OFFSET_0_7, BMI160_GYRO_MANUAL_OFFSET_8_9, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_gyro_offset_enable(), BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_OFFSET_4_GYRO_OFF_Y__REG, BMI160_USER_OFFSET_6_GYRO_OFF_Y__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, GYRO_OFFSET_ENABLE, and SUCCESS.

§ bmi160_get_gyro_offset_compensation_zaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_compensation_zaxis ( s16 v_gyro_off_z_s16)

This API read gyro manual offset compensation of z axis from the register 0x76 bit 0 to 7 and 0x77 bit 4 and 5.

Parameters
v_gyro_off_z_s16The value of gyro manual offset compensation of z axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_06_BITS, BMI160_SHIFT_BIT_POSITION_BY_14_BITS, BMI160_USER_OFFSET_5_GYRO_OFF_Z__REG, BMI160_USER_OFFSET_6_GYRO_OFF_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_set_foc_gyro_enable().

§ bmi160_set_gyro_offset_compensation_zaxis()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_compensation_zaxis ( s16  v_gyro_off_z_s16)

This API write gyro manual offset compensation of z axis from the register 0x76 bit 0 to 7 and 0x77 bit 4 and 5.

Parameters
v_gyro_off_z_s16The value of gyro manual offset compensation of z axis
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GYRO_MANUAL_OFFSET_0_7, BMI160_GYRO_MANUAL_OFFSET_8_9, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_set_gyro_offset_enable(), BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_OFFSET_5_GYRO_OFF_Z__REG, BMI160_USER_OFFSET_6_GYRO_OFF_Z__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, GYRO_OFFSET_ENABLE, and SUCCESS.

§ bmi160_set_accel_foc_trigger()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_foc_trigger ( u8  v_axis_u8,
u8  v_foc_accel_u8,
s8 v_accel_offset_s8 
)

This API writes accel fast offset compensation from the register 0x69 bit 0 to 5.

This API writes each axis individually FOC_X_AXIS - bit 4 and 5 FOC_Y_AXIS - bit 2 and 3 FOC_Z_AXIS - bit 0 and 1

Parameters
v_foc_accel_u8The value of accel offset compensation
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
v_axis_u8The value of accel offset axis selection
value axis
0 FOC_X_AXIS
1 FOC_Y_AXIS
2 FOC_Z_AXIS
@param v_accel_offset_s8: The accel offset value

@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References ACCEL_OFFSET_ENABLE, BMI160_DELAY_SETTLING_TIME, BMI160_FOC_STAT_HIGH, BMI160_GEN_READ_WRITE_DATA_LENGTH, bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_foc_rdy(), BMI160_INIT_VALUE, BMI160_MAXIMUM_TIMEOUT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_accel_offset_enable(), BMI160_SET_BITSLICE, bmi160_set_command_register(), BMI160_USER_FOC_ACCEL_X__REG, BMI160_USER_FOC_ACCEL_Y__REG, BMI160_USER_FOC_ACCEL_Z__REG, bmi160_t::delay_msec, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, FOC_X_AXIS, FOC_Y_AXIS, FOC_Z_AXIS, START_FOC_ACCEL_GYRO, and SUCCESS.

§ bmi160_accel_foc_trigger_xyz()

BMI160_RETURN_FUNCTION_TYPE bmi160_accel_foc_trigger_xyz ( u8  v_foc_accel_x_u8,
u8  v_foc_accel_y_u8,
u8  v_foc_accel_z_u8,
s8 v_accel_off_x_s8,
s8 v_accel_off_y_s8,
s8 v_accel_off_z_s8 
)

This API write fast accel offset compensation it writes all axis together.To the register 0x69 bit 0 to 5 FOC_X_AXIS - bit 4 and 5 FOC_Y_AXIS - bit 2 and 3 FOC_Z_AXIS - bit 0 and 1.

Parameters
v_foc_accel_x_u8The value of accel offset x compensation
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
v_foc_accel_y_u8The value of accel offset y compensation
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
v_foc_accel_z_u8The value of accel offset z compensation
value Behaviour
0x00 disable
0x01 +1g
0x01 -1g
0x01 0g
v_accel_off_x_s8The value of accel offset x axis
v_accel_off_y_s8The value of accel offset y axis
v_accel_off_z_s8The value of accel offset z axis
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References ACCEL_OFFSET_ENABLE, BMI160_DELAY_SETTLING_TIME, BMI160_FOC_STAT_HIGH, BMI160_GEN_READ_WRITE_DATA_LENGTH, bmi160_get_accel_offset_compensation_xaxis(), bmi160_get_accel_offset_compensation_yaxis(), bmi160_get_accel_offset_compensation_zaxis(), bmi160_get_foc_rdy(), BMI160_INIT_VALUE, BMI160_MAXIMUM_TIMEOUT, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_accel_offset_enable(), BMI160_SET_BITSLICE, bmi160_set_command_register(), BMI160_USER_FOC_ACCEL_X__REG, BMI160_USER_FOC_ACCEL_Y__REG, BMI160_USER_FOC_ACCEL_Z__REG, bmi160_t::delay_msec, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, ERROR, START_FOC_ACCEL_GYRO, and SUCCESS.

§ bmi160_get_accel_offset_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_accel_offset_enable ( u8 v_accel_off_enable_u8)

This API read the accel offset enable bit from the register 0x77 bit 6.

Parameters
v_accel_off_enable_u8The value of accel offset enable
value Description
0x01 ENABLE
0x00 DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_accel_offset_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_accel_offset_enable ( u8  v_accel_off_enable_u8)

This API write the accel offset enable bit from the register 0x77 bit 6.

Parameters
v_accel_off_enable_u8The value of accel offset enable
value Description
0x01 ENABLE
0x00 DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_OFFSET_6_ACCEL_OFF_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_set_accel_foc_trigger(), bmi160_set_accel_offset_compensation_xaxis(), bmi160_set_accel_offset_compensation_yaxis(), and bmi160_set_accel_offset_compensation_zaxis().

§ bmi160_get_gyro_offset_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_gyro_offset_enable ( u8 v_gyro_off_enable_u8)

This API read the accel offset enable bit from the register 0x77 bit 7.

Parameters
v_gyro_off_enable_u8The value of gyro offset enable
value Description
0x01 ENABLE
0x00 DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_OFFSET_6_GYRO_OFF_EN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_set_gyro_offset_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_gyro_offset_enable ( u8  v_gyro_off_enable_u8)

This API write the accel offset enable bit from the register 0x77 bit 7.

Parameters
v_gyro_off_enable_u8The value of gyro offset enable
value Description
0x01 ENABLE
0x00 DISABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_OFFSET_6_GYRO_OFF_EN__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

Referenced by bmi160_set_foc_gyro_enable(), bmi160_set_gyro_offset_compensation_xaxis(), bmi160_set_gyro_offset_compensation_yaxis(), and bmi160_set_gyro_offset_compensation_zaxis().

§ bmi160_read_step_count()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_step_count ( s16 v_step_cnt_s16)

This API reads step counter value form the register 0x78 and 0x79.

Parameters
v_step_cnt_s16: The value of step counter
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_STEP_COUNT_DATA_SIZE, BMI160_STEP_COUNT_LSB_BYTE, BMI160_STEP_COUNT_MSB_BYTE, BMI160_STEP_COUNTER_LENGTH, BMI160_USER_STEP_COUNT_LSB__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

§ bmi160_get_step_config()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_step_config ( u16 v_step_config_u16)

This API Reads step counter configuration from the register 0x7A bit 0 to 7 and from the register 0x7B bit 0 to 2 and 4 to 7.

Parameters
v_step_config_u16: The value of step configuration
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_RETURN_FUNCTION_TYPE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_USER_STEP_CONFIG_ONE_CNF1__REG, BMI160_USER_STEP_CONFIG_ONE_CNF2__REG, BMI160_USER_STEP_CONFIG_ZERO__REG, bmi160_t::dev_addr, and E_BMI160_COMM_RES.

§ bmi160_set_step_config()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_config ( u16  v_step_config_u16)

This API write step counter configuration from the register 0x7A bit 0 to 7 and from the register 0x7B bit 0 to 2 and 4 to 7.

Parameters
v_step_config_u16: the value of Enable step configuration
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_SHIFT_BIT_POSITION_BY_12_BITS, BMI160_STEP_CONFIG_0_7, BMI160_STEP_CONFIG_11_14, BMI160_STEP_CONFIG_8_10, BMI160_USER_STEP_CONFIG_ONE_CNF1__REG, BMI160_USER_STEP_CONFIG_ONE_CNF2__REG, BMI160_USER_STEP_CONFIG_ZERO__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and SUCCESS.

Referenced by bmi160_set_step_mode().

§ bmi160_get_step_counter_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_step_counter_enable ( u8 v_step_counter_u8)

This API read enable step counter from the register 0x7B bit 3.

Parameters
v_step_counter_u8: The value of step counter enable
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_set_intr_low_g().

§ bmi160_set_step_counter_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_counter_enable ( u8  v_step_counter_u8)

This API write enable step counter from the register 0x7B bit 3.

Parameters
v_step_counter_u8: The value of step counter enable
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_GYRO_STEP_COUNTER, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, BMI160_USER_STEP_CONFIG_1_STEP_COUNT_ENABLE__REG, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_set_intr_low_g().

§ bmi160_set_step_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_step_mode ( u8  v_step_mode_u8)

This API set Step counter modes.

Parameters
v_step_mode_u8: The value of step counter mode
value mode
0 BMI160_STEP_NORMAL_MODE
1 BMI160_STEP_SENSITIVE_MODE
2 BMI160_STEP_ROBUST_MODE
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DELAY, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_step_config(), BMI160_STEP_NORMAL_MODE, BMI160_STEP_ROBUST_MODE, BMI160_STEP_SENSITIVE_MODE, bmi160_t::delay_msec, E_BMI160_COMM_RES, E_BMI160_OUT_OF_RANGE, STEP_CONFIG_NORMAL, STEP_CONFIG_ROBUST, and STEP_CONFIG_SENSITIVE.

§ bmi160_map_significant_motion_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_map_significant_motion_intr ( u8  v_significant_u8)

§ bmi160_map_step_detector_intr()

BMI160_RETURN_FUNCTION_TYPE bmi160_map_step_detector_intr ( u8  v_step_detector_u8)

This API used to trigger the step detector interrupt.

Parameters
v_step_detector_u8: The value of interrupt selection
value interrupt
0 BMI160_MAP_INTR1
1 BMI160_MAP_INTR2
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GEN_READ_WRITE_DELAY, bmi160_get_step_detector_enable(), BMI160_INIT_VALUE, BMI160_LOW_G_INTR_STAT, BMI160_MAP_INTR1, BMI160_MAP_INTR2, bmi160_read_reg(), BMI160_RETURN_FUNCTION_TYPE, bmi160_set_step_detector_enable(), BMI160_STEP_DET_STAT_HIGH, BMI160_STEP_DETECT_INTR_ENABLE, BMI160_USER_INTR_MAP_0_INTR1_LOW_G__REG, BMI160_USER_INTR_MAP_2_INTR2_LOW_G__REG, bmi160_write_reg(), bmi160_t::delay_msec, E_BMI160_COMM_RES, and E_BMI160_OUT_OF_RANGE.

§ bmi160_clear_step_counter()

BMI160_RETURN_FUNCTION_TYPE bmi160_clear_step_counter ( void  )

This API used to clear the step counter interrupt interrupt.

Parameters
None
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_RETURN_FUNCTION_TYPE, BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY, bmi160_set_command_register(), bmi160_t::delay_msec, E_BMI160_COMM_RES, and RESET_STEP_COUNTER.

§ bmi160_set_command_register()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_command_register ( u8  v_command_reg_u8)

This API writes value to the register 0x7E bit 0 to 7.

Parameters
v_command_reg_u8: The value to write command register
value Description
0x00 Reserved
0x03 Starts fast offset calibration for the accel and gyro
0x10 Sets the PMU mode for the Accelerometer to suspend
0x11 Sets the PMU mode for the Accelerometer to normal
0x12 Sets the PMU mode for the Accelerometer Lowpower
0x14 Sets the PMU mode for the Gyroscope to suspend
0x15 Sets the PMU mode for the Gyroscope to normal
0x16 Reserved
0x17 Sets the PMU mode for the Gyroscope to fast start-up
0x18 Sets the PMU mode for the Magnetometer to suspend
0x19 Sets the PMU mode for the Magnetometer to normal
0x1A Sets the PMU mode for the Magnetometer to Lowpower
0xB0 Clears all data in the FIFO
0xB1 Resets the interrupt engine
0xB2 step_cnt_clr Clears the step counter
0xB6 Triggers a reset
0x37 See extmode_en_last
0x9A See extmode_en_last
0xC0 Enable the extended mode
0xC4 Erase NVM cell
0xC8 Load NVM cell
0xF0 Reset acceleration data path
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_CMD_COMMANDS__REG, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_accel_foc_trigger_xyz(), bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), bmi160_clear_step_counter(), bmi160_read_bmm150_mag_trim(), bmi160_set_accel_foc_trigger(), bmi160_set_bmm150_mag_and_secondary_if_power_mode(), bmi160_set_foc_gyro_enable(), and bmi160_set_mag_interface_normal().

§ bmi160_get_target_page()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_target_page ( u8 v_target_page_u8)

This API read target page from the register 0x7F bit 4 and 5.

Parameters
v_target_page_u8The value of target page
value page
0 User data/configure page
1 Chip level trim/test page
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_CMD_TARGET_PAGE__REG, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_set_target_page()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_target_page ( u8  v_target_page_u8)

This API write target page from the register 0x7F bit 4 and 5.

Parameters
v_target_page_u8The value of target page
value page
0 User data/configure page
1 Chip level trim/test page
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_CMD_TARGET_PAGE__REG, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_TARGET_PAGE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_get_paging_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_paging_enable ( u8 v_page_enable_u8)

This API read page enable from the register 0x7F bit 7.

Parameters
v_page_enable_u8The value of page enable
value page
0 DISABLE
1 ENABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_CMD_PAGING_EN__REG, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_set_paging_enable()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_paging_enable ( u8  v_page_enable_u8)

This API write page enable from the register 0x7F bit 7.

Parameters
v_page_enable_u8The value of page enable
value page
0 DISABLE
1 ENABLE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_CMD_PAGING_EN__REG, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_MAX_VALUE_PAGE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, E_BMI160_OUT_OF_RANGE, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_get_pullup_configuration()

BMI160_RETURN_FUNCTION_TYPE bmi160_get_pullup_configuration ( u8 v_control_pullup_u8)

This API read pull up configuration from the register 0X85 bit 4 an 5.

Parameters
v_control_pullup_u8The value of pull up register
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_COM_C_TRIM_FIVE__REG, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GET_BITSLICE, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, bmi160_t::dev_addr, E_BMI160_COMM_RES, and E_BMI160_NULL_PTR.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_set_pullup_configuration()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_pullup_configuration ( u8  v_control_pullup_u8)

This API write pull up configuration from the register 0X85 bit 4 an 5.

Parameters
v_control_pullup_u8The value of pull up register
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_COM_C_TRIM_FIVE__REG, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, BMI160_NULL, BMI160_RETURN_FUNCTION_TYPE, BMI160_SET_BITSLICE, bmi160_t::dev_addr, E_BMI160_COMM_RES, E_BMI160_NULL_PTR, and SUCCESS.

Referenced by bmi160_bmm150_mag_interface_init(), bmi160_bst_yamaha_yas537_mag_interface_init(), and bmi160_read_bmm150_mag_trim().

§ bmi160_bmm150_mag_interface_init()

BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_interface_init ( u8 v_chip_id_u8)

This function used for initialize the bmm150 sensor.

Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References ACCEL_LOWPOWER, ACCEL_MODE_NORMAL, ACCEL_SUSPEND, BMI160_ACCEL_LOW_POWER, BMI160_ACCEL_NORMAL_MODE, BMI160_ACCEL_SUSPEND, BMI160_AUX_BMM150_I2C_ADDRESS, BMI160_BMM150_CHIP_ID, BMI160_BMM150_DATA_REG, BMI160_BMM150_FORCE_MODE, bmi160_bmm150_mag_wakeup(), BMI160_BMM150_POWE_MODE_REG, BMI160_BMM_POWER_MODE_REG, BMI160_COMMAND_REG_ONE, BMI160_COMMAND_REG_THREE, BMI160_COMMAND_REG_TWO, BMI160_ENABLE_MAG_IF_MODE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GEN_READ_WRITE_DELAY, bmi160_get_accel_power_mode_stat(), bmi160_get_if_mode(), bmi160_get_mag_manual_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_target_page(), BMI160_INIT_VALUE, BMI160_MAG_DATA_READ_REG, BMI160_MAG_OUTPUT_DATA_RATE_25HZ, BMI160_MAG_PRESETMODE_REGULAR, BMI160_MANUAL_DISABLE, BMI160_MANUAL_ENABLE, BMI160_PULL_UP_DATA, bmi160_read_bmm150_mag_trim(), bmi160_read_reg(), BMI160_RETURN_FUNCTION_TYPE, bmi160_set_bmm150_mag_presetmode(), bmi160_set_command_register(), bmi160_set_i2c_device_addr(), bmi160_set_if_mode(), bmi160_set_mag_interface_normal(), bmi160_set_mag_manual_enable(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_target_page(), BMI160_WRITE_ENABLE_PAGE1, BMI160_WRITE_TARGET_PAGE0, BMI160_WRITE_TARGET_PAGE1, bmi160_t::delay_msec, and V_bmm150_maual_auto_condition_u8.

§ bmi160_bmm150_mag_wakeup()

BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_wakeup ( void  )

§ bmi160_read_bmm150_mag_trim()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_bmm150_mag_trim ( void  )

This function used for read the trim values of magnetometer.

Note
Before reading the mag trimming values make sure the following two points are addressed
  1. Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
  1. And also confirm the secondary-interface power mode is not in the SUSPEND mode. by using the function bmi160_get_mag_pmu_status(). If the secondary-interface power mode is in SUSPEND mode set the value of 0x19(NORMAL mode)by using the bmi160_set_command_register(0x19) function.
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References ACCEL_LOWPOWER, ACCEL_MODE_NORMAL, ACCEL_SUSPEND, AKM09911_SENSITIVITY_DIV, AKM09912_SENSITIVITY, AKM09912_SENSITIVITY_DIV, AKM_ASAX, AKM_ASAY, AKM_ASAZ, AKM_CHIP_ID_REG, AKM_DATA_REGISTER, AKM_FUSE_ROM_MODE, AKM_POWER_DOWN_MODE, AKM_POWER_DOWN_MODE_DATA, AKM_POWER_MODE_REG, AKM_SINGLE_MEAS_MODE, AKM_SINGLE_MEASUREMENT_MODE, BMI160_ACCEL_LOW_POWER, BMI160_ACCEL_NORMAL_MODE, BMI160_ACCEL_SUSPEND, BMI160_AKM_INIT_DELAY, BMI160_AKM_SENSITIVITY_DATA_SIZE, BMI160_AUX_YAS532_I2C_ADDRESS, BMI160_BMM150_DIG_DIG_XYZ1_LSB, BMI160_BMM150_DIG_DIG_XYZ1_MSB, BMI160_BMM150_DIG_DIG_Z3_LSB, BMI160_BMM150_DIG_DIG_Z3_MSB, BMI160_BMM150_DIG_DIG_Z4_LSB, BMI160_BMM150_DIG_DIG_Z4_MSB, BMI160_BMM150_DIG_X1, BMI160_BMM150_DIG_X2, BMI160_BMM150_DIG_XY1, BMI160_BMM150_DIG_XY2, BMI160_BMM150_DIG_Y1, BMI160_BMM150_DIG_Y3, BMI160_BMM150_DIG_Z1_LSB, BMI160_BMM150_DIG_Z1_MSB, BMI160_BMM150_DIG_Z2_LSB, BMI160_BMM150_DIG_Z2_MSB, BMI160_BST_AKM_ASAX, BMI160_BST_AKM_ASAY, BMI160_BST_AKM_ASAZ, BMI160_COMMAND_REG_ONE, BMI160_COMMAND_REG_THREE, BMI160_COMMAND_REG_TWO, BMI160_ENABLE_MAG_IF_MODE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GEN_READ_WRITE_DELAY, bmi160_get_accel_power_mode_stat(), bmi160_get_if_mode(), bmi160_get_mag_manual_enable(), bmi160_get_mag_power_mode_stat(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_target_page(), BMI160_INIT_VALUE, BMI160_MAG_DATA_READ_REG, BMI160_MAG_DIG_X1, BMI160_MAG_DIG_X2, BMI160_MAG_DIG_XY1, BMI160_MAG_DIG_XY2, BMI160_MAG_DIG_XYZ1_LSB, BMI160_MAG_DIG_XYZ1_MSB, BMI160_MAG_DIG_Y1, BMI160_MAG_DIG_Y2, BMI160_MAG_DIG_Z1_LSB, BMI160_MAG_DIG_Z1_MSB, BMI160_MAG_DIG_Z2_LSB, BMI160_MAG_DIG_Z2_MSB, BMI160_MAG_DIG_Z3_LSB, BMI160_MAG_DIG_Z3_MSB, BMI160_MAG_DIG_Z4_LSB, BMI160_MAG_DIG_Z4_MSB, BMI160_MAG_FORCE_MODE, BMI160_MAG_OUTPUT_DATA_RATE_25HZ, BMI160_MAG_SUSPEND_MODE, BMI160_MAG_TRIM_DATA_SIZE, BMI160_MANUAL_DISABLE, BMI160_MANUAL_ENABLE, BMI160_PULL_UP_DATA, bmi160_read_mag_xyz(), bmi160_read_reg(), BMI160_RETURN_FUNCTION_TYPE, BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY, bmi160_set_command_register(), bmi160_set_i2c_device_addr(), bmi160_set_if_mode(), bmi160_set_mag_interface_normal(), bmi160_set_mag_manual_enable(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_target_page(), BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_WRITE_ENABLE_PAGE1, BMI160_WRITE_TARGET_PAGE0, BMI160_WRITE_TARGET_PAGE1, BMI160_YAS_DEVICE_ID_REG, BST_AKM, bmi160_t::delay_msec, trim_data_t::dig_x1, trim_data_t::dig_x2, trim_data_t::dig_xy1, trim_data_t::dig_xy2, trim_data_t::dig_xyz1, trim_data_t::dig_y1, trim_data_t::dig_y2, trim_data_t::dig_z1, trim_data_t::dig_z2, trim_data_t::dig_z3, trim_data_t::dig_z4, E_BMI160_COMM_RES, E_BMI160_OUT_OF_RANGE, FUSE_ROM_MODE, bmi160_t::mag_manual_enable, MAG_MODE_NORMAL, MAG_MODE_SUSPEND, mag_trim, set_vector, bmi160_mag_t::x, bmi160_mag_t::y, YAS532_MAG_STATE_INIT_COIL, and bmi160_mag_t::z.

Referenced by bmi160_bmm150_mag_interface_init().

§ bmi160_bmm150_mag_compensate_xyz()

BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_compensate_xyz ( struct bmi160_mag_xyz_s32_t mag_comp_xyz)

This function used for read the compensated value of mag Before start reading the mag compensated data's make sure the following two points are addressed.

Note
  1. Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
  1. And also confirm the secondary-interface power mode is not in the SUSPEND mode. by using the function bmi160_get_mag_pmu_status(). If the secondary-interface power mode is in SUSPEND mode set the value of 0x19(NORMAL mode)by using the bmi160_set_command_register(0x19) function.
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References bmi160_bmm150_mag_compensate_X(), bmi160_bmm150_mag_compensate_Y(), bmi160_bmm150_mag_compensate_Z(), bmi160_read_mag_xyzr(), BMI160_RETURN_FUNCTION_TYPE, E_BMI160_COMM_RES, bmi160_mag_xyzr_t::r, bmi160_mag_xyzr_t::x, bmi160_mag_xyz_s32_t::x, bmi160_mag_xyzr_t::y, bmi160_mag_xyz_s32_t::y, bmi160_mag_xyzr_t::z, and bmi160_mag_xyz_s32_t::z.

§ bmi160_bmm150_mag_compensate_X()

s32 bmi160_bmm150_mag_compensate_X ( s16  v_mag_data_x_s16,
u16  v_data_r_u16 
)

This API used to get the compensated BMM150-X data the out put of X as s32 Before start reading the mag compensated X data make sure the following two points are addressed.

Note
  1. Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
  1. And also confirm the secondary-interface power mode is not in the SUSPEND mode. by using the function bmi160_get_mag_pmu_status(). If the secondary-interface power mode is in SUSPEND mode set the value of 0x19(NORMAL mode)by using the bmi160_set_command_register(0x19) function.
Parameters
v_mag_data_x_s16: The value of mag raw X data
v_data_r_u16: The value of mag R data
@return results of compensated X data value output as s32

References BMI160_INIT_VALUE, BMI160_MAG_FLIP_OVERFLOW_ADCVAL, BMI160_MAG_OVERFLOW_OUTPUT, BMI160_MAG_OVERFLOW_OUTPUT_S32, BMI160_SHIFT_BIT_POSITION_BY_03_BITS, BMI160_SHIFT_BIT_POSITION_BY_07_BITS, BMI160_SHIFT_BIT_POSITION_BY_09_BITS, BMI160_SHIFT_BIT_POSITION_BY_12_BITS, BMI160_SHIFT_BIT_POSITION_BY_13_BITS, BMI160_SHIFT_BIT_POSITION_BY_14_BITS, trim_data_t::dig_x1, trim_data_t::dig_x2, trim_data_t::dig_xy1, trim_data_t::dig_xy2, trim_data_t::dig_xyz1, and mag_trim.

Referenced by bmi160_bmm150_mag_compensate_xyz(), and bmi160_second_if_mag_compensate_xyz().

§ bmi160_bmm150_mag_compensate_Y()

s32 bmi160_bmm150_mag_compensate_Y ( s16  v_mag_data_y_s16,
u16  v_data_r_u16 
)

This API used to get the compensated BMM150-Y data the out put of Y as s32 Before start reading the mag compensated Y data make sure the following two points are addressed.

Note
  1. Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
  1. And also confirm the secondary-interface power mode is not in the SUSPEND mode. by using the function bmi160_get_mag_pmu_status(). If the secondary-interface power mode is in SUSPEND mode set the value of 0x19(NORMAL mode)by using the bmi160_set_command_register(0x19) function.
Parameters
v_mag_data_y_s16: The value of mag raw Y data
v_data_r_u16: The value of mag R data
@return results of compensated Y data value output as s32

References BMI160_INIT_VALUE, BMI160_MAG_FLIP_OVERFLOW_ADCVAL, BMI160_MAG_OVERFLOW_OUTPUT, BMI160_MAG_OVERFLOW_OUTPUT_S32, BMI160_SHIFT_BIT_POSITION_BY_03_BITS, BMI160_SHIFT_BIT_POSITION_BY_07_BITS, BMI160_SHIFT_BIT_POSITION_BY_09_BITS, BMI160_SHIFT_BIT_POSITION_BY_12_BITS, BMI160_SHIFT_BIT_POSITION_BY_13_BITS, BMI160_SHIFT_BIT_POSITION_BY_14_BITS, trim_data_t::dig_xy1, trim_data_t::dig_xy2, trim_data_t::dig_xyz1, trim_data_t::dig_y1, trim_data_t::dig_y2, and mag_trim.

Referenced by bmi160_bmm150_mag_compensate_xyz(), and bmi160_second_if_mag_compensate_xyz().

§ bmi160_bmm150_mag_compensate_Z()

s32 bmi160_bmm150_mag_compensate_Z ( s16  v_mag_data_z_s16,
u16  v_data_r_u16 
)

This API used to get the compensated BMM150-Z data the out put of Z as s32 Before start reading the mag compensated Z data make sure the following two points are addressed.

Note
  1. Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
  1. And also confirm the secondary-interface power mode is not in the SUSPEND mode. by using the function bmi160_get_mag_pmu_status(). If the secondary-interface power mode is in SUSPEND mode set the value of 0x19(NORMAL mode)by using the bmi160_set_command_register(0x19) function.
Parameters
v_mag_data_z_s16: The value of mag raw Z data
v_data_r_u16: The value of mag R data
@return results of compensated Z data value output as s32

References BMI160_INIT_VALUE, BMI160_MAG_HALL_OVERFLOW_ADCVAL, BMI160_MAG_OVERFLOW_OUTPUT, BMI160_SHIFT_BIT_POSITION_BY_01_BIT, BMI160_SHIFT_BIT_POSITION_BY_02_BITS, BMI160_SHIFT_BIT_POSITION_BY_15_BITS, BMI160_SHIFT_BIT_POSITION_BY_16_BITS, trim_data_t::dig_xyz1, trim_data_t::dig_z1, trim_data_t::dig_z2, trim_data_t::dig_z3, trim_data_t::dig_z4, and mag_trim.

Referenced by bmi160_bmm150_mag_compensate_xyz(), and bmi160_second_if_mag_compensate_xyz().

§ bmi160_set_bmm150_mag_presetmode()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_bmm150_mag_presetmode ( u8  v_mode_u8)

This API used to set the pre-set modes of bmm150 The pre-set mode setting is depend on data rate and xy and z repetitions.

Note
Before set the mag preset mode make sure the following two points are addressed
  1. Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
  1. And also confirm the secondary-interface power mode is not in the SUSPEND mode. by using the function bmi160_get_mag_pmu_status(). If the secondary-interface power mode is in SUSPEND mode set the value of 0x19(NORMAL mode)by using the bmi160_set_command_register(0x19) function.
Parameters
v_mode_u8The value of pre-set mode selection value
value pre_set mode
1 BMI160_MAG_PRESETMODE_LOWPOWER
2 BMI160_MAG_PRESETMODE_REGULAR
3 BMI160_MAG_PRESETMODE_HIGHACCURACY
4 BMI160_MAG_PRESETMODE_ENHANCED
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_BMM150_DATA_REG, BMI160_BMM150_FORCE_MODE, BMI160_BMM150_POWE_MODE_REG, BMI160_BMM150_XY_REP, BMI160_BMM150_Z_REP, BMI160_GEN_READ_WRITE_DELAY, BMI160_MAG_ENHANCED_DR, BMI160_MAG_ENHANCED_REPXY, BMI160_MAG_ENHANCED_REPZ, BMI160_MAG_HIGHACCURACY_DR, BMI160_MAG_HIGHACCURACY_REPXY, BMI160_MAG_HIGHACCURACY_REPZ, BMI160_MAG_LOWPOWER_DR, BMI160_MAG_LOWPOWER_REPXY, BMI160_MAG_LOWPOWER_REPZ, BMI160_MAG_PRESETMODE_ENHANCED, BMI160_MAG_PRESETMODE_HIGHACCURACY, BMI160_MAG_PRESETMODE_LOWPOWER, BMI160_MAG_PRESETMODE_REGULAR, BMI160_MAG_REGULAR_DR, BMI160_MAG_REGULAR_REPXY, BMI160_MAG_REGULAR_REPZ, BMI160_MANUAL_DISABLE, BMI160_MANUAL_ENABLE, BMI160_RETURN_FUNCTION_TYPE, BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY, bmi160_set_mag_manual_enable(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_t::delay_msec, E_BMI160_COMM_RES, E_BMI160_OUT_OF_RANGE, bmi160_t::mag_manual_enable, and V_bmm150_maual_auto_condition_u8.

Referenced by bmi160_bmm150_mag_interface_init(), and bmi160_bmm150_mag_set_power_mode().

§ bmi160_bmm150_mag_set_power_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_bmm150_mag_set_power_mode ( u8  v_mag_pow_mode_u8)

This function used for set the magnetometer power mode.

Note
Before set the mag power mode make sure the following two points are addressed
  1. Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
  1. And also confirm the secondary-interface power mode is not in the SUSPEND mode. by using the function bmi160_get_mag_pmu_status(). If the secondary-interface power mode is in SUSPEND mode set the value of 0x19(NORMAL mode)by using the bmi160_set_command_register(0x19) function.
Parameters
v_mag_pow_mode_u8: The value of mag power mode
value mode
0 FORCE_MODE
1 SUSPEND_MODE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References BMI160_BMM150_DATA_REG, BMI160_BMM150_FORCE_MODE, bmi160_bmm150_mag_wakeup(), BMI160_BMM150_POWE_CONTROL_REG, BMI160_BMM150_POWE_MODE_REG, BMI160_BMM150_POWER_OFF, BMI160_GEN_READ_WRITE_DELAY, BMI160_MAG_PRESETMODE_REGULAR, BMI160_MANUAL_DISABLE, BMI160_MANUAL_ENABLE, BMI160_RETURN_FUNCTION_TYPE, BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY, bmi160_set_bmm150_mag_presetmode(), bmi160_set_mag_manual_enable(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), bmi160_t::delay_msec, E_BMI160_COMM_RES, E_BMI160_OUT_OF_RANGE, FORCE_MODE, bmi160_t::mag_manual_enable, SUCCESS, SUSPEND_MODE, and V_bmm150_maual_auto_condition_u8.

Referenced by bmi160_set_bmm150_mag_and_secondary_if_power_mode().

§ bmi160_set_bmm150_mag_and_secondary_if_power_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_set_bmm150_mag_and_secondary_if_power_mode ( u8  v_mag_sec_if_pow_mode_u8)

This function used for set the magnetometer power mode.

Note
Before set the mag power mode make sure the following two point is addressed Make sure the mag interface is enabled or not, by using the bmi160_get_if_mode() function. If mag interface is not enabled set the value of 0x02 to the function bmi160_get_if_mode(0x02)
Parameters
v_mag_sec_if_pow_mode_u8: The value of mag power mode
value mode
0 BMI160_MAG_FORCE_MODE
1 BMI160_MAG_SUSPEND_MODE
 @return results of bus communication function
 @retval 0 -> Success
 @retval -1 -> Error

References ACCEL_LOWPOWER, ACCEL_MODE_NORMAL, ACCEL_SUSPEND, BMI160_ACCEL_LOW_POWER, BMI160_ACCEL_NORMAL_MODE, BMI160_ACCEL_SUSPEND, bmi160_bmm150_mag_set_power_mode(), BMI160_GEN_READ_WRITE_DELAY, bmi160_get_accel_power_mode_stat(), BMI160_INIT_VALUE, BMI160_MAG_FORCE_MODE, BMI160_MAG_SUSPEND_MODE, BMI160_MANUAL_DISABLE, BMI160_MANUAL_ENABLE, BMI160_RETURN_FUNCTION_TYPE, BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY, bmi160_set_command_register(), bmi160_set_mag_interface_normal(), bmi160_set_mag_manual_enable(), bmi160_t::delay_msec, E_BMI160_OUT_OF_RANGE, FORCE_MODE, bmi160_t::mag_manual_enable, MAG_MODE_SUSPEND, and SUSPEND_MODE.

§ bmi160_read_fifo_headerless_mode()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_headerless_mode ( u8  v_mag_if_u8,
struct bmi160_fifo_data_header_less_t headerless_data 
)

This function used for reading the fifo data of header less mode.

Note
Configure the below functions for FIFO header less mode
1. bmi160_set_fifo_down_gyro
2. bmi160_set_gyro_fifo_filter_data
3. bmi160_set_fifo_down_accel
4. bmi160_set_accel_fifo_filter_dat
5. bmi160_set_fifo_mag_enable
6. bmi160_set_fifo_accel_enable
7. bmi160_set_fifo_gyro_enable
For interrupt configuration
1. bmi160_set_intr_fifo_full
2. bmi160_set_intr_fifo_wm
3. bmi160_set_fifo_tag_intr2_enable
4. bmi160_set_fifo_tag_intr1_enable
The fifo reads the whole 1024 bytes and processing the data
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References bmi160_read_fifo_headerless_mode_user_defined_length(), BMI160_RETURN_FUNCTION_TYPE, E_BMI160_COMM_RES, and FIFO_FRAME.

§ bmi160_read_fifo_headerless_mode_user_defined_length()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_headerless_mode_user_defined_length ( u16  v_fifo_user_length_u16,
struct bmi160_fifo_data_header_less_t fifo_data,
u8  v_mag_if_mag_u8 
)

This function used for reading the fifo data of header less mode for using user defined length.

Parameters
v_fifo_user_length_u16The value of length of fifo read data
v_mag_if_mag_u8: the mag interface data
fifo_data: the pointer to fifo_data_header_less_t structure
Note
Configure the below functions for FIFO header less mode
1. bmi160_set_fifo_down_gyro
2. bmi160_set_gyro_fifo_filter_data
3. bmi160_set_fifo_down_accel
4. bmi160_set_accel_fifo_filter_dat
5. bmi160_set_fifo_mag_enable
6. bmi160_set_fifo_accel_enable
7. bmi160_set_fifo_gyro_enable
For interrupt configuration
1. bmi160_set_intr_fifo_full
2. bmi160_set_intr_fifo_wm
3. bmi160_set_fifo_tag_intr2_enable
4. bmi160_set_fifo_tag_intr1_enable
The fifo reads the whole 1024 bytes and processing the data
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References bmi160_fifo_data_header_less_t::accel_frame_count, bmi160_fifo_data(), BMI160_FIFO_M_G_A_ENABLE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_INIT_VALUE, bmi160_read_reg(), BMI160_RETURN_FUNCTION_TYPE, bmi160_set_fifo_header_enable(), BMI160_USER_FIFO_CONFIG_1_ADDR, E_BMI160_COMM_RES, bmi160_fifo_data_header_less_t::gyro_frame_count, and bmi160_fifo_data_header_less_t::mag_frame_count.

Referenced by bmi160_read_fifo_headerless_mode().

§ bmi160_read_fifo_header_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_header_data ( u8  v_mag_if_u8,
struct bmi160_fifo_data_header_t header_data 
)

This function used for reading the fifo data of header mode.

Note
Configure the below functions for FIFO header mode
1. bmi160_set_fifo_down_gyro()
2. bmi160_set_gyro_fifo_filter_data()
3. bmi160_set_fifo_down_accel()
4. bmi160_set_accel_fifo_filter_dat()
5. bmi160_set_fifo_mag_enable()
6. bmi160_set_fifo_accel_enable()
7. bmi160_set_fifo_gyro_enable()
8. bmi160_set_fifo_header_enable()
For interrupt configuration
1. bmi160_set_intr_fifo_full()
2. bmi160_set_intr_fifo_wm()
3. bmi160_set_fifo_tag_intr2_enable()
4. bmi160_set_fifo_tag_intr1_enable()
The fifo reads the whole 1024 bytes and processing the data
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References bmi160_read_fifo_header_data_user_defined_length(), BMI160_RETURN_FUNCTION_TYPE, E_BMI160_COMM_RES, and FIFO_FRAME.

§ bmi160_read_fifo_header_data_user_defined_length()

BMI160_RETURN_FUNCTION_TYPE bmi160_read_fifo_header_data_user_defined_length ( u16  v_fifo_user_length_u16,
u8  v_mag_if_mag_u8,
struct bmi160_fifo_data_header_t fifo_header_data 
)

This function used for reading the fifo data of header mode for using user defined length.

Note
Configure the below functions for FIFO header mode
1. bmi160_set_fifo_down_gyro()
2. bmi160_set_gyro_fifo_filter_data()
3. bmi160_set_fifo_down_accel()
4. bmi160_set_accel_fifo_filter_dat()
5. bmi160_set_fifo_mag_enable()
6. bmi160_set_fifo_accel_enable()
7. bmi160_set_fifo_gyro_enable()
8. bmi160_set_fifo_header_enable()
For interrupt configuration
1. bmi160_set_intr_fifo_full()
2. bmi160_set_intr_fifo_wm()
3. bmi160_set_fifo_tag_intr2_enable()
4. bmi160_set_fifo_tag_intr1_enable()
The fifo reads the whole 1024 bytes and processing the data
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References bmi160_fifo_data_header_t::accel_frame_count, bmi160_fifo_data(), BMI160_INIT_VALUE, BMI160_RETURN_FUNCTION_TYPE, E_BMI160_COMM_RES, bmi160_fifo_data_header_t::gyro_frame_count, and bmi160_fifo_data_header_t::mag_frame_count.

Referenced by bmi160_read_fifo_header_data().

§ bmi160_get_ptr()

struct bmi160_t* bmi160_get_ptr ( void  )

This function used for reading bmi160_t structure.

Returns
the reference and values of bmi160_t

References p_bmi160.

§ bmi160_second_if_mag_compensate_xyz()

BMI160_RETURN_FUNCTION_TYPE bmi160_second_if_mag_compensate_xyz ( struct bmi160_mag_fifo_data_t  mag_fifo_data,
u8  v_mag_second_if_u8 
)

This function used for reading the compensated data of mag secondary interface xyz data.

Note
v_mag_x_s16: The value of mag x data
v_mag_y_s16: The value of mag y data
v_mag_z_s16: The value of mag z data
v_mag_r_s16: The value of mag r data
Parameters
v_mag_second_if_u8The value of mag selection
value v_mag_second_if_u8
0 BMM150
1 AKM09911
2 AKM09912
3 YAS532
4 YAS537
Parameters
mag_fifo_dataThe value of compensated mag xyz data
Returns

References bst_yas537_calib_data_t::a2, bst_yas537_calib_data_t::a3, bst_yas537_calib_data_t::a4, bst_yas537_calib_data_t::a5, bst_yas537_calib_data_t::a6, bst_yas537_calib_data_t::a7, bst_yas537_calib_data_t::a8, bst_yas537_calib_data_t::a9, bmi160_bmm150_mag_compensate_X(), bmi160_bmm150_mag_compensate_Y(), bmi160_bmm150_mag_compensate_Z(), bmi160_bst_yamaha_yas537_fifo_xyz_data(), BMI160_INIT_VALUE, BMI160_SEC_IF_AKM09911, BMI160_SEC_IF_AKM09912, BMI160_SEC_IF_BMM150, BMI160_SEC_IF_YAS532, BMI160_SEC_IF_YAS537, BMI160_SHIFT_BIT_POSITION_BY_01_BIT, BMI160_SHIFT_BIT_POSITION_BY_02_BITS, BMI160_SHIFT_BIT_POSITION_BY_03_BITS, BMI160_SHIFT_BIT_POSITION_BY_05_BITS, BMI160_SHIFT_BIT_POSITION_BY_06_BITS, BMI160_SHIFT_BIT_POSITION_BY_07_BITS, BMI160_SHIFT_BIT_POSITION_BY_08_BITS, BMI160_YAS_H_DATA_SIZE, BMI160_YAS_S_DATA_SIZE, yas537_t::calib_yas537, E_BMI160_OUT_OF_RANGE, fifo_vector_xyz, bst_yas537_calib_data_t::k, yas537_t::last_raw, bmi160_mag_fifo_data_t::mag_r_y2_lsb, bmi160_mag_fifo_data_t::mag_r_y2_msb, bmi160_mag_fifo_data_t::mag_x_lsb, bmi160_mag_fifo_data_t::mag_x_msb, bmi160_mag_fifo_data_t::mag_y_lsb, bmi160_mag_fifo_data_t::mag_y_msb, bmi160_mag_fifo_data_t::mag_z_lsb, bmi160_mag_fifo_data_t::mag_z_msb, processed_data, bst_yas537_calib_data_t::ver, bmi160_mag_xyz_s32_t::x, bmi160_mag_xyz_s32_t::y, YAS532_DATA_OVERFLOW, YAS532_DATA_UNDERFLOW, yas537_data, YAS537_DATA_OVERFLOW, YAS537_DATA_UNDERFLOW, yas_vector::yas537_vector_xyz, and bmi160_mag_xyz_s32_t::z.

§ bmi160_bst_yamaha_yas537_fifo_xyz_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_fifo_xyz_data ( u16 a_xy1y2_u16,
u8  v_over_flow_u8,
u8  v_rcoil_u8,
u8  v_busy_u8 
)

This function used for read the YAMAHA YAS537 xy1y2 data of fifo.

Parameters
a_xy1y2_u16The value of xyy1 data
v_over_flow_u8The value of overflow
v_rcoil_u8The value of rcoil
v_busy_u8The value of busy flag
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References BMI160_INIT_VALUE, and BMI160_YAS_TEMP_DATA_SIZE.

Referenced by bmi160_second_if_mag_compensate_xyz().

§ bmi160_bst_yamaha_yas537_mag_interface_init()

BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_mag_interface_init ( void  )

This function used to init the YAMAH-YAS537.

Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References ACCEL_LOWPOWER, ACCEL_MODE_NORMAL, ACCEL_SUSPEND, yas537_t::average, BMI160_ACCEL_LOW_POWER, BMI160_ACCEL_NORMAL_MODE, BMI160_ACCEL_SUSPEND, bmi160_bst_yamaha_yas537_calib_values(), BMI160_COMMAND_REG_ONE, BMI160_COMMAND_REG_THREE, BMI160_COMMAND_REG_TWO, BMI160_ENABLE_MAG_IF_MODE, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GEN_READ_WRITE_DELAY, bmi160_get_accel_power_mode_stat(), bmi160_get_if_mode(), bmi160_get_mag_manual_enable(), bmi160_get_paging_enable(), bmi160_get_pullup_configuration(), bmi160_get_target_page(), BMI160_INIT_VALUE, BMI160_MAG_DATA_READ_REG, BMI160_MAG_OUTPUT_DATA_RATE_25HZ, BMI160_MANUAL_DISABLE, BMI160_MANUAL_ENABLE, BMI160_NULL, BMI160_PULL_UP_DATA, bmi160_read_reg(), BMI160_RETURN_FUNCTION_TYPE, BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY, bmi160_set_command_register(), bmi160_set_i2c_device_addr(), bmi160_set_if_mode(), bmi160_set_mag_interface_normal(), bmi160_set_mag_manual_enable(), bmi160_set_mag_output_data_rate(), bmi160_set_mag_read_addr(), bmi160_set_paging_enable(), bmi160_set_pullup_configuration(), bmi160_set_target_page(), BMI160_WRITE_ENABLE_PAGE1, BMI160_WRITE_TARGET_PAGE0, BMI160_WRITE_TARGET_PAGE1, BMI160_YAS537_I2C_ADDRESS, BMI160_YAS_DEVICE_ID_REG, bmi160_t::delay_msec, yas537_t::dev_id, E_BMI160_COMM_RES, yas537_t::hard_offset, yas537_t::last_after_rcoil, yas537_t::last_raw, yas537_t::measure_state, yas537_t::transform, yas537_data, and YAS537_MAG_STATE_NORMAL.

§ bmi160_bst_yamaha_yas537_calib_values()

BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_calib_values ( u8  v_rcoil_u8)

This function used for read the YAMAHA YAS537 calibration data.

Parameters
v_rcoil_u8: The value of r coil
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References bst_yas537_calib_data_t::a2, bst_yas537_calib_data_t::a3, bst_yas537_calib_data_t::a4, bst_yas537_calib_data_t::a5, bst_yas537_calib_data_t::a6, bst_yas537_calib_data_t::a7, bst_yas537_calib_data_t::a8, bst_yas537_calib_data_t::a9, yas537_t::average, BMI160_GEN_READ_WRITE_DATA_LENGTH, BMI160_GEN_READ_WRITE_DELAY, BMI160_INIT_VALUE, BMI160_MAG_DATA_READ_REG, bmi160_read_reg(), BMI160_RETURN_FUNCTION_TYPE, BMI160_SEC_INTERFACE_GEN_READ_WRITE_DELAY, bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), BMI160_SHIFT_BIT_POSITION_BY_01_BIT, BMI160_SHIFT_BIT_POSITION_BY_02_BITS, BMI160_SHIFT_BIT_POSITION_BY_03_BITS, BMI160_SHIFT_BIT_POSITION_BY_06_BITS, BMI160_SHIFT_BIT_POSITION_BY_07_BITS, BMI160_YAS537_CALIB_DATA_SIZE, yas537_t::calib_yas537, bmi160_t::delay_msec, E_BMI160_COMM_RES, ERROR, yas537_t::hard_offset, bst_yas537_calib_data_t::k, SUCCESS, bst_yas537_calib_data_t::ver, yas537_data, YAS537_REG_ADCCALR, YAS537_REG_ADCCALR_ONE, YAS537_REG_AVRR, YAS537_REG_CALR_C0, YAS537_REG_CALR_C1, YAS537_REG_CALR_C2, YAS537_REG_CALR_C3, YAS537_REG_CALR_C4, YAS537_REG_CALR_C5, YAS537_REG_CALR_C6, YAS537_REG_CALR_C7, YAS537_REG_CALR_C8, YAS537_REG_CALR_C9, YAS537_REG_CALR_CA, YAS537_REG_CALR_CB, YAS537_REG_CALR_CC, YAS537_REG_CALR_CD, YAS537_REG_CALR_CE, YAS537_REG_CALR_CF, YAS537_REG_CALR_DO, YAS537_REG_CONFR, YAS537_REG_HCKR, YAS537_REG_LCKR, YAS537_REG_MTCR, YAS537_REG_OCR, YAS537_REG_OXR, YAS537_REG_SRSTR, YAS537_REG_TRMR, YAS537_SRSTR_DATA, YAS537_WRITE_A_D_CONVERTER, YAS537_WRITE_A_D_CONVERTER2, YAS537_WRITE_FILTER, and YAS537_WRITE_TEMP_CALIB.

Referenced by bmi160_bst_yamaha_yas537_mag_interface_init().

§ bmi160_bst_yas537_acquisition_command_register()

BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yas537_acquisition_command_register ( u8  v_command_reg_data_u8)

This function used for YAS537 write data acquisition command register write.

Parameters
v_command_reg_data_u8: the value of data acquisition
acquisition_command operation
0x17 turn on the acquisition coil
- set direction of the coil
_ (x and y as minus(-))
_ Deferred acquisition mode
0x07 turn on the acquisition coil
_ set direction of the coil
_ (x and y as minus(-))
_ Normal acquisition mode
0x11 turn OFF the acquisition coil
_ set direction of the coil
_ (x and y as plus(+))
_ Deferred acquisition mode
0x01 turn OFF the acquisition coil
_ set direction of the coil
_ (x and y as plus(+))
_ Normal acquisition mode
@return results of bus communication function
@retval 0 -> Success
@retval -1 -> Error

References BMI160_GEN_READ_WRITE_DELAY, BMI160_MANUAL_DISABLE, BMI160_MANUAL_ENABLE, BMI160_REG_YAS537_CMDR, BMI160_RETURN_FUNCTION_TYPE, bmi160_set_mag_manual_enable(), bmi160_set_mag_read_addr(), bmi160_set_mag_write_addr(), bmi160_set_mag_write_data(), BMI160_YAS_ACQ_COMMAND_DELAY, bmi160_t::delay_msec, E_BMI160_COMM_RES, bmi160_t::mag_manual_enable, yas537_t::measure_state, yas537_data, YAS537_MAG_STATE_RECORD_DATA, and YAS537_REG_TEMPERATURE_0.

Referenced by bmi160_bst_yamaha_yas537_read_xy1y2_data().

§ bmi160_bst_yamaha_yas537_read_xy1y2_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_read_xy1y2_data ( u8 v_coil_stat_u8,
u8 v_busy_u8,
u16 v_temperature_u16,
u16 xy1y2,
u8 v_ouflow_u8 
)

§ bmi160_bst_yamaha_yas537_measure_xyz_data()

BMI160_RETURN_FUNCTION_TYPE bmi160_bst_yamaha_yas537_measure_xyz_data ( u8 v_ouflow_u8,
struct yas_vector vector_xyz 
)

This function used for read the YAMAHA YAS537 xy1y2 data.

Parameters
v_ouflow_u8The value of overflow
*vector_xyz: yas vector structure pointer
Returns
results of bus communication function
Return values
0-> Success
-1-> Error

References bmi160_bst_yamaha_yas537_read_xy1y2_data(), BMI160_INIT_VALUE, BMI160_YAS_TEMP_DATA_SIZE, and BMI160_YAS_XY1Y2_DATA_SIZE.

Copyright 2017, Texas Instruments Incorporated