Ejemplo n.º 1
0
        private void BluetoothGattCallback(GattCharacteristic sender, GattValueChangedEventArgs changedValue)
        {
            if (sender.Uuid.Equals(CharacteristicsGuids.BatteryCharacteristicGuid))
            {
                BatteryPercentageChanged?.Invoke(this, changedValue.CharacteristicValue.ToArray()[0]);
                return;
            }

            NuimoGestureEvent nuimoGestureEvent;

            switch (sender.Uuid.ToString())
            {
            case CharacteristicsGuids.ButtonCharacteristicGuidString:   nuimoGestureEvent = changedValue.ToButtonEvent();   break;

            case CharacteristicsGuids.SwipeCharacteristicGuidString:    nuimoGestureEvent = changedValue.ToSwipeEvent();    break;

            case CharacteristicsGuids.RotationCharacteristicGuidString: nuimoGestureEvent = changedValue.ToRotationEvent(); break;

            case CharacteristicsGuids.FlyCharacteristicGuidString:      nuimoGestureEvent = changedValue.ToFlyEvent();      break;

            default:                                                    nuimoGestureEvent = null;                           break;
            }

            if (nuimoGestureEvent != null)
            {
                GestureEventOccurred?.Invoke(this, nuimoGestureEvent);
            }
        }