Hello
I use for more months Cerb40 with MF4.2 and GHI SDK 2014-R1 without problem for Analog and Digital inputs, all run very well.
My MF4.2 code is here:
m_pinADC0 = new AnalogInput(Cpu.AnalogChannel.ANALOG_3); // Pin PC0
m_pinADC1 = new AnalogInput(Cpu.AnalogChannel.ANALOG_4); // Pin PC1
m_pinADC2 = new AnalogInput(Cpu.AnalogChannel.ANALOG_6); // Pin PC2
m_pinADC3 = new AnalogInput(Cpu.AnalogChannel.ANALOG_7); // Pin PC3
m_pinIN0 = new InputPort(GHI.Hardware.FEZCerb.Pin.PA0, true, Port.ResistorMode.Disabled); // Pin PA0
m_pinIN1 = new InputPort(GHI.Hardware.FEZCerb.Pin.PA1, true, Port.ResistorMode.Disabled); // Pin PA1
m_pinIN2 = new InputPort(GHI.Hardware.FEZCerb.Pin.PA2, true, Port.ResistorMode.Disabled); // Pin PA2
m_pinIN3 = new InputPort(GHI.Hardware.FEZCerb.Pin.PA3, true, Port.ResistorMode.Disabled); // Pin PA3
m_pinIN4 = new InputPort(GHI.Hardware.FEZCerb.Pin.PB6, true, Port.ResistorMode.Disabled); // Pin PB6
m_pinIN5 = new InputPort(GHI.Hardware.FEZCerb.Pin.PB7, true, Port.ResistorMode.Disabled); // Pin PB7
m_pinIN6 = new InputPort(GHI.Hardware.FEZCerb.Pin.PB8, true, Port.ResistorMode.Disabled); // Pin PB8
m_pinIN7 = new InputPort(GHI.Hardware.FEZCerb.Pin.PC12, true, Port.ResistorMode.Disabled); // Pin PC12
Now I have migrate on MF4.3 and GHI SDK 2014-R5.
I have just adapted my code with new GHI namespaces.
Here my MF4.3 code:
m_pinADC0 = new AnalogInput(Cpu.AnalogChannel.ANALOG_3); // Pin PC0
m_pinADC1 = new AnalogInput(Cpu.AnalogChannel.ANALOG_4); // Pin PC1
m_pinADC2 = new AnalogInput(Cpu.AnalogChannel.ANALOG_6); // Pin PC2
m_pinADC3 = new AnalogInput(Cpu.AnalogChannel.ANALOG_7); // Pin PC3
// New syntax for MF4.3 and GHI SDK 2014-R5
m_pinIN0 = new InputPort(GHI.Pins.Generic.GetPin('A', 0), true, Port.ResistorMode.Disabled); // Pin PA0
m_pinIN1 = new InputPort(GHI.Pins.Generic.GetPin('A', 1), true, Port.ResistorMode.Disabled); // Pin PA1
m_pinIN2 = new InputPort(GHI.Pins.Generic.GetPin('A', 2), true, Port.ResistorMode.Disabled); // Pin PA2
m_pinIN3 = new InputPort(GHI.Pins.Generic.GetPin('A', 3), true, Port.ResistorMode.Disabled); // Pin PA3
m_pinIN4 = new InputPort(GHI.Pins.Generic.GetPin('B', 6), true, Port.ResistorMode.Disabled); // Pin PB6
m_pinIN5 = new InputPort(GHI.Pins.Generic.GetPin('B', 7), true, Port.ResistorMode.Disabled); // Pin PB7
m_pinIN6 = new InputPort(GHI.Pins.Generic.GetPin('B', 8), true, Port.ResistorMode.Disabled); // Pin PB8
m_pinIN7 = new InputPort(GHI.Pins.Generic.GetPin('C',12), true, Port.ResistorMode.Disabled); // Pin PC12
At the execution, I have an exception ‘System.InvalidOperationException’ in Microsoft.SPOT.Hardware.dll" for the lines:
m_pinADC2 = new AnalogInput(Cpu.AnalogChannel.ANALOG_6); // Pin PC2
and
m_pinIN2 = new InputPort(GHI.Pins.Generic.GetPin(‘A’, 2), true, Port.ResistorMode.Disabled); // Pin PA2
All other lines are corrects.
I do not understand why I have theses errors.
Reference : https://www.ghielectronics.com/docs/44/fez-cerb40-developer