ZigBee data acknowledge problem. Confirm Status = not enough memory

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ZigBee data acknowledge problem. Confirm Status = not enough memory

Jump to solution
889 Views
Elisa
Contributor III

I want to send packets using


afAddrInfo.txOptions = (gApsTxOptionNone_c | gApsTxOptionAckTx_c)


and


status = AF_DataRequest(&afAddrInfo, mypktPacket, pkt, &myconfirmId);


If status is gZbSuccess_c, I wait the  confirmation.


_______


If I receive a gZbSuccess_c  I will wait and then send a new pkt (frequency is 5 pkt per seconds)


If I receive a gApsNoAck_c i will resend the pkt if my circular data buffer is not full.



The problem is that after few minutes the confirmation status became gZbNoMem_c


What does it means? Who has not enough memory? The sender or the receiver node? 

Labels (1)
  • RF

0 Kudos
1 Solution
463 Views
AlanCollins
Contributor V

Hello Elisa,

     The "AF_DataRequest" will return "gZbNoMem_c" if it failes to allocate the message. The message goes into the SAP that communicates to the lower layer and eventually becomes an OTA message.

This means you are not freeing correctly the messages your application is using.

I recommend you to turn on the message tracking for debugging what's going on: #define MsgTracking_d 1

Then, when you get the "No mem" error, you can check the "MsgTrackingArray" to see the type of messages that have nto been freed correclty.

Cheers,

Alan

View solution in original post

0 Kudos
1 Reply
464 Views
AlanCollins
Contributor V

Hello Elisa,

     The "AF_DataRequest" will return "gZbNoMem_c" if it failes to allocate the message. The message goes into the SAP that communicates to the lower layer and eventually becomes an OTA message.

This means you are not freeing correctly the messages your application is using.

I recommend you to turn on the message tracking for debugging what's going on: #define MsgTracking_d 1

Then, when you get the "No mem" error, you can check the "MsgTrackingArray" to see the type of messages that have nto been freed correclty.

Cheers,

Alan

0 Kudos