Part Number:CC2652ROther Parts Discussed in Thread:SIMPLELINK-CC13XX-CC26XX-SDK
sdk版本:5_20_00_52
使用官方参考例程修改部分代码:zed_sw_CC26X2R1_LAUNCHXL_tirtos_ccs
在试验参考例程,做终端超时试验发现子节点有概率出现无法重新加入的情况,且出现后,无法重新加入网络,需重启才可以重新加入网络。
End Device Timeout 10s
父节点发送leave给子节点,子节点收到后,发送beacon request,父节点回复beacon,但是子节点没有发送rejoin重新加入。
按键部分代码修添加
zstack_sysConfigWriteReq_t writeReq = { 0 };writeReq.has_pollRate = true;writeReq.pollRate = POLL_RATE_MAX;writeReq.pollRateType = POLL_RATE_TYPE_DEFAULT; // |POLL_RATE_KEEP_ALIVEZstackapi_sysConfigWriteReq(appServiceTaskId, &writeReq);writeReq.pollRate = POLL_RATE_MAX;writeReq.pollRateType = POLL_RATE_KEEP_ALIVE;Zstackapi_sysConfigWriteReq(appServiceTaskId, &writeReq);
Shuyang Zhong:
最新的SDK5.30(https://www.ti.com/tool/download/SIMPLELINK-CC13XX-CC26XX-SDK)有修复了几个关于rejoin的bug,可以试一下使用新SDK能解决这个问题吗?
另外此问题发生的概率大约是多少?在发生之后子节点是处于死机状态吗?建议可以用下面链接中的方法在问题发生后连接仿真器查看一下程序跑到了哪里:
https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_5_30_01_01/docs/zigbee/html/zigbee-guide/debugging-index.html#connect-the-debugger-to-a-running-target
Best regards,
Shuyang
,
YiKai Chen:
請附上完整抓包檔
,
qq81679:
1.我昨天试验十几次没有出现。每次试验都会执行下面的代码。
昨天上午执行这段代码
zstack_sysConfigWriteReq_t writeReq = { 0 }; writeReq.has_pollRate = true; writeReq.pollRate = POLL_RATE_MAX; writeReq.pollRateType = POLL_RATE_TYPE_DEFAULT; // |POLL_RATE_KEEP_ALIVE Zstackapi_sysConfigWriteReq(appServiceTaskId, &writeReq);
writeReq.pollRate = POLL_RATE_MAX; writeReq.pollRateType = POLL_RATE_KEEP_ALIVE; Zstackapi_sysConfigWriteReq(appServiceTaskId, &writeReq);
关闭data request。
今天上午出现不能重新加入的现象。
2.发生之后子节点是正常运行状态,PuTTY可以正常使用,但是< COMMISSION > 后,没有任何数据包发出。
3.目前开发板一直处于调试状态,等出现现象后再查看。
,
YiKai Chen:
應該是因為你關閉了polling,所以終端被父節點從association table移除了,所以終端一旦再次發送信號,父節點是不認得它,才會送leave request請它重連,至於回連不上,需要你完整的抓包檔分析看看
,
qq81679:
数据包主要是截图上面的内容,其他的基本都是link status。协调器回复的beacon中,enddevice的容量是足够的。抓包文件已经删除了。
,
YiKai Chen:
截图基本上沒辦法分析問題,建議你下次重製出問題附上完整抓包檔
,
qq81679:
刚才又出现了这个现象,发现关闭polling一段时间后,收到 leave 后,不会重新rejoin。不加入网络的包在700行左右
,
qq81679:
我没有办法上传抓包文件
,
YiKai Chen:
压縮成ZIP後再上傳
,
qq81679:
REJOIN.zip
,
qq81679:
leave是父节点发给子节点,leave的原因是keep alive时间设置为10s,保持在线方式为NWK_PARENT_INFO_MAC_DATA_POLL
,
YiKai Chen:
你是指最後一次leave發出來後你的終端就沒有rejoin?
,
qq81679:
是的
,
YiKai Chen:
先設置斷點在zclSampleSw_ProcessCommissioningStatus的"case BDB_COMMISSIONING_PARENT_LOST:.."內看看你的終端是不是一直還有進到這個case