コード例 #1
0
        private async void Connection_Click(object sender, RoutedEventArgs e)
        {
            // If currently connected then disconnected
            if (_bleDevice != null)
            {
                await Disconnect();
            }
            else
            {
                _bleDevice = DevicesDropdown.SelectedItem as BLE_Device;

                // Try and connect
                Connecting = true;
                if (await _bleDevice.Connect())
                {
                    NotifyPropertyChanged("IsConnected");
                    _bleDevice.ResponseStringEventOccurred += Device_ResponseStringEventOccurred;

                    // Retrieve animations stored on the device
                    await _bleDevice.SendChannelString("{\"CMD\", \"ENUMERATE\"}");
                }
                else
                {
                    // A coonection error occurred so flash an appropriate message to the user
                    Connecting = false;
                    Storyboard sbFlashConnectionError = FindResource("FlashConnectionError") as Storyboard;
                    sbFlashConnectionError.Begin();
                }
                Connecting = false;
            }
        }
コード例 #2
0
        private void AppWindow_Loaded(object sender, RoutedEventArgs e)
        {
            // Start BLE device enumeration
            _bleDeviceManager.Start();

            _pleaseSelectdevice = new BLE_Device("(Select a device)", 0);
            _bleDeviceManager.DiscoveredDevices.Add(_pleaseSelectdevice);
            DevicesDropdown.SelectedValue = _pleaseSelectdevice;
        }
コード例 #3
0
        private void DevicesDropdown_SelectionChanged(object sender, RoutedEventArgs e)
        {
            BLE_Device device = DevicesDropdown.SelectedItem as BLE_Device;

            if (_pleaseSelectdevice != null && device != _pleaseSelectdevice)
            {
                _bleDeviceManager.DiscoveredDevices.Remove(_pleaseSelectdevice);
            }
            NotifyPropertyChanged("IsConnectButtonEnabled");
        }
コード例 #4
0
        private async Task Disconnect(bool removeFromList = false)
        {
            // Disconnect device
            if (_bleDevice != null)
            {
                await _bleDevice.Disconnect();

                _bleDevice = null;
                _storedAnimations.Clear();
            }
            NotifyPropertyChanged("IsConnected");
        }
コード例 #5
0
 private void ConnectivityManager_OnDisconnecting(object sender, BLE_Device e)
 {
     StoredAnimations.Clear();
     e.ResponseStringEventOccurred -= Device_ResponseStringEventOccurred;
     NotifyPropertyChanged("IsSelectedItemConnected", "IsDeviceRenamable");
 }