/// <summary> /// Searches for the currently connected pen and starts communication. /// </summary> public void SearchAndConnect() { var ports = GetSerialPortList(); foreach (var port in ports) { if (usbPenComms.Where(p => p.PortName == port).Count() > 0) { continue; } var penComm = new UsbPenComm(port); penComm.Open(); if (penComm.IsOpen) { penComm.Authenticated += PenComm_Authenticated; penComm.ConnectionRefused += PenComm_ConnectionRefused; penComm.Disconnected += PenComm_Disconnected; usbPenComms.Add(penComm); penComm.Connect(); } else { penComm.Dispose(); } } ports.Clear(); ports = null; }
private void PenComm_ConnectionRefused(object sender, System.EventArgs e) { UsbPenComm usbPenComm = (UsbPenComm)sender; usbPenComm.Authenticated -= PenComm_Authenticated; usbPenComm.ConnectionRefused -= PenComm_ConnectionRefused; usbPenComm.Disconnected -= PenComm_Disconnected; usbPenComm.Dispose(); usbPenComms.Remove(usbPenComm); }
private void AddSerialPortComm(string portName) { var usbPenComm = GetUsbPenComm(portName); if (usbPenComm == null) { UsbPenComm newUsbPenComm = new UsbPenComm(portName); newUsbPenComm.Open(); if (newUsbPenComm.IsOpen) { newUsbPenComm.Authenticated += PenComm_Authenticated; newUsbPenComm.ConnectionRefused += PenComm_ConnectionRefused; newUsbPenComm.Disconnected += PenComm_Disconnected; usbPenComms.Add(newUsbPenComm); newUsbPenComm.Connect(); } else { newUsbPenComm.Dispose(); } } }