CC2530 home 1.2.2下载 SampleSwitch作为终端,拓扑是星型的,把10个设备都加入协调器,
1个协调器和10个终端设备,测试一夜第二天早上发现有一个设备掉线,此时把其他设备都断电,
测试该设备一直没发beacon(等15分钟后也没发),但是该模块重启后可以马上rejoin成功
1.该模块为什么不发beacon?有什么解决方法?
2.是否可以加入一个机制,即终端掉线后一段时间后,如果还是不发beacon则把终端的状态重置为DEV_INIT,是用这个函数吧?ZDApp_NetworkInit( 0 );
3.宏定义里的TC_LINKKEY_JOIN和ZCL_DIAGNOSTIC以及FEATURE_SYSTEM_STATS是做什么的?可以x了吗?
Alvin Chen:
你去抓个包看看,那个设备为什么掉线。 你总是这一个模块有问题,还是每个模块不定期。
你第二个问题,之前已经问过了,也有回复了e2echina.ti.com/…/506267
TC_LINKKEY_JOIN TCLK 的入网方式。ZCL_DIAGNOSTIC与FEATURE_SYSTEM_STATS:e2echina.ti.com/…/125061
YiKai Chen:
1&2. 如果可以偵測到設備不發出beacon requests,就做個軟體復位解決
3. TC_LINKKEY_JOIN是作TC link key 加密用的、不要隨便去除,另外兩個如果沒有用可以移調
user5367314:
回复 Alvin Chen:
这个是不固定的,有的时候这个模块掉线恢复不了,有的时候那个,
只能断电重启模块实现入网
user5367314:
回复 YiKai Chen:
如之前讨论的,在终端状态为非DEV_END_DEVICE的时候,
开启定时器,如果一段时间还没入网,则调用ZDApp_NetworkInit( 0 );
这个函数不会把2530的IO电平改变的了吧?我不要复位芯片,只要复位网络状态
YiKai Chen:
回复 user5367314:
调用ZDApp_NetworkInit( 0 )这个函数不会把2530的IO电平改变的
Jesse Huang:
你能否判断此时你的终端设备是否已经“死机”?
建议你把“ZCL_DIAGNOSTIC”和“FEATURE_SYSTEM_STATS”去掉再做一次测试。
user5367314:
回复 YiKai Chen:
针对CC2630终端,用的home 1.2.2switch例程,
1.ZDApp_NetworkInit( 0 );直接在应用程序里调用提示未定义,该怎么调用?
2.Clock_getTicks()的单位是多少?有没有单位为秒的系统时钟函数?
static void Switch_processZStackMsgs(zstackmsg_genericReq_t *pMsg)
{switch(pMsg->hdr.event){case zstackmsg_CmdIDs_DEV_STATE_CHANGE_IND:{// The ZStack Thread is indicating a State changezstackmsg_devStateChangeInd_t *pInd =(zstackmsg_devStateChangeInd_t *)pMsg;
// Only process the state change if it actually changed.if(savedState != pInd->req.state){// Save the new statesavedState = pInd->req.state;
if( (pInd->req.state == zstack_DevState_DEV_ZB_COORD)|| (pInd->req.state == zstack_DevState_DEV_ROUTER)|| (pInd->req.state == zstack_DevState_DEV_END_DEVICE) ){……
user5367314:
回复 YiKai Chen:
另外CC2630终端,用的home 1.2.2 switch例程
应用程序的宏定义里默认的ZSTACK_MANUAL_START是啥意思?手动启动?
我要模块自动启动,不要一直hold,要x了吗?
user5367314:
回复 Alvin Chen:
入网失败的终端设备,抓包如附件,请帮忙分析是什么原因?
该设备正常入网后,工作一段时间出现掉线,
6320.入网失败.psd
user5367314:
回复 user5367314:
我把协调器允许入网打开了,可以加入,但是我协调器和终端都开启NV了,怎么会出现掉线无法恢复呢?