This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Loss of connection between rf24 transmitter & receiver

Loss of comms between nRF24L01+ transmitter and receiver after successful data transfer.

One rf24 is configured as a PTX (sensor device) communicating in a simple point-point link with a second in PRX mode (base unit) over pipe 0. Both are connected to a small

microcomputer (not an Arduino). Example Code used for them to ping-pong between each other works well. But modified code when used in this Tx ->Rx mode fails after a random period?

My intended operational mode is for the PTX to send a radio code when a sensor is triggered - which could be every few minutes to every few hours.  At first this works on the bench with

PTX and PRX side by side, but despite a sequence of successful transmissions over a period between 5 minutes to 30 minutes, the PTX generally freezes first, sometime it's the Base PRX

which freezes first.  So my code seems to work ok until it suddendly doesn't. As far as I can tell, my code correctly implements the RF24 state diagrams, the registers appear to be correctly 

configured and the TX-FIFO & RX-FIFO are flushed as necessary. After device power up I do leave the PTX in Tx mode and the PRX in Rx mode the whole time and don't set the

power-down but? This random freezing of communication suggests a timing issue somewhere, but I've tried various code modifications without success. 

Question: Could there be an un-documented issue with these radios that may explain the sudden freezing of communication after a sequence of good operation, or am I missing

sometime more obvious.  Your help would be greatly appreciated!

I can send the configs if there's not an obvious answer.

thanks

Parents
  • To be clear, i should have added that my hope is for the PTX & PRX to be on continuously, that the TX is only likely to send a dozen or so transmissions a day, each transmission will only be 3 ASCII chars long. In fact, following initial power up, my code only uses the command: CONFIG write PWR_UP = 1 once, and (now) I never use the command PWR_UP = 0 in order to keep both devices in Standby I mode the whole time unless transmitting or receiving.  I also enable the maximum Auto Retransmit delay (4 msec) & maximum Auto Retransmit count (15).

    I can only assume that there is something fundamental about basic point-point operation that I don't understand, so I welcome some guidance please!

    Kind Regards

    Mike

Reply
  • To be clear, i should have added that my hope is for the PTX & PRX to be on continuously, that the TX is only likely to send a dozen or so transmissions a day, each transmission will only be 3 ASCII chars long. In fact, following initial power up, my code only uses the command: CONFIG write PWR_UP = 1 once, and (now) I never use the command PWR_UP = 0 in order to keep both devices in Standby I mode the whole time unless transmitting or receiving.  I also enable the maximum Auto Retransmit delay (4 msec) & maximum Auto Retransmit count (15).

    I can only assume that there is something fundamental about basic point-point operation that I don't understand, so I welcome some guidance please!

    Kind Regards

    Mike

Children
No Data
Related