Who is up for a challenge? Software I2C

It’s an OEM device, I2C is just a wrapper around another protocol. Datasheet / protocol is not freely available.

I had the same when writing the driver for CRX14 chip. The standard I2C was not flexible enough to implement the I2C protocol ST used in this chip. I ended up using the software version accepting the delay.

That’s not an option in my case. Our current solution had software I2C of around 33khz, which I increased to 60khz to improve performance. 1.5 is way to slow…

Would it be an option to use the DirectI2CReadWrite method?

Funny how you ask us, while you’re the only one that can try it :slight_smile:

I would look for hardware i2c controlled from rlp using interrupts.

:slight_smile: That’s not completely true of course. I’m asking for the possibility to read and write bytes to the I2C port instead of using transactions which works on complete blocks.

I’m hoping to put my solution in a USBizi, but SystemUpdate that 48k, RLP takes another 10k… every time a bit (byte :wink: ) is taken of the available space…

You should be able to get directly to the I2C hardware through the Register class. Have a look in the processor’s data sheet if the mode you’re looking for can be done.

Is the OSH from GHI library also open source / available? If so, I could implement my own ReadByte and WriteByte there :slight_smile:

Also, I did a lot of looking at the LPC23XX I2C interface specification. Using the Register class should be possible. I’m just wondering if that will have more speed. Is the Register class a bit fast?

Yes! Browse the source under FEZ Hydra here:

http://gadgeteer.codeplex.com/SourceControl/changeset/view/15256