nrf24L01 library error

Hello
When I try to upload the code below I get this error message:
No such file or directory

exit status 1
Error compiling for board Arduino Nano.

Obviously I do not have the right library installed.
I could not find out where to download the nrf24L01.h library from.

Thank you for your help.

Here is my code:

/* nrf24l reciever unit with servo controller for pan and tilt rig

 For more on info visit here https://www.youtube.com/watch?v=F5KHyYiL24s and here http://www.instructables.com/id/wireless-pan-and-tilt-camera-rig-with-arduino/

 created 2015
 by TheOverclocker
 last update 28 Nov 2015

please subscribe for more tutorials

 <https://www.youtube.com/channel/UC9CqbqZjjuGsSXhD3di2_zA>

 */
#include <nrf24l01.h>
#include <SPI.h>
#include <RF24.h>
#include <Servo.h>
#define CE_PIN   9
#define CSN_PIN 10

const uint64_t pipe = 0xE8E8F0F0E1LL;
int servoy;
int servox;
Servo Yservo; 
Servo Xservo; 

RF24 radio(CE_PIN, CSN_PIN);

int joystick[2];

void setup()RF24
{
  Serial.begin(9600);
  delay(1000);
  radio.begin();
  radio.openReadingPipe(1,pipe);
  radio.startListening();
  Xservo.attach(3);
  Yservo.attach(5);
}

void loop()
{
  if ( radio.available() )
  {
    bool done = false;
    while (!done)
    {
done = radio.read( joystick, sizeof(joystick) );
servox= joystick[0]/5.683; 
servoy= joystick[1]/5.683;    
      Serial.println(servoy);
      Yservo.write(servoy);
      Serial.println(servox);
      Xservo.write(servox);
    }
  }
  else
  {    
      Serial.println("NO RADIO CONECTION");
  }

}

I could not find out where to download the nrf24L01.h library from.

You could start with the Library Manager in the IDE

Thank you for your help.
I have tried looking in the Library Manager but I could not find nrf24L01.h there.
I could not find it in gitHub either.

Thank you for your help.

I use the one recommended in Robin's Tutorial.

I have tried looking in the Library Manager but I could not find nrf24L01.h there.

Search for NRF24 in the Library Manager

I see the one by TMRh20

UKHeliBob:
Search for NRF24 in the Library Manager

I see the one by TMRh20

Which will not work with the above sketch,
because it's again the old absolutely crappy ManiacBug example.

done = radio.read( joystick, sizeof(joystick) );

Which will not work with the above sketch,
because it's again the old absolutely crappy ManiacBug example.

But it will work with Robin's examples

But Robin2’s tutorial and the Library Manager both refer to the RF24 library being that of TMRh20.

The Library Manager one is 1.3.1, but I don’t see a version number anywhere in the github link from Robin2’s tutorial.

RF24 from both sources both start with “Copyright (C) 2011 J. Coliz maniacbug@ymail.com

I haven’t tried the Robin2 link github one, but so far have installed the Library Manager one (1.3.1) and successfully used the GettingStarted example which works fine.

So how can we tell if the Library Manager one 1.3.1 is the same as or older or newer than the un-version-numbered (afaics) github one?

Furthermore, Robin2's tutorial and the RF24 library's "More info" from Library Manager both link to http://tmrh20.github.io/RF24/ which would lead one to speculate / assume / hope that the Library Manager one 1.3.1 is the one Robin2 advocates.

Natha:
I could not find out where to download the nrf24L01.h library from.

Oh and btw, looking in the directory of the RF24 library as installed by Library Manager, I do see nRF24L01.h. It's also listed as a file on the RF24 github page. Seems one doesn't explicitly need to track down and install nRF24L01.h?

(I need to run Robin2's tutorial examples with the Library Manager RF24 library.)

Whandall:
because it's again the old absolutely crappy ManiacBug example.

done = radio.read( joystick, sizeof(joystick) );

I see mentions of problems with the old RF24 library in a few places.

What's wrong with / significance of that line of code?

It shows that the sketch is designed for the old library.

Serial.begin(9600);

void loop() {
  if (radio.available()) {
  } else {   
    Serial.println("NO RADIO CONECTION");
  }
}

The above lines show the sketch is very unsensible (crappy).

Whandall:
It shows that the sketch is designed for old library.

O....K, but how does it show that?

edit: ok I see from the source code that .read() is void, and presumably wasn't previously.

But why is .write() a bool? Seems to me that .read() as a bool might be useful too.

Read transfers an already received packet,
it could return if more are pending (which it did in the old ManiacBug library,
but since it is (better) always inside an if (radio.available()) clause, this usage was rarely used/useful.

Write tries to send a packet and may fail, hence it makes sense to return success/failure.

Thanks