你好,
我有一些关于BLE特征许可的问题。
我们的客户希望我们的设备既支持通知又支持指示,所以我设置如下:
[customer_idx_control_point_val] = {customer_control_point_uuid_128, att_uuid_128_len, perm (wr, enable) | perm (write_req, enable) | perm (ind, enable) | perm (ntf, enable), def_cust1_indicateable_char_len, 0, null},
我只是想知道,我设置一个带有通知和指示许可的特征是否合法?这是正常情况吗?
我发现Dialog的SDK不能同时处理通知和指示。
如果我设置“PERM(IND, ENABLE) | PERM(NTF, ENABLE)”,只有通知有效。当主机发送“02 00”(启用指示)时,DA14585将返回PRF_ERR_INVALID_PARAM。
请检查一下“\sdk\ble_stack\profiles\custom\custs\src\custs1_task.c”中的代码“status = check_client_char_cfg(PERM_IS_SET(perm, NTF, ENABLE), param);”
非常感谢。
关键词:
设备:
嗨stanley_yeh,
我们不支持同一特性的通知和指示,因为这没有意义。您将只收到一个指示或一个通知。你张贴的代码,检查特征是否可起诉或可通知。
谢谢,PM_Dialog
嗨PM_Dialog,
我的意思是,这个特性支持这两种权限,指示和通知,但一次只允许一种权限。
我并不是说这两个权限是同时启用的。
如果主机发送01 00到我们设备的0x2902描述符,我们的设备将通知消息给主机,
如果主机发送02 00到我们设备的0x2902描述符,我们的设备将指示给主机消息。
你能告诉我为什么说不通吗?
非常感谢。:)
嗨stanley_yeh,
是的,这是可以预期的,一次只能启用一个权限。该特征在同一时间内只能被起诉或被告知,这就是为什么我们不支持在同一特征中同时通知和指示。
谢谢,PM_Dialog