Inspired idea to change TX standby code
Realised that data would be lost if dropping to standby or power down
mode before the FIFO is empty.
txStandby now returns a boolean value to indicate whether the
transmission is complete. If there is data in the TX FIFO the radio will
not drop out of TX mode. eg: while( !txStandBy() ){}
This commit is contained in:
@@ -545,8 +545,13 @@ void RF24::startWrite( const void* buf, uint8_t len ){ //TMRh20
|
||||
}
|
||||
|
||||
|
||||
void RF24::txStandBy(){
|
||||
ce(LOW);
|
||||
bool RF24::txStandBy(){
|
||||
|
||||
if ( (read_register(FIFO_STATUS) & _BV(TX_EMPTY))){
|
||||
ce(LOW);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
@@ -222,7 +222,7 @@ protected:
|
||||
public:
|
||||
|
||||
//TMRh20
|
||||
void txStandBy();
|
||||
bool txStandBy();
|
||||
bool writeBlocking( const void* buf, uint8_t len );
|
||||
void reUseTX();
|
||||
bool writeFast( const void* buf, uint8_t len ); //Fills FIFO buffer, uses packet re-use function of the chip and returns 0 if packet failed and re-sent
|
||||
|
||||
Reference in New Issue
Block a user