TI中文支持网
TI专业的中文技术问题搜集分享网站

关于组播与节点掉线检测两者冲突的疑问

在Zstack中,如果终端节点做了-DRFD_RCVC_ALWAYS_ON=TRUE的处理后,能够收到协调器的组播信息,但是此时终端节点不会像父节点定时发DataRequest,这就使得终端节点无从知晓父节点是否掉线,父节点也无从知晓子节点(终端节点)是否掉线,这就使得两中功能就冲突了。请问能否有办法使得终端节点既能收到组播消息,又能保证父子节点间能够识别相互是否掉线?
多谢多谢!

YiKai Chen:

终端节点做了-DRFD_RCVC_ALWAYS_ON=TRUE的处理后,還是可以使终端节点像父节点定时发DataRequest來知晓子节点(终端节点)是否掉线

user5281211:

回复 YiKai Chen:

请问应该在哪里做修改,我发现一旦使能了-DRFD_RCVC_ALWAYS_ON=TRUE后,不管是预编译了NWT_AUTOPOLL还是POWER_SAVING终端节点都不会再有Datarequest反馈?

YiKai Chen:

回复 user5281211:

除了NWK_AUTOPOLL、你還需要在f8wconfig.cfg設訂-DPOLL_RATE

user5281211:

回复 YiKai Chen:

我已经进行了如下设置:

-DRFD_RCVC_ALWAYS_ON=TRUE

/* 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

也使能了NWT_AUTOPOLL。

但是终端节点仍然是不发出Data_request

user5281211:

回复 YiKai Chen:

试了一下,果然可以了,可能Zstack预先在程序里根据-DRFD_RCVC_ALWAYS_ON=TRUE做了NLME_SetPollRate( 0 );NLME_SetQueuedPollRate( 0 );NLME_SetResponseRate( 0 );等处理,我在应用层通过 NLME_SetPollRate( 1000 );NLME_SetQueuedPollRate( 100 );NLME_SetResponseRate( 100 );进行了覆盖。谢谢你的指导!

YiKai Chen:

回复 user5281211:

不客氣、如果您认为我的回复解决了您的问题,请确认解决

Susan Yang:

回复 user5281211:

很高兴您能解决问题!不过这样的话,您的终端节点功耗就会高一些。如果需要低功耗的话,还是建议协调器通过单播方式发送数据给节点。

user5281211:

回复 Susan Yang:

好的,多谢多谢

赞(0)
未经允许不得转载:TI中文支持网 » 关于组播与节点掉线检测两者冲突的疑问
分享到: 更多 (0)