嗨,
我在一个服务中有多种特性,它们都有需要启用/禁用的通知
我发现在示例中启用通知时,它会核心设置通知gattc_write_cmd_ind_handler,sample128_env.feature | = prf_cli_start_ntf;
如果我有多于一个可动特征,这种方法似乎不对。我该如何处理这件事?每个特征都应该有一个标志吗?有什么例子吗?
在“gattc_write_cmd_ind_handler()”中,您可以使用“param->句柄”参数来判断必须解决哪些特性:
if(param-> handle == sample128_env.sample128_shdl + sample128_1_idx_val)char_code = sample128_1_char;if(param-> handle == sample128_env.sample128_shdl + sample128_2_idx_cfg)char_code = sample128_2_cfg;
“Sample128_1_DX_VAL”和“Sample128_2_IDX_CFG”在“Sample128.h”中定义。如果您有更多的特征,则可以拥有“Sample128_3_IDX_CFG”。然后你可以歧视目的地。
马特。
嗨,我假设配置特征本身可以用来判断通知是否已启用。在这种情况下,样本128_env.feature的使用是什么?在我看来,而不是
if((sample128_service_env.feature&prf_cli_start_ntf)){//通过gatt发送通知prf_server_send_event((prf_env_struct *)和sample128_service_env,false,sample128_service_env.seebo_service_shdl + param-> supple_offset);}
这应该是使用的。即检查配置特性以查看是否启用通知。
if((attmdb_att_get_value(param->句柄,sizeof(uint16),(uint8 *)和param-> value [0])&prf_cli_start_ntf))//检查特性配置是否已启用通知{//通过gatt发送通知prf_server_send_event((prf_env_struct *)和sample128_service_env,false,sample128_service_env.seebo_service_shdl + param-> supple_offset);}
嗨,
在“gattc_write_cmd_ind_handler()”中,您可以使用“param->句柄”参数来判断必须解决哪些特性:
if(param-> handle == sample128_env.sample128_shdl + sample128_1_idx_val)char_code = sample128_1_char;
if(param-> handle == sample128_env.sample128_shdl + sample128_2_idx_cfg)char_code = sample128_2_cfg;
“Sample128_1_DX_VAL”和“Sample128_2_IDX_CFG”在“Sample128.h”中定义。如果您有更多的特征,则可以拥有“Sample128_3_IDX_CFG”。然后你可以歧视目的地。
马特。
嗨,
我假设配置特征本身可以用来判断通知是否已启用。在这种情况下,样本128_env.feature的使用是什么?
在我看来,而不是
if((sample128_service_env.feature&prf_cli_start_ntf))
{
//通过gatt发送通知
prf_server_send_event((prf_env_struct *)和sample128_service_env,false,sample128_service_env.seebo_service_shdl + param-> supple_offset);
}
这应该是使用的。即检查配置特性以查看是否启用通知。
if((attmdb_att_get_value(param->句柄,sizeof(uint16),(uint8 *)和param-> value [0])&prf_cli_start_ntf))//检查特性配置是否已启用通知
{
//通过gatt发送通知
prf_server_send_event((prf_env_struct *)和sample128_service_env,false,sample128_service_env.seebo_service_shdl + param-> supple_offset);
}