Di8 vs. IO8 (Cobra vs. Domino)

While attempting to get a OneWire temperature sensor working on my new cobra Visual C# kept telling me that “FEZ_Pin.Digital doesn’t contain a definition for Di8” which is used in the example on the wiki. It would also tell me this for the “Di6” used in Chris’s example on fezzer.com

Looking through the object browser at the FEZDomino_GHIElectronics.NETMF.F​EZ and FEZCobra_GHIElectronics.NETMF.FE​Z assemblies shows that the naming convention between the two boards differs. On the FEZ Cobra they’re simply referred to as “IO6” or “IO8”.

Just a quick question, is this by design or a mistake? At the very least it introduces small stumbling blocks to making your code portable across the various FEZ devices.


When a pin is named IO then this is the real pin number
IO6 = 6

When pin is named Di then this is done for compatibility reasons with arduino
Di6 does NOT equal 6

With that said, you do not need to know this info. Just use the pins as they are labeled on FEZ board

Okay, that makes sense. I’ll just have to keep it in mind.

On another note, I think I’ll make a spreadsheet of all the cobra’s available pins that I can print so that as I use a pin in a project I can mark it off. Kind of a quick-reference to what’s still available.