1、Touch Link连接问题,详细描述如下:
Initiator:ZED
Target:ZR
在Initiator中只有注释掉下面的bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING) Touch link才能正常工作
bdb_initialize();printf("IsOnANetwork: %d\n", bdbAttributes.bdbNodeIsOnANetwork);if(bdbAttributes.bdbNodeIsOnANetwork == FALSE){//bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING);}
此时Touch Link连接过程如下图,但是没有发送Simple request。
不注释bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING)这行代码的话就永远加不进网络,如下图,我在代码中添加了很多打印,
发现Initiator收不到Scan Response,打印信息如下,"bdbTL_HdlIncoming\n"并没有打印出来。
static ZStatus_t bdbTL_HdlIncoming( zclIncoming_t *pInMsg ) {ZStatus_t status = ZSuccess;printf("bdbTL_HdlIncoming\n");if ( StubAPS_InterPan( pInMsg->msg->srcAddr.panId, pInMsg->msg->srcAddr.endPoint ) ){return ( bdbTL_HdlInInterPANCommands( pInMsg ) );}if ( zcl_ClusterCmd( pInMsg->hdr.fc.type ) ){// Is this a manufacturer specific command?if ( pInMsg->hdr.fc.manuSpecific == 0 ){status = bdbTL_HdlInSpecificCommands( pInMsg );}else{// We don't support any manufacturer specific command.status = ZFailure;}}else{// Handle all the normal (Read, Write...) commands -- should never get herestatus = ZFailure;}return ( status ); }
2、Initiator和Target均已开启NV_INIT和NV_RESTORE=1,Initiator掉电重启后只会Rejoin一次,而且没有成功过;Target掉电重启后清除了NV信息。
如下图
抓包信息如下:
Touchlink Info.zip
Alvin Chen:
你的操作是否问题请参照下面的帖子,之前我也给你试过了,没有问题,目前已知issue为bind ,但是可以手动绑定暂时去弥补,大概在下一版本会进行修复。
e2e.ti.com/…/709873
Alvin Chen:
回复 Alvin Chen:
ZStatus_t touchLinkInitiator_InitDevice( void ) {ZDO_Config_Node_Descriptor.LogicalType = zgDeviceLogicalType;// Is not factory new?if ( bdbAttributes.bdbNodeIsOnANetwork == TRUE ){// Resume ZigBee functionality based on the info stored in NVinitiatorReJoinNwk( MODE_RESUME );}else{initiatorSelectNwkParams();}#if defined ( POWER_SAVING )osal_pwrmgr_device( PWRMGR_BATTERY ); #endifreturn ( ZSuccess ); }
one Man:
回复 Alvin Chen:
还没到这里bdbAttributes.bdbNodeIsOnANetwork 就已经被设置为false了。
one Man:
回复 Alvin Chen:
我用的是两个CC2530,并不是2538或2652,还有你说的那个帖子并没有体现出rejoin不成功这个问题。
Alvin Chen:
回复 one Man:
你上报道那个帖子上吧,CC2530的Touchlink,我没有debug过,目前Z3.0的TouchLink确实存在一些问题,但是可以确定的是入网以及rejoin是好的。Sean会帮你试试,有问题了也方便上报。