What is the Command Sending protocol ( flow control)

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

What is the Command Sending protocol ( flow control)

3,076 Views
zigbee1
Contributor III

I'm developing an application on top of the a controller based on JN-SW-4170 SDK and a JN5168 chip.

I'm having difficulties to understand when a new command can be send to the chip. especially if I want to limit the usage of aPDU and nPDU to the minimum

Basically when sending a command with Acknowledgement I should wait for
0x8000 command status

0x8011 where I'll get the notification if the message has reached the target or not ( timeout of 3 x 1600ms)

If sending a message without Acknowledgement I should wait for

0x8000 command status

0x8012 or 0x8702 which will either report that the message has left the chip and reached the next hop, or there is an issue

 

Is that correct ?

 

For instance is the PDU released by the stack when 0x8012 is issued ( or 8011 in Ack mode ) ?

0 Kudos
Reply
9 Replies

3,007 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi,

The tables are sized, by default, to support a network of up to 250 nodes. The table sizes can be increased to support more nodes, but this will be
at the expense of RAM and/or EEPROM usage.

You also have to increase the #define ZNC_MAX_TCLK_DEVICES 20 in the case that you are using the JN-AN-1216

I am not following you, but I am assuming that you want to implement the binding process, and you are worried about the simultaneous requests.

5.4.1 Setting Up Bind Request Server

Regards,

Mario

 

 

0 Kudos
Reply

3,004 Views
zigbee1
Contributor III

Mario,

 

I really do not understand.

On one side you said the table are size to support 250 nodes while on the other side you tell me that I can increase the size , and in several time I explained that we want to create a Zigbee controlleur to handle a maximum of 70 Devices ( routers / end devices )

 

I'm very disappointed , the documentation is quiet limited to size all of teh tables. we have not idea which API is impacting table ...

0 Kudos
Reply

2,996 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi,

The different tables that we provide could help you to set limits to the memory that you have. The device could support those specific devices, but it will increase memory usage. That is the reason that we do not recommend that the device keeps all the routing table.

Regards,

Mario

0 Kudos
Reply

3,027 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi

You are right, APDU, NPDU, and Max Simultaneous PDU will have an impact. So, this value will depend on the parameter Maximum Number of Simultaneous Data Requests or Maximum Number of Simultaneous Data Requests with Acks. So in this case, if you are waiting for the ack, you have a range of the free APS acknowledgement handles that the device has.

Could you please provide more details about your final applciation?

Regards,

Mario

0 Kudos
Reply

3,011 Views
zigbee1
Contributor III

Hello

and thanks for taking care of my issue.

What we are working on is a general ZIgbee controller able to handle 70 Devices ( router and end-devices)

As regards to APDU and NPDU could tell if they are also used by the NXP ZIgbee stack and so that the stack is also consuming PDUs. If this is true how many APDU, NPDU and MAx simultaneous should be set for the Zigbee Stack in order for us from the application to compute the final number based on our need.

 

0 Kudos
Reply

3,038 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi @zigbee1,

In this case, you could send a command after the 0x8012 command. But you could wait for that specific command to send again.

This is not part of the ZigBee stack, because the coordinator could receive any information and it is only part of the application layer.

Regards,

Mario

0 Kudos
Reply

3,030 Views
zigbee1
Contributor III

I don't have the same understanding, as from what I saw in the Controler Parameter I think that APDU, NPDU and Max Simultaneous PDU should have an impact. So I do not understand why you say it is the application layer, as per my question , at what time is it safe from the Zigbee stack to receive a new message without getting resource congestion ?

0 Kudos
Reply

3,057 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi,

I hope you are doing great.

As you know, the JN5168 is in the end of life status. I recommend to look at the JN5189 device.

However, you are not waiting for any acknowledge, so you only get the command that you are sending.

Did you look at the document included in the JN-AN-1216?

Application Note: JN-AN-1216 ZigBee 3.0 IoT Control Bridge

Regards,

Mario

0 Kudos
Reply

3,053 Views
zigbee1
Contributor III

Point noted for the JN5168 but I have the same with JN5189.

Yes I know that Application Note: JN-AN-1216 ZigBee 3.0 IoT Control Bridge and my question is somehow related to section A.2.7

Unfortunately the example taken is a very simple one, and doesn't take the Zigbee stack in consideration. What I mean here is for exemple the following scénario

 

Host -> Node Command Read Attribute ( 0x0100)

Node -> Host (0x8000) Status Ok

Node -> Host (0x8012) Ok

Node -> Host ( 0x8011) Ok

Node -> Host ( 0x8100) Read Attribute Response with the data

 

My question is about, can I issue a new Command after receiving 0x8012 (command is sent to next hop)  or 0x8011 Command is received by the target node) ? Or must I wait for the 0x8100 ?

0 Kudos
Reply