For nucleoF103 change sda,scl to PB_7,PB_6

Dependents:   AGV_0411 AGV_SMT_Sevro AGV_SMT

Fork of MPU6050-DMP by takaaki mastuzawa

Revision:
8:473800bd51ac
Parent:
6:fe57b4405983
--- a/I2Cdev.cpp	Thu Apr 12 01:11:08 2018 +0000
+++ b/I2Cdev.cpp	Thu May 10 08:15:44 2018 +0000
@@ -1,20 +1,18 @@
 // ported from arduino library: https://github.com/jrowberg/i2cdevlib
 // written by szymon gaertig (email: szymon@gaertig.com.pl, website: szymongaertig.pl)
+// modified by shundo kishi
+//
 // Changelog:
 // 2013-01-08 - first release
+// 2016-01-31 - changed all functions and variables static to make porting from arduino easier(by shundo kishi)
 
 #include "I2Cdev.h"
 
-//#define useDebugSerial
-
-I2Cdev::I2Cdev(): i2c(I2C_SDA,I2C_SCL), debugSerial(USBTX, USBRX)
-{
+I2C I2Cdev::i2c(I2C_SDA,I2C_SCL);
 
-}
-
-I2Cdev::I2Cdev(PinName i2cSda, PinName i2cScl): i2c(i2cSda,i2cScl), debugSerial(USBTX, USBRX)
-{
-
+/** Default constructor.
+ */
+I2Cdev::I2Cdev() {
 }
 
 /** Read a single bit from an 8-bit device register.
@@ -254,15 +252,14 @@
 
 bool I2Cdev::writeBytes(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t *data)
 {
-    char *writeData = (char*)malloc(length+1);
-    writeData[0] = regAddr;
-    
-    for(int i=0; i<length ; i++){
-        writeData[i+1] = data[i];
+    i2c.start();
+    i2c.write(devAddr<<1);
+    i2c.write(regAddr);
+    for(int i = 0; i < length; i++) {
+        i2c.write(data[i]);
     }
-    int res = i2c.write(devAddr<<1, writeData, length+1, true);
-    free(writeData);
-    return res;
+    i2c.stop();
+    return true;
 }
 
 bool I2Cdev::writeWords(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint16_t *data)