diff options
-rw-r--r-- | Transceiver52M/Transceiver.cpp | 2 | ||||
-rw-r--r-- | Transceiver52M/radioInterface.cpp | 7 |
2 files changed, 4 insertions, 5 deletions
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 07b2777..80e8aca 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -513,7 +513,7 @@ void Transceiver::driveControl() sprintf(response,"RSP SETPOWER 1 %d",dbPwr); else { mPower = dbPwr; - mRadioInterface->setPowerAttenuation(pow(10.0,dbPwr/10.0)); + mRadioInterface->setPowerAttenuation(dbPwr); sprintf(response,"RSP SETPOWER 0 %d",dbPwr); } } diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index e8eea6f..7e51fa4 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -101,15 +101,14 @@ double RadioInterface::fullScaleOutputValue(void) { } -void RadioInterface::setPowerAttenuation(double dBAtten) +void RadioInterface::setPowerAttenuation(double atten) { double HWatten = mRadio->setTxGain(mRadio->maxTxGain() - atten); - atten -= (-HWatten); + atten -= HWatten; if (atten < 1.0) powerScaling = 1.0; else - powerScaling = 1.0/sqrt(linearAtten); - LOG(INFO) << "setting HW gain to " << HWdBAtten << " and power scaling to " << powerScaling; + powerScaling = 1.0 / sqrt(pow(10, (atten / 10.0))); } |