Dear TI,
I found the typo error in the zll_initiator.c function in the latest TI ZLL release.
/*********************************************************************
* @fn initiatorSetNwkToInitState
*
* @brief Set our network state to its original state.
*
* @param void
*
* @return void
*/
static void initiatorSetNwkToInitState()
{
// Turn MAC receiver back to its old state
ZMacSetReq( ZMacRxOnIdle, &savedRxOnIdle );
// Tune back to our channel
zll_SetChannel( _NIB.nwkLogicalChannel );
// Set NWK task to run
nwk_setStateIdle( FALSE );
if ( savedPollRate != zgPollRate )
{
NLME_SetPollRate( savedPollRate );
savedPollRate = POLL_RATE; }
if ( savedQueuedPollRate != zgQueuedPollRate )
{
NLME_SetQueuedPollRate( savedQueuedPollRate );
savedQueuedPollRate = QUEUED_POLL_RATE;
}
if ( savedResponsePollRate != savedResponsePollRate ) // if ( savedResponsePollRate != zgResponsePollRate)
{ NLME_SetResponseRate( savedResponsePollRate );
savedResponsePollRate = RESPONSE_POLL_RATE; }
// In case we've lost our parent ZDApp_StartJoiningCycle();
}
savedResponsePollRate != zgResponsePollRate
Its a very simple type error. but this error wont let the Server send the response to the client.For example,take 2 servers(light,target) and 1 client(remote control,initiator)
1.Do the touch link for the first device -->light(server 1,Target)
2.after successful connection. Do the touch link for the second device --->light(server 2,Target)
3.In the Ti Stack Flow --> Initiator (client,remote) -->will do the initiatorSendNwkJoinReq() -> router join req -->which in turn will trigger the initiatorSetNwkToInitState() function after the touch link success.
In a very simple way, WE WONT SENDTHE Data Req from the Initiator to get the information from server(router, target)
Spend 2 days to find the root cause of this bug.
Thanks and Regards
Lakshman,PMP,PMI-RMP