diff options
-rw-r--r-- | Transceiver52M/radioInterface.cpp | 7 | ||||
-rw-r--r-- | Transceiver52M/radioInterface.h | 4 | ||||
-rw-r--r-- | Transceiver52M/radioInterfaceMulti.cpp | 9 |
3 files changed, 19 insertions, 1 deletions
diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 9c7c044..6e49a75 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -112,7 +112,7 @@ int RadioInterface::setPowerAttenuation(int atten, size_t chan) if (atten < 0.0) atten = 0.0; - rfGain = mDevice->setTxGain(mDevice->maxTxGain() - (double) atten, chan); + rfGain = setTxGain(mDevice->maxTxGain() - (double) atten, chan); digAtten = (double) atten - mDevice->maxTxGain() + rfGain; if (digAtten < 1.0) @@ -307,6 +307,11 @@ double RadioInterface::setRxGain(double dB, size_t chan) return mDevice->setRxGain(dB, chan); } +double RadioInterface::setTxGain(double dB, size_t chan) +{ + return mDevice->setTxGain(dB, chan); +} + /* Receive a timestamped chunk from the device */ int RadioInterface::pullBuffer() { diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h index 945624a..83e00b9 100644 --- a/Transceiver52M/radioInterface.h +++ b/Transceiver52M/radioInterface.h @@ -134,6 +134,9 @@ protected: /** drive synchronization of Tx/Rx of USRP */ void alignRadio(); + /** set transmit gain */ + virtual double setTxGain(double dB, size_t chan = 0); + friend void *AlignRadioServiceLoopAdapter(RadioInterface*); }; @@ -157,6 +160,7 @@ class RadioInterfaceMulti : public RadioInterface { private: bool pushBuffer(); int pullBuffer(); + virtual double setTxGain(double dB, size_t chan); signalVector *outerSendBuffer; signalVector *outerRecvBuffer; diff --git a/Transceiver52M/radioInterfaceMulti.cpp b/Transceiver52M/radioInterfaceMulti.cpp index c41ec22..4022d3a 100644 --- a/Transceiver52M/radioInterfaceMulti.cpp +++ b/Transceiver52M/radioInterfaceMulti.cpp @@ -405,3 +405,12 @@ double RadioInterfaceMulti::setRxGain(double db, size_t chan) else return mDevice->getRxGain(); } + +double RadioInterfaceMulti::setTxGain(double dB, size_t chan) +{ + if (chan == 0) + return mDevice->setTxGain(dB); + else + return mDevice->getTxGain(); + +} |