Netduino home hardware projects downloads community

Jump to content


Photo

Netduino Firmware v4.2.0 BETA 1


  • Please log in to reply
83 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 08 June 2011 - 07:53 AM

This release has been replaced by v4.2 RC1

#2 CW2

CW2

    Advanced Member

  • Members
  • PipPipPip
  • 1585 posts
  • LocationCzech Republic

Posted 08 June 2011 - 08:10 AM

Version: 4.2.0 BETA 1 (version 4.2.0.0 b1)

Superb. Are you going to publish the source code as well?

#3 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 08 June 2011 - 08:13 AM

Chris, I guess this firmware is for the Netduino only, not for the Mini nor Plus? Is it possible to use both 4.2 and 4.1 next to each other for those devices? Don't want to break the continuity of my workshop but also want to test 4.2 :)
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#4 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 08 June 2011 - 08:16 AM

The .NET Micro Framework v4.2 Beta 1 SDK includes support for v4.0 and v4.1 projects and firmware as well :)

Firmware for the Netduino Plus is here.

Instructions on how to upgrade to the .NET MF v4.2 Beta 1 SDK are here.

Chris

#5 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 08 June 2011 - 10:23 AM

This firmware requires use of the .NET Micro Framework v4.2 Beta 1 SDK. Users must completely erase and reflash their Netduinos to use this firmware.


Oh dear, that SDK should be possible to be installed with only Visual Basic 2010 Professional installed right? Retorical question actually ;) With only VB2010Pro installed, I get "Microsoft .NET Micro Framework SDK 4.2 (beta) requires Visual C# 2010 to be installed."
I consider that a bug since the SDK is also for Visual Basic. Installing C# helped.
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#6 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 08 June 2011 - 12:22 PM

Just made a step-by-step loading the TinyBooterDecompressor wiki page: http://wiki.netduino...ep-by-step.ashx Also I made a step-by-step flashing the firmware wiki page: http://wiki.netduino...ep-by-step.ashx Both pages needs some markup still, but hopefully it's enough to help you for now.
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#7 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 08 June 2011 - 07:56 PM

Hi CW2,

Superb. Are you going to publish the source code as well?

Sure thing. Right now, it's just the v4.1.1b1 source merged with the .NET MF 4.2b1 changes...but as soon as we have the new ADC and PWM code checked in we'll post the full source. We'll definitely be posting the full source (with PWM out of beta) for the RC/RTM release.

Chris

#8 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 09 June 2011 - 04:32 AM

Found yet another bug, in VB.NETMF, while typing this line and pressing Enter the IDE crashes the hard way:
Public WithEvents button As InterruptPort = New InterruptPort(Pins.ONBOARD_SW1, False, Port.ResistorMode.PullDown, Port.InterruptMode.InterruptEdgeBoth)
Now there are more ways to handle events but a crashing IDE, not good! :D
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#9 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 09 June 2011 - 04:36 AM

Found yet another bug, in VB.NETMF, while typing this line and pressing Enter the IDE crashes the hard way:

Public WithEvents button As InterruptPort = New InterruptPort(Pins.ONBOARD_SW1, False, Port.ResistorMode.PullDown, Port.InterruptMode.InterruptEdgeBoth)
Now there are more ways to handle events but a crashing IDE, not good! :D

Let me ping the folks on the Visual Studio team and see where we should report bugs.

VB support is brand new, and in beta...so I'm guessing that we'll find quite a few glitches.

I also noticed that watchpoints like "led.Read()" don't work yet.

Chris

#10 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 09 June 2011 - 05:13 AM

Just to keep you busy;

Module Module1

    Sub Main()
        On Error GoTo testing

        ' write your code here

        Exit Sub
testing:
        Resume Next
    End Sub

End Module

Results in:

Error 1 Requested operation is not available because the runtime library function 'Microsoft.VisualBasic.CompilerServices.ProjectData.CreateProjectError' is not defined. C:\Users\Stefan\Documents\Visual Studio 2010\Projects\NetduinoApplication4\NetduinoApplication4\Module1.vb 8 5 NetduinoApplication4
Error 2 Requested operation is not available because the runtime library function 'Microsoft.VisualBasic.CompilerServices.ProjectData.CreateProjectError' is not defined. C:\Users\Stefan\Documents\Visual Studio 2010\Projects\NetduinoApplication4\NetduinoApplication4\Module1.vb 15 9 NetduinoApplication4


"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#11 skytribe

skytribe

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 June 2011 - 05:52 AM

Let me ping the folks on the Visual Studio team and see where we should report bugs.

VB support is brand new, and in beta...so I'm guessing that we'll find quite a few glitches.

I also noticed that watchpoints like "led.Read()" don't work yet.

Chris



Already know issue Withevent and Handles with this release - workaround use addhandler.

#12 skytribe

skytribe

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 June 2011 - 05:59 AM

Just to keep you busy;

Module Module1

    Sub Main()
        On Error GoTo testing

        ' write your code here

        Exit Sub
testing:
        Resume Next
    End Sub

End Module

Results in:



Old style on error goto handling is not supported in this just as it is not supported in Win Phone 7 / XNA / VBCore functionality.

Should use Try Catch exception handling.

For more about items which are not supported check out VBCore http://blogs.msdn.co...o-2010-sp1.aspx

This will detail pretty much what is left out and what is included. VB support on these platforms is not the same as full desktop version. Older legacy function, late binding, generics, old style error handling are all not supported. If your writing modern VB.NET code you should be fine but functionality is not full desktop functionality. So please be aware of the limitations.

Also enure optimization is enabled for all projects - by default it is turned on for new project but turning it off will prevent debugging from working correctly because of the limited framework functionality.

#13 Joe88

Joe88

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 June 2011 - 10:31 PM

Hi,

I'm completely new to the Netduino platform and embedded programming in general but have 4+ years of C# experience so sorry if I'm making an obvious mistake!

I've flashed the bootloader and firmware, installed .NET MF 4.2 and the Netduino 4.2 64 bit SDK on VS2010 Pro/Windows 7.

If I create an empty Netduino Plus project and add a breakpoint then it builds, deploys and breaks successfully. However if I add a reference to System.Ftp and build then I get the warning:

Warning	1	Could not resolve this reference. Could not locate the assembly "System.Ftp". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.	FTPServer

If I then attempt to deploy and run the project I get:

Error	2	An error has occurred.  Please check your hardware

I previously used the temporary binaries that were available on here about 24 hours ago. I had an issue where the MicroFramework was attempting to find assemblies in ~\v4.2\Assemblies\le\LE. Changing the AssemblyFolder registry key fixed this but I still encountered the System.Ftp issue. I then uninstalled the MicroFramework and Netduino SDK and re-installed using the current installer. Not sure if this impacted anything.

I've tried adding the actual .dll file as a reference directly but I get the same issue. I attempted to add the file "C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\System.Ftp.dll" I noticed that there isn't any mention of the assembly in the "be" folder, not sure if this is significant.

MSBuild says:

C:\Program Files (x86)\MSBuild\Microsoft\.NET Micro Framework\v4.2\Device.targets(517,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Ftp". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
          For SearchPath "C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\be".
          Considered "C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\be\System.Ftp.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\be\System.Ftp.exe", but it didn't exist.
          For SearchPath "{Registry:Software\Microsoft\.NETMicroFramework,v4.2,AssemblyFoldersEx}".
          Considered "C:\Program Files (x86)\Secret Labs\Netduino SDK\Assemblies\v4.2\System.Ftp.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\Secret Labs\Netduino SDK\Assemblies\v4.2\System.Ftp.exe", but it didn't exist.
          Considered "C:\Program Files (x86)\Secret Labs\Netduino SDK\Assemblies\v4.1\System.Ftp.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\Secret Labs\Netduino SDK\Assemblies\v4.1\System.Ftp.exe", but it didn't exist.
          For SearchPath "{RawFileName}".
          Considered treating "System.Ftp" as a file name, but it didn't exist.
          For SearchPath "bin\Debug\".
          Considered "bin\Debug\System.Ftp.dll", but it didn't exist.
          Considered "bin\Debug\System.Ftp.exe", but it didn't exist.

I've attached a detailed MSBuild log, the project was cleaned and then run.

If anyone has it then could they send me be\System.Ftp.* please?

Any help would be greatly appreciated,

Joe

PS: It has just ocured to me that I installed the 64 bit version but I'm seeing a C:\Program Files (x86)\ path. Might re-try with the 32bit version.

#14 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 09 June 2011 - 11:40 PM

Hi Joe,

When you add System.Ftp.dll to your project, be sure to add the one on the main ".NET References" page. If it's not there, add the version in the root assemblies folder--not the version in the LE folder. Visual Studio will automatically "step into" the LE folder to get the little-endian-specific version for compilation.

Also -- System.Ftp.dll relies on System.Http.dll, I believe. This means that it may not leave too much room for your code--and it also means that you may need the System.Http.dll file in your project (although that should get pulled in as a dependency automatically).

We did some testing with FTP in .NET MF 4.2 Alpha...so it should work in the Beta. If you continue running into issues, please let us know...and please post a bug report at CodePlex.

BTW, are you using Visual Basic or C#?

Chris

#15 Joe88

Joe88

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 June 2011 - 11:52 PM

A bit more info; sorry that I can't edit it in to my previous post, it hasn't been approved yet.

I decompiled all of the installers and couldn't find any additional FTP assemblies but the amazingly techincal task of just copying the System.FTP.* files from the le folder to the be folder fixed the build issue (or rather I don't get any warnings at least.)

The project runs in the emulator and hits the breakpoint.

The FTP sample project runs in the emulator too and creates FTPListener objects etc correctly so there doesn't seem to be anything wrong with the assembly.

When deploying to the Netduino is there anyway to make it more verbose?

I noticed that the Netduino SDK installer doesn't contain System.Ftp.dll I suppose that as long as the hardware layer works correctly it shouldn't matter. ILDasm doesn't show anything networking related in it (but I don't know what I'm looking for.) Is networking/ftp actually supported in this beta?

Thanks,

Joe

MFDeploy says:
Pinging... TinyCLR
HalSystemInfo.halVersion:               4.2.0.0
HalSystemInfo.halVendorInfo:            Netduino Plus (v4.2.0.0 b1) by Secret Labs LLC
HalSystemInfo.oemCode:                  34
HalSystemInfo.modelCode:                177
HalSystemInfo.skuCode:                  4097
HalSystemInfo.moduleSerialNumber:       00000000000000000000000000000000
HalSystemInfo.systemSerialNumber:       0000000000000000
ClrInfo.clrVersion:                     4.2.0.0
ClrInfo.clrVendorInfo:                  Netduino Plus (v4.2.0.0 b1) by Secret Labs LLC
ClrInfo.targetFrameworkVersion:         4.2.0.0
SolutionReleaseInfo.solutionVersion:    4.2.0.0
SolutionReleaseInfo.solutionVendorInfo: Netduino Plus (v4.2.0.0 b1) by Secret Labs LLC
SoftwareVersion.BuildDate:              Jun  8 2011
SoftwareVersion.CompilerVersion:        400902
FloatingPoint:                          True
SourceLevelDebugging:                   True
ThreadCreateEx:                         True
LCD.Width:                              0
LCD.Height:                             0
LCD.BitsPerPixel:                       0
AppDomains:                             True
ExceptionFilters:                       True
IncrementalDeployment:                  True
SoftReboot:                             True
Profiling:                              False
ProfilingAllocations:                   False
ProfilingCalls:                         False
IsUnknown:                              False


#16 Joe88

Joe88

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 June 2011 - 11:59 PM

Hi Chris, Sorry I didn't see your reply. I had been adding to that post bit by bit, feel free to merge the posts if needed. I'm coding in C#. I just tried referencing System.Http.dll but no luck. I think I might try reinstalling everything on a fresh box and re-flashing the bootloader and firmware tomorrow. Glad to hear that it supports FTP, Joe

#17 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 10 June 2011 - 12:04 AM

Hi Joe, The System.Ftp.dll assembly is installed as part of the .NET Micro Framework v4.2 Beta SDK. C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\le\ Chris

#18 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 10 June 2011 - 06:58 AM

Code that worked on 4.1 but doesn't work on 4.2 breaks with this error: Error 1 The type or namespace name 'Utility' does not exist in the namespace 'Microsoft.SPOT.Hardware' (are you missing an assembly reference?) C:\Users\Stefan\Documents\Visual Studio 2010\Projects\Super Demo\Super Demo\FusionWare.SPOT\Stopwatch.cs 35 56 Super Demo Appairently 'Microsoft.SPOT.Hardware.Utility' isn't available anymore. Is this by design or by flaw? ;)
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#19 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 10 June 2011 - 08:39 AM

Code that worked on 4.1 but doesn't work on 4.2 breaks with this error:
Error 1 The type or namespace name 'Utility' does not exist in the namespace 'Microsoft.SPOT.Hardware' (are you missing an assembly reference?) C:\Users\Stefan\Documents\Visual Studio 2010\Projects\Super Demo\Super Demo\FusionWare.SPOT\Stopwatch.cs 35 56 Super Demo


Appairently 'Microsoft.SPOT.Hardware.Utility' isn't available anymore. Is this by design or by flaw? ;)

Stefan--can you post this as an issue on the netmf.codeplex.com. It may be by design--but if it does we need to find a new way to do a few of its features.

I see the methods in C:\MicroFrameworkPK_v4_2\Framework\Core\Native\HW_Utility.cs...so I'm not sure why it's not working. Do you have Microsoft.SPOT.Native.dll as a reference in your project?

Chris

#20 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 10 June 2011 - 10:15 AM

Do you have Microsoft.SPOT.Native.dll as a reference in your project?

Good call. I'm such a newb sometimes :D
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2010-2014 Secret Labs LLC  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.