Nice, Felix! From your Target.ino, I did this to both the remote and local sides:
Added this to the global section:
#define BR_300KBPS //run radio at max rate of 300kbps!
Added this to Setup():
#ifdef BR_300KBPS
radio.writeReg(0x03, 0x00); //REG_BITRATEMSB: 300kbps (0x006B, see DS p20)
radio.writeReg(0x04, 0x6B); //REG_BITRATELSB: 300kbps (0x006B, see DS p20)
radio.writeReg(0x19, 0x40); //REG_RXBW: 500kHz
radio.writeReg(0x1A, 0x80); //REG_AFCBW: 500kHz
radio.writeReg(0x05, 0x13); //REG_FDEVMSB: 300khz (0x1333)
radio.writeReg(0x06, 0x33); //REG_FDEVLSB: 300khz (0x1333)
radio.writeReg(0x29, 240); //set REG_RSSITHRESH to -120dBm
#endif
On the remote (sending) side, in loop(), I had already changed:
if (radio.sendWithRetry(GATEWAYID, (const void*)(&RFDataPktToSend), sizeof(RFDataPktToSend))) ...
to:
radio.send(GATEWAYID, (const void*)(&RFDataPktToSend), sizeof(RFDataPktToSend));
These measures reduced the time to complete sending from 13 ms (with acks) to 7 ms (without acks) to 3 or 4 ms with bit rate changes. Good!
Then on both sides, I commented out encryption like this:
//radio.encrypt(ENCRYPTKEY);
That further reduced send time (averaged over 10 sends) to 1.8 to 2.4 ms. Better!
On the local side I now see about 4 ms between updates. Some of that is me. On the remote side SPI is being used not just to talk to the radio but to collect data from the accelerometer, the latter of which is taking about 2 ms. So I am hopeful that will make a difference too. I'll report back once I speed up SPI.
This was easier than I thought it would be. The future is looking bright! Thanks! -JD