Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: InvertedPendulum2017
Lib_MPU9250_SPI.h@0:551dbbd41a10, 2017-09-15 (annotated)
- Committer:
- bluefish
- Date:
- Fri Sep 15 14:54:49 2017 +0000
- Revision:
- 0:551dbbd41a10
???????
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| bluefish | 0:551dbbd41a10 | 1 | #ifndef __LIBRARY_MPU9250_SPI_H__ |
| bluefish | 0:551dbbd41a10 | 2 | #define __LIBRARY_MPU9250_SPI_H__ |
| bluefish | 0:551dbbd41a10 | 3 | |
| bluefish | 0:551dbbd41a10 | 4 | #include "mbed.h" |
| bluefish | 0:551dbbd41a10 | 5 | |
| bluefish | 0:551dbbd41a10 | 6 | #define MPU9250_FREQ_DEFAULT (4000000) // default clock speed |
| bluefish | 0:551dbbd41a10 | 7 | #define AK8963_ADDR (0x0C) // magnetometer address |
| bluefish | 0:551dbbd41a10 | 8 | |
| bluefish | 0:551dbbd41a10 | 9 | #define MPU9250A_2G ((float)0.000061035156f) // 0.000061035156 g/LSB |
| bluefish | 0:551dbbd41a10 | 10 | #define MPU9250A_4G ((float)0.000122070312f) // 0.000122070312 g/LSB |
| bluefish | 0:551dbbd41a10 | 11 | #define MPU9250A_8G ((float)0.000244140625f) // 0.000244140625 g/LSB |
| bluefish | 0:551dbbd41a10 | 12 | #define MPU9250A_16G ((float)0.000488281250f) // 0.000488281250 g/LSB |
| bluefish | 0:551dbbd41a10 | 13 | |
| bluefish | 0:551dbbd41a10 | 14 | #define MPU9250G_250DPS ((float)0.007633587786f) // 0.007633587786 dps/LSB |
| bluefish | 0:551dbbd41a10 | 15 | #define MPU9250G_500DPS ((float)0.015267175572f) // 0.015267175572 dps/LSB |
| bluefish | 0:551dbbd41a10 | 16 | #define MPU9250G_1000DPS ((float)0.030487804878f) // 0.030487804878 dps/LSB |
| bluefish | 0:551dbbd41a10 | 17 | #define MPU9250G_2000DPS ((float)0.060975609756f) // 0.060975609756 dps/LSB |
| bluefish | 0:551dbbd41a10 | 18 | |
| bluefish | 0:551dbbd41a10 | 19 | /* |
| bluefish | 0:551dbbd41a10 | 20 | #define MPU9250G_250DPS_RAD ((float)0.00013323124f) // 0.00013323124 rad/LSB |
| bluefish | 0:551dbbd41a10 | 21 | #define MPU9250G_500DPS_RAD ((float)0.00026646248f) // 0.00026646248 rad/LSB |
| bluefish | 0:551dbbd41a10 | 22 | #define MPU9250G_1000DPS_RAD ((float)0.00053211257f) // 0.00053211257 rad/LSB |
| bluefish | 0:551dbbd41a10 | 23 | #define MPU9250G_2000DPS_RAD ((float)0.00106422515f) // 0.00106422515 rad/LSB |
| bluefish | 0:551dbbd41a10 | 24 | */ |
| bluefish | 0:551dbbd41a10 | 25 | |
| bluefish | 0:551dbbd41a10 | 26 | #define MPU9250M_4800uT ((float)0.6f) // 0.6 uT/LSB |
| bluefish | 0:551dbbd41a10 | 27 | #define MPU9250T_85degC ((float)0.002995177763f) // 0.002995177763 degC/LSB |
| bluefish | 0:551dbbd41a10 | 28 | |
| bluefish | 0:551dbbd41a10 | 29 | #define MPU9250G_DEG2RAD ((float)0.01745329251f) // degree to radian |
| bluefish | 0:551dbbd41a10 | 30 | |
| bluefish | 0:551dbbd41a10 | 31 | // enum |
| bluefish | 0:551dbbd41a10 | 32 | typedef enum _MPU9250REG{ |
| bluefish | 0:551dbbd41a10 | 33 | // gyro and accel |
| bluefish | 0:551dbbd41a10 | 34 | SELF_TEST_X_GYRO = 0x00, |
| bluefish | 0:551dbbd41a10 | 35 | SELF_TEST_Y_GYRO = 0x01, |
| bluefish | 0:551dbbd41a10 | 36 | SELF_TEST_Z_GYRO = 0x02, |
| bluefish | 0:551dbbd41a10 | 37 | |
| bluefish | 0:551dbbd41a10 | 38 | SELF_TEST_X_ACCEL = 0x0D, |
| bluefish | 0:551dbbd41a10 | 39 | SELF_TEST_Y_ACCEL = 0x0E, |
| bluefish | 0:551dbbd41a10 | 40 | SELF_TEST_Z_ACCEL = 0x0F, |
| bluefish | 0:551dbbd41a10 | 41 | |
| bluefish | 0:551dbbd41a10 | 42 | XG_OFFSET_H = 0x13, |
| bluefish | 0:551dbbd41a10 | 43 | XG_OFFSET_L = 0x14, |
| bluefish | 0:551dbbd41a10 | 44 | YG_OFFSET_H = 0x15, |
| bluefish | 0:551dbbd41a10 | 45 | YG_OFFSET_L = 0x16, |
| bluefish | 0:551dbbd41a10 | 46 | ZG_OFFSET_H = 0x17, |
| bluefish | 0:551dbbd41a10 | 47 | ZG_OFFSET_L = 0x18, |
| bluefish | 0:551dbbd41a10 | 48 | |
| bluefish | 0:551dbbd41a10 | 49 | SMPLRT_DIV = 0x19, |
| bluefish | 0:551dbbd41a10 | 50 | CONFIG = 0x1A, |
| bluefish | 0:551dbbd41a10 | 51 | GYRO_CONFIG = 0x1B, |
| bluefish | 0:551dbbd41a10 | 52 | ACCEL_CONFIG = 0x1C, |
| bluefish | 0:551dbbd41a10 | 53 | ACCEL_CONFIG2 = 0x1D, |
| bluefish | 0:551dbbd41a10 | 54 | LP_ACCEL_ODR = 0x1E, |
| bluefish | 0:551dbbd41a10 | 55 | WOM_THR = 0x1F, |
| bluefish | 0:551dbbd41a10 | 56 | |
| bluefish | 0:551dbbd41a10 | 57 | FIFO_EN = 0x23, |
| bluefish | 0:551dbbd41a10 | 58 | |
| bluefish | 0:551dbbd41a10 | 59 | I2C_MST_CTRL = 0x24, |
| bluefish | 0:551dbbd41a10 | 60 | I2C_SLV0_ADDR = 0x25, |
| bluefish | 0:551dbbd41a10 | 61 | I2C_SLV0_REG = 0x26, |
| bluefish | 0:551dbbd41a10 | 62 | I2C_SLV0_CTRL = 0x27, |
| bluefish | 0:551dbbd41a10 | 63 | I2C_SLV1_ADDR = 0x28, |
| bluefish | 0:551dbbd41a10 | 64 | I2C_SLV1_REG = 0x29, |
| bluefish | 0:551dbbd41a10 | 65 | I2C_SLV1_CTRL = 0x2A, |
| bluefish | 0:551dbbd41a10 | 66 | I2C_SLV2_ADDR = 0x2B, |
| bluefish | 0:551dbbd41a10 | 67 | I2C_SLV2_REG = 0x2C, |
| bluefish | 0:551dbbd41a10 | 68 | I2C_SLV2_CTRL = 0x2D, |
| bluefish | 0:551dbbd41a10 | 69 | I2C_SLV3_ADDR = 0x2E, |
| bluefish | 0:551dbbd41a10 | 70 | I2C_SLV3_REG = 0x2F, |
| bluefish | 0:551dbbd41a10 | 71 | I2C_SLV3_CTRL = 0x30, |
| bluefish | 0:551dbbd41a10 | 72 | I2C_SLV4_ADDR = 0x31, |
| bluefish | 0:551dbbd41a10 | 73 | I2C_SLV4_REG = 0x32, |
| bluefish | 0:551dbbd41a10 | 74 | I2C_SLV4_DO = 0x33, |
| bluefish | 0:551dbbd41a10 | 75 | I2C_SLV4_CTRL = 0x34, |
| bluefish | 0:551dbbd41a10 | 76 | I2C_SLV4_DI = 0x35, |
| bluefish | 0:551dbbd41a10 | 77 | I2C_MST_STATUS = 0x36, |
| bluefish | 0:551dbbd41a10 | 78 | |
| bluefish | 0:551dbbd41a10 | 79 | INT_PIN_CFG = 0x37, |
| bluefish | 0:551dbbd41a10 | 80 | INT_ENABLE = 0x38, |
| bluefish | 0:551dbbd41a10 | 81 | INT_STATUS = 0x3A, |
| bluefish | 0:551dbbd41a10 | 82 | |
| bluefish | 0:551dbbd41a10 | 83 | ACCEL_XOUT_H = 0x3B, |
| bluefish | 0:551dbbd41a10 | 84 | ACCEL_XOUT_L = 0x3C, |
| bluefish | 0:551dbbd41a10 | 85 | ACCEL_YOUT_H = 0x3D, |
| bluefish | 0:551dbbd41a10 | 86 | ACCEL_YOUT_L = 0x3E, |
| bluefish | 0:551dbbd41a10 | 87 | ACCEL_ZOUT_H = 0x3F, |
| bluefish | 0:551dbbd41a10 | 88 | ACCEL_ZOUT_L = 0x40, |
| bluefish | 0:551dbbd41a10 | 89 | |
| bluefish | 0:551dbbd41a10 | 90 | TEMP_OUT_H = 0x41, |
| bluefish | 0:551dbbd41a10 | 91 | TEMP_OUT_L = 0x42, |
| bluefish | 0:551dbbd41a10 | 92 | |
| bluefish | 0:551dbbd41a10 | 93 | GYRO_XOUT_H = 0x43, |
| bluefish | 0:551dbbd41a10 | 94 | GYRO_XOUT_L = 0x44, |
| bluefish | 0:551dbbd41a10 | 95 | GYRO_YOUT_H = 0x45, |
| bluefish | 0:551dbbd41a10 | 96 | GYRO_YOUT_L = 0x46, |
| bluefish | 0:551dbbd41a10 | 97 | GYRO_ZOUT_H = 0x47, |
| bluefish | 0:551dbbd41a10 | 98 | GYRO_ZOUT_L = 0x48, |
| bluefish | 0:551dbbd41a10 | 99 | |
| bluefish | 0:551dbbd41a10 | 100 | EXT_SENS_DATA_00 = 0x49, |
| bluefish | 0:551dbbd41a10 | 101 | EXT_SENS_DATA_01 = 0x4A, |
| bluefish | 0:551dbbd41a10 | 102 | EXT_SENS_DATA_02 = 0x4B, |
| bluefish | 0:551dbbd41a10 | 103 | EXT_SENS_DATA_03 = 0x4C, |
| bluefish | 0:551dbbd41a10 | 104 | EXT_SENS_DATA_04 = 0x4D, |
| bluefish | 0:551dbbd41a10 | 105 | EXT_SENS_DATA_05 = 0x4E, |
| bluefish | 0:551dbbd41a10 | 106 | EXT_SENS_DATA_06 = 0x4F, |
| bluefish | 0:551dbbd41a10 | 107 | EXT_SENS_DATA_07 = 0x50, |
| bluefish | 0:551dbbd41a10 | 108 | EXT_SENS_DATA_08 = 0x51, |
| bluefish | 0:551dbbd41a10 | 109 | EXT_SENS_DATA_09 = 0x52, |
| bluefish | 0:551dbbd41a10 | 110 | EXT_SENS_DATA_10 = 0x53, |
| bluefish | 0:551dbbd41a10 | 111 | EXT_SENS_DATA_11 = 0x54, |
| bluefish | 0:551dbbd41a10 | 112 | EXT_SENS_DATA_12 = 0x55, |
| bluefish | 0:551dbbd41a10 | 113 | EXT_SENS_DATA_13 = 0x56, |
| bluefish | 0:551dbbd41a10 | 114 | EXT_SENS_DATA_14 = 0x57, |
| bluefish | 0:551dbbd41a10 | 115 | EXT_SENS_DATA_15 = 0x58, |
| bluefish | 0:551dbbd41a10 | 116 | EXT_SENS_DATA_16 = 0x59, |
| bluefish | 0:551dbbd41a10 | 117 | EXT_SENS_DATA_17 = 0x5A, |
| bluefish | 0:551dbbd41a10 | 118 | EXT_SENS_DATA_18 = 0x5B, |
| bluefish | 0:551dbbd41a10 | 119 | EXT_SENS_DATA_19 = 0x5C, |
| bluefish | 0:551dbbd41a10 | 120 | EXT_SENS_DATA_20 = 0x5D, |
| bluefish | 0:551dbbd41a10 | 121 | EXT_SENS_DATA_21 = 0x5E, |
| bluefish | 0:551dbbd41a10 | 122 | EXT_SENS_DATA_22 = 0x5F, |
| bluefish | 0:551dbbd41a10 | 123 | EXT_SENS_DATA_23 = 0x60, |
| bluefish | 0:551dbbd41a10 | 124 | |
| bluefish | 0:551dbbd41a10 | 125 | I2C_SLV0_DO = 0x63, |
| bluefish | 0:551dbbd41a10 | 126 | I2C_SLV1_DO = 0x64, |
| bluefish | 0:551dbbd41a10 | 127 | I2C_SLV2_DO = 0x65, |
| bluefish | 0:551dbbd41a10 | 128 | I2C_SLV3_DO = 0x66, |
| bluefish | 0:551dbbd41a10 | 129 | |
| bluefish | 0:551dbbd41a10 | 130 | I2C_MST_DELAY_CTRL = 0x67, |
| bluefish | 0:551dbbd41a10 | 131 | SIGNAL_PATH_RESET = 0x68, |
| bluefish | 0:551dbbd41a10 | 132 | MOT_DETECT_CTRL = 0x69, |
| bluefish | 0:551dbbd41a10 | 133 | USER_CTRL = 0x6A, |
| bluefish | 0:551dbbd41a10 | 134 | PWR_MGMT_1 = 0x6B, |
| bluefish | 0:551dbbd41a10 | 135 | PWR_MGMT_2 = 0x6C, |
| bluefish | 0:551dbbd41a10 | 136 | |
| bluefish | 0:551dbbd41a10 | 137 | FIFO_COUNTH = 0x72, |
| bluefish | 0:551dbbd41a10 | 138 | FIFO_COUNTL = 0x73, |
| bluefish | 0:551dbbd41a10 | 139 | FIFO_R_W = 0x74, |
| bluefish | 0:551dbbd41a10 | 140 | WHO_AM_I = 0x75, |
| bluefish | 0:551dbbd41a10 | 141 | |
| bluefish | 0:551dbbd41a10 | 142 | XA_OFFSET_H = 0x77, |
| bluefish | 0:551dbbd41a10 | 143 | XA_OFFSET_L = 0x78, |
| bluefish | 0:551dbbd41a10 | 144 | YA_OFFSET_H = 0x7A, |
| bluefish | 0:551dbbd41a10 | 145 | YA_OFFSET_L = 0x7B, |
| bluefish | 0:551dbbd41a10 | 146 | ZA_OFFSET_H = 0x7D, |
| bluefish | 0:551dbbd41a10 | 147 | ZA_OFFSET_L = 0x7E, |
| bluefish | 0:551dbbd41a10 | 148 | } MPU9250REG; |
| bluefish | 0:551dbbd41a10 | 149 | |
| bluefish | 0:551dbbd41a10 | 150 | typedef enum _AK8963REG{ |
| bluefish | 0:551dbbd41a10 | 151 | // magnetometer |
| bluefish | 0:551dbbd41a10 | 152 | WIA = 0x00, |
| bluefish | 0:551dbbd41a10 | 153 | INFO = 0x01, |
| bluefish | 0:551dbbd41a10 | 154 | ST1 = 0x02, |
| bluefish | 0:551dbbd41a10 | 155 | |
| bluefish | 0:551dbbd41a10 | 156 | HXL = 0x03, |
| bluefish | 0:551dbbd41a10 | 157 | HXH = 0x04, |
| bluefish | 0:551dbbd41a10 | 158 | HYL = 0x05, |
| bluefish | 0:551dbbd41a10 | 159 | HYH = 0x06, |
| bluefish | 0:551dbbd41a10 | 160 | HZL = 0x07, |
| bluefish | 0:551dbbd41a10 | 161 | HZH = 0x08, |
| bluefish | 0:551dbbd41a10 | 162 | |
| bluefish | 0:551dbbd41a10 | 163 | ST2 = 0x09, |
| bluefish | 0:551dbbd41a10 | 164 | CNTL1 = 0x0A, |
| bluefish | 0:551dbbd41a10 | 165 | CNTL2 = 0x0B, |
| bluefish | 0:551dbbd41a10 | 166 | ASTC = 0x0C, |
| bluefish | 0:551dbbd41a10 | 167 | TS1 = 0x0D, |
| bluefish | 0:551dbbd41a10 | 168 | TS2 = 0x0E, |
| bluefish | 0:551dbbd41a10 | 169 | I2CDIS = 0x0F, |
| bluefish | 0:551dbbd41a10 | 170 | |
| bluefish | 0:551dbbd41a10 | 171 | ASAX = 0x10, |
| bluefish | 0:551dbbd41a10 | 172 | ASAY = 0x11, |
| bluefish | 0:551dbbd41a10 | 173 | ASAZ = 0x12, |
| bluefish | 0:551dbbd41a10 | 174 | } AK8963REG; |
| bluefish | 0:551dbbd41a10 | 175 | |
| bluefish | 0:551dbbd41a10 | 176 | typedef enum _MPU9250BIT{ |
| bluefish | 0:551dbbd41a10 | 177 | BIT_SLEEP = 0x40, |
| bluefish | 0:551dbbd41a10 | 178 | BIT_H_RESET = 0x80, |
| bluefish | 0:551dbbd41a10 | 179 | BITS_CLKSEL = 0x07, |
| bluefish | 0:551dbbd41a10 | 180 | MPU_CLK_SEL_PLLGYROX = 0x01, |
| bluefish | 0:551dbbd41a10 | 181 | MPU_CLK_SEL_PLLGYROZ = 0x03, |
| bluefish | 0:551dbbd41a10 | 182 | MPU_EXT_SYNC_GYROX = 0x02, |
| bluefish | 0:551dbbd41a10 | 183 | BITS_FS_250DPS = 0x00, |
| bluefish | 0:551dbbd41a10 | 184 | BITS_FS_500DPS = 0x08, |
| bluefish | 0:551dbbd41a10 | 185 | BITS_FS_1000DPS = 0x10, |
| bluefish | 0:551dbbd41a10 | 186 | BITS_FS_2000DPS = 0x18, |
| bluefish | 0:551dbbd41a10 | 187 | BITS_FS_2G = 0x00, |
| bluefish | 0:551dbbd41a10 | 188 | BITS_FS_4G = 0x08, |
| bluefish | 0:551dbbd41a10 | 189 | BITS_FS_8G = 0x10, |
| bluefish | 0:551dbbd41a10 | 190 | BITS_FS_16G = 0x18, |
| bluefish | 0:551dbbd41a10 | 191 | BITS_FS_MASK = 0x18, |
| bluefish | 0:551dbbd41a10 | 192 | BITS_DLPF_CFG_256HZ_NOLPF2 = 0x00, |
| bluefish | 0:551dbbd41a10 | 193 | BITS_DLPF_CFG_188HZ = 0x01, |
| bluefish | 0:551dbbd41a10 | 194 | BITS_DLPF_CFG_98HZ = 0x02, |
| bluefish | 0:551dbbd41a10 | 195 | BITS_DLPF_CFG_42HZ = 0x03, |
| bluefish | 0:551dbbd41a10 | 196 | BITS_DLPF_CFG_20HZ = 0x04, |
| bluefish | 0:551dbbd41a10 | 197 | BITS_DLPF_CFG_10HZ = 0x05, |
| bluefish | 0:551dbbd41a10 | 198 | BITS_DLPF_CFG_5HZ = 0x06, |
| bluefish | 0:551dbbd41a10 | 199 | BITS_DLPF_CFG_2100HZ_NOLPF = 0x07, |
| bluefish | 0:551dbbd41a10 | 200 | BITS_DLPF_CFG_MASK = 0x07, |
| bluefish | 0:551dbbd41a10 | 201 | BIT_INT_ANYRD_2CLEAR = 0x10, |
| bluefish | 0:551dbbd41a10 | 202 | BIT_RAW_RDY_EN = 0x01, |
| bluefish | 0:551dbbd41a10 | 203 | BIT_I2C_IF_DIS = 0x10 |
| bluefish | 0:551dbbd41a10 | 204 | } MPU9250BIT; |
| bluefish | 0:551dbbd41a10 | 205 | |
| bluefish | 0:551dbbd41a10 | 206 | class MPU9250{ |
| bluefish | 0:551dbbd41a10 | 207 | public: |
| bluefish | 0:551dbbd41a10 | 208 | MPU9250( PinName cs, PinName mosi, PinName miso, PinName sck ); // constructor |
| bluefish | 0:551dbbd41a10 | 209 | ~MPU9250(); // destructor |
| bluefish | 0:551dbbd41a10 | 210 | |
| bluefish | 0:551dbbd41a10 | 211 | void begin( void ); |
| bluefish | 0:551dbbd41a10 | 212 | void reset( void ); |
| bluefish | 0:551dbbd41a10 | 213 | |
| bluefish | 0:551dbbd41a10 | 214 | void setAccelRange( MPU9250BIT range ); |
| bluefish | 0:551dbbd41a10 | 215 | void setGyroRange( MPU9250BIT range ); |
| bluefish | 0:551dbbd41a10 | 216 | void setDLPF( MPU9250BIT range ); |
| bluefish | 0:551dbbd41a10 | 217 | |
| bluefish | 0:551dbbd41a10 | 218 | void read6AxisRaw( |
| bluefish | 0:551dbbd41a10 | 219 | int16_t* ax, int16_t* ay, int16_t* az, |
| bluefish | 0:551dbbd41a10 | 220 | int16_t* gx, int16_t* gy, int16_t* gz ); |
| bluefish | 0:551dbbd41a10 | 221 | void read9AxisRaw( |
| bluefish | 0:551dbbd41a10 | 222 | int16_t* ax, int16_t* ay, int16_t* az, |
| bluefish | 0:551dbbd41a10 | 223 | int16_t* gx, int16_t* gy, int16_t* gz, |
| bluefish | 0:551dbbd41a10 | 224 | int16_t* mx, int16_t* my, int16_t* mz ); |
| bluefish | 0:551dbbd41a10 | 225 | void readAccelRaw( int16_t* ax, int16_t* ay, int16_t* az ); |
| bluefish | 0:551dbbd41a10 | 226 | void readGyroRaw( int16_t* gx, int16_t* gy, int16_t* gz ); |
| bluefish | 0:551dbbd41a10 | 227 | void readMagRaw( int16_t* mx, int16_t* my, int16_t* mz ); |
| bluefish | 0:551dbbd41a10 | 228 | int16_t readTempRaw( void ); |
| bluefish | 0:551dbbd41a10 | 229 | |
| bluefish | 0:551dbbd41a10 | 230 | void read6Axis( |
| bluefish | 0:551dbbd41a10 | 231 | float* ax, float* ay, float* az, |
| bluefish | 0:551dbbd41a10 | 232 | float* gx, float* gy, float* gz ); |
| bluefish | 0:551dbbd41a10 | 233 | void read9Axis( |
| bluefish | 0:551dbbd41a10 | 234 | float* ax, float* ay, float* az, |
| bluefish | 0:551dbbd41a10 | 235 | float* gx, float* gy, float* gz, |
| bluefish | 0:551dbbd41a10 | 236 | float* mx, float* my, float* mz ); |
| bluefish | 0:551dbbd41a10 | 237 | void readAccel( float* ax, float* ay, float* az ); |
| bluefish | 0:551dbbd41a10 | 238 | void readGyro( float* gx, float* gy, float* gz ); |
| bluefish | 0:551dbbd41a10 | 239 | void readMag( float* mx, float* my, float* mz ); |
| bluefish | 0:551dbbd41a10 | 240 | float readTemp( void ); |
| bluefish | 0:551dbbd41a10 | 241 | |
| bluefish | 0:551dbbd41a10 | 242 | private: |
| bluefish | 0:551dbbd41a10 | 243 | DigitalOut _cs; |
| bluefish | 0:551dbbd41a10 | 244 | SPI _spi; |
| bluefish | 0:551dbbd41a10 | 245 | |
| bluefish | 0:551dbbd41a10 | 246 | float _accscale; |
| bluefish | 0:551dbbd41a10 | 247 | float _gyroscale; |
| bluefish | 0:551dbbd41a10 | 248 | // float _gyroscalerad; |
| bluefish | 0:551dbbd41a10 | 249 | |
| bluefish | 0:551dbbd41a10 | 250 | uint8_t _readRegister( MPU9250REG addr ); |
| bluefish | 0:551dbbd41a10 | 251 | uint8_t _writeRegister( MPU9250REG addr, uint8_t data ); |
| bluefish | 0:551dbbd41a10 | 252 | uint8_t _readBuffer( MPU9250REG addr, uint8_t len, uint8_t* buf ); |
| bluefish | 0:551dbbd41a10 | 253 | uint8_t _writeBuffer( MPU9250REG addr, uint8_t len, uint8_t* buf ); |
| bluefish | 0:551dbbd41a10 | 254 | }; |
| bluefish | 0:551dbbd41a10 | 255 | |
| bluefish | 0:551dbbd41a10 | 256 | #endif |