public void DevicesAreFastRead()
            {
                BeforeEach();
                HidFastReadDevice device = enumerator.GetDevice(devicePath) as HidFastReadDevice;

                device.ShouldNotBeNull();
            }
예제 #2
0
        public void Close()
        {
            // Cancel the connection worker if active
            connectionWorker.CancelAsync();

            // De-register the events
            _selectedDevice.Inserted -= Device_Inserted;
            _selectedDevice.Removed  -= Device_Removed;

            // Nullify the selected device
            _selectedDevice.CloseDevice();
            _selectedDevice = null;
        }
예제 #3
0
        private void autoReconnectToHidDevice()
        {
            // No need to reconnect if device already connected
            if (_selectedDevice != null && _selectedDevice.IsConnected)
            {
                return;
            }

            // Try to connect to the device, if any
            _selectedDevice = HidDevices.EnumerateFastRead(vid, pid).FirstOrDefault();
            if (_selectedDevice != null)
            {
                _selectedDevice.OpenDevice();
                HidD_SetNumInputBuffers(_selectedDevice.ReadHandle, 512);

                _selectedDevice.Inserted += Device_Inserted;
                _selectedDevice.Removed  += Device_Removed;

                _selectedDevice.MonitorDeviceEvents = true;
            }
        }