private void OnConnectionState(NuimoConnectionState nuimoConnectionState) { string buttonTitle; switch (nuimoConnectionState) { case NuimoConnectionState.Disconnected: buttonTitle = "Connect"; break; case NuimoConnectionState.Connecting: buttonTitle = "Connecting..."; break; case NuimoConnectionState.Connected: buttonTitle = "Disconnect"; var matrixString = " * * *** *** * * *** * * * * * * *** "; _nuimoController?.DisplayLedMatrixAsync(new NuimoLedMatrix(matrixString)); break; case NuimoConnectionState.Disconnecting: buttonTitle = "Disconnecting..."; break; default: buttonTitle = ""; break; } ShowToastNotification("Connection State changed", nuimoConnectionState.ToString()); ConnectButton.Content = buttonTitle; ConnectionStateTextBlock.Text = nuimoConnectionState.ToString(); }
private async Task <bool> InternalConnectAsync() { ConnectionState = NuimoConnectionState.Connecting; var isConnected = false; await Task.Run(() => { lock (_gattCharacteristicsLock) { AddCharacteristics(ServiceGuids.SensorsServiceGuid, CharacteristicsGuids.GestureCharacteristicGuids); AddCharacteristics(ServiceGuids.LedMatrixServiceGuid, new[] { CharacteristicsGuids.LedMatrixCharacteristicGuid }); AddCharacteristics(ServiceGuids.BatteryServiceGuid, new[] { CharacteristicsGuids.BatteryCharacteristicGuid }); AddCharacteristics(ServiceGuids.DeviceInformationServiceGuid, new[] { CharacteristicsGuids.FirmwareVersionGuid }); isConnected = EstablishConnection() && _bluetoothLeDevice.ConnectionStatus == BluetoothConnectionStatus.Connected; } }); if (isConnected) { ConnectionState = NuimoConnectionState.Connected; } else { await InternalDisconnectAsync(); } return(isConnected); }
private void OnConnectionState(NuimoConnectionState nuimoConnectionState) { string buttonTitle; switch (nuimoConnectionState) { case NuimoConnectionState.Disconnected: buttonTitle = "Connect"; break; case NuimoConnectionState.Connecting: buttonTitle = "Connecting..."; break; case NuimoConnectionState.Connected: buttonTitle = "Disconnect"; break; case NuimoConnectionState.Disconnecting: buttonTitle = "Disconnecting..."; break; default: buttonTitle = ""; break; } ConnectButton.Content = buttonTitle; ConnectionStateTextBlock.Text = nuimoConnectionState.ToString(); }
private async Task InternalDisconnectAsync() { ConnectionState = NuimoConnectionState.Disconnecting; await Task.Run(() => { lock (_gattCharacteristicsLock) { var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromMilliseconds(5000)); var cancellationToken = cancellationTokenSource.Token; foreach (var characteristic in _gattCharacteristicsForGuid.Values) { characteristic.SetNotify(false, cancellationToken); } UnsubscribeFromCharacteristicNotifications(); } }); ConnectionState = NuimoConnectionState.Disconnected; }
private void OnConnectionState(INuimoController nuimoController, NuimoConnectionState nuimoConnectionState) { Debug.WriteLine("Connection state: " + nuimoConnectionState); }
private void Controller_ConnectionStateChanged(INuimoController arg1, NuimoConnectionState arg2) { NuimoHub.AllClients.ConnectionStateChanged(arg1.Identifier, arg2); }