public RequestParser(Room room) { this.room = room; }
// 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); } }