Dependencies:   I2CMotor I2CServo Robot XBee

Dependents:   OBROT_ALL

Files at this revision

API Documentation at this revision

Comitter:
inst
Date:
Fri Aug 21 04:51:59 2015 +0000
Parent:
0:93b509f5e4cc
Child:
2:6c60a3006881
Commit message:
y evol

Changed in this revision

I2CDevice.cpp Show annotated file Show diff for this revision Revisions of this file
I2CDevice.h Show annotated file Show diff for this revision Revisions of this file
I2CDevice.lib Show diff for this revision Revisions of this file
I2CMotor.lib Show annotated file Show diff for this revision Revisions of this file
I2CServo.lib Show annotated file Show diff for this revision Revisions of this file
Robot.lib Show annotated file Show diff for this revision Revisions of this file
XBee.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/I2CDevice.cpp	Fri Aug 21 04:51:59 2015 +0000
@@ -0,0 +1,3 @@
+#include "I2CDevice.h"
+
+I2C* I2CDevice::mI2C = NULL;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/I2CDevice.h	Fri Aug 21 04:51:59 2015 +0000
@@ -0,0 +1,41 @@
+#ifndef INCLUDED_I2CDEVICE_H
+#define INCLUDED_I2CDEVICE_H
+
+#include "mbed.h"
+
+class I2CDevice{
+public:
+    static void initI2C( PinName sda, PinName scl ){
+        mI2C = new I2C( sda, scl );
+    }
+
+    I2CDevice( char address ) : mAddress( address ){
+    }
+    
+    virtual void write() = 0;
+    virtual void read() = 0;
+    
+    void write( char* data, size_t len ) const{
+        mI2C->write( mAddress, data, len );
+    }
+    void read( char* data, size_t len ) const{
+        mI2C->read( mAddress, data, len );
+    }
+    
+    void writeReg( char devAddr, char regAddr, char data ){
+        char d[ 2 ] = { regAddr, data };
+        mI2C->write( devAddr, d, 2 );
+    }
+    
+    void readReg( char devAddr, char regAddr, char* data, size_t len ){
+        regAddr |= 0x80;
+        mI2C->write( devAddr, &regAddr, 1, true );
+        mI2C->read( devAddr | 1, data, len );
+    }
+    
+    static I2C* mI2C;
+protected:
+    const char mAddress;
+};
+
+#endif
--- a/I2CDevice.lib	Thu Jul 02 00:58:59 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-I2CDevice#2cdb7a06a796
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/I2CMotor.lib	Fri Aug 21 04:51:59 2015 +0000
@@ -0,0 +1,1 @@
+I2CMotor#46cf8d086b38
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/I2CServo.lib	Fri Aug 21 04:51:59 2015 +0000
@@ -0,0 +1,1 @@
+I2CServo#e06cf312e9f0
--- a/Robot.lib	Thu Jul 02 00:58:59 2015 +0000
+++ b/Robot.lib	Fri Aug 21 04:51:59 2015 +0000
@@ -1,1 +1,1 @@
-Robot#91d31b26ae9e
+Robot#48028dcad4e2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/XBee.lib	Fri Aug 21 04:51:59 2015 +0000
@@ -0,0 +1,1 @@
+XBee#7f0b90daef14