RF24 Library: Driver for nRF24L01(+) 2.4GHz Wireless Transceiver

I found the solution, and it can likely be fixed in RF24.h.

  1. added the following to the start of RF24.cpp:
    #define _BV(bit) (1 << (bit))
    #define PSTR(x) (x)
    #define PRIPSTR "%s"
    #define PROGMEM
    #define printf_P printf
    #define strlen_P strlen

They are conditional in RF24.h, but I'm not sure the right way to fix it for the DUE

in RF24.cpp changed:
SPI.setClockDivider(SPI_CLOCK_DIV4);
to:
SPI.setClockDivider(21);

I also changed a couple of lines in that used "%S" in a printf() to use "%s"

That, combined with a little payload structure alignment to account for 32-bit vs. 16-bit ints, and everything works for me.

I now have my Megas chatting with my Due.