MPU DMP code modified for use with ST Nucelo boards. This Library makes use of I2Cdev.
Dependents: MPU9150_nucleo_i2cdev Orion_newPCB_test_LV Orion_PCB_test_Faulhaber_gr41_wptcmd_V1 MPU9150_nucleo_i2cdev ... more
Fork of MPU6050-DMP-Ian by
Diff: I2C/I2Cdev.cpp
- Revision:
- 16:babac099274f
- Parent:
- 15:d4284f5b4fc7
diff -r d4284f5b4fc7 -r babac099274f I2C/I2Cdev.cpp --- a/I2C/I2Cdev.cpp Sun Mar 29 08:48:28 2015 +0000 +++ b/I2C/I2Cdev.cpp Thu Oct 01 06:42:51 2015 +0000 @@ -299,6 +299,30 @@ bool I2Cdev::writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data) { + //uint8_t data8[2]; + + //data8[1] = (uint8_t)(data[0]); //low bits + //data8[0] = (uint8_t)(data[0] >> 8); //high bits + + char reg_addrs[1] = {regAddr}; + i2c.write(devAddr<<1, reg_addrs, 1, true); + + for(int i = 0; i < length; i++) + { + if(!i2c.write((uint8_t)(data[i] >> 8)) ) + { + //debug.printf("Write Error %d\r\n", reg_addr); + return false; + } + + if(!i2c.write((uint8_t)(data[i])) ) + { + //debug.printf("Write Error %d\r\n", reg_addr); + return false; + } + } + i2c.stop(); + return true; }