TI中文支持网
TI专业的中文技术问题搜集分享网站

如何设置数据包的重发次数、重发间隔

怎样设置重发次数和重发间隔

Susan Yang:

您可以f8wConfig.cfg中查看

/* The maximum number of retries allowed after a transmission failure */-DAPSC_MAX_FRAME_RETRIES=3

AndyChen:

回复 Susan Yang:

Susan Yang,你好,谢谢回复。

关于重发次数,我这边测试发现3个参数可以设置:

第一个,macPibDefaults.maxFrameRetries,这个似乎是MAC层的重发,重发间隔很短,4ms左右,具体设置重发间隔的参数还没有找到。

第二个,NWK_MAX_DATA_RETRIES,这个似乎是NWK层的重发,对应用层发的普通数据包(不需分包)是有效的,重发间隔400ms左右,具体设置重发间隔的参数还没有找到。对应用层发出的需要分包的数据包,这个参数是无效的。

第三个,APSC_MAX_FRAME_RETRIES,这个参数对应用层发出的需要分包的数据包有效,重发间隔(100 mSec) * (_NIB.MaxDepth * zgApsAckWaitMultiplier)。

应用层发出的普通数据包,若一直无响应,总共发送次数:NWK_MAX_DATA_RETRIES   * ( macPibDefaults.maxFrameRetries + 1 )

应用层发出的需分包的数据包,若一直无响应,总共发送次数:APSC_MAX_FRAME_RETRIES * ( macPibDefaults.maxFrameRetries + 1 )

以上是我的测试结果,还有两点疑惑:

1、macPibDefaults.maxFrameRetries和NWK_MAX_DATA_RETRIES这两种重发的间隔设置参数没有找到。

2、同样是应用层通过AF_DataRequest发出的数据包,未拆分的数据包和拆分过的数据包 重发次数、重发间隔竟然是分开设置的,有点不明白呀

JIM GREEN8:

回复 AndyChen:

zhou chen1 你好,我现在也想修改data request包的发送间隔,请问你找到了么

guangpeng lao:

回复 JIM GREEN8:

/* Minimum number of milliseconds to delay between each beacon request * in a joining cycle. */-DBEACON_REQUEST_DELAY=3000//自己修改的 原来100 2017.6.16

/* Mask for the random beacon request delay. This value is masked with the * return from osal_rand() to get a random delay time for each joining cycle. * This random value is added to DBEACON_REQUEST_DELAY. For example, a value * of 0x00FF will be a beacon request delay of 0 to 255 milliseconds. */-DBEACON_REQ_DELAY_MASK=0x0FFF//自己修改的 原来0x00FF 2017.6.16

赞(0)
未经允许不得转载:TI中文支持网 » 如何设置数据包的重发次数、重发间隔
分享到: 更多 (0)