Note that I am currently investigating an error in I2C_HW.LIB from the 10.72B release, related to how we processed the slave address in calls to I2CRead() and I2CWrite().
Previous versions of those calls for software-based I2C expected the slave address as the upper 7 bits of a byte, but a change to 10.72B expected them as the lower 7 bits.
I intend to revert the change for the upcoming 10.72C release. To write code compatible with both 10.72B and 10.72C, you'll need to use conditional code to define the device addresses, like so:
Code:
#if defined(I2C_USE_RABBIT_HW) && !defined(CC_REV)
// Unlike other releases, DC 10.72B expects the address in lower 7 bits.
#define ADP5585_ADDRESS 0x34
#else
// I2CRead() and I2CWrite() expect slave address in upper 7 bits.
#define ADP5585_ADDRESS (0x34 << 1)
#endif