How reliable is software I2C?

@ iamin - Wow! Those are definitely some huge differences. Thanks for doing the analysis. I wonder if the SW-GHI is so much faster than the SW-MS because they are utilizing some of their proprietary firmware functions or if it is truly a difference in how its written in the managed code. If its the latter then I think the responsible thing for GHI to do is to share back to the open source project to help improve the platform.

You should add your bugs to the Task Tracker so they are not overlooked.

@ ianlee74 - SW-GHI is done in unmanaged code and that’s why it is fast. SW-MS is fully written in managed code.

Regarding the Task Tracker, I will wait till Monday. Let’s see what @ John has to say about it.

@ iamin - We haven’t tried to reproduce them yet, but 2 and 3 definitely sound like bugs that we’ll look into and fix if confirmed.

For the pull ups, that is something we can look into adding. The blocking request is a bit more difficult. I agree it would be helpful, but it would take a serious reworking of our implementation so I would not expect seeing it any time soon.

We will also review the behavior you mentioned in issue 1.

After noticing some very slow perf on a Gadgeteer project that use the old FMRadio module, I discovered this thread. It would be very cool if there were an easy method to inject the GHI software I2C implementation into the Gadgeteer code. I pulled down the source and had a quick look, but I don’t have time to work on this just yet. Has anyone else, tried such a thing?

Stacy