21 #ifndef SOFT_I2C_MASTER 22 #define SOFT_I2C_MASTER 23 #if defined(ARDUINO) && ARDUINO >= 100 31 #define I2C_DELAY_USEC 30 54 uint8_t
start(uint8_t addressRW);
60 uint8_t
restart(uint8_t addressRW);
63 uint8_t
write(uint8_t b);
66 uint8_t
read(uint8_t last);
72 void initProtocol(uint8_t sclPin = (uint8_t)NULL, uint8_t sdaPin = (uint8_t)NULL);
75 uint8_t*
readRegisters(uint8_t startRegister, uint8_t bytes, uint8_t* buf = NULL);
85 bool writeByte (uint8_t location, uint8_t data);
91 bool writeLong (uint8_t location, uint32_t data);
94 char*
readString(uint8_t startRegister, uint8_t bytes, uint8_t* buf = NULL, uint8_t len=0);
103 uint32_t
readLong (uint8_t location);
124 #endif //SOFT_I2C_MASTER This class implements software i2c interface used by EVShield/NXShield on Arduino.
Definition: SoftI2cMaster.h:40
void stop(void)
Definition: SoftI2cMaster.cpp:119
char * readString(uint8_t startRegister, uint8_t bytes, uint8_t *buf=NULL, uint8_t len=0)
Definition: SoftI2cMaster.cpp:241
uint8_t restart(uint8_t addressRW)
Definition: SoftI2cMaster.cpp:95
bool writeByte(uint8_t location, uint8_t data)
Definition: SoftI2cMaster.cpp:211
int16_t readInteger(uint8_t location)
Definition: SoftI2cMaster.cpp:262
uint8_t write(uint8_t b)
Definition: SoftI2cMaster.cpp:128
char * getFirmwareVersion()
Definition: SoftI2cMaster.cpp:297
uint8_t readByte(uint8_t location)
Definition: SoftI2cMaster.cpp:253
char * getDeviceID()
Definition: SoftI2cMaster.cpp:307
uint8_t read(uint8_t last)
Definition: SoftI2cMaster.cpp:69
bool checkAddress()
Definition: SoftI2cMaster.cpp:314
bool writeRegisters(uint8_t location, uint8_t bytes_to_write, uint8_t *buffer=0)
Definition: SoftI2cMaster.cpp:197
bool setAddress(uint8_t address)
Definition: SoftI2cMaster.cpp:324
bool writeRegistersWithLocation(int bytes, uint8_t *buf)
Definition: SoftI2cMaster.cpp:186
uint32_t readLong(uint8_t location)
Definition: SoftI2cMaster.cpp:272
void initProtocol(uint8_t sclPin=(uint8_t) NULL, uint8_t sdaPin=(uint8_t) NULL)
Definition: SoftI2cMaster.cpp:34
uint8_t * readRegisters(uint8_t startRegister, uint8_t bytes, uint8_t *buf=NULL)
Definition: SoftI2cMaster.cpp:154
uint8_t * _so_buffer
Definition: SoftI2cMaster.h:51
uint8_t getWriteErrorCode()
Definition: SoftI2cMaster.cpp:290
bool writeInteger(uint8_t location, uint16_t data)
Definition: SoftI2cMaster.cpp:218
uint8_t start(uint8_t addressRW)
Definition: SoftI2cMaster.cpp:110
bool writeLong(uint8_t location, uint32_t data)
Definition: SoftI2cMaster.cpp:228
char * getVendorID()
Definition: SoftI2cMaster.cpp:302
SoftI2cMaster(uint8_t devAddr)
Definition: SoftI2cMaster.cpp:27