How to use Ack data while using Gazell Pairing

I am using nRF52833 / NCS 2.8.0.
I'm using Gazell Pairing, but I only need pairing, not encryption. So I'm only using unencrypted pipes.
If it is a non-encrypted pipe, it is possible to use ACKs from the host to the device.

Past Q&As have shown that there are no issues with this use case.

 devzone.nordicsemi.com/.../39530

I tried to implement a test but it didn't work.

First I tried to use the
nrf_gzll_host_rx_data_ready()
function, but it is used by gazell_pairing and cannot be used in user code.
The cause of this is clear, and it can only be avoided by modifying gazell_pairing.


As an alternative, I changed it to poll the TX FIFO and push data when the FIFO is empty.

This idea worked, and the device was able to receive the Ack data.
However, there was a high probability (around 50%) that the data received would be different from the data pushed by the user code.

I think that the problem can probably be solved by improving FIFO polling, but I do not think this technique is correct.

How can I send data properly from the host to the device using Gazell Pairing?

Related