public List <UsbDevice> GetPossibleSerialPorts(Context context)
        {
            usbManager = (UsbManager)context.GetSystemService(Context.UsbService);

            IDictionary <string, UsbDevice> allDevices = usbManager.DeviceList;
            List <UsbDevice> devices = allDevices.Values.Where(s => UsbSerialDevice.IsSupported(s)).ToList();

            return(devices);
        }
        public bool DisconnectDevice(UsbDevice usbDevice)
        {
            UsbSerialDevice optionalDevice = serialDevices.First(p => usbDevice.DeviceId == p.GetDeviceId());

            if (optionalDevice != null)
            {
                UsbSerialDevice disconnectedDevice = optionalDevice;
                disconnectedDevice.SyncClose();
                serialDevices.Remove(optionalDevice);
                serialPortBuilder.serialPortCallback.OnSerialPortsDetected(serialPortBuilder.serialDevices);

                return(true);
            }
            return(false);
        }
        internal void CreateAllPorts(UsbDeviceStatus usbDeviceStatus)
        {
            int interfaceCount = usbDeviceStatus.usbDevice.InterfaceCount;

            for (int i = 0; i <= interfaceCount - 1; i++)
            {
                if (usbDeviceStatus.usbDeviceConnection == null)
                {
                    usbDeviceStatus.usbDeviceConnection = usbManager.OpenDevice(usbDeviceStatus.usbDevice);
                }

                UsbSerialDevice usbSerialDevice = UsbSerialDevice.CreateUsbSerialDevice(
                    usbDeviceStatus.usbDevice,
                    usbDeviceStatus.usbDeviceConnection,
                    i);

                serialDevices.Add(usbSerialDevice);
            }
        }
Example #4
0
 public WorkerThread(UsbSerialDevice usbSerialDevice)
 {
     this.device = usbSerialDevice;
     //working = new Java.Util.Concurrent.Atomic.AtomicBoolean(true);
     Android.OS.Process.SetThreadPriority(ThreadPriority.UrgentAudio);
 }
Example #5
0
 public WriteThread(UsbSerialDevice usbSerialDevice)
 {
     this.device = usbSerialDevice;
 }
 public bool DisconnectDevice(UsbSerialDevice usbSerialDevice)
 {
     usbSerialDevice.SyncClose();
     serialDevices.Remove(usbSerialDevice);
     return(true);
 }