i2c driver for PiBorg PicoBorgReverse
Dependents: TheBubbleWorks_MicroBorg
Diff: PicoBorgReverse.h
- Revision:
- 2:cecfacbc2048
- Parent:
- 0:f8a6d1cc7fa8
- Child:
- 5:7f64fd1d1c8b
--- a/PicoBorgReverse.h Tue Feb 09 11:16:09 2016 +0000 +++ b/PicoBorgReverse.h Tue Feb 09 15:31:10 2016 +0000 @@ -3,6 +3,8 @@ // Based on https://www.piborg.org/comment/498#comment-498 +#include "mbed.h" +#include "MyDebug.h" /**************************************/ /***** PicoBorg Reverse Constants *****/ @@ -60,12 +62,12 @@ #define PBR_MINIMUM_I2C_ADDRESS (0x03) // Minimum allowed value for the I2C address #define PBR_MAXIMUM_I2C_ADDRESS (0x77) // Maximum allowed value for the I2C address - +extern Serial serial; class PicoBorgReverse { public: - PicoBorgReverse() : addr(PBR_DEFAULT_I2C_ADDRESS << 1) { + PicoBorgReverse(I2C* _i2c) : addr(PBR_DEFAULT_I2C_ADDRESS << 1), i2c(_i2c) { } /**************************************/ @@ -157,13 +159,18 @@ void i2c_write(char b1) { char data[1] = {b1}; - uBit.i2c.write(addr, data, 1); + this->i2c->write(addr, data, 1); } void i2c_write(char b1, char b2) { char data[2] = {b1, b2}; - uBit.i2c.write(addr, data, 2); + this->i2c->write(addr, data, 2); + } + + int i2c_read(char* buf, int len) + { + return (this->i2c->read(addr, buf, len)); } /***************************************/ @@ -171,5 +178,5 @@ /***************************************/ int addr; // define the I2C Address - + I2C* i2c; }; \ No newline at end of file