Have spent several days working with my inventory of nRF24 modules, both the standard and the LNA, as well as experimenting with different programming options. A lot of confusion. Key points:
I have one LNA module that comes up in printDetails as being model "nRF24L01" when the rest are "nRF24L01+". The one without the "+" does not communicate with any of the others.
Range of the LNA modules is very much better than that of the standard modules, and while I have not tested in open air, I cannot believe I'll get the 100m (standard) and 800m (LNA) range reported by others on the web.
I can program the LNA modules to run at 250kbps, but the standard modules only seem to work at 1mbps.
The pcb antenna on the standard modules is very directional, and if sender and receiver antennas aren't pointing at each other, range is severely reduced.
Weirdness with some transmissions: sender will send a packet, receiver will correctly receive it and reply back (as shown in serial monitor), but sender does not receive the reply and judges transmission to have failed.
Ran scanner program from maniacbug examples but saw no carriers on any channels in spite of transmitting at the time from another node.
More weirdness: printDetails shows successful data on serial monitor even if the nRF24 module is unplugged from the Arduino. Turns out you must look carefully at the printout, and if RX_ADDR & TX_ADDR are mostly "0's", then Arduino is not really communicating with the module.
Weirdness:
It appears as if resetting the Arduino does not (ever? sometimes?) reset the nRF24 module. That is, if you have opened a writing pipe, then reset the arduino to a program that does NOT have a writing pipe open, regardless the pipe will still be open on the nRF because it was not reset when the arduino reset. However if you power down the nRF module, that indeed resets it.
-----------------------------------
Overall System Configuration:
Each node is composed of an nRF24 module connected to an Arduino.
(at this time) every node has the same Arduino program, except that each node is assigned (in the software sketch) a unique 'nodeID'.
Each node is initially by default in receive mode.
Upon some Arduino program event,
(whether time-based automatic event, or in response to some sensor input - like a PB-press)
the node will change to transmit mode, sending it's message to whichever nodes are designed to receive it
System Configuration is amorphous at this time. It's basically a network, and of course various configurations are possible, whether 'mesh' or 'star' or other possibilities. Different network configurations differ in the way that communication is allowed/controlled between nodes of the network.
This part of my investigation is still in flux and not firmly designed at this time.