fix not setting Rx ADF gain proper in duplex mode;

pull/2/head
Bryan Biedenkapp 4 years ago
parent 91f7c2f8e0
commit 939a6dacdc

@ -292,7 +292,7 @@ void IO::rf1Conf(DVM_STATE modemState, bool reset)
uint32_t txFrequencyTmp, rxFrequencyTmp; uint32_t txFrequencyTmp, rxFrequencyTmp;
DEBUG3("IO::rf1Conf(): configuring ADF for Tx/Rx; modemState/reset", modemState, reset); DEBUG4("IO::rf1Conf(): configuring ADF for Tx/Rx; modemState/reset/rxGain", modemState, reset, m_gainMode);
#if defined (ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS) #if defined (ZUMSPOT_ADF7021) || defined(SKYBRIDGE_HS)
io.checkBand(m_rxFrequency, m_txFrequency); io.checkBand(m_rxFrequency, m_txFrequency);
@ -498,7 +498,7 @@ void IO::rf1Conf(DVM_STATE modemState, bool reset)
/// <param name="reset"></param> /// <param name="reset"></param>
void IO::rf2Conf(DVM_STATE modemState) void IO::rf2Conf(DVM_STATE modemState)
{ {
DEBUG2("IO::rf2Conf(): configuring 2nd ADF for Rx; modemState", modemState); DEBUG3("IO::rf2Conf(): configuring 2nd ADF for Rx; modemState/rxGain", modemState, m_gainMode);
// configure ADF Tx/RX // configure ADF Tx/RX
configureTxRx(modemState); configureTxRx(modemState);
@ -559,15 +559,21 @@ void IO::rf2Conf(DVM_STATE modemState)
/* /*
** AGC (Register 9) ** AGC (Register 9)
*/ */
#if defined(AD7021_GAIN_AUTO) switch (m_gainMode) {
AD7021_CONTROL = 0x000231E9; // AGC ON, normal operation case ADF_GAIN_AUTO_LIN:
#elif defined(AD7021_GAIN_AUTO_LIN) AD7021_CONTROL = 0x100231E9; // AGC ON, LNA high linearity
AD7021_CONTROL = 0x100231E9; // AGC ON, LNA high linearity break;
#elif defined(AD7021_GAIN_LOW) case ADF_GAIN_LOW:
AD7021_CONTROL = 0x120631E9; // AGC OFF, low gain, LNA high linearity AD7021_CONTROL = 0x120631E9; // AGC OFF, low gain, LNA high linearity
#elif defined(AD7021_GAIN_HIGH) break;
AD7021_CONTROL = 0x00A631E9; // AGC OFF, high gain case ADF_GAIN_HIGH:
#endif AD7021_CONTROL = 0x00A631E9; // AGC OFF, high gain
break;
case ADF_GAIN_AUTO:
default:
AD7021_CONTROL = 0x000231E9; // AGC ON, normal operation
break;
}
AD7021_2_IOCTL(); AD7021_2_IOCTL();
/* /*

Loading…
Cancel
Save

Powered by TurnKey Linux.