AnsweredAssumed Answered

Problem with ZPS_tsAplZdpMgmtLqiRsp, ZigBee Pro on JN5168

Question asked by Igor Galelyuka on Mar 24, 2017
Latest reply on Mar 28, 2017 by Igor Galelyuka



How can I read the value of u64ExtendedAddress of ZPS_tsAplZdpMgmtLqiRsp ? (ZigBee Pro, JN5168)


I do the next (fragments of code from Coordinator):


ZPS_tsAplZdpMgmtLqiRsp LqiRsp;


PRIVATE void vHandleStackEvent(ZPS_tsAfEvent sStackEvent)


   if (ZPS_EVENT_NONE != sStackEvent.eType)


      switch (sStackEvent.eType)




            if (sStackEvent.uEvent.sApsDataIndEvent.u16ClusterId==0x8031) // is input cluster "Mgmt_Lqi_req" (0x0031) ?


               ZPS_tsAfZdpEvent sAfZdpEvent;


               zps_bAplZdpUnpackResponse(&sStackEvent, &sAfZdpEvent);

               LqiRsp = sAfZdpEvent.uZdpData.sMgmtLqiRsp;








Once per 5 second I do code:


PRIVATE void vLqiRequest(void)


PDUM_thAPduInstance hAPduInst;

hAPduInst = PDUM_hAPduAllocateAPduInstance(apduZDP);


ZPS_tsAplZdpMgmtLqiReq sMgmtLqiReq;

ZPS_tuAddress uDstAddr;


uDstAddr.u16Addr = 0x00;

sMgmtLqiReq.u8StartIndex = 0;


ZPS_eAplZdpMgmtLqiRequest(hAPduInst, uDstAddr, FALSE, NULL, &sMgmtLqiReq);



And once per 1 second I read data:


ZPS_tsAplZdpNtListEntry *tl;

uint8 counT;

uint64 addrT;


countT = LqiRsp.u8NeighborTableEntries; // it works

tl = (LqiRsp.psNetworkTableList);

addrT = tl->u64ExtendedAddress; // it doesn't work



I tried in different ways to obtain u64ExtendedAddress, but in some cases the program aborted, or I got some address, but not real MAC