3662|3

3238

帖子

5

TA的资源

五彩晶圆(中级)

楼主
 

Z-Stack acknowledgements [复制链接]

Z-Stack acknowledgements
For non-broadcast messages, there are basically 2 types of message retry:end-to-end acknowledgement (APS ACK) and single-hop acknowledgement (MAC ACK).MAC ACKs are always on by default and are usually sufficient to guarantee ahigh degree of reliability in the network. To provide additional reliability,as well as to enable the sending device get confirmation that a packet has beendelivered to its destination, APS acknowledgements may be used.
APS acknowledgement is done at the APS layer and is an acknowledgementsystem from the destination device to the source device. The sending devicewill hold the message until the destination device sends an APS ACK message indicatingthat it received the message. This feature can be enabled/disabled for eachmessage sent with the options field of the call to AF_DataRequest(). Theoptions field is a bit map of options, so OR in AF_ACK_REQUEST to enable APSACK for the message that you are sending. The number of times that the messageis retried (if APS ACK message isn’t received) and the timeout between retriesare configuration items in f8wConfig.cfg. APSC_MAX_FRAME_RETRIES is the numberof retries the APS layer will send the message if it doesn’t receive an APS ACKbefore giving up. APSC_ACK_WAIT_DURATION_POLLED is the time between retries.


Using the AF_DATA_CONFIRM_CMD system event in the Z-stack totrack acknowledgements.
The AF_DATA_CONFIRM_CMD system event is received at the application layerwhen 1 of 3 conditions occur:
  • When an APS ACK is received (if APS ACK service is being used by passing in AF_ACK_REQUEST as a value for the options field)
  • When a MAC acknowledgement (next hop acknowledgement) is received
  • Transmission failed
The acknowledgement is not propagated up to the AF layer, only the eventthat one is received in the cases of 1) and 2) as mentioned above.

As part of the data confirm structure, the user has access to the endpoint andtransaction ID members. The application developer can load the transIDparameter as part of the AF_DataRequest() and use the transaction ID from theconfirm to track acknowledgements.

Diable the Mac ACK in Z-Stack
In the function ZMacDataReq( ):      
    pData->TxOptions &= !(MAC_TXOPTION_ACK);
此帖出自RF/无线论坛

最新回复

AF_DATA_CONFIRM_CMD 需要与AF_DataRequest的transID比较才有意义,但是如果用zigbee pro的自动分包,transID值会出错。  详情 回复 发表于 2013-12-12 00:55
点赞 关注
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 

回复
举报

2002

帖子

24

TA的资源

五彩晶圆(高级)

沙发
 
LZ最近在搞zigbee,请问是做智能家居么?实用的ZBH profile么?
此帖出自RF/无线论坛
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

板凳
 
一直在搞zigbee
此帖出自RF/无线论坛
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 
 

回复

147

帖子

0

TA的资源

一粒金砂(高级)

4
 
AF_DATA_CONFIRM_CMD 需要与AF_DataRequest的transID比较才有意义,但是如果用zigbee pro的自动分包,transID值会出错。
此帖出自RF/无线论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表