7 // Does not define slave RX statuses. Bus errors (I2C_STAT == 0) is remapped
8 // to I2CERR_ERROR in i2cStatus() so that we can use a value of 0 to indicate
18 I2CERR_TIMEOUTACKPOLL,
19 I2CERR_NOTIMPLEMENTED,
22 I2CERR_BUSERRORx = 0x00,
23 I2CERR_STARTTX = 0x08,
24 I2CERR_REPEATEDSTARTTX = 0x10,
25 I2CERR_SLAWTX_ACKRX = 0x18,
26 I2CERR_SLAWTX_NACKRX = 0x20,
27 I2CERR_DATTX_ACKRX = 0x28,
28 I2CERR_DATTX_NACKRX = 0x30,
29 I2CERR_ARBLOST = 0x38,
30 I2CERR_SLARTX_ACKRX = 0x40,
31 I2CERR_SLARTX_NACKRX = 0x48,
32 I2CERR_DATRX_ACKTX = 0x50,
33 I2CERR_DATRX_NACKTX = 0x58,
41 extern i2cErr_e i2cErrno;
47 int i2cGetErrno (void);
48 const char *i2cStrerror (int err);
49 void i2cSetTimeout (unsigned int timeoutInMilliseconds);
51 int i2cWriteBuffer (U8 address, U8 *buffer, U32 bufferLength);
52 int i2cReadBuffer (U8 address, U8 *buffer, U32 bufferLength);
53 int i2cWriteReadBuffer (U8 address, U8 *buffer, U32 putLength, U32 getLength);
54 int i2cWriteBufferPoll (U8 address, U8 *buffer, U32 bufferLength);
55 int i2cWriteReadBufferPoll (U8 address, U8 *buffer, U32 putLength, U32 getLength);