I am writing a driver for 4.3. I have found one inaccurate exception message. There is this line in hardware I2C code:
http://gadgeteer.codeplex.com/SourceControl/latest#Main/GadgeteerCore/Gadgeteer43/SocketInterfaces/Native/NativeI2CBus.cs
if (count != transacted)
throw NewLengthErrorException();
The line above calls the following method:
http://gadgeteer.codeplex.com/SourceControl/latest#Main/GadgeteerCore/Gadgeteer43/SocketInterfaces/Interfaces/I2CBus.cs
internal Exception NewLengthErrorException()
{
return new ApplicationException("SoftwareI2C: Exception writing to device at address " + this.Address + " - perhaps device is not responding or not plugged in.");
}
But it is Hardware I2C (NativeI2CBus), not Software.