I established my first NRF24L01 link recently using code published by iforce2D at http://forum.arduino.cc/index.php?topic=260197.0 on Aug 10, 2014. Thank you, iforce2D.
Now I want to establish a rapid rate data link (of a few bytes only per measurement) over a path with variable path loss, and plan to use the changing "skipped packet count" at the receiver (see iforce2D's code if necessary) as a indicator as to when to increase the transmit power to maintain the link. To enable a fast data rate I am operating the link with no ack, no retry, attaining a transmit rate of about about 1,200 pkts/sec. (See link at http://forum.arduino.cc/index.php?topic=462707.0) The receiver seems to be capable of handling up to 4,700 pkts/sec.
It is relatively easy to establish a link with zero skipped packets. If I then slowly move the transmitter and receiver apart, while viewing the receiver packet loss on the screen (printed for every 1000 packets received) I expected to see the packet loss to increase in a relatively smooth monotonic fashion. It does not. Instead it stays at zero until a critical spacing when, in a couple of lines of printout it changes to 55 pkts (per 1000 pkts read) and often stays there, fixed at 55, for about 18 successive lines of printout before falling to 0. Moving the transmitter further away the count remains at 55 until suddenly it start to jump all around, say 100, 145, 125, etc., even if the transmitter (and I) then become motionless. Even then it may, surprisingly, spontaneously recover to 55, or sometimes occasionally even to zero (as mentioned before) - as if the link had some adaptive self healing properties - which I don't believe.
When repeating the experiment at a different time and with some location changes, the "stable" skip count (previously 55) has been low as 22 and as high as 61, but for a given experiment it is essentially fixed. I note that 55 packets losses summed over about 18 lines of print out = 1000 lost pkts. This seems to be far more than coincidence especially since 55 skips on about 18 lines often repeats with subsequent trials
A lot is going on here that I do not understand. I am hoping someone can explain it to me, or point me to some appropriate link or give me some hint. There are three main issues: a) why the abrupt step in the packet skips count as the Tx/Rx separation increases b) what decides the observed persistent "fixed" size of the step in a given experiment (even though it may vary between experiments) c) how come the link often recovers to zero pkt loss after ~1000 pkts (18 rows of 55 skips) are lost.
I'll appreciate any advice you can offer.
For a couple of dollars the nrf24L01 is an amazingly rich learning/teaching device. But I need a hint or two to facilitate my learning. (As an aside, my present aim it to learn when I need to increase the transmit power (for my project). I am choosing to ignore, for the present, how I will learn when I need to [u]reduce[/u] the transmit power)