NRF24 trying to debug issues

the strangest part is when the comms start to fail if i manually call "requestRX1update()" from serial input i see the response and it works then fails again. whats the difference of my calling requestRX1update() manually or by it being called in the loop. im lost, heresa link to the library im using. it acts like its sending successfully but on the receiving end i can confirm it did not get my message. then i manually call requestRX1update(); and it works every time and rx2 starts working again for a very short period. rx3 always works i dont seem to have many problems with it. why does me calling requestRX1update() have any effect like this when its "supposedly" be called in the loop after updatState == 1 and the timers expire??

for a temporary fix i placed requestRX1update(); to be called when i get a valid response from rx3. this shouldnt have to happen i cant think of a reason why it works the way it does. as long as rx3 is powered on and sending replies the program works and this is not what im looking for

nobody, really? this is not even a bug in my code this is a a bug in ide

notsolowki:
this is not even a bug in my code this is a a bug in ide

Very funny.

Whandall:
Very funny.

okay your so smart. you tell me then

go ahead smart guy, tell me why this works

  if (millis() - retryRefreshMarker2 > 40) {
    requestRX1update();
    retryRefreshMarker2 = millis();
  }

  if (nrfEnabled) {
    if (updateState == 1) {
      //Serial.println("requestrx1");

      //requestRX1update();
    //  retryRefreshMarker = millis();
      updateState = 2;
    }

    if (millis() - retryRefreshMarker > 15) {
      if (updateState == 2) {
        wirelessSPI.flush_rx();
        requestRX2update();
        wirelessSPI.flush_tx();
        retryRefreshMarker = millis();
        updateState = 3;

      }
    }
    if (millis() - retryRefreshMarker > 15) {
      if (updateState == 3) {
        requestRX3update();
        updateState = 4;
        retryRefreshMarker = millis();
      }
    }
    if (millis() - retryRefreshMarker > 15) {
      if (updateState == 4) {
        requestRX3Paramsupdate();
        updateState = 5;
        retryRefreshMarker = millis();
      }
    }
    if (millis() - retryRefreshMarker > 20) {
      if (updateState == 5) {
        updateState = 1;
      }
    }
  }

but this dont

  if (nrfEnabled) {
    if (updateState == 1) {
      requestRX1update();
      retryRefreshMarker = millis();
      updateState = 2;
    }

    if (millis() - retryRefreshMarker > 250) {
      if (updateState == 2) {
        wirelessSPI.flush_rx();
        requestRX2update();
        wirelessSPI.flush_tx();
        retryRefreshMarker = millis();
        updateState = 3;

      }
    }
    if (millis() - retryRefreshMarker > 250) {
      if (updateState == 3) {
        requestRX3update();
        updateState = 4;
        retryRefreshMarker = millis();
      }
    }
    if (millis() - retryRefreshMarker > 250) {
      if (updateState == 4) {
        requestRX3Paramsupdate();
        updateState = 5;
      }
    }
    if (millis() - retryRefreshMarker > 450) {
      if (updateState == 5) {
        updateState = 1;
      }
    }
  }
}

this is obviously the compilers fault. i should mention that i did put a serial.print right underneath requestRX1update(); and its SUPPOSEDLY called in either case but only in the top half with requestRX1update(); outside of updateState does it actually send any data to rx1

I was about to give you some comments regarding your code, but I decided I don't like your manners.

Good luck with your project.

Whandall:
I was about to give you some comments regarding your code, but I decided I don't like your manners.

Good luck with your project.

yea please leave with you dignity and your useless information. if you dont know what your talking about then dont comment

notsolowki:
if you dont know what your talking about then dont comment

You are really funny. :smiley:

Whandall:
You are really funny. :smiley:

look i've been struggling with this same problem for a month now. something doesn't make sense. i dont have a doctorate in c++ but i cant see why the top works but the bottom half doesn't.

RF24 is a fantastic bit of gear. They can be temperamental at times.

I suspect the amplified one is overpowering the other devices. So let’s see if that’s the case. Do you have another one that is not amplified. If so hook that one up and retest.

Romonaga:
RF24 is a fantastic bit of gear. They can be temperamental at times.

I suspect the amplified one is overpowering the other devices. So let’s see if that’s the case. Do you have another one that is not amplified. If so hook that one up and retest.

sorry i didnt mention im using 1 amplified as the master that calls rx1,rx2 etc. the slave modules are all non + units non amplifier on them. the problem persisted even with just one module powered on. the loop acts as if it just skips requestRX1update();; after a few seconds. but if i manually call it from serial or put it somewhere else in the loop it runs fine

Whandall:
I was about to give you some comments regarding your code, but I decided I don't like your manners.

Good luck with your project.

This guy has a few different Threads about this. I tried to help here but got no response. He seems to prefer talking to himself.

...R

As I don't know anything about NRF24L01+s, Arduinos and programming, he won't miss my attention much. :wink:

Whandall:
As I don't know anything about NRF24L01+s, Arduinos and programming, he won't miss my attention much. :wink:

Me too.

...R

Robin2:
This guy has a few different Threads about this. I tried to help here but got no response. He seems to prefer talking to himself.

...R

excuse me, i did reply to you and you had to prove a point and have my thread locked. it dont matter. it was obviously a bug in ides compiler i move the segment of code to a different location and changed the names, PROBLEM SOLVED. so thank you for all your great help. just stick to your 3rd grade tutorials

notsolowki:
just stick to your 3rd grade tutorials

Robin2's tutorials, which cover a number of major Arduino areas, are "up there" with the best I've ever encountered. They're as well thought out and written as any you will find in commerce and industry, let alone the hobby world.

So that comment is well out of order.

Hal_Posoyan:
They're as well thought out and written as any you will find in commerce and industry, let alone the hobby world.

In fact let me go one step further:

They're as well thought out and written as any you will pay for in commerce and industry, let alone the get for free in the hobby world.

notsolowki:
just stick to your 3rd grade tutorials

Just a tad bit over the line. While I do not know Robin, I have had the pleasure of seeing him help many people out with his RF24 documentation. I myself when starting out examined some of this information.

I consider him the defector [Moderator edit: de facto] expert in this area. Many people here have been trying to help you, it is sad to see that you are not grateful for the free advise and help.

I would also go a step more and say that many of the old timers here, who spend large amounts of personal time helping people do not desire to be abused like this.