Hi,
We are upgrading our main product which was until now based on nRF24L01 to nRF51822, with software library. But as the firmware implementation is mostly completed, I've discovered 2 unexpected behaviors I would be glad you explain.
An array of 6 sensors with nrf24L01 (in emission) is recorded on a device composed of a nrf51822. But it seems that the nRF51822 is sending back some of the data received to the sensor, and the nrf24 occasionaly get it's payload back. It's not a behaviour implemented on my mcu (at least I didn't intend to), and it didn't occured when I had the nrf24L01 on the recorder.
It seems to happen only when there are retransmission to be done, and the sensor is on the verge of loosing the connection with the recorder. I use the internal auto ART (4max) / ARD (750µs) management system, payload size being 32.
Is it something known, and if so is there a workaround ?
Due to some memory issues, I'm not using the last release of nrf51822 sofware library, and I kept the SDK in version 5.2.0.39364, with esb_sd_resources_arm lib
A second problem I've noticed is that when in rx mode, writing a payload (to be send as ack_payload) while specifying NRF_PACKET_NO_ACK, I still execute the nrf_esb_tx_success handler in the nrf51822 when the nrf24 in TX mode receives the ackpayload. Is that something expected ?
edit of december the 16th:
I've made a bunch of other tests today that have confirmed several points I suspected :
- There is no order from my main mcu to send back the received packet to the nrf.
- The nrf24L01 transmitter seems not to be blamed, because it doesn't receive its own packet when the nrf51822 is shut off.
- However, it sporadically receive its last packet when running and being slightly out of range.
- Auto Retransmissions mechanism seems concerned since it's mandatory to have some kind of packet loss, and when transmitter ART/ARD register set to 0 on nRF24L01 side, no problem appears.
- Each and every of my packets are forwarded back to the nRF24L01 when the NRF51822 is paused (debug mode in my Keil µVison IDE)
I should be able to handle this by upgrading the firmware of every sensors so that it became compliant with the new receiver, but it's really frustrating to have every customers of ours going through such a procedure, for such minor a thing...
I hope you could brighten this up and guide me through a way to avoid this behaviour.
Thank you for your help and concern,
Regards,