void SX1276FskSetOpMode( uint8_t opMode ) { static uint8_t opModePrev = RF_OPMODE_STANDBY; static bool antennaSwitchTxOnPrev = true; bool antennaSwitchTxOn = false; opModePrev = SX1276.RegOpMode & ~RF_OPMODE_MASK; if( opMode != opModePrev ) { if( opMode == RF_OPMODE_TRANSMITTER ) { antennaSwitchTxOn = true; } else { antennaSwitchTxOn = false; } if( antennaSwitchTxOn != antennaSwitchTxOnPrev ) { antennaSwitchTxOnPrev = antennaSwitchTxOn; RXTX( antennaSwitchTxOn ); // Antenna switch control } SX1276.RegOpMode = ( SX1276.RegOpMode & RF_OPMODE_MASK ) | opMode; SX1276Write( REG_OPMODE, SX1276.RegOpMode ); } }
void SX1276LoRaSetOpMode( uint8_t opMode ) { static uint8_t opModePrev = RFLR_OPMODE_STANDBY; static BOOL antennaSwitchTxOnPrev = TRUE; BOOL antennaSwitchTxOn = FALSE; opModePrev = SX1276LR->RegOpMode & ~RFLR_OPMODE_MASK; if( opMode != opModePrev ) { if( opMode == RFLR_OPMODE_TRANSMITTER ) // Tx mode { antennaSwitchTxOn = TRUE; } else { antennaSwitchTxOn = FALSE; } if( antennaSwitchTxOn != antennaSwitchTxOnPrev ) { antennaSwitchTxOnPrev = antennaSwitchTxOn; RXTX( antennaSwitchTxOn ); // Antenna switch control } SX1276LR->RegOpMode = ( SX1276LR->RegOpMode & RFLR_OPMODE_MASK ) | opMode; SX1276Write( REG_LR_OPMODE, SX1276LR->RegOpMode ); } }