First, we want to thank you all for your patience waiting for 4.2 RTM. We are almost there, as this release covers one of the major areas we wanted done, the networking stack. As our devices handle Ethernet, WiFi and even external Ethernet (ENC28), we had to come up with a good way to handle it all. This release include a very nice DLL to do just that. You can now easily switch between WiFi and Ethernet while still keeping the interfaces available. For example, you can search for WiFi connection while Ethernet is connected an optionally switch when WiFi becomes available.
Also, with this release, we started using the new WinUSB drivers. No more BSoD One note on the drivers, if Windows did not detect the USB drivers automatically, just point it to C:\Program Files (x86)\GHI Electronics\GHI Premium NETMF v4.2 SDK\USB Drivers\GHI_NETMF_Interface
Please do not forget to read the release notes, especially known issues.
RTM release will be done ASAP so we would really appreciate any feedback you may have. If you have problems with the firmware update process then please do not post here. Keep this thread related to issues with the SDK itself, not firmware update
// Create the object
static WiFiRS9110 wifi = new WiFiRS9110(SPI.SPI_module.SPI1, chipSelect, externalInterrupt, resetPin);
// Set the object up
if (!wifi.IsOpen)
wifi.Open();
if (!wifi.NetworkInterface.IsDhcpEnabled)
wifi.NetworkInterface.EnableDhcp();
// Set this as the current interface
NetworkInterfaceExtension.AssignNetworkingStackTo(wifi);
// Subscribe to events
wifi.WirelessConnectivityChanged += new WiFiRS9110.WirelessConnectivityChangedEventHandler(wifi_WirelessConnectivityChanged);
wifi.NetworkAddressChanged += new NetworkInterfaceExtension.NetworkAddressChangedEventHandler(wifi_NetworkAddressChanged);
// Scan for networks
WiFiNetworkInfo[] ScanResp = wifi.Scan();
// Join your network
wifi.Join(ScanResp[myNetwork], PassPhrase);
// And now you are free to use WiFi!
Setting up and using the networking classes is so simple that all the Gadgeteer module drivers do is expose the related members.
Hmm. So does this mean there are still 2 firmware builds? 1 with and 1 without ethernet? Or does this mean it’s one firmware build without ethernet and you just add the appropriate DLL? I guess I will find out when I install the SDK…
Just bought two wifi modules! Can’t wait to try this out!
Yes defiantly. The pin for the oscillator enable is connected is P0.22. I can write the code and test Monday if you want or you can faster. Use Register class to access the pin and set high/low. I think high = on.
Just updated the Spider and the Hydra, first tests look good. I can confirm that the Touch interface interference with the the analog signals on port 14 is resolved!!!
I am trying to get a Spider with a J11D working with little success. Tried to use similar logic to what was posted earlier for WiFi and
a null exception is occurring in the DHCP thread.
Would you have a snippet on how to get Ethernet going in the ProgramStarted() method? Thanks.
I can’t seem to get this to work on my Cerb40. Anyone else have it working on a Cerb-Family device? I flashed the TinyBooter 4.2.3.2 with DFU Tester and Windows sees the Cerb-Family device when I plug it in, but it claims the driver is not found. I checked the box to install the drivers in the SDK. Also, MFDeploy does not see the board. But, as soon as I flash the older TinyBooter 4.2.3.1, it works and shows up in MFDeploy.
UPDATE: I had to go into hardware manager and update the driver manually using the driver at this installed location: C:\Program Files (x86)\GHI Electronics\GHI NETMF USB Driver Set\GHI_NETMF_Interface
After that, it appeared in MFDeploy and I was able to deploy the firmware:
@ Gus - WOW. I can’t get it to Bluescreen! And when I yanked the power cable, Visual Studio politely told me it was waiting 60 seconds to replug (see attachment)! Beautiful! This looks to be fool-proof. Fingers Crossed!