Esempio n. 1
0
 public RequestParser(Room room)
 {
     this.room = room;
 }
Esempio n. 2
0
        // This method is run when the mainboard is powered up or reset.
        void ProgramStarted()
        {
            // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging.
            Debug.Print("Program Started");

            room = new Room(lights, screen, motion_Sensor, door, curtains, camera, door_button, messageText);

            setupUI();

            curtains.TurnGreen();
            lights.TurnRed();
            door.BlinkRepeatedly(Gadgeteer.Color.Red);
            lights.TurnOff();

            ethernet.Open();
            NetworkInterfaceExtension.AssignNetworkingStackTo(ethernet);
            ethernet.NetworkInterface.EnableDhcp();
            IPAddressSetResetEvent = new ManualResetEvent(false);

            ethernet.CableConnectivityChanged += new EthernetBuiltIn.CableConnectivityChangedEventHandler(ethernet_CableConnectivityChanged);
            ethernet.NetworkAddressChanged += new NetworkInterfaceExtension.NetworkAddressChangedEventHandler(ethernet_NetworkAddressChanged);

            if (!ethernet.IsCableConnected)
            {
                NetworkAvailablityBlocking = new ManualResetEvent(false);
                do
                {
                    if (!ethernet.IsCableConnected)
                    {
                        Debug.Print("Ethernet cable is not connected yet.");
                        //screen.SimpleGraphics.Clear();
                        //screen.SimpleGraphics.DisplayText("Ethernet cable is not connected yet", Resources.GetFont(Resources.FontResources.NinaB), GT.Color.White, 20, 20);
                    }
                    else
                        break;
                } while (!NetworkAvailablityBlocking.WaitOne(5000, false));
            }

            if (ethernet.NetworkInterface.IPAddress == "0.0.0.0")
            {

                while (!IPAddressSetResetEvent.WaitOne(500, false))
                {
                    Debug.Print("IP address is not set yet.");
                }
            }
            Debug.Print("IP address is set");

            try
            {
                myIP = ethernet.NetworkInterface.IPAddress;
                Debug.Print("Running HttpServer");
                Debug.Print("Type this IP address to access the webpage: " + myIP);
                ipText.TextContent = "IP: " + myIP;
                mainWindow.Invalidate();

                Thread thread = new Thread(RunServer);
                thread.Start();

            }
            catch (Exception e)
            {
                Debug.Print(e.StackTrace);
            }
        }