Hi
I am trying to send a unicast by using ZPS_eAplAfUnicastAckDataReq but it fails with status code 0xA0 which is
ZPS_APL_APS_E_ASDU_TOO_LONG 0xA0 A transmit request failed since the ASDU is
too large and fragmentation is not supported.
From the Zigbee Stack User Guide
If the APDU size is larger than the maximum packet size allowed on the network, the
APDU will be broken up into fragments (NPDUs) for transmission, provided that
fragmentation has been enabled by setting the ZigBee network parameter Maximum
Number of Transmitted Simultaneous Fragmented Messages to a non-zero value.
I am using the Control Bridge Application Note for JN5189. Can someone please point at where exactly to enable / set the ZigBee network parameter Maximum Number of Transmitted Simultaneous Fragmented Messages to a non-zero value ?
@EduardoZamora Can you please help!
@nxp Support
found it here https://www.nxp.com/docs/en/user-guide/JN-UG-3113.pdf at page 490. about sending large data. However on the receiving Node I get ZPS_EVENT_APS_DATA_INDICATION but the size is just one APDU size. How to join the fragments on the reciever node and parse the packet?
B.1.1 Enabling/Disabling FragmentationIn order to allow fragmented data transfers between two nodes, you must
appropriately configure two ZigBee network parameters:
Note 1: Fragmentation is described further in Appendix
Hello @dmsherazi
Please consider that JN-UG-3113 corresponds to JN516x devices; for JN5189 devices, please refer to JN-UG-3130 (this User Guide can be found inside JN5189SDK folder > docs > wireless > Zigbee).
Could you please confirm that you have already read the following sections of JN-UG-3130?
Regards,
Eduardo.
Thanks for your response.
I have gone through them. Both my nodes have non zero Maximum Number of Transmitted Simultaneous Fragmented and Maximum Number of Received Simultaneous Fragmented
Messages .
and the message is sent from the tx node.
AFAIK the acknowledgemets will be handled by the stack and doesnt need me to write code for it specifically. I am confused about the process of getting the unicast data on RX node in full
ZPS_EVENT_APS_DATA_INDICATION gives me the first 100 bytes which is the apduSize. So seems to me that thats the first fragment only.
Hi,
The processes of fragmentation at the sender and de-fragmentation at the receiver are transparent to the applications at the two ends. zps_eAplAfUnicastAckDataReq() function request end-to-end acknowledgment which, when received, generate zps_EVENT_APS_DATA_ACK event.
Please try the following:
1. Increase APDU size to the maximum payload size required by application.
2. Increase FragmentationMaxNumSimulRx/FragmentationMaxNumSimulTx to the maximum fragmentation block number (integer).
3. APS Max Window Size defines how many fragments are sent before an acknowledgment is expected. Set APS Max Windows Size to 1.
Regards,
Eduardo.