Other Parts Discussed in Thread: Z-STACK
Hello everyone.
I'm using ZStack 2.5.1.a with cc2530 and cc2531 devices and my system has 1 coordinator, 13 routers and 7 end devices.
I have some problems about Associated Device list.
The coordinator open permit join to let other devices join the network.
When ZED join the network, it unicast an Device Annouce message to it's parent and the parent broadcast Device Annouce to other device.
The problem is sometimes the parent receives another Device Annouce with mac destination address 0xFFFF and this message's broadcast ID is the same as
the Device Annouce that the parent broadcast.
It causes the parent process AssocRemove like below.
if ( inMsg->macDestAddr != NLME_GetShortAddr() )
{
associated_devices_t *dev_ptr;
// If it's an end device child
dev_ptr = AssocGetWithExt( Annce.extAddr );
if ( dev_ptr )
{
if ( dev_ptr->nodeRelation == CHILD_RFD ||
dev_ptr->nodeRelation == CHILD_RFD_RX_IDLE )
{
AssocRemove( Annce.extAddr );
}
}
}
So the end device isn't in the associated device list of it's parent.
Why the parent receives the Device Annouce twice with the same broadcast ID?
Please help.