private async Task ReadCharacteristic(UUID uuid) { if (!BcoreCharacteristics.ContainsKey(uuid.ToString().ToLower())) { return; } var characteristic = BcoreCharacteristics[uuid.ToString().ToLower()]; if (!characteristic.Properties.HasFlag(GattProperty.Read)) { return; } await ReadSemaphore.WaitAsync(); DeviceGatt.ReadCharacteristic(characteristic); }
private async Task WriteCharacteristic(UUID uuid, byte[] value) { if (!BcoreCharacteristics.ContainsKey(uuid.ToString().ToLower())) { return; } var characteristic = BcoreCharacteristics[uuid.ToString().ToLower()]; if (!characteristic.Properties.HasFlag(GattProperty.WriteNoResponse)) { return; } await WriteSemaphore.WaitAsync(); characteristic.SetValue(value); DeviceGatt.WriteCharacteristic(characteristic); }
public void Disconnect() { DeviceGatt?.Disconnect(); DeviceGatt?.Close(); }