write_cmd属性的问题请教
大家好我将properties: [ notify, write, write_cmd], 同时有write和write_cmd两种属性,
向应用层转发的时候使用ATT_ACCESS_WRITE、ATT_ACCESS_READ来区分是读操作 还是写操作,那请问如何区分write、write_cmd呢?
write时的代码如下:
else if (access_ind->flags & ATT_ACCESS_WRITE)
{
if (access_ind->size_value <= GATT_CLIENT_CONFIG_NUM_OCTETS)
{
/* On a Write, send new client config value to the app */
MAKE_HR_SERVER_MESSAGE(GATT_PTT_SERVER_WRITE_CLIENT_CONFIG_IND);
message->ptt_sensor = ptt_sensor;
message->cid = access_ind->cid;
message->config_len = access_ind->size_value;
/*message->config_value = (access_ind->value & 0xFF) | ((access_ind->value << 8) & 0xFF00);*/
for(i = 0;i < 20;i++)
{
message->config_value = access_ind->value;
}
MessageSend(ptt_sensor->app_task, GATT_PTT_SERVER_WRITE_CLIENT_CONFIG_IND, message);
/* Library response to the access request */
sendPTTServerAccessRsp(&ptt_sensor->lib_task, access_ind->cid, HANDLE_PTT_MEASUREMENT_CLIENT_CONFIG, gatt_status_success, 0, NULL);/*gatt_status_request_not_supported*/
sendPTTServerAccessRsp(&ptt_sensor->lib_task, access_ind->cid, HANDLE_PTT_MEASUREMENT, gatt_status_success, 0, NULL);
/*sendPTTServerAccessRsp(&ptt_sensor->lib_task, access_ind->cid, HANDLE_PTT_MEASUREMENT_CLIENT_CONFIG, gatt_status_request_not_supported, 0, NULL);*/
/*sendPTTServerAccessRsp(&ptt_sensor->lib_task, access_ind->cid, HANDLE_PTT_MEASUREMENT, gatt_status_request_not_supported, 0, NULL);*/
}
else
{
sendPTTServerAccessErrorRsp(ptt_sensor, access_ind, gatt_status_invalid_length);
}
}
谢谢大家
write是带Response,保证写入
write_cmd就是No Response ganxiniuhe 发表于 2021-7-12 17:20
write是带Response,保证写入
write_cmd就是No Response
我明白你的意思
我不明白这个判断条件 else if (access_ind->flags & ATT_ACCESS_WRITE)
当write时使用的是这个条件,如果是write_cmd那应该使用哪个条件呢?
谢谢 今天是一个好日子啊:D:D:D 学习
页:
[1]