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 ) ?
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
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 ...
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
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
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.
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
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 ?
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
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 ?