Adding a new APDU to an output cluster , with enough size but when sending data still get 0xA0 error

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Adding a new APDU to an output cluster , with enough size but when sending data still get 0xA0 error

838 次查看
dmsherazi
Contributor IV

This is in continuation of ZPS_APL_APS_E_ASDU_TOO_LONG 0xA0 ASDU is too large and fragmentation is not supported. topic but I am creating a new thread as the focus of that was in fragmentation of data. I gave up on that and would now go for plan B. 

Plan B is to add another APDU with larger data size and send the data without ack and fragmention. 

  1. So I added a new APDU 
    dostshah_1-1672837500151.png

     



  2. Then on output and input cluster use this new apdu
    dostshah_2-1672837523740.png
  3. When sending data I would now use this APDUdostshah_3-1672837662354.png


Now Ideally when sending 140 size apdu it should send properly but I still get 0XA0 status error

 

What am I misisng ? Is there any other step required to be done for the new APDU in code. AFAIU its handled by the .gen files already

0 项奖励
回复
3 回复数

821 次查看
EduardoZamora
NXP TechSupport
NXP TechSupport

Hello @dmsherazi,

Could you please help us with the following details?

Which device are you using?

What is your SDK version?

Are you using any of the Application Notes as base for your application? If so, which Application Note, and version are you using?

Please consider that as a general rule, fragmented data transfers and "ack" functions (such as ZPS_eAplAfUnicastAckDataReq and ZPS_eAplAfUnicastIeeeAckDataReq) should be used when sending a data packet with a payload size greater than 80 bytes.

Regards,
Eduardo.

0 项奖励
回复

813 次查看
dmsherazi
Contributor IV

HI @EduardoZamora 

 

Which device are you using?

JN5189 

 

What is your SDK version?

JN5189DK6 SDK 

 

Type: 0x8010 (Version)
Length: 5
Application: 5
SDK: 802

 

 

Are you using any of the Application Notes as base for your application? If so, which Application Note, and version are you using?

JN-AN-1247  v  2007

 

Please consider that as a general rule, fragmented data transfers and "ack" functions (such as ZPS_eAplAfUnicastAckDataReq and ZPS_eAplAfUnicastIeeeAckDataReq) should be used when sending a data packet with a payload size greater than 80 bytes.

 

I was planning that but I am struggling with how to get back the complete data on the reciever node. When using ZPS_eAplAfUnicastAckDataReq I can send data and on the reciver node I get a data_indication event. I can get the first 100 bytes if the the PDU size is 100 but still I have no idea how to get the next fragments so I can fill them in single buffer and then parse. I had a look into the suggested sections pointed by you in the linked postZPS_APL_APS_E_ASDU_TOO_LONG 0xA0 ASDU is too large and fragmentation is not supported.  but didnt get the steps. 

 

 

 

0 项奖励
回复

800 次查看
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

When using fragmented data, could you please confirm that you tried the following steps?

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.

Also, would it be possible for you to capture the data with a sniffer? Just to test if data is being fragmented and sent properly.

Regards,
Eduardo.

0 项奖励
回复