Main Site Documentation

Mountaineer button fails after Ethernet connect

The Release Notes for “GHI Gadgeteer SDK for NETMF version 4.2.100” say it’s built with “Microsoft .NET Micro Framework v4.3 (RTM)”. That’s why I thought it should be compatible with v4.3.

So am I urgently requesting support for .NET 4.3. Please consider also the latest build of Microsoft Gadgeteer Core (2.43.800), so that it’s in line with the Mountaineer SDK.

I’d suggest you split the SDK into two separate lines. One supporting VS2010 with .NETMF 4.2. Another one supporting VS2012 with .NETMF 4.3. It should be possible to install both packages side-by-side.

The current versioning schemes are pure nightmares. Reminds me of the worst days of DLL hell back in Windows 3.1.

Thanks for listening.

it is compatible with 4.3 (RTM). The specific Gadgeteer drivers however are only “linked” to 4.2. That’s why if you create a new project with Gadgeteer 4.2 you will see the modules in the designer, even when you have VS2012 and Netmf SDK 4.3(RTM) installed.

Codeplex can help you if you want the drivers, all the source is there. Include them in your program and you’re done. That should be an OK workaround, until GHI release what Gus mentioned he’d request.

@ Brett - You mean I should use a copy of the drivers’ source code instead of referencing the compiled DLL? Yes, I could do this to get the program compiled. But I’m afraid it won’t let me use the graphical designer any more to open the Program.gadgeteer file.

@ candritzky - It’s pretty simple to create install versions for using the designer.

As Brett mentioned you can grab the source and re target to 4.3

The biggest change from 4.2 to 4.3 is you now need to use factory methods for all the IO stuff.

Individual installs of each module is easier than one SDK but that’s not that hard…

@ Justin - Building the install versions turned out to be a problem since I have WiX 3.7 installed on my dev machine and I cannot downgrade to WiX 3.5 because I have many other projects dependent on WiX 3.7. The .NET Gadgeteer module templates are not compatible with WiX 3.7.

I don’t understand why the installers are generated from “dummy” C# class library projects instead of using .wixproj project files. I’d like to migrate them to true .wixproj files, but I guess this needs to be done somewhere down in the Gadgeteer module templates, and also all existing projects had to be adjusted and possibly split into two .wixprojects (one for the MSM, another one for the MSI).

@ candritzky - You can and i do use 3.7

You just need to create a new project after installing Wix

You probably cant open an existing solution if it targets 3.5 so start a new module project and away you go.

@ andre.m - i remembered your post and was going to point to it but couldn’t find it…

@ andre.m - i did…honest…

@ andre.m - :slight_smile:

OK, I copied the source code for the GHI Button and Display_HD44780 modules into my .NET 4.3 project and adjusted the code to compile with the Gadgeteer 2.43.800 DLL (namely used the factory methods for DigitalOutput, InterruptInput etc. as suggested by Justin).

The program compiles fine, but when linking, I get the following error:

1>MyProjectName : error MMP0000: Cannot resolve type Gadgeteer.SocketInterfaces.InterruptInputFactory from assembly MyProjectName!
1>MMP : error MMP0000: CLR_E_FAIL

What is wrong here? The InterruptInputFactory class is definitely part of the Gadgeteer.dll that I am referencing (I checked that using .NET Reflector).

Have you created a module or a kit?

Neither. I just wanted to have drivers (=“wrappers”, “helpers”) for the button and HD44780 display. I just added the two source files to my target .NETMF 4.3 application.

these are the 3 lines that need to change

this.input = GTI.InterruptInputFactory.Create(socket, GT.Socket.Pin.Three, GTI.GlitchFilterMode.On, GTI.ResistorMode.PullUp, GTI.InterruptMode.RisingAndFallingEdge, this);
this.input.Interrupt += _input_Interrupt;
this.led = GTI.DigitalOutputFactory.Create(socket, GT.Socket.Pin.Four, false, this);

I have created a installer if you want to try…

Button and display installers if you want to try (totally untested as per normal) :slight_smile:

@ Justin - Thank you so much for your support.

I found the cause of the problem in the meantime. My solution contained another custom .NETMF class library which was also dependent on the Gadgeteer DLL. This class library still referenced the 4.2 version of the Gadgeteer DLL. After replacing the reference to the Gadgeteer DLL with the 4.3 version, everything built OK.

Cool bananas

@ Cuno - Let me get back to the original issue after having solved all the 4.3 migration issues.

Yes, I can confirm that the problem of non-functional buttons after plugging in the Ethernet connector is solved now. Thanks a lot for fixing it!

Ah, very glad to hear this. Thanks for your testing!