Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
 private void OnConnectionState(INuimoController nuimoController, NuimoConnectionState nuimoConnectionState)
 {
     Debug.WriteLine("Connection state: " + nuimoConnectionState);
 }
Esempio n. 6
0
 private void Controller_ConnectionStateChanged(INuimoController arg1, NuimoConnectionState arg2)
 {
     NuimoHub.AllClients.ConnectionStateChanged(arg1.Identifier, arg2);
 }