diff options
Diffstat (limited to 'src/sensor_registers.hpp')
-rw-r--r-- | src/sensor_registers.hpp | 261 |
1 files changed, 132 insertions, 129 deletions
diff --git a/src/sensor_registers.hpp b/src/sensor_registers.hpp index 34b47c6..c1b19b4 100644 --- a/src/sensor_registers.hpp +++ b/src/sensor_registers.hpp @@ -1,134 +1,137 @@ #ifndef SENSOR_REGISTERS_HPP #define SENSOR_REGISTERS_HPP -#define SENSOR_XG_OFFS_TC 0x00 -#define SENSOR_YG_OFFS_TC 0x01 -#define SENSOR_ZG_OFFS_TC 0x02 - -#define SENSOR_X_FINE_GAIN 0x03 -#define SENSOR_Y_FINE_GAIN 0x04 -#define SENSOR_Z_FINE_GAIN 0x05 - -#define SENSOR_XA_OFFS_H 0x06 -#define SENSOR_XA_OFFS_L_TC 0x07 -#define SENSOR_YA_OFFS_H 0x08 -#define SENSOR_YA_OFFS_L_TC 0x09 -#define SENSOR_ZA_OFFS_H 0x0A -#define SENSOR_ZA_OFFS_L_TC 0x0B - -#define SENSOR_SELF_TEST_X 0x0D -#define SENSOR_SELF_TEST_Y 0x0E -#define SENSOR_SELF_TEST_Z 0x0F -#define SENSOR_SELF_TEST_A 0x10 - -#define SENSOR_XG_OFFS_USRH 0x13 -#define SENSOR_XG_OFFS_USRL 0x14 -#define SENSOR_YG_OFFS_USRH 0x15 -#define SENSOR_YG_OFFS_USRL 0x16 -#define SENSOR_ZG_OFFS_USRH 0x17 -#define SENSOR_ZG_OFFS_USRL 0x18 - -#define SENSOR_SMPLRT_DIV 0x19 -#define SENSOR_CONFIG 0x1A -#define SENSOR_GYRO_CONFIG 0x1B -#define SENSOR_ACCEL_CONFIG 0x1C - -#define SENSOR_FF_THR 0x1D -#define SENSOR_FF_DUR 0x1E -#define SENSOR_MOT_THR 0x1F -#define SENSOR_MOT_DUR 0x20 -#define SENSOR_ZRMOT_THR 0x21 -#define SENSOR_ZRMOT_DUR 0x22 -#define SENSOR_FIFO_EN 0x23 - -#define SENSOR_I2C_MST_CTRL 0x24 -#define SENSOR_I2C_SLV0_ADDR 0x25 -#define SENSOR_I2C_SLV0_REG 0x26 -#define SENSOR_I2C_SLV0_CTRL 0x27 -#define SENSOR_I2C_SLV1_ADDR 0x28 -#define SENSOR_I2C_SLV1_REG 0x29 -#define SENSOR_I2C_SLV1_CTRL 0x2A -#define SENSOR_I2C_SLV2_ADDR 0x2B -#define SENSOR_I2C_SLV2_REG 0x2C -#define SENSOR_I2C_SLV2_CTRL 0x2D -#define SENSOR_I2C_SLV3_ADDR 0x2E -#define SENSOR_I2C_SLV3_REG 0x2F -#define SENSOR_I2C_SLV3_CTRL 0x30 -#define SENSOR_I2C_SLV4_ADDR 0x31 -#define SENSOR_I2C_SLV4_REG 0x32 -#define SENSOR_I2C_SLV4_DO 0x33 -#define SENSOR_I2C_SLV4_CTRL 0x34 -#define SENSOR_I2C_SLV4_DI 0x35 -#define SENSOR_I2C_MST_STATUS 0x36 - -#define SENSOR_INT_PIN_CFG 0x37 -#define SENSOR_INT_ENABLE 0x38 -#define SENSOR_DMP_INT_STATUS 0x39 -#define SENSOR_INT_STATUS 0x3A - -#define SENSOR_ACCEL_XOUT_H 0x3B -#define SENSOR_ACCEL_XOUT_L 0x3C -#define SENSOR_ACCEL_YOUT_H 0x3D -#define SENSOR_ACCEL_YOUT_L 0x3E -#define SENSOR_ACCEL_ZOUT_H 0x3F -#define SENSOR_ACCEL_ZOUT_L 0x40 -#define SENSOR_TEMP_OUT_H 0x41 -#define SENSOR_TEMP_OUT_L 0x42 -#define SENSOR_GYRO_XOUT_H 0x43 -#define SENSOR_GYRO_XOUT_L 0x44 -#define SENSOR_GYRO_YOUT_H 0x45 -#define SENSOR_GYRO_YOUT_L 0x46 -#define SENSOR_GYRO_ZOUT_H 0x47 -#define SENSOR_GYRO_ZOUT_L 0x48 - -#define SENSOR_EXT_SENS_DATA_00 0x49 -#define SENSOR_EXT_SENS_DATA_01 0x4A -#define SENSOR_EXT_SENS_DATA_02 0x4B -#define SENSOR_EXT_SENS_DATA_03 0x4C -#define SENSOR_EXT_SENS_DATA_04 0x4D -#define SENSOR_EXT_SENS_DATA_05 0x4E -#define SENSOR_EXT_SENS_DATA_06 0x4F -#define SENSOR_EXT_SENS_DATA_07 0x50 -#define SENSOR_EXT_SENS_DATA_08 0x51 -#define SENSOR_EXT_SENS_DATA_09 0x52 -#define SENSOR_EXT_SENS_DATA_10 0x53 -#define SENSOR_EXT_SENS_DATA_11 0x54 -#define SENSOR_EXT_SENS_DATA_12 0x55 -#define SENSOR_EXT_SENS_DATA_13 0x56 -#define SENSOR_EXT_SENS_DATA_14 0x57 -#define SENSOR_EXT_SENS_DATA_15 0x58 -#define SENSOR_EXT_SENS_DATA_16 0x59 -#define SENSOR_EXT_SENS_DATA_17 0x5A -#define SENSOR_EXT_SENS_DATA_18 0x5B -#define SENSOR_EXT_SENS_DATA_19 0x5C -#define SENSOR_EXT_SENS_DATA_20 0x5D -#define SENSOR_EXT_SENS_DATA_21 0x5E -#define SENSOR_EXT_SENS_DATA_22 0x5F -#define SENSOR_EXT_SENS_DATA_23 0x60 - -#define SENSOR_MOT_DETECT_STATUS 0x61 - -#define SENSOR_I2C_SLV0_DO 0x63 -#define SENSOR_I2C_SLV1_DO 0x64 -#define SENSOR_I2C_SLV2_DO 0x65 -#define SENSOR_I2C_SLV3_DO 0x66 -#define SENSOR_I2C_MST_DELAY_CTRL 0x67 - -#define SENSOR_SIGNAL_PATH_RESET 0x68 -#define SENSOR_MOT_DETECT_CTRL 0x69 -#define SENSOR_USER_CTRL 0x6A - -#define SENSOR_PWR_MGMT_1 0x6B -#define SENSOR_PWR_MGMT_2 0x6C -#define SENSOR_BANK_SEL 0x6D -#define SENSOR_MEM_START_ADDR 0x6E -#define SENSOR_MEM_R_W 0x6F - -#define SENSOR_DMP_CFG_1 0x70 -#define SENSOR_DMP_CFG_2 0x71 -#define SENSOR_FIFO_COUNTH 0x72 -#define SENSOR_FIFO_COUNTL 0x73 -#define SENSOR_FIFO_R_W 0x74 -#define SENSOR_WHO_AM_I 0x75 +namespace SensorRegisters +{ + const uint8_t XG_OFFS_TC = 0x00; + const uint8_t YG_OFFS_TC = 0x01; + const uint8_t ZG_OFFS_TC = 0x02; + + const uint8_t X_FINE_GAIN = 0x03; + const uint8_t Y_FINE_GAIN = 0x04; + const uint8_t Z_FINE_GAIN = 0x05; + + const uint8_t XA_OFFS_H = 0x06; + const uint8_t XA_OFFS_L_TC = 0x07; + const uint8_t YA_OFFS_H = 0x08; + const uint8_t YA_OFFS_L_TC = 0x09; + const uint8_t ZA_OFFS_H = 0x0A; + const uint8_t ZA_OFFS_L_TC = 0x0B; + + const uint8_t SELF_TEST_X = 0x0D; + const uint8_t SELF_TEST_Y = 0x0E; + const uint8_t SELF_TEST_Z = 0x0F; + const uint8_t SELF_TEST_A = 0x10; + + const uint8_t XG_OFFS_USRH = 0x13; + const uint8_t XG_OFFS_USRL = 0x14; + const uint8_t YG_OFFS_USRH = 0x15; + const uint8_t YG_OFFS_USRL = 0x16; + const uint8_t ZG_OFFS_USRH = 0x17; + const uint8_t ZG_OFFS_USRL = 0x18; + + const uint8_t SMPLRT_DIV = 0x19; + const uint8_t CONFIG = 0x1A; + const uint8_t GYRO_CONFIG = 0x1B; + const uint8_t ACCEL_CONFIG = 0x1C; + + const uint8_t FF_THR = 0x1D; + const uint8_t FF_DUR = 0x1E; + const uint8_t MOT_THR = 0x1F; + const uint8_t MOT_DUR = 0x20; + const uint8_t ZRMOT_THR = 0x21; + const uint8_t ZRMOT_DUR = 0x22; + const uint8_t FIFO_EN = 0x23; + + const uint8_t I2C_MST_CTRL = 0x24; + const uint8_t I2C_SLV0_ADDR = 0x25; + const uint8_t I2C_SLV0_REG = 0x26; + const uint8_t I2C_SLV0_CTRL = 0x27; + const uint8_t I2C_SLV1_ADDR = 0x28; + const uint8_t I2C_SLV1_REG = 0x29; + const uint8_t I2C_SLV1_CTRL = 0x2A; + const uint8_t I2C_SLV2_ADDR = 0x2B; + const uint8_t I2C_SLV2_REG = 0x2C; + const uint8_t I2C_SLV2_CTRL = 0x2D; + const uint8_t I2C_SLV3_ADDR = 0x2E; + const uint8_t I2C_SLV3_REG = 0x2F; + const uint8_t I2C_SLV3_CTRL = 0x30; + const uint8_t I2C_SLV4_ADDR = 0x31; + const uint8_t I2C_SLV4_REG = 0x32; + const uint8_t I2C_SLV4_DO = 0x33; + const uint8_t I2C_SLV4_CTRL = 0x34; + const uint8_t I2C_SLV4_DI = 0x35; + const uint8_t I2C_MST_STATUS = 0x36; + + const uint8_t INT_PIN_CFG = 0x37; + const uint8_t INT_ENABLE = 0x38; + const uint8_t DMP_INT_STATUS = 0x39; + const uint8_t INT_STATUS = 0x3A; + + const uint8_t ACCEL_XOUT_H = 0x3B; + const uint8_t ACCEL_XOUT_L = 0x3C; + const uint8_t ACCEL_YOUT_H = 0x3D; + const uint8_t ACCEL_YOUT_L = 0x3E; + const uint8_t ACCEL_ZOUT_H = 0x3F; + const uint8_t ACCEL_ZOUT_L = 0x40; + const uint8_t TEMP_OUT_H = 0x41; + const uint8_t TEMP_OUT_L = 0x42; + const uint8_t GYRO_XOUT_H = 0x43; + const uint8_t GYRO_XOUT_L = 0x44; + const uint8_t GYRO_YOUT_H = 0x45; + const uint8_t GYRO_YOUT_L = 0x46; + const uint8_t GYRO_ZOUT_H = 0x47; + const uint8_t GYRO_ZOUT_L = 0x48; + + const uint8_t EXT_SENS_DATA_00 = 0x49; + const uint8_t EXT_SENS_DATA_01 = 0x4A; + const uint8_t EXT_SENS_DATA_02 = 0x4B; + const uint8_t EXT_SENS_DATA_03 = 0x4C; + const uint8_t EXT_SENS_DATA_04 = 0x4D; + const uint8_t EXT_SENS_DATA_05 = 0x4E; + const uint8_t EXT_SENS_DATA_06 = 0x4F; + const uint8_t EXT_SENS_DATA_07 = 0x50; + const uint8_t EXT_SENS_DATA_08 = 0x51; + const uint8_t EXT_SENS_DATA_09 = 0x52; + const uint8_t EXT_SENS_DATA_10 = 0x53; + const uint8_t EXT_SENS_DATA_11 = 0x54; + const uint8_t EXT_SENS_DATA_12 = 0x55; + const uint8_t EXT_SENS_DATA_13 = 0x56; + const uint8_t EXT_SENS_DATA_14 = 0x57; + const uint8_t EXT_SENS_DATA_15 = 0x58; + const uint8_t EXT_SENS_DATA_16 = 0x59; + const uint8_t EXT_SENS_DATA_17 = 0x5A; + const uint8_t EXT_SENS_DATA_18 = 0x5B; + const uint8_t EXT_SENS_DATA_19 = 0x5C; + const uint8_t EXT_SENS_DATA_20 = 0x5D; + const uint8_t EXT_SENS_DATA_21 = 0x5E; + const uint8_t EXT_SENS_DATA_22 = 0x5F; + const uint8_t EXT_SENS_DATA_23 = 0x60; + + const uint8_t MOT_DETECT_STATUS = 0x61; + + const uint8_t I2C_SLV0_DO = 0x63; + const uint8_t I2C_SLV1_DO = 0x64; + const uint8_t I2C_SLV2_DO = 0x65; + const uint8_t I2C_SLV3_DO = 0x66; + const uint8_t I2C_MST_DELAY_CTRL = 0x67; + + const uint8_t SIGNAL_PATH_RESET = 0x68; + const uint8_t MOT_DETECT_CTRL = 0x69; + const uint8_t USER_CTRL = 0x6A; + + const uint8_t PWR_MGMT_1 = 0x6B; + const uint8_t PWR_MGMT_2 = 0x6C; + const uint8_t BANK_SEL = 0x6D; + const uint8_t MEM_START_ADDR = 0x6E; + const uint8_t MEM_R_W = 0x6F; + + const uint8_t DMP_CFG_1 = 0x70; + const uint8_t DMP_CFG_2 = 0x71; + const uint8_t FIFO_COUNTH = 0x72; + const uint8_t FIFO_COUNTL = 0x73; + const uint8_t FIFO_R_W = 0x74; + const uint8_t WHO_AM_I = 0x75; +} #endif |