Other Parts Discussed in Thread: Z-STACK
I am using Z-stak 2.5.1a, GenericApp, when the ZC broadcast a data frame, there are a lot of NULL data frames in the air.
I have a ZC and ZED in my network.
ZED join the ZC's network, and ZC is ZED's parent.
When ZC broadcast a data frame, ZC will also hold the data for his child.
When the ZED sends a data request frame to the ZC, ZC sends the pending data frame to ZED.
Then the problem is coming.
The next time ZED poll ZC, ZC responses a ACK with the Frame Pending bit set. and then the ZC sends a NULL data frame to the ZED(Frame type = Data, Total Frame Lenth = 11, without MAC playload, only 9 byte MAC Header and 2 byte MAC Footer)
the NULL data frame is continously sending until the Indirect MSG Timeout(refering to NWK_INDIRECT_MSG_TIMEOUT in f8wConfig.cfg)
I find that Z-stack call "ZMacSrcMatchAckAllPending ()" when the ZC sends broadcast frame, and then set macSrcMatchIsAckAllPending = 1
but the macSrcMatchIsAckAllPending won't be cleared until Indirect MSG Timeout, so when the ZED poll the ZC, ZC will always responses a ACK frame with the Frame Pending Bit set.
Why the ZC response the ACK with Frame Pending Bit set, and then send the NULL data frame,
How can I solve the problem?
I am using the ubiqua protocol analyzer for packet sniffer, but there is something wrong when i upload the picture here
Please help me,thank you very much