Some useful starters can be found here
and in the connected GitHub repo
With the hints and tips in there I wouldn’t see any problem porting that library.
Just one thing in addition to that. For the .cpp
file you could do this
/**************************************************************************/
/*!
@brief Abstract away platform differences in Arduino wire library
*/
/**************************************************************************/
static uint8_t i2cread(void) {
#if defined(SPARK) || (ARDUINO >= 100)
return Wire.read();
#else
return Wire.receive();
#endif
}
/**************************************************************************/
/*!
@brief Abstract away platform differences in Arduino wire library
*/
/**************************************************************************/
static void i2cwrite(uint8_t x) {
#if defined(SPARK) || (ARDUINO >= 100)
Wire.write((uint8_t)x);
#else
Wire.send(x);
#endif
}