Netduino home hardware projects downloads community

Jump to content


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.
Photo

Netduino.IP Firmware v1.0.0 (for Netduino Plus 2)


  • Please log in to reply
6 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 03 July 2015 - 09:36 PM

The Netduino.IP Technical Preview program is now complete.

I have attached Netduino.IP v1.0.0 firmware (i.e. Netduino Plus 2 v4.3.2.2 firmware).

This network stack is shiny and new. If you run into any issues, please post here and we can address them individually.

Netduino.IP is designed for backwards-compatibility with existing NETMF code. To use Netduino.IP, simply write your code using the standard System.Net.Sockets classes, HttpWebRequest, etc.

This build includes the following features:
  • New: ErrorCode-specific SocketExceptions
  • New: Configurable receive/send buffer sizes
  • New: Configurable receive/send timeouts
  • New: TCP MSS support
  • TCP sockets
  • UDP sockets
  • DNS support
  • Dynamic IP (DHCP) configuration support
  • Static IP configuration support
  • ICMP (ping) support
  • IPv4 and ARP support
  • Link detection support (and NetworkAvailability event)
  • ENC28J60 network chip driver
  • Retrieval of network configuration from NETMF configuration sector
I have attached a sample project which requests the Netduino homepage and also retrieves the current time from an Internet time server.

The main goals for Netduino.IP (for Ethernet) v1.0 are reliability and protocol compliance. As we move forward to Netduino.IP v1.1 and beyond we will focus in on performance enhacements, potential support for additional IP protocols/features, etc.

Thank you for taking the time to help us test out Netduino.IP!

Chris

P.S. Netduino.IP source code has been checked into the Netduino repository at GitHub.
https://github.com/n...ino/Netduino.IP

Attached Files



#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 03 July 2015 - 09:49 PM

One of the really awesome things about having a managed code networking stack is that you can actually debug and modify it directly from Visual Studio (added to your existing Visual Studio solution).

I have attached Netduino.IP v1.0.0 DEBUG firmware. This firmware includes all the Netduino.IP basics--but does not include the Netduino.IP and device-specific driver in the firmware.

To debug/modify Netduino.IP:
1. Flash the attached firmware to your Netduino (with on-board Ethernet port).
2. Grab the Netduino.IP assembly source along with the appropriate Netduino.IP network driver for your mainboard:
ENC28J60 (Netduino Plus 2) or AX88796C (next-generation).
3. Add the two downloaded Netduino.IP projects to your solution.
4. In the Netduino.IP project's properties, go to the Build tab and make sure that the conditional compilation symbol NETDUINOIP_ENC28J60 or NETDUINOIP_AX88796C (but not both) is included for your board.
5. Add the two downloaded Netduino.IP projects as references in your solution's main project.

Then just deploy and debug! Breakpoints, step-by-step debugging, etc. will all work!

Chris

P.S. You can download the latest Netduino.IP source code from GitHub. Just click "Download ZIP".

Attached Files



#3 NameOfTheDragon

NameOfTheDragon

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • LocationCanterbury, Kent, UK

Posted 04 July 2015 - 11:45 PM

http://www.nuget.org/packages?q=Tags%3A%22netduino%22

Just a thought. Why include the Netduino.IP assemblies in the firmware at all?

 

Why not make the assemblies available as a NuGet package (which could come ready-installed as part of the relevant project templates, like Microsoft does for ASP.Net templates).

 

As part of the NuGet packaging process, you can have it bundle up the symbols and source code and push those to a symbol server.

 

Then you've got the best of all worlds. Users don't need to build the assemblies; deployable assemblies automatically referenced in the projects where they are used; easy updates; debuggable source and symbols on tap. NuGet is a really wonderful way to manage dependencies - I'm doing it with a lot of my Netduino stuff - so are lots of other people...

 

Best regards,

Tim Long



#4 NameOfTheDragon

NameOfTheDragon

    Advanced Member

  • Members
  • PipPipPip
  • 112 posts
  • LocationCanterbury, Kent, UK

Posted 05 July 2015 - 12:06 AM

Error	1	The type or namespace name 'Interop' does not exist in the namespace 'Netduino.IP' (are you missing an assembly reference?)	C:\Users\Tim\VS-Projects\Netduino.IP\Netduino.IP\SocketsInterface.cs	45	55	Netduino.IP

The build complains as above.

 

Should I add the Interop project source too, or reference it, or what?

--Tim



#5 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 05 July 2015 - 12:09 AM

Hi Tim,

Nuget is a really good idea. The biggest reason why we pre-deploy Netduino.IP to the board is so that it doesn't have to be rewritten into flash every time you deploy and debug your app (which adds a bit of time to deploy).

Yes, please add the interop project source too (or reference the compiled DLL from your project). We should probably include that in an updated SDK installer.

Chris

#6 lable

lable

    New Member

  • Members
  • Pip
  • 4 posts

Posted 10 July 2015 - 08:46 AM

Chris,
 
Do not use the EnableStaticI ?
 
 
            //setup the board IP
            var ni = NetworkInterface.GetAllNetworkInterfaces()[0];
            ni.EnableStaticIP("192.168.0.99", "255.255.255.0", "192.168.0.1");
 
 
 
Uncaught exception 
System.ArgumentException??????????? mscorlib.dll ???
System.ArgumentException??????????? mscorlib.dll ??? 


#7 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 10 July 2015 - 05:29 PM

Hi lable,

For the v1.0 release, we support network configuration using MFDeploy. Netduino.IP was built for the future of NETMF (where Microsoft.SPOT.Net may be deprecated) so the SPOT-specific EnableStaticIP function is not implemented.

That said, this is something that could be added in a follow-up release of Netduino.IP.

If you set the network configuration to static IP using MFDeploy (target > configuration > network config), does everything work properly for you?

Chris




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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