PLANET-Q MPU9250 Library
Dependents: IZU2020_AVIONICS IZU2020_AVIONICS
Diff: PQMPU9250.cpp
- Revision:
- 7:da63be95c693
- Parent:
- 0:c5ccb9d0afba
--- a/PQMPU9250.cpp Sun Nov 24 06:08:54 2019 +0000 +++ b/PQMPU9250.cpp Tue Dec 17 14:08:27 2019 +0000 @@ -10,17 +10,18 @@ void MPU9250::begin() { - cmd[0] = PWR_MGMT_1; + cmd[0] = MPU9250_PWR_MGMT_1; cmd[1] = 0x00; _i2c->write(_addr, cmd, 2); - cmd[0] = INT_PIN_CFG; + cmd[0] = MPU9250_INT_PIN_CFG; cmd[1] = 0x02; _i2c->write(_addr, cmd, 2); set(_2G, _250DPS, _16B_8HZ); } -bool MPU9250::test(){ - cmd[0] = WHO_AM_I; +bool MPU9250::test() +{ + cmd[0] = MPU9250_WHO_AM_I; _i2c->write(_addr, cmd, 1); _i2c->read(_addr, buff, 1); if (buff[0] == 0x71) { @@ -32,9 +33,9 @@ bool MPU9250::test_AK8963() { - cmd[0] = WIA; - _i2c->write(AK8963_ADDR, cmd, 1); - _i2c->read(AK8963_ADDR, buff, 1); + cmd[0] = MPU9250_WIA; + _i2c->write(MPU9250_AK8963_ADDR, cmd, 1); + _i2c->read(MPU9250_AK8963_ADDR, buff, 1); if (buff[0] == 0x48) { return true; } else { @@ -42,7 +43,8 @@ } } -void MPU9250::set(AccelConfig_t accel_config, GyroConfig_t gyro_config, MagConfig_t mag_config){ +void MPU9250::set(AccelConfig_t accel_config, GyroConfig_t gyro_config, MagConfig_t mag_config) +{ set_accel(accel_config); set_gyro(gyro_config); set_mag(mag_config); @@ -50,42 +52,42 @@ void MPU9250::set_accel(AccelConfig_t accel_config) { - cmd[0] = ACCEL_CONFIG; + cmd[0] = MPU9250_ACCEL_CONFIG; cmd[1] = accel_config; _i2c->write(_addr, cmd, 2); if (accel_config == _2G) { - accel_LSB = ACCEL_LSB; + accel_LSB = MPU9250_ACCEL_LSB; } else if (accel_config == _4G) { - accel_LSB = ACCEL_LSB * 2; + accel_LSB = MPU9250_ACCEL_LSB * 2; } else if (accel_config == _8G) { - accel_LSB = ACCEL_LSB * 4; + accel_LSB = MPU9250_ACCEL_LSB * 4; } else if (accel_config == _16G) { - accel_LSB = ACCEL_LSB * 8; + accel_LSB = MPU9250_ACCEL_LSB * 8; } } void MPU9250::set_gyro(GyroConfig_t gyro_config) { - cmd[0] = GYRO_CONFIG; + cmd[0] = MPU9250_GYRO_CONFIG; cmd[1] = gyro_config; _i2c->write(_addr, cmd, 2); if (gyro_config == _250DPS) { - gyro_LSB = GYRO_LSB; + gyro_LSB = MPU9250_GYRO_LSB; } else if (gyro_config == _500DPS) { - gyro_LSB = GYRO_LSB * 2; + gyro_LSB = MPU9250_GYRO_LSB * 2; } else if (gyro_config == _1000DPS) { - gyro_LSB = GYRO_LSB * 4; + gyro_LSB = MPU9250_GYRO_LSB * 4; } else if (gyro_config == _2000DPS) { - gyro_LSB = GYRO_LSB * 8; + gyro_LSB = MPU9250_GYRO_LSB * 8; } } void MPU9250::set_mag(MagConfig_t mag_config) { - cmd[0] = CNTL1; + cmd[0] = MPU9250_CNTL1; cmd[1] = mag_config; - _i2c->write(AK8963_ADDR, cmd, 2); - mag_LSB = MAG_LSB; + _i2c->write(MPU9250_AK8963_ADDR, cmd, 2); + mag_LSB = MPU9250_MAG_LSB; } void MPU9250::offset(float *accel, float *gyro, float *mag) @@ -125,7 +127,7 @@ void MPU9250::read_accel(float *accel) { - cmd[0] = ACCEL_XOUT_H; + cmd[0] = MPU9250_ACCEL_XOUT_H; _i2c->write(_addr, cmd, 1); _i2c->read(_addr, buff, 6); accel[0] = (short)(buff[0] << 8 | buff[1]) * accel_LSB - accel_offset[0]; @@ -135,7 +137,7 @@ void MPU9250::read_gyro(float *gyro) { - cmd[0] = GYRO_XOUT_H; + cmd[0] = MPU9250_GYRO_XOUT_H; _i2c->write(_addr, cmd, 1); _i2c->read(_addr, buff, 6); gyro[0] = (short)(buff[0] << 8 | buff[1]) * gyro_LSB - gyro_offset[0]; @@ -145,9 +147,9 @@ void MPU9250::read_mag(float *mag) { - cmd[0] = HXL; - _i2c->write(AK8963_ADDR, cmd, 1); - _i2c->read(AK8963_ADDR, buff, 7); + cmd[0] = MPU9250_HXL; + _i2c->write(MPU9250_AK8963_ADDR, cmd, 1); + _i2c->read(MPU9250_AK8963_ADDR, buff, 7); mag[0] = (short)(buff[0] | buff[1] << 8) * mag_LSB - mag_offset[0]; mag[1] = (short)(buff[2] | buff[3] << 8) * mag_LSB - mag_offset[1]; mag[2] = (short)(buff[4] | buff[5] << 8) * mag_LSB - mag_offset[2];