cancel
Showing results for 
Search instead for 
Did you mean: 

APS Layer configuration : Ack requirement

Nath
Associate

Hello,
I'm trying to make an OnOff Switch emitter using zigbee on the STM32WB55 Nucleo Board. I started my project from the Zigbee_OnOff_Client_Distrib applications exemple.

The receiver that I use is not made to send back APS ACK. Because of this I add problems with Toggle command on the OnOff ZCL Cluster because the emitter was sending frame retries.

I figured out that I could disable Ack requirement in the APS Frame Control using

zigbee_app_info.onOff_client_1->txOptions &= ~(ZB_APSDE_DATAREQ_TXOPTIONS_ACK);

after cluster allocation.

Now, my problem is with the Zdo. In the find and bind process, I send a Simple Descriptor Request:

// /** Simple_Desc_req */
// struct ZbZdoSimpleDescReqT {
//     uint16_t dstNwkAddr; /**< Destination network address */
//     uint16_t nwkAddrOfInterest; /**< NWKAddrOfInterest */
//     uint8_t endpt; /**< Endpoint */
// };

// Request simple descriptor
struct ZbZdoSimpleDescReqT req_simple_desc;
req_simple_desc.dstNwkAddr = zigbee_app_info.SW1_endpoint_bind.nwkAddr;
req_simple_desc.nwkAddrOfInterest = zigbee_app_info.SW1_endpoint_bind.nwkAddr;
req_simple_desc.endpt = zigbee_app_info.SW1_endpoint_bind.endpoint;

ZbZdoSimpleDescReq(zigbee_app_info.zb, &req_simple_desc, simple_desc_response_cb, NULL);

when I check in the packet with a sniffer, I see that the Ack requirement in the APS Frame Control is set, and the emitter send frame retries.

 

My questions are :

 - How can I disable Ack requirement in the APS Frame Control for zdo requests?
 - Is there a way to configure the APS Layer globally?

 

Thank you,

1 ACCEPTED SOLUTION

Accepted Solutions
Ouadi
ST Employee

Hello @Nath,

Thanks for contacting us.

Please find my answers to your questions: 

  • APS Acknowledgement is mandatory for all unicast ZDO Commands according to Zigbee specification, this allow to overcome transient routing leading to failures in the network.
  • Consequently, APS Ack can only be disabled for the ZCL layer at the cluster level as you mentioned.

Please find the paragraph from Zigbee spec : 

Ouadi_0-1739981684257.png

Kind regards,

Ouadi

 

View solution in original post

2 REPLIES 2
Ouadi
ST Employee

Hello @Nath,

Thanks for contacting us.

Please find my answers to your questions: 

  • APS Acknowledgement is mandatory for all unicast ZDO Commands according to Zigbee specification, this allow to overcome transient routing leading to failures in the network.
  • Consequently, APS Ack can only be disabled for the ZCL layer at the cluster level as you mentioned.

Please find the paragraph from Zigbee spec : 

Ouadi_0-1739981684257.png

Kind regards,

Ouadi

 

Hello @Ouadi,

Thank you for your answers.