mbed APIを使用して、いくつかの Characteristic User Descriptions をカスタム BLE GATT サービスに追加しようとしています。私のこれまでの仕事は、このコード構造に基づいていました。ただし、これらの特性に名前を付けたいと思います。これを行う方法について見つけることができる情報はあまりありません。ただし、以下はフォーラムからのコメントで、その方法を示しています。
The constructor for GattCharacteristic() takes an array of GattAttribtues as an optional argument. You can populate your User-Description into a GattAttribute and pass it along to the Characteristic.
これまでのところ、この構造が私の特性を設定しています。
uint16_t newServiceUUID = 0xA000;
uint16_t PercentageUUID = 0xA001;
uint16_t TimeUUID = 0xA002;
uint16_t UseProfileUUID = 0xA003;
const static char DEVICE_NAME[] = "Device"; // Device name
static const uint16_t uuid16_list[] = {0xFFF};
static uint8_t percentageValue[10] = {0};
WriteOnlyArrayGattCharacteristic<uint8_t,
sizeof(percentageValue)> percentageChar(PercentageUUID, percentageValue);
static uint8_t timeValue[10] = {0};
ReadWriteArrayGattCharacteristic<uint8_t,
sizeof(timeValue)> timeChar(TimeUUID, timeValue);
static uint8_t UseProfileValue[10] = {0};
WriteOnlyArrayGattCharacteristic<uint8_t,
sizeof(UseProfileValue)> UseProfileChar(UseProfileUUID, UseProfileValue);
// Set up custom service
GattCharacteristic *characteristics[] = {&percentageChar, &timeChar, &UseProfileChar};
GattService newService(newServiceUUID, characteristics, sizeof(characteristics) / sizeof(GattCharacteristic *));
これらの 3 つの特性に説明を追加するにはどうすればよいですか?
編集
私は今持っています:
static uint8_t percentageValue[10] = {0};
GattAttribute descr( BLE_UUID_DESCRIPTOR_CHAR_USER_DESC, (uint8_t *)"Percentage", strlen("Percentage"));
WriteOnlyArrayGattCharacteristic<uint8_t,
sizeof(percentageValue)> percentageChar( PercentageUUID,
percentageValue,
GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_EXTENDED_PROPERTIES,
&descr,
1 );
Error: No instance of constructor "WriteOnlyArrayGattCharacteristic<T, NUM_ELEMENTS>::WriteOnlyArrayGattCharacteristic [with T=std::uint8_t, NUM_ELEMENTS=10U]" matches the argument list in "main.cpp"
「サイズ」行にスローされます。