private void ProcessAndNotify(GattCharacteristic sender, GattValueChangedEventArgs args) { byte[] buffer; using (var reader = DataReader.FromBuffer(args.CharacteristicValue)) { buffer = new byte[reader.UnconsumedBufferLength]; reader.ReadBytes(buffer); } var newValue = Encoding.UTF8.GetString(buffer, 0, buffer.Length); var valueChanged = new BleDeviceValueChangedEventArgs(sender.Service.Session.DeviceId.Id, sender.Service.Uuid.ToString(), sender.Uuid.ToString(), newValue); DeviceValueChanged?.Invoke(this, valueChanged); }
internal void RaiseDeviceValueChangedEvent(string deviceUuid, string serviceUuid, string characteristicUuid, string message) { var args = new BleDeviceValueChangedEventArgs(deviceUuid, serviceUuid, characteristicUuid, message); DeviceValueChanged(this, args); }