The fastest general purpose I2C driver is the one that's part of FemtoBasic (download FemtoBasic from the Object Exchange and look at sdspiFemto.spin). It's faster than 100KHz, but not quite fast enough to handle 400KHz. It probably could be rewritten from scratch to be faster and, if some of the generality were left out, it could be much faster.
If you need more speed, consider switching to similar devices with an SPI interface. It's much easier to produce faster I/O drivers using SPI.
We use an spi bus for the sd card but the keyboard and touch control chip run off the I2C bus.
I really enjoyed the propeller conference, we were the guys demonstrating the PoS terminal
with the big color display and Pad with the BioMetric finger scanner.
The driver from FemtoBasic also does SD card SPI. It's not quite as fast as Rokicki's assembly SD card driver, but it's pretty good. There's a modified version of Rokicki's SD card file system that's part of FemtoBasic (fsrwFemto.spin) that uses this SPI driver.
Comments
If you need more speed, consider switching to similar devices with an SPI interface. It's much easier to produce faster I/O drivers using SPI.
We use an spi bus for the sd card but the keyboard and touch control chip run off the I2C bus.
I really enjoyed the propeller conference, we were the guys demonstrating the PoS terminal
with the big color display and Pad with the BioMetric finger scanner.
Russ