测试环境,协调器1和协调器2,终端1
开始终端1加入协调器1,
等待5分钟后,此时BDB_COMMISSIONING_MODE_NWK_STEERING应该已经失效,
终端1执行bdb_resetLocalAction,还是能加入协调器1
关闭协调器1,终端1执行bdb_resetLocalAction,使能协调器2的BDB_COMMISSIONING_MODE_NWK_STEERING
发现终端1不停的加上协调器,一会就掉了,掉了又加,加了又掉,无限循环,而且每次的短地址也是变化的
抓包见附件,这是什么原因
无限重连.psd
Alvin Chen:
你是不是加了你那个逻辑,你用的是原始demo吗?
user5367314:
回复 Alvin Chen:
是原始的demo,只是删除了UI部分,
我把协调器2重启了就可以加入了,
不知道是什么原因
user5367314:
回复 Alvin Chen:
-DRFD_RCVC_ALWAYS_ON=TRUE的时候,
下面三个参数还会生效吗?
记得以前看过只要睡眠模式使能 的使能才会使能POLL
我现在设为非睡眠模式。下面的三个POLL是否不起作用了?/* The number of milliseconds to wait between data request polls to the coordinator.*/
-DPOLL_RATE=1000/* This is used after receiving a data indication to poll immediately* for queued messages…in milliseconds.*/
-DQUEUED_POLL_RATE=100/* This is used after receiving a data confirmation to poll immediately* for response messages…in milliseconds*/
-DRESPONSE_POLL_RATE=100
Alvin Chen:
回复 user5367314:
不生效,请参考:e2e.ti.com/…/763852
user5367314:
回复 Alvin Chen:
测试发现,终端1加入协调器1后,
把终端1执行bdb_resetLocalAction,此时终端1再加入协调器2,没问题
再把终端1执行bdb_resetLocalAction,让他再加协调器1,发现加入之后就不停的加入然后掉线,无限循环,每次短地址也是变化的,
此时对协调器执行bdb_resetLocalAction,发现终端1可以正常加入了
猜测是协调器记住终端1了,如果终端1加了协调器2,然后再加回协调器1,就必须要对协调器1执行bdb_resetLocalAction,
但是这样有个问题,协调器1连的其他终端都掉线了,需要全部再执行bdb_resetLocalAction重新连一遍
有没有什么好的解决办法?
Alvin Chen:
回复 user5367314:
协议栈自身没有这个问题,应该是你改动造成的,请不要修改直接用原始demo测试。
user5367314:
回复 Alvin Chen:
在协调器里怎么删除NV里存的不在线的所有终端,什么命令