微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 调试HA1.2,路由缓存其终端节点的数据,不等待节点的poll,就直接发送数据问题

调试HA1.2,路由缓存其终端节点的数据,不等待节点的poll,就直接发送数据问题

时间:10-02 整理:3721RD 点击:

请问:

在调试HA1.2过程中,终端节点通过一个路由设备加入网络,协调器下发命令读取终端设备的
Attribute,

数据下发到路由,但是不等待终端节点的poll,就直接发送数据,导致数据发送失败

路由缓存数据的时间设置30S,终端节点的poll Rate = 18S

#define NWK_MAX_DATABUFS_TOTAL 12

#define NWK_INDIRECT_MSG_MAX_PER 3

-DNWK_INDIRECT_MSG_TIMEOUT=30

请问还有什么配置?谢谢

Z-Stack Home 1.2里面,需要子设备在入网以后告诉父设备自己的poll rate是多少。

void ZDApp_AnnounceNewAddress( void )
{
#if defined ( ZIGBEEPRO )
// Turn off data request hold
APSME_HoldDataRequests( 0 );
#endif

ZDP_DeviceAnnce( NLME_GetShortAddr(), NLME_GetExtAddr(),
ZDO_Config_Node_Descriptor.CapabilityFlags, 0 );

#if defined ( ZIGBEEPRO )
// Setup the timeout
APSME_HoldDataRequests( ZDAPP_HOLD_DATA_REQUESTS_TIMEOUT );
#endif

if ( ZSTACK_END_DEVICE_BUILD )
{
if ( zgChildAgingEnable == TRUE )
{
uint8 coordExtAddr[Z_EXTADDR_LEN];

// Send the message to parent
NLME_GetCoordExtAddr( coordExtAddr );
NLME_SendEndDevTimeoutReq( NLME_GetCoordShortAddr(), coordExtAddr,
zgEndDeviceTimeoutValue,
zgEndDeviceConfiguration );
}
}
}

父设备在收到这个消息以后,就会把对该节点的timeout时间修改过来了。

您好,

    目前我的配置中,zgChildAgingEnable = FALSE;

路由和终端都没有使用该功能。

终端节点直接通过协调器加入网络,向终端发送数据,在Data Request时,向其发送数据。

childAging功能应该是路由或者协调器用于管理自己的关联表,及时删除在Timeoutvalue时间内无数据的终端节点,或者根据linkstatus的丢失值age删除路由节点?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top