My question is about 3 individual NRF24l01 nodes with identical piping addresses. All are controlled by Arduino Nanos, two transmitting and one receiving with acknowledgement.
The acknowledge is received by the correct sender only, the question is how does the receiver know which one sent it if piping addresses are all the same? Is there some 'intrinsic' identifier for individual device; serial number sent in data packet etc?.
I am doing it this way to have identical software and hardware for all transmitters with no dip switch settings needed, 16 potential transmitters (game show buzzer boxes) and the sender identity is not important, just first come first served.
Thanks.
All senders should get an acknowledgement, there is no correct one.
The receiver has no clue who sent the packet, so there is no intrinsic info available.
If you used different pipes, you could select by the receiving pipe number.
So it is not important who hit the button firsts? Strange...
I would embed an id in the packet, so the receiver knows who the sender was.
For any pipe, there may be at most one node issuing acknowledgements,
which is satisfied by your setup.
You could make all your button nodes listen to the same pipe
(different from your event pipe) without acknowledgements,
when they are not sending.
That way, you could arm or control all with a single packet.
Who chimed in first is visually displayed with flashing led matrix, that's all the client wanted; no statistics etc.
For some reason, the rcvr does seem to 'know' which xmtr sent the packet as it always lights up the correct sender, out of hundreds of tests, never lit up both or wrong one. This is what is puzzling. I suppose I will go for individual pipe addresses retrieved from each buzzer boxe's hex thumbwheel. I thought I might have found an 'off label' use but I can't be sure it will be reliable beyond 2 buzzer boxes.
Thanks for your replies!