The Netduino forums have been replaced by new forums at community.wildernesslabs.co.
This site has been preserved for archival purposes only
and the ability to make new accounts or posts has been turned off.
With this firmware, you will have the following resources available for your code:
384KB Flash
100KB+ RAM
This firmware includes the following update:
1. I2C bugfix (SDA/SCL pins now configured properly)
To find the current version of your Netduino firmware:
1. Go to the Start Menu > Programs > Microsoft .NET Micro Framework 4.2 > Tools
2. Run MFDeploy.exe. Be careful to run MFDeploy.exe and not MFDeploy.exe.config (as file extensions are hidden by default)
3. Plug your Netduino into your PC using a Micro USB cable.
4. In the Device section at top, select USB instead of Serial. Your Netduino should appear in the drop-down; if not, select it.
5. Select the Target menu, Device Capabilities option.
6. In the output box, find the "SolutionReleaseInfo.solutionVersion" value. This is your firmware version.
To flash this firmware:
1. Detach your Netduino
2. Press and hold your Netduino's pushbutton while plugging it in via USB; this will put it in bootloader mode.
3. Erase the firmware on your Netduino using the STDFU Tester application
> a. Select the "Protocol" tab
> b. Press the "Create from Map" button
> c. Select the "Erase" radio button option
> d. Press the "Go" button
> e. Wait for erase process to complete
4. Flash the attached .DFU file using the ST DfuSe Demonstrator application (included with STDFU Tester)
> a. Locate the "Upgrade or Verify Action" pane (bottom-right pane)
> b. Press "Choose..." and select the attached DFU file
> c. Check the "Verify after download" option
> d. Press "Upgrade". It will take a few minutes to update your Netduino.
> e. Detach and reattach your Netduino (power cycle) or press "Leave DFU mode"
Enjoy, and please let us know if you run into any troubles.
A few quick notes (known issues, temporary workarounds, etc.):
I2C bug fix
The I2C pins weren't getting fully configured in the previous firmware. Oddly it was working in particular test circumstances but not in more general cases. We have updated the configuration and tested it with the Gravitech 7-Seg shield. Please let us know if it works (or doesn't work for you).
If you are using shields with I2C on A4/A5, add jumper wires between A4/A5 and SDA/SCL and your code should work great. This is required for the revised Arduino R3 layout.
That said...we will also be adding a software I2C feature to Netduino Plus 2 in late December. This will enable A4/A5 to be used with I2C devices mirroring the SDA/SCL pins. You'll also be able to use A4/A5 as a second I2C bus, in addition to the dedicated SDA/SCL pins.
Our goal is to maintain as close to 100% backwards-compatibility as possible, even while getting all the new features and hardware upgrades--and even with the new MCU architecture.
Static IP and MAC Address settings
We have been made aware that the ENC28J60 driver is ignoring the MAC and IP settings saved in the flash configuration. This is something we'll be addressing in a 4.2.1.2 update shortly.
Most users use DHCP so this may not affect you. If it does, please use the NETMF NetworkInterface class in your code to set the IP address and/or MAC manually. This is just a workaround, and we'll have a permanent fix soon.
AnalogInput and PWM classes
The legacy SecretLabs.NETMF.Hardware.AnalogInput and SecretLabs.NETMF.Hardware.PWM classes have been replaced by the new "standardized" Microsoft.SPOT.Hardware.AnalogInput and Microsoft.SPOT.Hardware.PWM classes.
We have heard from many users who want to use their existing code, using the legacy classes, with the new hardware. It's requiring a bit of plumbing work, but we'll have an update soon which enables you to use the legacy classes with the new hardware.
In the meantime, you can use the new standardized classes with the AnalogChannels.### and PWMChannels.### enumerations. Please note that "s" at the end of these names.
Netduino SDK 4.2.1.x December update
Normally with .NET MF, anytime you change boards you need to remove the current Hardware Provider and replace it with the target board's Hardware Provider DLL.
With Netduino Plus 2, we've designed a new mechanism for the Netduino hardware provider (SecretLabs.NETMF.Hardware.Netduino.dll). This mechanism allows you to deploy Netduino projects to Netduino Plus 2 without changing the Hardware Provider DLL in your project references.
We will be taking this a step further in the December SDK update, enabling Netduino Plus 1 projects to be upgraded to Netduino Plus 2 without changing out the Hardware Provider DLL.
In the meantime, if you are upgrading your Netduino Plus 1 projects to Netduino Plus 2:
Remove the SecretLabs.NETMF.Hardware.NetduinoPlus.dll reference from your project.
Add the SecretLabs.NETMF.Hardware.Netduino.dll reference to your project
Change the deployment target in Project Properties > .NET Micro Framework.
Final note
We'll have more updates soon. As with all Secret Labs products, we want to make sure everyone is having a great experience with their new hardware.
Thank you to all of you who are picking up Netduino Plus 2 and pushing all the edge cases,
You are correct... it is NOT working. We're having a discussion in several threads about it. I've done some testing today with several scenarios and I cannot get it working either.
Just applied this update. It worked for me with Netduino Plus 2 using Adafruit RGB LCD Shield. Before this fix, I couldn't get I2C to work at all. Thanks for the update guys!
Just applied this update. It worked for me with Netduino Plus 2 using Adafruit RGB LCD Shield. Before this fix, I couldn't get I2C to work at all. Thanks for the update guys!
Awesome. Let us know if you run into any other troubles!
With this firmware, you will have the following resources available for your code:
384KB Flash
100KB+ RAM
This firmware includes the following update:
1. I2C bugfix (SDA/SCL pins now configured properly)
To find the current version of your Netduino firmware:
1. Go to the Start Menu > Programs > Microsoft .NET Micro Framework 4.2 > Tools
2. Run MFDeploy.exe. Be careful to run MFDeploy.exe and not MFDeploy.exe.config (as file extensions are hidden by default)
3. Plug your Netduino into your PC using a Micro USB cable.
4. In the Device section at top, select USB instead of Serial. Your Netduino should appear in the drop-down; if not, select it.
5. Select the Target menu, Device Capabilities option.
6. In the output box, find the "SolutionReleaseInfo.solutionVersion" value. This is your firmware version.
To flash this firmware:
1. Detach your Netduino
2. Press and hold your Netduino's pushbutton while plugging it in via USB; this will put it in bootloader mode.
3. Erase the firmware on your Netduino using the STDFU Tester application
> a. Select the "Protocol" tab
> b. Press the "Create from Map" button
> c. Select the "Erase" radio button option
> d. Press the "Go" button
> e. Wait for erase process to complete
4. Flash the attached .DFU file using the ST DfuSe Demonstrator application (included with STDFU Tester)
> a. Locate the "Upgrade or Verify Action" pane (bottom-right pane)
> b. Press "Choose..." and select the attached DFU file
> c. Check the "Verify after download" option
> d. Press "Upgrade". It will take a few minutes to update your Netduino.
> e. Detach and reattach your Netduino (power cycle) or press "Leave DFU mode"
Enjoy, and please let us know if you run into any troubles.
Chris
Hi Chris:
I followed your instructions to flash the attached dfu file (after erasing the firmware), but when I choose the dfu file (which I unzipped first), it leaves the upgrade button grayed out (inactive), although it says "File Correctly loaded" at the bottom of the form. I did check the verify after download button as well. I tried this several times. I am stuck!
I followed your instructions to flash the attached dfu file (after erasing the firmware), but when I choose the dfu file (which I unzipped first), it leaves the upgrade button grayed out (inactive), although it says "File Correctly loaded" at the bottom of the form. I did check the verify after download button as well. I tried this several times. I am stuck!
Thanks in advance for your help.
Mike Saunders
Did you experience any issues while using STDFU Tester to erase the board?
If your board is not in bootloader mode, the Upload/Download buttons will be grayed out.
My first recommendation is to unplug and re-attach your Netduino Plus 2 (while holding down its pushbutton to put it into bootloader mode) and then start up Dfuse again.
If it still doesn't work, could you please take a screenshot and post it here so we can help diagnose the issue?
I updated today because I needed to get I2C working (was previously using 4.2.1.0 and logic analyzer wouldn't see anything on SDA/SCL). Anyhow, the process worked fine and I was able to upload, but during verification the app keeps crashing. I ended up power cycling the N+2 and MFDeploy shows the following:
HalSystemInfo.halVersion: 4.2.0.0HalSystemInfo.halVendorInfo: Netduino Plus 2 (v4.2.1.1) by Secret Labs LLCHalSystemInfo.oemCode: 34HalSystemInfo.modelCode: 177HalSystemInfo.skuCode: 4102HalSystemInfo.moduleSerialNumber: 00000000000000000000000000000000HalSystemInfo.systemSerialNumber: 0000000000000000ClrInfo.clrVersion: 4.2.0.0ClrInfo.clrVendorInfo: Netduino Plus 2 (v4.2.1.1) by Secret Labs LLCClrInfo.targetFrameworkVersion: 4.2.0.0SolutionReleaseInfo.solutionVersion: 4.2.1.1SolutionReleaseInfo.solutionVendorInfo: Netduino Plus 2 (v4.2.1.1) by Secret Labs LLCSoftwareVersion.BuildDate: Nov 30 2012SoftwareVersion.CompilerVersion: 410894FloatingPoint: TrueSourceLevelDebugging: TrueThreadCreateEx: TrueLCD.Width: 0LCD.Height: 0LCD.BitsPerPixel: 0AppDomains: TrueExceptionFilters: TrueIncrementalDeployment: TrueSoftReboot: TrueProfiling: FalseProfilingAllocations: FalseProfilingCalls: FalseIsUnknown: False
Honestly, I do not understand what each line item means, but it shows 4.2.1.1 in several places, so do you think it flashed ok?
EDIT -- ok, my guess is "no". I went ahead and debugged my app, and I2C started to work. However, the 2nd time I went to run my app, it failed to deploy.
This happens to me *a lot*, and I used to just disconnect / reconnect the N+2. However, this often results in a BSOD, so I started to disable the device in the Device Manager, unplug / replug, then enable the Netduino.
Unfortunately, now it just come up as "Unknown Device". Since Windows already knew what the N+2 was and now it doesn't, all I can assume is that something is messed up internally now. Any ideas?
There's a 4.2.2? I usually don't keep up with updates unless something is busted. I found 4.2.1.1 via my I2C problems and searching. So I guess I'll try 4.2.2 now and see what happens. Thanks for posting! I'll compare your info to mine once I'm done.
Bummer, I cannot update my firmware because STDFU no longer recognizes the device. I held Reset and plugged in, then ran STDFU and nothing shows up in the device list. I'll try rebooting, since that actually worked for me on another firmware upgrade issue in the past with the Netduino Plus.
Sorry, I should have just tried rebooting before that last post. I did that and it was able to reflash. However, it is still crashing after the upload. I'll check my settings vs. carb's, and will try debugging my app again. Perhaps I should try the x32 version even though I'm on x64.
EDIT -- everything seems to be working even though verification crashed. I can run my app again!