This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Question about sending data from Coordinator to EndDevice

I am using ZStack-CC2530-2.4.0-1.4.0 on an application based on the SampleApp project. I want to send data packets from a Coordinator to a EndDevice。

I use AF_DataRequest without APS_ACK to send a packet,then in the AF_DATA_CONFIRM_CMD,

afDataConf=(afDataConfirm_t *)MSGpkt;
sentStatus=afDataConf->hdr.status;

if ( sentStatus != ZSuccess ),

{

//this packet will be re-transmitted;

}

else

{

//the next packet will be send.

}

But in the experiment,the data packets aren't sent successfully,some packets are lost although I get ZSuccess in the AF_DATA_CONFIRM_CMD.Why does this happen?

  • read this,,,,, 


    AF_DATA_CONFIRM_CMD:
    This is an indication of the over-the-air result for each data request that is successfully initiated by invoking AF_DataRequest(). ZSuccess confirms that the data request was successfully transmitted over-the-air. If the data request was made with the AF_ACK_REQUEST flag set, then the ZSuccess confirms that the message was successfully received at the final destination. Otherwise, the ZSuccess only confirms that the message was successfully transmitted to the next hop.3

  • Thank you ,but I still have a problem.

    In my experiment,there are only one  Coordinator and one EndDevice ,so the next hop is the destination. the second message was sent only when I got  the ZSuccess of the first message ,Otherwise,the first message was retransmitted until I got the ZSuccess .I send a lot of messages in order,they should have been successfully transmitted to the next hop,but the next hop lost some messages.I don't know the reason.

  • if you get Zsuccess for all data means then problem in end device,,,,, check the end device coding,,,, In coordinator , you provide correct address,,,,,  

    In end device , based on the cluster id only data will received,,, check the cluster id in AF_DataRequest() is same as end device function GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) function.