00001
00002
00003
00004
00005
00006
00007 #ifndef I2C_H_
00008 #define I2C_H_
00009
00010 #include "Port.h"
00011
00012 extern "C"
00013 {
00014 #include "ecrobot_interface.h"
00015 #include "rtoscalls.h"
00016 };
00017
00018 namespace ecrobot
00019 {
00058 class I2c
00059 {
00060 public:
00070 explicit I2c(ePortS port, ePower power=POWER_LOWSPEED);
00071
00077 virtual ~I2c(void);
00078
00086 bool send(U32 address, U8* data, U32 length);
00087
00095 bool receive(U32 address, U8* data, U32 length) const;
00096
00097 protected:
00103 inline ePortS getPort(void) const { return mPort; }
00104
00105 private:
00106 ePortS mPort;
00107 };
00108 }
00109
00110 #endif