Nrf24l01 garbled data

What makes you believe that you can send/receive more than 32 bytes per packet?

Why do you want to drop packets if more than one happens to be available?

Why are you using a pipe address that has very few bit-changes?

What are the delays in setup good for?

Why are you typedef-ing a struct?