Dummy commit.
Dependents: iBeacon acnsensa acnSENSA
Fork of ACD52832_LSM9DS1 by
Diff: LSM9DS1.cpp
- Revision:
- 4:a1a57aaacc4c
- Parent:
- 3:d4f9aaab3bc3
- Child:
- 5:d6a0d907988f
--- a/LSM9DS1.cpp Mon Jul 10 18:24:28 2017 +0000 +++ b/LSM9DS1.cpp Tue Sep 26 14:11:26 2017 +0000 @@ -3,7 +3,8 @@ #include "LSM9DS1_RegVals.h" #include "acd52832_bsp.h" -LSM9DS1::LSM9DS1(I2C i2c) : _i2c(i2c){ +LSM9DS1::LSM9DS1(I2C *i2c){ + _i2c = i2c; } void LSM9DS1::startMag(){ @@ -11,23 +12,23 @@ data[0] = (char)CTRL_REG1_M; // Target register data[1] = (char)0x7C; // Data to write - _i2c.write(TWI_MAG_ADDR, data, 0x02,0); + _i2c->write(TWI_MAG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG2_M; // Target register data[1] = (char)0x00; // Full scale for the sensor (+-4g) - _i2c.write(TWI_MAG_ADDR, data, 0x02,0); + _i2c->write(TWI_MAG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG3_M; // Target register data[1] = (char)0x00; // Data to write - _i2c.write(TWI_MAG_ADDR, data, 0x02,0); + _i2c->write(TWI_MAG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG4_M; // Target register data[1] = (char)(3<<3); // Data to write - _i2c.write(TWI_MAG_ADDR, data, 0x02,0); + _i2c->write(TWI_MAG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG5_M; // Target register data[1] = (char)0x00; // Data to write - _i2c.write(TWI_MAG_ADDR, data, 0x02,0); + _i2c->write(TWI_MAG_ADDR, data, 0x02,0); } void LSM9DS1::readMag(int16_t *results){ @@ -35,8 +36,8 @@ int16_t res_final[3]; char out_x_l_m = OUT_X_L_M; - _i2c.write(TWI_MAG_ADDR, &out_x_l_m, 1, true); - _i2c.read(TWI_MAG_ADDR, results_, 6, 0); + _i2c->write(TWI_MAG_ADDR, &out_x_l_m, 1, true); + _i2c->read(TWI_MAG_ADDR, results_, 6, 0); res_final[0] = ((results_[1]<<8) | results_[0]); res_final[1] = ((results_[3]<<8) | results_[2]); res_final[2] = ((results_[5]<<8) | results_[4]); @@ -51,12 +52,12 @@ data[0] = (char)CTRL_REG5_XL; // Target register data[1] = (char)0x38; // Data to write - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG6_XL; // Target register data[1] = (char)0xC7; // +-2g -> See reference manual for more info (page 52) - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); } void LSM9DS1::readAcc(int16_t *results){ @@ -64,8 +65,8 @@ int16_t res_final[3]; char out_x_l_xl = OUT_X_L_XL; - _i2c.write(TWI_AG_ADDR, &out_x_l_xl, 1, true); - _i2c.read(TWI_AG_ADDR, results_, 6, 0); + _i2c->write(TWI_AG_ADDR, &out_x_l_xl, 1, true); + _i2c->read(TWI_AG_ADDR, results_, 6, 0); res_final[0] = ((results_[1]<<8) | results_[0]); res_final[1] = ((results_[3]<<8) | results_[2]); res_final[2] = ((results_[5]<<8) | results_[4]); @@ -80,31 +81,31 @@ data[0] = (char)CTRL_REG6_XL; // Target register data[1] = (char)0xC7 & (char)0x1F; // Data to write - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG1_G; // Target register data[1] = (char)0xC0; // 245 DPS scale - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG2_G; // Target register data[1] = (char)0x00; // Data to write - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG3_G; // Target register data[1] = (char)0x00; // Data to write - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); data[0] = (char)CTRL_REG4; // Target register data[1] = (char)0x3A; // Data to write - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); data[0] = (char)ORIENT_CFG_G; // Target register data[1] = (char)0x00; // Data to write - _i2c.write(TWI_AG_ADDR, data, 0x02,0); + _i2c->write(TWI_AG_ADDR, data, 0x02,0); } @@ -113,8 +114,8 @@ int16_t res_final[3]; char out_x_l_g = OUT_X_L_G; - _i2c.write(TWI_AG_ADDR, &out_x_l_g, 1, true); - _i2c.read(TWI_AG_ADDR, results_, 6, 0); + _i2c->write(TWI_AG_ADDR, &out_x_l_g, 1, true); + _i2c->read(TWI_AG_ADDR, results_, 6, 0); res_final[0] = ((results_[1]<<8) | results_[0]); res_final[1] = ((results_[3]<<8) | results_[2]); res_final[2] = ((results_[5]<<8) | results_[4]);