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; } }
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; }
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"); }
private async Task Disconnect(bool removeFromList = false) { // Disconnect device if (_bleDevice != null) { await _bleDevice.Disconnect(); _bleDevice = null; _storedAnimations.Clear(); } NotifyPropertyChanged("IsConnected"); }
private void ConnectivityManager_OnDisconnecting(object sender, BLE_Device e) { StoredAnimations.Clear(); e.ResponseStringEventOccurred -= Device_ResponseStringEventOccurred; NotifyPropertyChanged("IsSelectedItemConnected", "IsDeviceRenamable"); }