I2C - cerbuino

I am just trying out the I2C feature and have a couple of questions:

I saw that I can choose between hardware and software I2C. But I wonder why in software I2C there is no parameter to set the clock rate?

Also when using software I2C: Is it possible to use the internal pullup resistor for the bus? How is that configured in code?

Is there any possibility to act as slave device, i.e. to answer an request which comes from a master device? If yes, how can I do this?

@ Alex111 - We do not currently expose control of the clock or pull up resistors. Pull ups are automatically enabled by the software I2C driver. It is also not possible to act as a slave using our implementation.

Thanks John,

well then the only option for slave is native code at the moment? Ar you aware of any solutions?

@ Alex111 - The only option for the device acting as an I2C slave is for you to write your own implementation in C#.

I feared that I will get this answer. Wouldn’t C# be too slow for this?

@ Alex111 - It depends on the nature of the application you are running.

Thanks for the information. Will have to read more about the I2C internals first, to see how complicated an implementation would be…