radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls

Change-Id: I7e67f660c3b0b009db59b405de603f6058021802
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 @@
   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 @@
   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 @@
   /** 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 @@
 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 @@
   else
     return mDevice->getRxGain();
 }
+
+double RadioInterfaceMulti::setTxGain(double dB, size_t chan)
+{
+	if (chan == 0)
+		return mDevice->setTxGain(dB);
+	else
+		return mDevice->getTxGain();
+
+}