unfinished

Dependents:   WRS_mechanamu_test WRS2019_master mbed_2018 mbed_2019_rx3 ... more

Revision:
4:cd62e2d69f62
Parent:
2:5af50b300137
Child:
5:a492cfb18242
--- a/JY901.cpp	Sat Apr 28 03:58:17 2018 +0000
+++ b/JY901.cpp	Thu Aug 23 05:33:30 2018 +0000
@@ -1,47 +1,48 @@
 #include "JY901.h"
 
-JY901::JY901(PinName sda, PinName scl) : I2C(sda, scl)
+JY901::JY901(I2C *i2c)
 {
+    _i2c = i2c;
 }
 
 void JY901::calibrateGyroAccel()
 {
-    start();
-    write(IICADDR);
-    write(CALSW);
-    write(0x01);
-    write(0x00);
-    stop();
+    _i2c->start();
+    _i2c->write(IICADDR);
+    _i2c->write(CALSW);
+    _i2c->write(0x01);
+    _i2c->write(0x00);
+    _i2c->stop();
 }
 
 void JY901::calibrateMagnetic()
 {
-    start();
-    write(IICADDR);
-    write(CALSW);
-    write(0x02);
-    write(0x00);
-    stop();
+    _i2c->start();
+    _i2c->write(IICADDR);
+    _i2c->write(CALSW);
+    _i2c->write(0x02);
+    _i2c->write(0x00);
+    _i2c->stop();
 }
 
 void JY901::calibrateHeight()
 {
-    start();
-    write(IICADDR);
-    write(CALSW);
-    write(0x03);
-    write(0x00);
-    stop();
+    _i2c->start();
+    _i2c->write(IICADDR);
+    _i2c->write(CALSW);
+    _i2c->write(0x03);
+    _i2c->write(0x00);
+    _i2c->stop();
 }
 
 void JY901::endCalibrate()
 {
-    start();
-    write(IICADDR);
-    write(CALSW);
-    write(0x00);
-    write(0x00);
-    stop();   
+    _i2c->start();
+    _i2c->write(IICADDR);
+    _i2c->write(CALSW);
+    _i2c->write(0x00);
+    _i2c->write(0x00);
+    _i2c->stop();   
 }
 
 void JY901::calibrateAll(int time_ms)
@@ -245,10 +246,10 @@
 char *JY901::getdata(char registar)
 {
     char data[2] = {};
-    start();
-    write(IICADDR);
-    write(registar);
-    read(IICADDR, data, 2);
-    stop();
+    _i2c->start();
+    _i2c->write(IICADDR);
+    _i2c->write(registar);
+    _i2c->read(IICADDR, data, 2);
+    _i2c->stop();
     return data;
 }