Two new software I2C libraries are contained in DigitalIO20130221.zip http://code.google.com/p/rtoslibs/downloads/list
. Future updates will be posted on the RTOS libs site.
Here are two i2c libraries i promised to post.
I wrote these libraries for use with simple slave devices like real time clocks, EEPROM, ADCs, and simple sensors.
The interrupt driven Arduino Wire library has a number of disadvantages for these simple devices where the Arduino is the master. The Wire library has limited transfer size due to buffer restrictions, is hard to debug since it is interrupt driven, and only supports the TWI hardware pins.
There are two libraries, SoftI2cMaster and TwiMaster. They are both derived from a TwoWireBase base class. This allows applications to use either library by only changing the init() call in setup().
SoftI2cMaster is a software i2c library that can use any two Arduino pins for SCL and SDA. It has an i2c clock rate of about 65 kHz.
TwiMaster uses the ATmega TWI hardware so you must use the hardware SCL and SDA pins. It is setup with a i2c clock rate of 400 kHz.
26 Dec 2011 new version as file i2cv2.zip