示例#1
0
        private void AutoDetectButton_Click(object sender, RoutedEventArgs e)
        {
            ConnectWindow window = new ConnectWindow();

            if (window.ShowDialog() == true)
            {
                if (window.Protocol == CommunicationProtocol.Usb)
                {
                    batteryTab.Visibility = Visibility.Hidden;
                }
                else if (window.Protocol == CommunicationProtocol.Bluetooth)
                {
                    batteryTab.Visibility = Visibility.Visible;
                    if (GetBluegigaDevice() == null)
                    {
                        ShowFailStatus("Please insert BLED112 dongle");
                        return;
                    }
                }

                tappy.SwitchProtocol(window.Protocol);

                ShowPendingStatus("Searching for a Tappy");

                Task.Run(() =>
                {
                    if (tappy.AutoDetect())
                    {
                        ShowSuccessStatus($"Connected to {tappy.DeviceName}");
                        if (window.Protocol == CommunicationProtocol.Bluetooth)
                        {
                            try
                            {
                                Command cmd = new EnableDataThrottling(10, 5);
                                tappy.SendCommand(cmd);
                            }
                            catch
                            {
                            }
                        }
                    }
                    else
                    {
                        ShowFailStatus("No Tappy found");
                        if (window.Protocol == CommunicationProtocol.Bluetooth)
                        {
                            try
                            {
                                tappy.DisconnectBlueGiga();
                            }
                            catch
                            {
                                return;
                            }
                        }
                    }
                });
            }
        }