Ejemplo n.º 1
0
        public void WrapsIsConnected()
        {
            bool enumIsConnected = enumerator.IsConnected(devicePath);
            bool hidIsConnected  = HidDevices.IsConnected(devicePath);

            enumIsConnected.ShouldEqual(hidIsConnected);
        }
Ejemplo n.º 2
0
        public void WrapsIsConnected()
        {
            BeforeEach();
            var enumIsConnected = _enumerator.IsConnected(_devicePath);
            var hidIsConnected  = HidDevices.IsConnected(_devicePath);

            enumIsConnected.ShouldEqual(hidIsConnected);
        }
Ejemplo n.º 3
0
        public void StartCommunication(bool force = false)
        {
            if (Device != null)
            {
                if (Device.IsConnected)
                {
                    if (!Device.IsOpen || force)
                    {
                        Device.OpenDevice();
                        DeviceOpened?.Invoke();
                        Device.ReadReport(OnReport);
                    }
                }
            }
            else
            {
                if (HidDevices.IsConnected(devicePath))
                {
                    Device = HidDevices.GetDevice(devicePath);

                    if (!Device.IsOpen || force)
                    {
                        Device.OpenDevice();
                        DeviceOpened?.Invoke();
                        Device.ReadReport(OnReport);
                    }
                }
                else
                {
                    Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1)).TakeUntil(stopSubject).Subscribe(
                        l =>
                    {
                        var dev = HidDevices.GetDevice(devicePath);

                        if (Device == null && dev != null)
                        {
                            Device = dev;
                        }

                        if (Device == null)
                        {
                            return;
                        }

                        Device.OpenDevice();
                        DeviceOpened?.Invoke();
                        Device.ReadReport(OnReport);
                        stopSubject.OnNext(Unit.Default);
                    });
                }
            }
        }
Ejemplo n.º 4
0
        public void Initialize()
        {
            if (Device == null)
            {
                if (HidDevices.IsConnected(devicePath))
                {
                    Device = HidDevices.GetDevice(devicePath);
                }
                else
                {
                    Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1)).TakeUntil(stopSubject).Subscribe(
                        l =>
                    {
                        var dev = HidDevices.GetDevice(devicePath);

                        if (Device == null && dev != null)
                        {
                            Device = dev;
                        }
                    });
                }
            }
        }