public void StatusDisplay(object sender, MeadowSerialDevice.DeviceStatus status) { var meadow = (MeadowSerialDevice)sender; switch (status) { case MeadowSerialDevice.DeviceStatus.Disconnected: Task.Run(() => { Thread.Sleep(3000); var connection = new Connection() { Mode = MeadowMode.MeadowMono, USB = new Connection.USB_interface() { DevicePort = meadow.connection.USB.DevicePort, } }; meadow.connection = connection; }); break; } }
public void StatusDisplay(object sender, MeadowSerialDevice.DeviceStatus status) { if (status == MeadowSerialDevice.DeviceStatus.PortOpenGotInfo) { SerialNumber = meadowSerialDevice.DeviceInfo.SerialNumber; } meadowPad.control.SetStatus(status); }
public void SetStatus(MeadowSerialDevice.DeviceStatus status) { Gtk.Application.Invoke(delegate { textview1.Buffer.InsertWithTags(ref iter, " STATUS ", tagYellow); if (meadowSerialDevice.connection == null) { textview1.Buffer.InsertWithTags(ref iter, "No connection\n", tagRedBold); labelState.Markup = $"{spanRed}No connection</span>"; } else if (meadowSerialDevice.connection.Removed) { textview1.Buffer.InsertWithTags(ref iter, "Removed\n", tagRedBold); labelState.Markup = $"{spanRed}Removed</span>"; } else { var sb = new StringBuilder(); if (meadowSerialDevice.connection.USB != null) { sb.Append("USB -> "); } if (meadowSerialDevice.connection.IP != null) { sb.Append("IP -> "); } if (meadowSerialDevice.connection.Mode == MeadowMode.MeadowBoot) { textview1.Buffer.InsertWithTags(ref iter, "BOOT mode\n", tagRedBold); sb.Append($"{spanRed}BOOT mode</span>"); } else { switch (status) { case MeadowSerialDevice.DeviceStatus.Disconnected: textview1.Buffer.InsertWithTags(ref iter, "Disconnected\n", tagRedBold); sb.Append($"{spanRed}Disconnected</span>"); break; case MeadowSerialDevice.DeviceStatus.USBConnected: textview1.Buffer.InsertWithTags(ref iter, "Port Closed\n", tagRedBold); sb.Append($"{spanRed}Port Closed</span>"); break; case MeadowSerialDevice.DeviceStatus.PortOpen: textview1.Buffer.InsertWithTags(ref iter, "Port Open\n", tagBlueBold); sb.Append($"{spanBlue}Port Open</span>"); break; case MeadowSerialDevice.DeviceStatus.PortOpenGotInfo: textview1.Buffer.InsertWithTags(ref iter, "Initalized\n", tagGreen); sb.Append($"{spanGreen}Initalized</span>"); SetDeviceInfo(meadowSerialDevice.DeviceInfo); break; case MeadowSerialDevice.DeviceStatus.Reboot: textview1.Buffer.InsertWithTags(ref iter, "Rebooting\n", tagRedBold); sb.Append($"{spanRed}Rebooting</span>"); break; } labelState.Markup = sb.ToString(); } } }); }