你好,
我有一个prox_reporter_ext的修改版本,其中有3个特征,并为所有特征配置了通知。当我使用android的LightBlue应用程序订阅特定特征的通知时,我收到的是CUSTS1_VAL_IND_CFM (0xDC08),而不是CUSTS1_VAL_NTF_CFM。
下面是我尝试订阅的特性的配置:
static struct att_char128_desc custs1_cust_prf_char = {ATT_CHAR_PROP_RD | ATT_CHAR_PROP_NTF, {0,0}, DEF_CUST1_CUST_PRF_UUID_128};[CUST1_IDX_CUST_PRF_CHAR] = {(uint8_t *) &att_decl_char ATT_UUID_16_LEN,烫(RD,启用),sizeof (custs1_cust_prf_char), sizeof (custs1_cust_prf_char), (uint8_t *) &custs1_cust_prf_char}, [CUST1_IDX_CUST_PRF_VAL] = {CUST1_CUST_PRF_UUID_128 ATT_UUID_128_LEN,烫(RD,使)|烫(NTF,启用),DEF_CUST1_CUST_PRF_CHAR_LEN, 0,零},[CUST1_IDX_CUST_PRF_NTF_CFG] = {(uint8_t *) &att_decl_cfg ATT_UUID_16_LEN,烫(RD,使)|烫(WR,启用),sizeof (uint16_t), 0,零},[CUST1_IDX_CUST_PRF_USER_DESC] = {(uint8_t *) &att_decl_user_desc ATT_UUID_16_LEN,烫(RD,启用),sizeof (CUST1_CUST_PRF_USER_DESC) - 1, sizeof (CUST1_CUST_PRF_USER_DESC) - 1, CUST1_CUST_PRF_USER_DESC},
这是SDK的问题吗?
谢谢
关键词:
设备:
嗨tsgowtham,
CUSTS1_VAL_NTF_CFM是来自BLE堆栈的确认,您已成功将CUSTS1_VAL_NTF_REQ消息推入BLE堆栈。这不是来自中央的数据已成功接收的确认。每当发送通知时,您将获得CUSTS1_VAL_NTF_CFM(用于自定义概要文件)。指示确认是一个GATTC_CMP_EVT,它触发CUSTS1_VAL_IND_CFM,并由user_catch_rest_hndl()函数处理。使用特定消息的函数,它们用于在客户端赋予特定特性其通知或指示属性。年代
我无法在SDK的ble_app_peripheral示例中复制它。
谢谢,PM_Dialog
嗨PM_Dialog,
只是确认一下,我假设当我从应用程序订阅特征的通知时,我将收到一个CUSTS1_VAL_NTF_CFM消息,对吗?
我只在prox_reporter_ext上注意到这个问题。当我使用相同的cust1配置文件运行ble_app_profile时,当我订阅通知(即订阅)时,我收到CUSTS1_VAL_NTF_CFM
我通过在ble_app_profile上的user_catch_rest_hndl和proxr_reporter_ext上的HandleBleMsg处放置断点来验证这一点
谢谢
嗨tsgowtham,
谢谢你的指点。我试着复制一下,然后再联系你。
谢谢,PM_Dialog