Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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();
                }
            }
        }