public void WriteCccd(BleCharacteristic characteristic, BleCccd cccd, BleRequestFlags requestFlags) { Throw.If.Null(characteristic, "characteristic"); BleDescriptor descriptor; if (!characteristic.TryGetDescriptor(BleUuids.Cccd, out descriptor)) { HidSharpDiagnostics.Trace("Characteristic {0} does not have a CCCD, so {1} could not be written.", characteristic, cccd); return; } if (cccd == BleCccd.Notification) { HidSharpDiagnostics.PerformStrictCheck(characteristic.IsNotifiable, "Characteristic doesn't support Notify."); } if (cccd == BleCccd.Indication) { HidSharpDiagnostics.PerformStrictCheck(characteristic.IsIndicatable, "Characteristic doesn't support Indicate."); } var value = new byte[2]; value[0] = (byte)((ushort)cccd >> 0); value[1] = (byte)((ushort)cccd >> 8); WriteDescriptor(descriptor, value); }
public void WriteCccd(BleCharacteristic characteristic, BleCccd cccd) { WriteCccd(characteristic, cccd, RequestFlags); }