Other Parts Discussed in Thread: Z-STACK
Hi everybody,
We're using ZStack-2.5.0 on CC2530s in a star network, with battery-powered end devices talking to USB powered routers (that is, every end device is at a depth of 1 and no router has a parent). We'd like to be able to have each router query its end-device children for information, but we're having trouble getting the routers to respond to poll requests after they send out a broadcast message.
We finally got polling working in unicast (because the depth of all of our end devices is 1, we had been using AF_SKIP_ROUTING in AF_DataRequest(), but this did nothing except prevent messages from being held for sleeping end devices, so we're now using AF_TX_OPTIONS_NONE). However, when we try to send the same message as a broadcast (address 0xFFFF, addrMode = afAddrBroadcast) nothing happens when the end-device issues a poll request.
Is there a way to ensure that a router will hold a broadcast message for sleeping end devices? According to the ZStack Developer's Guide, when broadcasting to 0xFFFF "the message will be sent to all devices in the network (includes sleeping devices). For sleeping devices, the message is held at its parent until the sleeping device polls for it or the message is timed out (NWK_INDIRECT_MSG_TIMEOUT in f8wConfig.cfg)". I have a feeling there's some compiler option we're missing or some parameter of AF_DataRequest() we're not using right, but I can't seem to find where the issue is.
If there's any info I can give you folks that would give you a better idea of what might be wrong, please let me know.
Thanks,
Hank