Netduino Firmware v4.2.0 BETA 1
#1
Posted 08 June 2011 - 07:53 AM
#2
Posted 08 June 2011 - 08:10 AM
Superb. Are you going to publish the source code as well?Version: 4.2.0 BETA 1 (version 4.2.0.0 b1)
#3
Posted 08 June 2011 - 08:13 AM
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#5
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.
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#6
Posted 08 June 2011 - 12:22 PM
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#7
Posted 08 June 2011 - 07:56 PM
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.Superb. Are you going to publish the source code as well?
Chris
#8
Posted 09 June 2011 - 04:32 AM
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!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#9
Posted 09 June 2011 - 04:36 AM
Let me ping the folks on the Visual Studio team and see where we should report bugs.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!
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
Posted 09 June 2011 - 05:13 AM
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
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#11
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
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
Posted 09 June 2011 - 10:31 PM
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
Posted 09 June 2011 - 11:40 PM
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
Posted 09 June 2011 - 11:52 PM
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
Posted 09 June 2011 - 11:59 PM
#17
Posted 10 June 2011 - 12:04 AM
#18
Posted 10 June 2011 - 06:58 AM
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
#19
Posted 10 June 2011 - 08:39 AM
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.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?
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
Posted 10 June 2011 - 10:15 AM
Good call. I'm such a newb sometimesDo you have Microsoft.SPOT.Native.dll as a reference in your project?
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users