public AmuletForm() { InitializeComponent(); initTimers(); Amulet = new AmuletUSB(); AmuletUSB.USBChanged += AmuletUSB_USBChanged; SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged; // Populate fields initially try { PollUSBonce(); groupBoxStatus.Text = "Amulet USB Monitor - version " + Application.ProductVersion; } catch (Exception err) { MessageBox.Show(err.ToString()); } }
public void USB_Update(AmuletUSB amulet) { if (amulet.Connected) { if (amulet.RadioActive) { processMicState(amulet.MicActive); setLinkMessage("Link up"); notifyIcon1.Text = "Link up"; } else { setLinkMessage("Link down"); notifyIcon1.Text = "Link down"; } } else { lblLinkStatus.Text = "Link Status: No Amulet detected"; processMicState(false); } }
// This event gets generated on the USB polling thread, so // pass it back to the main UI thread using this.Invoke() // so we can update the UI display safely. void AmuletUSB_USBChanged(AmuletUSB sender, object dummy) { this.Invoke(new USBDelegate(USB_Update), sender); // DebugLine("Connected=" + sender.Connected + ", Link=" + sender.RadioActive + " Mic=" + sender.MicActive); }