Main Site Documentation

Assemblies missing in the Panda II firmware?


#1

The code in my program worked great until I added an 'If(!Ethernet.IsCableconnected) statement to the code. After that, I got errors even though the program built ok. Is this a firmware corruption or yet another limitation of the Panda II/Wiznet5100?


Here is my error:

Resolving.

Link failure: some assembly references cannot be resolved!!

Assembly: FEZ Panda II Application (1.0.0.0) needs assembly ‘GHIElectronics.NETMF.W5100.Dhcp’ (4.1.5.0)

Error: a3000000

The program ‘[3] Micro Framework application: Managed’ has exited with code 0 (0x0).
Waiting for debug commands…

Here is the code:

using System;                   //Needed to create Sockets
using System.Text;
using System.Threading;

using Microsoft.SPOT;
using Microsoft.SPOT.Net;       //Needed to create Sockets
using Microsoft.SPOT.Hardware;
using Microsoft.SPOT.Time;
using Microsoft.SPOT.Net.NetworkInformation;

using GHIElectronics.NETMF.Net;
using GHIElectronics.NETMF.Hardware;
using GHIElectronics.NETMF.Net.Sockets;
using GHIElectronics.NETMF.Net.NetworkInformation;
using GHIElectronics.NETMF.FEZ;
using Socket = GHIElectronics.NETMF.Net.Sockets.Socket;



namespace FEZ_Panda_II_Get_Time_From_TimeServer
{
    public class Program
    {
            public static void Main()
            {
                NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler(isWIZNETConnected);
                
                const Int32 c_port = 80;                            // Port used for http requests
                byte[] ip = { 192, 168, 0, 150 };                   // Assigned IP address
                byte[] subnet = { 255, 255, 255, 0 };               // Assigned Subnet
                byte[] gateway = { 192, 168, 0, 1 };                // Assigned Gateway Address
                byte[] mac = { 0x00, 0x9A, 0xD2, 0xC2, 0xD9, 0x2A }; //Randomly generated MAC from http://www.macvendorlookup.com
                WIZnet_W5100.Enable(SPI.SPI_module.SPI1, (Cpu.Pin)FEZ_Pin.Digital.Di10, (Cpu.Pin)FEZ_Pin.Digital.Di9, true); // WIZnet interface with FEZ Connect
                //NetworkInterface.EnableStaticIP(ip, subnet, gateway, mac); //Assigns ip/subnet/gateway/mac to Wiznet
                //NetworkInterface.EnableStaticDns(new byte[] { 192, 168, 0, 1 }); //Sets Static DNS address
                Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Any, c_port);

                ////////////////////////////////////////
                if (!Ethernet.IsCableConnected)
                {
                    try
                    {
                        Dhcp.EnableDhcp(mac); //Used to check if there were any problems with the network settings (And at work)
                    }
                    catch
                    {Debug.Print("Connection failed. Verify cable is connected and network is operational.");}
                    Debug.Print("Current Time: " + DateTime.Now.ToString()); //displays current time in VS2010 output window
                    Internet updateTime = new Internet(); // Creates an instance of the class 'myTime' so it can be called for updating the RTC
                    updateTime.NTPTime("time-a.nist.gov", -300); // Calls function to Update RTC from an NTP server "time-a.nist.gov" and offsets time for CST
                }
                else
                {Debug.Print("Network cable not connected");}
                ///////////////////////////////////////


                
                Debug.Print("Updated Time: " + DateTime.Now.ToString()); //displays updated time in VS2010 output window
                Debug.GC(true); // Enable Garbage Collector
                Debug.EnableGCMessages(true); // Enable / Disable Garbage Collector Messages

                
                Thread.Sleep(Timeout.Infinite);                            
            }

            static void isWIZNETConnected(object sender, NetworkAvailabilityEventArgs e)
            {
                if (e.IsAvailable)
                {
                    Internet update = new Internet();
                    update.NTPTime("time-a.nist.gov", -300);
                    Debug.Print("Network now connected and time updated to:" +  DateTime.Now.ToString());
                }
            }
}


#2

This method doesn’t work on wiznet


#3

For future reference, What resource(s) can I reference so that I know what will work with the PandaII and wiznet hardware? As of now all I have besides this forum is the GHI Docs and micro framework info.


#4

What you have for FEZ Panda is in one assembly and in one namespace, that is w5100.


#5

http://wiki.tinyclr.com/index.php?title=Networking