As an addition, this is the routine you should look for, if not by name, then by function:
// ****************************************************************************************************************************************************
// ************************************************************* START FAST WRITE *********************************************************************
// ****************************************************************************************************************************************************
// WRITE PAYLOAD AND THEN SET ce TO TRUE
//Per the documentation, we want to set PTX Mode when not listening. Then all we do is write data and set CE high
//In this mode, if we can keep the FIFO buffers loaded, packets will transmit immediately (no 130us delay)
//Otherwise we enter Standby-II mode, which is still faster than standby mode
//Also, we remove the need to keep writing the config register over and over and delaying for 150 us each time if sending a stream of data
void RF24::startFastWrite(void* buf, uint8_t len, bool multicast,
bool startTx)
{ //TMRh20
//write_payload( buf,len);
if (debug_level >= 1)printf("RF24::writing payload\n");
write_payload(buf, len, multicast ? W_TX_PAYLOAD_NO_ACK : W_TX_PAYLOAD);
if (startTx)
{
ce(true);
}
hal_timer[_US_TIMER]->Delay_us(_US_TIMER,40);
#ifdef NRF_REG_DEBUG
nrf_diagnostics.reg_full_dump();
#endif
}
Note the following:
1) this is written for my system as I use it, don't expect code to be 1 for 1 since I did a bit of re-engineering on the code.
2) This is now a class in C++ and not a C routine, you still have a C routine
3) there is nothing that says that what gets loaded into a buffer is not binary data, the chip sends what you want.
All you really have to do is change what's loaded into the chip.