我想实现路由设备判断协调器是否在线的功能,所以在路由设备发送数据给协调器的时候,在AF_DataRequest函数中或上AF_ACK_REQUEST,然后抓包发现协调器有APS返回。
我在路由设备的AF_DATA_CONFIRM_CMD,中对status进行判断:
afDataConfirm = (afDataConfirm_t *)MSGpkt;
sentEP = afDataConfirm->endpoint;
sentStatus = afDataConfirm->hdr.status;
sentTransID = afDataConfirm->transID;
(void)sentEP;
(void)sentTransID;
if ( sentStatus != ZSuccess )
{}
发现,发送成功的时候sentStatus 为0x00。失败的时候,无论是否开启AF_ACK_REQUEST,收到的都是ZMacNoACK 0xe9。请问为什么没收到ZApsNoAck?
我怎样才能区分开是mac ack还是aps ack?
