我正在玩这个例子:
https://doc-snapshots.qt.io/qt5-dev/qtbluetooth-heartrate-server-example.html
更好地了解如何配置GATT服务器。 该示例伪造了HeartRate配置文件。详细地说,它使用此客户端描述符创建一个特征:
const QLowEnergyDescriptorData clientConfig(QBluetoothUuid::ClientCharacteristicConfiguration, QByteArray(2, 0));
从这里开始:
我知道它默认禁用通知和指示(实际上我需要从客户端应用程序启用它们才能收到通知)。
我真正不明白的是这段代码:
quint8 currentHeartRate = 60;
const auto heartbeatProvider = [&service, ¤tHeartRate, &valueChange]() {
QByteArray value;
value.append(char(0)); // Flags that specify the format of the value.
value.append(char(currentHeartRate)); // Actual value.
QLowEnergyCharacteristic characteristic = service->characteristic(QBluetoothUuid::HeartRateMeasurement);
service->writeCharacteristic(characteristic, value); // Potentially causes notification.
...
好吧,它将两个字节附加到特征的值,因为它是在上面定义的:
QLowEnergyCharacteristicData charData;
charData.setUuid(QBluetoothUuid::HeartRateMeasurement);
charData.setValue(QByteArray(2, 0));
但第一个是什么意思?
value.append(char(0)); // Flags that specify the format of the value.
我找不到任何有关此“格式”的文档。