Exemplo n.º 1
0
        public async void Disable()
        {
            try
            {
                BeforeSubscribe?.Invoke();
                var result = await Characteristic.WriteClientCharacteristicConfigurationDescriptorAsync(GattValue.None);

                Characteristic.ValueChanged -= ValueChanged;
            }
            catch { }
        }
Exemplo n.º 2
0
        public async void Enable()
        {
            try
            {
                BeforeSubscribe?.Invoke();
                var result = await Characteristic.WriteClientCharacteristicConfigurationDescriptorAsync(GattValue.Notify);

                Characteristic.ValueChanged += ValueChanged;
            }
            catch (Exception ex)
            { }
        }
Exemplo n.º 3
0
        public async void Disable()
        {
            try
            {
                BeforeSubscribe?.Invoke();
                var characteristics = await Service.GetCharacteristicsForUuidAsync(UUID);

                Characteristic = characteristics.Characteristics[0];
                var result = await Characteristic.WriteClientCharacteristicConfigurationDescriptorAsync(GattClientCharacteristicConfigurationDescriptorValue.None);

                Characteristic.ValueChanged += (GattCharacteristic sender, GattValueChangedEventArgs args) =>
                {
                    var dataReader = DataReader.FromBuffer(args.CharacteristicValue);
                    var output     = new byte[args.CharacteristicValue.Length];
                    dataReader.ReadBytes(output);
                    T data = new T();
                    data.Parse(output);
                    OnChange?.Invoke(data);
                };
            }
            catch { }
        }
Exemplo n.º 4
0
 /// <summary>
 /// Aciona o hook do evento de interceptação de criação de canal, se assinado
 /// </summary>
 /// <param name="channel">Canal</param>
 protected void OnBeforeSubscribe(Channel channel)
 {
     BeforeSubscribe?.Invoke(this, new BeforeSubscribeEventArgs(channel.Descriptor));
 }