Hello,
there is A problem in the process of routing communication with 51802. The implementation flow of our routing communication is as follows: application layer message flow: A->B->C, and then C->B->A. This communication is completed. In this process, the detailed procedure is that before device A sends, the pipeline address is set to be the same as that of device B, and the DEVEICE state is sent. After the transmission is completed, the nrf_gzll_set_mode function is used to change the state of device A to HOST, and the pipeline address is set to the address of device A itself. After receiving the packet, the application layer of device B finds that the packet needs to be forwarded. Device B performs the same operation as device A and forwards the packet to device C. Device C sends the message through the serial port. After receiving the message, the external device replies through the serial port. Then the same process is repeated:C->B->A;
In the serial port of A->B->C->C's serial port->C-->B-> A path, through monitoring the air signal, we find that when BC is communicating with each other, the ACK signal of C is sent, but the callback function that has been received is not executed, so that our application layer cannot receive this message, and there is no way to complete the routing function. This exception is A-B-c-serial port C-B-A; Succeed once; A-B-C sends an ACK, but no packet is sent to the application layer. Fail once; This alternates;
If we use direct communication mode: A->C->C's serial port->C->A path; This process does not have the above problems;
I hope you can understand the above expression, if you can get your answer, thank you very much