Note: This is a question about zigbee. Since the forum selection box only has "bluetooth forum" as an option, it is classified into the Bluetooth forum.
Application scenario: a coordinator and a sub-device, used as a transparent transmission module.
Test rate: Send one packet of data every 30ms, zcl payload carries 64 bytes of data.
During the test, packet loss was discovered.
The printed LOG on the sending end shows that all the data was sent successfully and there was no packet loss.
Use the packet capture tool to capture the packet and verify that it was indeed sent successfully.
Therefore, it is determined that packet loss occurred at the receiving end. In the function void afIncomingData(...), add log printout and confirm through LOG that the packet is lost.
The serial port baud rate during my test was 230400bps.
I also tried to shield the serial port output of the receiving end to optimize the timeliness of CPU operation,
but there were still packet losses (although the data was not output from the serial port,
but the internal MCU The data will be detected, the data changes regularly, and LOG will be printed when abnormal).
1. According to my testing, the data was lost in the underlying protocol stack of the receiver, the function void afIncomingData(...) did not receive relevant information, and the next layer is not open source, so I cannot analyze it here. Can you help analyze the source code and see if it can be optimized?
2. Do you know how much the relevant customers can achieve when using the transparent transmission function?