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 Ian Hua

Revision:
16:babac099274f
Parent:
15:d4284f5b4fc7
--- 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;
 }