AnsweredAssumed Answered

JN5168 - Nwk Address Request

Question asked by Jia Na Lai on Mar 26, 2017
Latest reply on Aug 14, 2017 by Mario Ignacio Castaneda Lopez

I have used the following function to request the short address but i cannot use the function too frequent at the same time and will get the error (stack dump). Meanings i have called the ZPS_eAplZdpNwkAddrRequest() frequently within a few seconds then my device will get an error and after that will reboot. Currently i have connected up to 60 nodes, 10 routers and 50 end devices.

 

ZPS_teStatus ZPS_eAplZdpNwkAddrRequest(
PDUM_thAPduInstance hAPduInst,
ZPS_tuAddress uDstAddr,
bool bExtAddr,
uint8 *pu8SeqNumber,
ZPS_tsAplZdpNwkAddrReq *psZdpNwkAddrReq);

 

 

Example of nwk address request codes:

 

Request=TRUE;
memcpy(&MacAddress,&UARTRX_buffer[1],sizeof(uint64));

 

b_hAPduInst = PDUM_hAPduAllocateAPduInstance(apduMyData);
DBG_vPrintf(TRUE,"\nMAC = %016llx",MacAddress);

 

DstAddr.u16Addr = 0xFFFF;
psZdpNwkAddrReq.u64IeeeAddr=MacAddress;
psZdpNwkAddrReq.u8RequestType=0x00;
psZdpNwkAddrReq.u8StartIndex=0;
ZPS_eAplZdpNwkAddrRequest(
b_hAPduInst,
DstAddr,
FALSE,
&u8Seq,
&psZdpNwkAddrReq);

 

Example of nwk address response codes:

 

case ZPS_EVENT_APS_DATA_INDICATION:
{
DBG_vPrintf(TRACE_APP, "APP: vCheckStackEvent: ZPS_EVENT_AF_DATA_INDICATION\n");

/* Process incoming cluster messages ... */
DBG_vPrintf(TRACE_APP, " Profile :%x\r\n",sStackEvent.uEvent.sApsDataIndEvent.u16ProfileId);
DBG_vPrintf(TRACE_APP, " Cluster :%x\r\n",sStackEvent.uEvent.sApsDataIndEvent.u16ClusterId);
DBG_vPrintf(TRACE_APP, " EndPoint:%x\r\n",sStackEvent.uEvent.sApsDataIndEvent.u8DstEndpoint);
DBG_vPrintf(TRACE_APP, " ShortAddr:%x\r\n",sStackEvent.uEvent.sApsDataIndEvent.uDstAddress.u16Addr);
if(Request==TRUE)
{
ZPS_tsAfZdpEvent sAfZdpEvent;
zps_bAplZdpUnpackResponse(&sStackEvent,&sAfZdpEvent);
DBG_vPrintf(TRUE,"\nAddr = %x,",sAfZdpEvent.uZdpData.sNwkAddrRsp.u16NwkAddrRemoteDev);
Request=FALSE;
}

}
break;

Outcomes