GHI Electronics NETMF SDK 2015 R1 Pre-Release 2

Today we are announcing the final preview release for the 2015 NETMF and Gadgeteer SDK. We added a new capacitive touch feature (technically called Pulse Feedback) which allows you to use almost anything as an input for your project. For example, a few days ago we had a picnic to celebrate…well just to celebrate being awesome and because we are nerds, we turned someones lunch into a 3 key piano! ;D

This preview release is the final preview before we release the officially supported 2015 NETMF and Gadgeteer SDK. So please take this opportunity to download and use this preview SDK. We will continue releasing BETA SDKs but this will be your last opportunity to address anything related to the official 2015 release.

2015 NETMF and Gadgeteer R1 Pre-Release 2 SDK:
Pulse FeedBack Detail:


What’s the part number for the hot dogs? Or, can you send me a link to the (sausage-)links?

@ mcalsyn -

1 Like

Good job!

Feeling hungry now. ;D One hour till lunch :frowning:

Good Job


1 Like

Can’t see the video as the knobs in government here have blocked Vimeo due to so called “porn” content. Twats have no idea what porn is in the first place.


@ Architect - I just grabbed something from the food truck…probably not the best idea but i’m not hungry anymore! ;D

@ Dave McLaughlin - I will try to email you the original.

Food porn :wink:

I have a need for the G400-D (v1.3) to operate as a USB Device with a vendor defined class, the other hardware is a G400HDR, USB Client DP powered from an adapter, and the RS-232 module on COM1. I will eventually need a IN / OUT Bulk endpoints and an IN Interrupt endpoint.

For software I started with this code from the link below, but only the USB Device. I plan on using WinUSB with WMI to discover the USB device.

I am using the Pre-Release 2 build with serial port to output flow statements to COM1, also have set the USB vendor to 0x1B9F and USB product ID to 0x0102, and Revision to 0x200. Visual Studio is not running for the test. Pressing the reset button will repeat the same results. (I have modified the manufacture strings as well.)

The issue I am having is that the following line of code throws an exception.
usbStream = usbController.CreateUsbStream(WRITE_EP, READ_EP);

I tried this on a second Windows system that does not have the GHI USB drivers installed and the results are the same.

My COM1 outputs this from the catch exception handler, usbController.ConfigurationError.ToString() is zero or ConfigOK

Also the Windows device manager displays, "Unknown USB Device(Device Descriptor Request Failed).

Something likely changed since Pre-Release 1 of this SDK, as the G400-D had to be completely re-initialized with TinyBoot Loader, and TinyCLR, this release I can just deploy new code as needed.

Not sure if there is anything else I can try at this point. I have read the note about USB Custom Devices and how the registry can retain a bad configuration.

@ PHITEK - Your same code worked in pre-release 1?

No the Pre-Release 1 code would crash and corrupt or erase the TinyBoot Loader, requiring a complete re-install.

I don’t know the what the ConfigurationError code was, but device manager showed the same failure to get the device descriptors.

@ PHITEK - Did the code ever function on any of our SDKs?

@ John - Good question John, the discussion link states that “It should run on any NETMF board that supports Microsoft.SPOT.Hardware.Usb …I suppose your board also needs free endpoints, etc. But basically, if you debug via USB I think this code will work on your board.” Most of the other messages describe issue with debugging of a the same USB port.

Unfortunately I do not have access to a USB Analyzer at this time, I have a few weeks to decide to use off the shelf USB Data Acquisition, a GHIElectronics SoC running .NETMF, or a more typical embedded solution. I have the OTS approach working now, have started the evaluation some Microchip controllers (past experience with the non-USB devices in a Fax PBX / DID solution, and over the past two years I have evaluated the G400-D, these previous projects require lossless serial port operation. We are replacing the dependency on serial ports with USB connections. It would be nice to have our main control program in .NET 4.x and switch to .NETMF for the distributed control of devices.

If we move away from the OTS solution, then we will purchase a USB Analyzer.

@ PHITEK - If you are using USB client functionality, you cannot use USB debugging, you’ll have to switch to serial.

I just plugged the G400-D in to a Windows XP system that has never had a G400-D attached or GHI SDKs installed, the device manager shows Unknown Device, the Hardware Id shows “USB\UNKNOWN” with the same ConfigurationError of ConfigOK

@ John - Understood, I just mentioned that as most of the discussion thread are using USB for debugging.

@ PHITEK - If you run the codeshare entry you linked as is, except for updating to 4.3, does it function?

@ John - No it does not, I always get that error in device manager, get descriptors failed.

That’s why I switched to using COM1 to put trace statements in to determine where the crash was occurring, grant it that test of the original code was on Pre-Release 1 where every time I tried something the TinyBoot loader would require re-installation.

On Pre-Release 2 I have COM1 output.
Also even if I leave the USB cable disconnected, I get the same configuration.error = ConfigOK in the exception handler.

I have several G400-D maybe I should try another one, to see what the behaviour is.

@ PHITEK - Trying a second one would be useful. If that still fails, you can get us a small test program that fails and we can try it out.