It is modified accordingly to work with sparkfun dmp library under mbed platform

Dependents:   MPU9250-dmp-bluepill MPU9250-dmp

Fork of MotionDriver_6_1 by Prosper Van

Revision:
5:e4e36c17ba70
Parent:
4:f395d9cc57c4
Child:
6:7469a85601f1
--- a/mdcompat.cpp	Thu Aug 10 14:42:44 2017 +0000
+++ b/mdcompat.cpp	Fri Aug 11 07:42:24 2017 +0000
@@ -28,10 +28,15 @@
     unsigned char reg_addr,
     unsigned char length,
     unsigned char *data) {
-    unsigned char buffer[]={reg_addr,data[0]};
+    
+    unsigned char buffer[length+1];
+    buffer[0]=reg_addr;
+    for(int i=0;i<length;i++){
+        buffer[i+1]=data[i];
+    }
     const char* x=(const char*)buffer;//
     
-    imu9250.write((int)slave_addr<<1,x,2,0);//sending register adress first to indicate which register we are writing and a write register(0)
+    imu9250.write((int)slave_addr<<1,x,length+1,0);//sending register adress first to indicate which register we are writing and a write register(0)
     return 0;
 }
 
@@ -40,8 +45,12 @@
     unsigned char reg_addr,
     unsigned char length,
     unsigned char *data) {const char RA[]={reg_addr};
+    unsigned char buffer[length];
+    for(int i=0;i<length;i++){
+        buffer[i]=data[i];
+    }
     imu9250.write((int)slave_addr<<1,RA, 1, 1); // no stop
-    imu9250.read((int)slave_addr<<1,(char*)data, 1, 0); 
+    imu9250.read((int)slave_addr<<1,(char*)data, length, 0); 
     return 0; 
 }