pixy Libari 2

Dependents:   PES PES1 PES4 PES3

Revision:
0:ed8dc4531ac1
Child:
1:a57585d5e81b
diff -r 000000000000 -r ed8dc4531ac1 PixyLinkI2C.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PixyLinkI2C.h	Sun Nov 16 11:52:55 2014 +0000
@@ -0,0 +1,35 @@
+#ifndef TUIASI_PIXYLINKI2C_H
+#define TUIASI_PIXYLINKI2C_H
+
+#include "I2C.h"
+#include "PixyLink.h"
+
+class PixyLinkI2C : public PixyLink, private I2C
+{
+public:
+    PixyLinkI2C(PinName sda, PinName scl) :
+        PixyLink(PIXY_DEFAULT_ADDR), I2C(sda, scl) {
+    };
+
+    virtual uint16_t getWord() {
+        uint8_t data[2] = {0, 0};
+        I2C::read((int)m_addr, (char *)data, 2);
+        return ((uint16_t)data[1] << 8) | data[0];
+    };
+
+    virtual uint8_t getByte() {
+        uint8_t data = 0;
+        I2C::read((int)m_addr, (char*)&data, 1);
+        return data;
+    };
+
+    virtual int8_t send(uint8_t *data, uint8_t len) {
+        return I2C::write((int)m_addr, (char*)data, len);
+    };
+
+
+private:
+    static const uint8_t PIXY_DEFAULT_ADDR = 0x54;
+};
+
+#endif //TUIASI_PIXYLINKI2C_H
\ No newline at end of file