James Cameron / pixy

Fork of pixy by Arcadie Cracan

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers PixyLinkI2C.h Source File

PixyLinkI2C.h

00001 #ifndef TUIASI_PIXYLINKI2C_H
00002 #define TUIASI_PIXYLINKI2C_H
00003 
00004 #include "I2C.h"
00005 #include "PixyLink.h"
00006 
00007 class PixyLinkI2C : public PixyLink, private I2C
00008 {
00009 public:
00010     PixyLinkI2C(PinName sda, PinName scl) :
00011         PixyLink(PIXY_DEFAULT_ADDR), I2C(sda, scl) {
00012     };
00013 
00014     virtual uint16_t getWord() {
00015         uint8_t data[2] = {0, 0};
00016         I2C::read((int)m_addr, (char *)data, 2);
00017         return ((uint16_t)data[1] << 8) | data[0];
00018     };
00019 
00020     virtual uint8_t getByte() {
00021         uint8_t data = 0;
00022         I2C::read((int)m_addr, (char*)&data, 1);
00023         return data;
00024     };
00025 
00026     virtual int8_t send(uint8_t *data, uint8_t len) {
00027         return I2C::write((int)m_addr, (char*)data, len);
00028     };
00029 
00030 
00031 private:
00032     static const uint8_t PIXY_DEFAULT_ADDR = 0x54;
00033 };
00034 
00035 #endif //TUIASI_PIXYLINKI2C_H