private void connect()
        {
            ProtocolState prevState = _proto_state;
            var           connected = _usb2snes.Connected();

            if (_proto_state != ProtocolState.CONNECTED || !connected)
            {
                SetState(MyState.CONNECTING);
                Task <bool> t = _usb2snes.Connect();
                t.ContinueWith((t1) =>
                {
                    if (!t1.Result)
                    {
                        SetState(MyState.NONE);
                        _proto_state = ProtocolState.NONE;
                        return;
                    }
                    _usb2snes.SetName("LiveSplit AutoSplitter");
                    _proto_state = ProtocolState.CONNECTED;
                    wsAttach(prevState);
                });
            }
            else
            {
                if (connected)
                {
                    wsAttach(prevState);
                }
            }
        }
        private void _state_OnReset(object sender, TimerPhase value)
        {
            foreach (Split split in _splits)
            {
                split.Reset();
            }

            if (_usb2snes.Connected())
            {
                if (_aslSettings.GetBasicSettingValue("resethardware"))
                {
                    _usb2snes.Reset();
                }
            }
        }
 private bool connect()
 {
     if (!_usb2snes.Connected())
     {
         _usb2snes.Connect();
         if (_usb2snes.Connected())
         {
             List <String> devices = _usb2snes.GetDevices();
             if (!devices.Contains(_settings.Device))
             {
                 return(false);
             }
             _usb2snes.SetName("LiveSplit AutoSplitter");
             _usb2snes.Attach(_settings.Device);
             _usb2snes.Info(); // Info is the only neutral way to know if we are attached to the device
         }
         if (!_usb2snes.Connected())
         {
             MessageBox.Show("Could not connect to sd2snes, check serial port settings.");
             return(false);
         }
     }
     return(true);
 }
Beispiel #4
0
        private async void btnDetect_Click(object sender, EventArgs e)
        {
            USB2SnesW.USB2SnesW usb = new USB2SnesW.USB2SnesW();
            await usb.Connect();

            if (usb.Connected())
            {
                List <String> devices;
                devices = await usb.GetDevices();

                if (devices.Count > 0)
                {
                    txtComPort.Text = devices[0];
                }
                return;
            }
            MessageBox.Show("Could not auto-detect usb2snes compatible device, make sure it's connected and QUsb2Snes is running");
        }