This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ZigBee的ACK相关问题

Other Parts Discussed in Thread: CC2538

3.0.2协议栈

1.MAC ACK默认是启用的,从哪里可以看到是启用的?重试的次数是哪个参数设定的?

2.APS ACK怎么启用,AF_DataRequest 的options 里如何启用啊?下面的options 里启用了吗?

#if defined ( INTER_PAN ) 
if ( StubAPS_InterPan( destAddr->panId, destAddr->endPoint ) )
{
options = AF_TX_OPTIONS_NONE;
}
else
#endif
{
options = zclGetClusterOption( srcEP, clusterID );

// The cluster might not have been defined to use security but if this message
// is in response to another message that was using APS security this message
// will be sent with APS security
if ( !( options & AF_EN_SECURITY ) )
{
afIncomingMSGPacket_t *origPkt = zcl_getRawAFMsg();

if ( ( origPkt != NULL ) && ( origPkt->SecurityUse == TRUE ) )
{
options |= AF_EN_SECURITY;
}
}
}

3.APSC_ACK_WAIT_DURATION_POLLED 

这个参数对于睡眠设备来说重发间隔是多长时间?非睡眠设备重发间隔是多长时间?

下面的描述没看明白,3000是什么意思?

/* This number is used by polled devices, since the spec'd formula
* doesn't work for sleeping end devices. For non-polled devices,
* a formula is used. Value is in 2 milliseconds periods
*/
-DAPSC_ACK_WAIT_DURATION_POLLED=3000

4.hold的话,只是针对睡眠设备,非睡眠设备是不是也会hold?

5.hold的时长是7秒,最大hold的消息个数在哪设置呢?

/* Default indirect message holding timeout value:
* 1-65535 (0 -> 65536) X CNT_RTG_TIMER X RTG_TIMER_INTERVAL
*/
-DNWK_INDIRECT_MSG_TIMEOUT=7