It is the library published by sparkfun, edited accordingly to make it work under mbed platform.
Dependents: MPU9250-dmp-bluepill MPU9250-dmp
MPU9250_RegisterMap.h
00001 /****************************************************************************** 00002 MPU9250_RegisterMap.h - MPU-9250 Digital Motion Processor Arduino Library 00003 Jim Lindblom @ SparkFun Electronics 00004 original creation date: November 23, 2016 00005 https://github.com/sparkfun/SparkFun_MPU9250_DMP_Arduino_Library 00006 00007 This library implements motion processing functions of Invensense's MPU-9250. 00008 It is based on their Emedded MotionDriver 6.12 library. 00009 https://www.invensense.com/developers/software-downloads/ 00010 00011 Development environment specifics: 00012 Arduino IDE 1.6.12 00013 SparkFun 9DoF Razor IMU M0 00014 00015 Supported Platforms: 00016 - ATSAMD21 (Arduino Zero, SparkFun SAMD21 Breakouts) 00017 ******************************************************************************/ 00018 #ifndef _MPU9250_REGISTER_MAP_H_ 00019 #define _MPU9250_REGISTER_MAP_H_ 00020 00021 enum mpu9250_register { 00022 MPU9250_SELF_TEST_X_GYRO = 0x00, 00023 MPU9250_SELF_TEST_Y_GYRO = 0x01, 00024 MPU9250_SELF_TEST_Z_GYRO = 0x02, 00025 MPU9250_SELF_TEST_X_ACCEL = 0x0D, 00026 MPU9250_SELF_TEST_Y_ACCEL = 0x0E, 00027 MPU9250_SELF_TEST_Z_ACCEL = 0x0F, 00028 MPU9250_XG_OFFSET_H = 0x13, 00029 MPU9250_XG_OFFSET_L = 0x14, 00030 MPU9250_YG_OFFSET_H = 0x15, 00031 MPU9250_YG_OFFSET_L = 0x16, 00032 MPU9250_ZG_OFFSET_H = 0x17, 00033 MPU9250_ZG_OFFSET_L = 0x18, 00034 MPU9250_SMPLRT_DIV = 0x19, 00035 MPU9250_CONFIG = 0x1A, 00036 MPU9250_GYRO_CONFIG = 0x1B, 00037 MPU9250_ACCEL_CONFIG = 0x1C, 00038 MPU9250_ACCEL_CONFIG_2 = 0x1D, 00039 MPU9250_LP_ACCEL_ODR = 0x1E, 00040 MPU9250_WOM_THR = 0x1F, 00041 MPU9250_FIFO_EN = 0x23, 00042 MPU9250_I2C_MST_CTRL = 0x24, 00043 MPU9250_I2C_SLV0_ADDR = 0x25, 00044 MPU9250_I2C_SLV0_REG = 0x26, 00045 MPU9250_I2C_SLV0_CTRL = 0x27, 00046 MPU9250_I2C_SLV1_ADDR = 0x28, 00047 MPU9250_I2C_SLV1_REG = 0x29, 00048 MPU9250_I2C_SLV1_CTRL = 0x2A, 00049 MPU9250_I2C_SLV2_ADDR = 0x2B, 00050 MPU9250_I2C_SLV2_REG = 0x2C, 00051 MPU9250_I2C_SLV2_CTRL = 0x2D, 00052 MPU9250_I2C_SLV3_ADDR = 0x2E, 00053 MPU9250_I2C_SLV3_REG = 0x2F, 00054 MPU9250_I2C_SLV3_CTRL = 0x30, 00055 MPU9250_I2C_SLV4_ADDR = 0x31, 00056 MPU9250_I2C_SLV4_REG = 0x32, 00057 MPU9250_I2C_SLV4_DO = 0x33, 00058 MPU9250_I2C_SLV4_CTRL = 0x34, 00059 MPU9250_I2C_SLV4_DI = 0x35, 00060 MPU9250_I2C_MST_STATUS = 0x36, 00061 MPU9250_INT_PIN_CFG = 0x37, 00062 MPU9250_INT_ENABLE = 0x38, 00063 MPU9250_INT_STATUS = 0x3A, 00064 MPU9250_ACCEL_XOUT_H = 0x3B, 00065 MPU9250_ACCEL_XOUT_L = 0x3C, 00066 MPU9250_ACCEL_YOUT_H = 0x3D, 00067 MPU9250_ACCEL_YOUT_L = 0x3E, 00068 MPU9250_ACCEL_ZOUT_H = 0x3F, 00069 MPU9250_ACCEL_ZOUT_L = 0x40, 00070 MPU9250_TEMP_OUT_H = 0x41, 00071 MPU9250_TEMP_OUT_L = 0x42, 00072 MPU9250_GYRO_XOUT_H = 0x43, 00073 MPU9250_GYRO_XOUT_L = 0x44, 00074 MPU9250_GYRO_YOUT_H = 0x45, 00075 MPU9250_GYRO_YOUT_L = 0x46, 00076 MPU9250_GYRO_ZOUT_H = 0x47, 00077 MPU9250_GYRO_ZOUT_L = 0x48, 00078 MPU9250_EXT_SENS_DATA_00 = 0x49, 00079 MPU9250_EXT_SENS_DATA_01 = 0x4A, 00080 MPU9250_EXT_SENS_DATA_02 = 0x4B, 00081 MPU9250_EXT_SENS_DATA_03 = 0x4C, 00082 MPU9250_EXT_SENS_DATA_04 = 0x4D, 00083 MPU9250_EXT_SENS_DATA_05 = 0x4E, 00084 MPU9250_EXT_SENS_DATA_06 = 0x4F, 00085 MPU9250_EXT_SENS_DATA_07 = 0x50, 00086 MPU9250_EXT_SENS_DATA_08 = 0x51, 00087 MPU9250_EXT_SENS_DATA_09 = 0x52, 00088 MPU9250_EXT_SENS_DATA_10 = 0x53, 00089 MPU9250_EXT_SENS_DATA_11 = 0x54, 00090 MPU9250_EXT_SENS_DATA_12 = 0x55, 00091 MPU9250_EXT_SENS_DATA_13 = 0x56, 00092 MPU9250_EXT_SENS_DATA_14 = 0x57, 00093 MPU9250_EXT_SENS_DATA_15 = 0x58, 00094 MPU9250_EXT_SENS_DATA_16 = 0x59, 00095 MPU9250_EXT_SENS_DATA_17 = 0x5A, 00096 MPU9250_EXT_SENS_DATA_18 = 0x5B, 00097 MPU9250_EXT_SENS_DATA_19 = 0x5C, 00098 MPU9250_EXT_SENS_DATA_20 = 0x5D, 00099 MPU9250_EXT_SENS_DATA_21 = 0x5E, 00100 MPU9250_EXT_SENS_DATA_22 = 0x5F, 00101 MPU9250_EXT_SENS_DATA_23 = 0x60, 00102 MPU9250_I2C_SLV0_DO = 0x63, 00103 MPU9250_I2C_SLV1_DO = 0x64, 00104 MPU9250_I2C_SLV2_DO = 0x65, 00105 MPU9250_I2C_SLV3_DO = 0x66, 00106 MPU9250_I2C_MST_DELAY_CTRL =0x67, 00107 MPU9250_SIGNAL_PATH_RESET = 0x68, 00108 MPU9250_MOT_DETECT_CTRL = 0x69, 00109 MPU9250_USER_CTRL = 0x6A, 00110 MPU9250_PWR_MGMT_1 = 0x6B, 00111 MPU9250_PWR_MGMT_2 = 0x6C, 00112 MPU9250_FIFO_COUNTH = 0x72, 00113 MPU9250_FIFO_COUNTL = 0x73, 00114 MPU9250_FIFO_R_W = 0x74, 00115 MPU9250_WHO_AM_I = 0x75, 00116 MPU9250_XA_OFFSET_H = 0x77, 00117 MPU9250_XA_OFFSET_L = 0x78, 00118 MPU9250_YA_OFFSET_H = 0x7A, 00119 MPU9250_YA_OFFSET_L = 0x7B, 00120 MPU9250_ZA_OFFSET_H = 0x7D, 00121 MPU9250_ZA_OFFSET_L = 0x7E 00122 }; 00123 00124 enum interrupt_status_bits { 00125 INT_STATUS_RAW_DATA_RDY_INT = 0, 00126 INT_STATUS_FSYNC_INT = 3, 00127 INT_STATUS_FIFO_OVERFLOW_INT = 4, 00128 INT_STATUS_WOM_INT = 6, 00129 }; 00130 00131 enum gyro_config_bits { 00132 GYRO_CONFIG_FCHOICE_B = 0, 00133 GYRO_CONFIG_GYRO_FS_SEL = 3, 00134 GYRO_CONFIG_ZGYRO_CTEN = 5, 00135 GYRO_CONFIG_YGYRO_CTEN = 6, 00136 GYRO_CONFIG_XGYRO_CTEN = 7, 00137 }; 00138 #define MPU9250_GYRO_FS_SEL_MASK 0x3 00139 #define MPU9250_GYRO_FCHOICE_MASK 0x3 00140 00141 enum accel_config_bit { 00142 ACCEL_CONFIG_ACCEL_FS_SEL = 3, 00143 ACCEL_CONFIG_AZ_ST_EN = 5, 00144 ACCEL_CONFIG_AY_ST_EN = 6, 00145 ACCEL_CONFIG_AX_ST_EN = 7, 00146 }; 00147 #define MPU9250_ACCEL_FS_SEL_MASK 0x3 00148 00149 enum accel_config_2_bits { 00150 ACCEL_CONFIG_2_A_DLPFCFG = 0, 00151 ACCEL_CONFIG_2_ACCEL_FCHOICE_B = 3, 00152 }; 00153 00154 enum pwr_mgmt_1_bits { 00155 PWR_MGMT_1_CLKSEL = 0, 00156 PWR_MGMT_1_PD_PTAT = 3, 00157 PWR_MGMT_1_GYRO_STANDBY = 4, 00158 PWR_MGMT_1_CYCLE = 5, 00159 PWR_MGMT_1_SLEEP = 6, 00160 PWR_MGMT_1_H_RESET = 7 00161 }; 00162 00163 enum pwr_mgmt_2_bits { 00164 PWR_MGMT_2_DISABLE_ZG = 0, 00165 PWR_MGMT_2_DISABLE_YG = 1, 00166 PWR_MGMT_2_DISABLE_XG = 2, 00167 PWR_MGMT_2_DISABLE_ZA = 3, 00168 PWR_MGMT_2_DISABLE_YA = 4, 00169 PWR_MGMT_2_DISABLE_XA = 5, 00170 }; 00171 00172 enum int_enable_bits { 00173 INT_ENABLE_RAW_RDY_EN = 0, 00174 INT_ENABLE_FSYNC_INT_EN = 3, 00175 INT_ENABLE_FIFO_OVERFLOW_EN = 4, 00176 INT_ENABLE_WOM_EN = 6, 00177 }; 00178 00179 enum int_pin_cfg_bits { 00180 INT_PIN_CFG_BYPASS_EN = 1, 00181 INT_PIN_CFG_FSYNC_INT_MODE_EN = 2, 00182 INT_PIN_CFG_ACTL_FSYNC = 3, 00183 INT_PIN_CFG_INT_ANYRD_2CLEAR = 4, 00184 INT_PIN_CFG_LATCH_INT_EN = 5, 00185 INT_PIN_CFG_OPEN = 6, 00186 INT_PIN_CFG_ACTL = 7, 00187 }; 00188 #define INT_PIN_CFG_INT_MASK 0xF0 00189 00190 #define MPU9250_WHO_AM_I_RESULT 0x71 00191 00192 enum ak8963_register { 00193 AK8963_WIA = 0x0, 00194 AK8963_INFO = 0x1, 00195 AK8963_ST1 = 0x2, 00196 AK8963_HXL = 0x3, 00197 AK8963_HXH = 0x4, 00198 AK8963_HYL = 0x5, 00199 AK8963_HYH = 0x6, 00200 AK8963_HZL = 0x7, 00201 AK8963_HZH = 0x8, 00202 AK8963_ST2 = 0x9, 00203 AK8963_CNTL = 0xA, 00204 AK8963_RSV = 0xB, 00205 AK8963_ASTC = 0xC, 00206 AK8963_TS1 = 0xD, 00207 AK8963_TS2 = 0xE, 00208 AK8963_I2CDIS = 0xF, 00209 AK8963_ASAX = 0x10, 00210 AK8963_ASAY = 0x11, 00211 AK8963_ASAZ = 0x12, 00212 }; 00213 #define MAG_CTRL_OP_MODE_MASK 0xF 00214 00215 #define AK8963_ST1_DRDY_BIT 0 00216 00217 #define AK8963_WHO_AM_I_RESULT 0x48 00218 00219 #endif // _MPU9250_REGISTER_MAP_H_
Generated on Thu Jul 14 2022 21:33:50 by
1.7.2