MPU-6050

        enum registers {
            // undocumented registers
            XG_OFFS_TC          = 0x00, //[7] PWR_MODE, [6:1] XG_OFFS_TC, [0] OTP_BNK_VLD
            YG_OFFS_TC          = 0x01, //[7] PWR_MODE, [6:1] YG_OFFS_TC, [0] OTP_BNK_VLD
            ZG_OFFS_TC          = 0x02, //[7] PWR_MODE, [6:1] ZG_OFFS_TC, [0] OTP_BNK_VLD
            X_FINE_GAIN         = 0x03, //[7:0] X_FINE_GAIN
            Y_FINE_GAIN         = 0x04, //[7:0] Y_FINE_GAIN
            Z_FINE_GAIN         = 0x05, //[7:0] Z_FINE_GAIN
            XA_OFFS_H           = 0x06, //[15:0] XA_OFFS
            XA_OFFS_L           = 0x07,
            YA_OFFS_H           = 0x08, //[15:0] YA_OFFS
            YA_OFFS_L           = 0x09,
            ZA_OFFS_H           = 0x0A, //[15:0] ZA_OFFS
            ZA_OFFS_L           = 0x0B,
            // documented registers
            SELF_TEST_X         = 0x0D, //[7:5] XA_TEST[4-2], [4:0] XG_TEST[4-0]
            SELF_TEST_Y         = 0x0E, //[7:5] YA_TEST[4-2], [4:0] YG_TEST[4-0]
            SELF_TEST_Z         = 0x0F, //[7:5] ZA_TEST[4-2], [4:0] ZG_TEST[4-0]
            SELF_TEST_A         = 0x10, //[5:4] XA_TEST[1-0], [3:2] YA_TEST[1-0], [1:0] ZA_TEST[1-0]
            XG_OFFS_USRH        = 0x13, //[15:0] XG_OFFS_USR
            XG_OFFS_USRL        = 0x14,
            YG_OFFS_USRH        = 0x15, //[15:0] YG_OFFS_USR
            YG_OFFS_USRL        = 0x16,
            ZG_OFFS_USRH        = 0x17, //[15:0] ZG_OFFS_USR
            ZG_OFFS_USRL        = 0x18,
            SMPLRT_DIV          = 0x19, // Sample Rate Divider
            CONFIG              = 0x1A, // Configuration
            GYRO_CONFIG         = 0x1B, // Gyroscope Configuration
            ACCEL_CONFIG        = 0x1C, // Accelerometer Configuration
            FF_THR              = 0x1D, // Free-fall Threshold
            FF_DUR              = 0x1E, // Free-fall event duration
            MOT_THR             = 0x1F, // Motion Detection Threshold
            MOT_DUR             = 0x20, // Motion Detection Duration
            ZRMOT_THR           = 0x21, // Zero-Motion Detection Threshold
            ZRMOT_DUR           = 0x22, // Zero-Motion Detection Duration
            FIFO_EN             = 0x23, // FIFO Enable
            I2C_MST_CTRL        = 0x24, // I²C Master Control
            I2C_SLV0_ADDR       = 0x25,
            I2C_SLV0_REG        = 0x26,
            I2C_SLV0_CTRL       = 0x27,
            I2C_SLV1_ADDR       = 0x28,
            I2C_SLV1_REG        = 0x29,
            I2C_SLV1_CTRL       = 0x2A,
            I2C_SLV2_ADDR       = 0x2B,
            I2C_SLV2_REG        = 0x2C,
            I2C_SLV2_CTRL       = 0x2D,
            I2C_SLV3_ADDR       = 0x2E,
            I2C_SLV3_REG        = 0x2F,
            I2C_SLV3_CTRL       = 0x30,
            I2C_SLV4_ADDR       = 0x31,
            I2C_SLV4_REG        = 0x32,
            I2C_SLV4_DO         = 0x33,
            I2C_SLV4_CTRL       = 0x34,
            I2C_SLV4_DI         = 0x35,
            I2C_MST_STATUS      = 0x36, // I²C Master Status
            INT_PIN_CFG         = 0x37, // INT Pin / Bypass Enable Configuration
            INT_ENABLE          = 0x38, // Interrupt Enable
            DMP_INT_STATUS      = 0x39,
            INT_STATUS          = 0x3A, // Interrupt Status
            ACCEL_XOUT_H        = 0x3B, // Accelerometer Measurements
            ACCEL_XOUT_L,
            ACCEL_YOUT_H,
            ACCEL_YOUT_L,
            ACCEL_ZOUT_H,
            ACCEL_ZOUT_L,
            TEMP_OUT_H          = 0x41, // Temperature Measurement
            TEMP_OUT_L,
            GYRO_XOUT_H         = 0x43, // Gyroscope Measurements
            GYRO_XOUT_L,
            GYRO_YOUT_H,
            GYRO_YOUT_L,
            GYRO_ZOUT_H,
            GYRO_ZOUT_L,
            EXT_SENS_DATA_00    = 0x49, // External Sensor Data
            EXT_SENS_DATA_01,
            EXT_SENS_DATA_02,
            EXT_SENS_DATA_03,
            EXT_SENS_DATA_04,
            EXT_SENS_DATA_05,
            EXT_SENS_DATA_06,
            EXT_SENS_DATA_07,
            EXT_SENS_DATA_08,
            EXT_SENS_DATA_09,
            EXT_SENS_DATA_10,
            EXT_SENS_DATA_11,
            EXT_SENS_DATA_12,
            EXT_SENS_DATA_13,
            EXT_SENS_DATA_14,
            EXT_SENS_DATA_15,
            EXT_SENS_DATA_16,
            EXT_SENS_DATA_17,
            EXT_SENS_DATA_18,
            EXT_SENS_DATA_19,
            EXT_SENS_DATA_20,
            EXT_SENS_DATA_21,
            EXT_SENS_DATA_22,
            EXT_SENS_DATA_23    = 0x60,
            MOT_DETECT_STATUS   = 0x61,
            I2C_SLV0_DO         = 0x63, // I²C Slave 0 Data Out
            I2C_SLV1_DO,
            I2C_SLV2_DO,
            I2C_SLV3_DO,
            I2C_MST_DELAY_CTRL  = 0x67, // I²C Master Delay Control
            SIGNAL_PATH_RESET   = 0x68, // Signal Path Reset
            MOT_DETECT_CTRL     = 0x69, // Motion Detection Control
            USER_CTRL           = 0x6A, // User Control
            PWR_MGMT_1          = 0x6B, // Power Management 1
            PWR_MGMT_2          = 0x6C, // Power Management 2
            BANK_SEL            = 0x6D,
            MEM_START_ADDR      = 0x6E,
            MEM_R_W             = 0x6F,
            DMP_CFG_1           = 0x70,
            DMP_CFG_2           = 0x71,
            FIFO_COUNT_H        = 0x72, // FIFO Count Registers
            FIFO_COUNT_L,
            FIFO_R_W            = 0x74, // FIFO Read Write
            WHO_AM_I            = 0x75
        };