aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Tsou <tom@tsou.cc>2013-04-08 13:35:36 -0400
committerAlexander Chemeris <Alexander.Chemeris@gmail.com>2013-06-24 01:46:34 +0400
commited64e799bc051e7cffe71ead0b76bf8bcd9c6f4c (patch)
tree52c8ebb4da1e670d527ac68c881c8a51eb7aca92
parentd1bcab2731827cdf5020b56063bfe53e2159a99b (diff)
Transceiver52M: Remove periodic alignment update from UHD build
Periodic timing alignment should never be required for UHD devices, though the mechanism was used as a fallback mechanism should UHD not properly recover after an underrun - as may occur in old 003.003.000 based revisions. This issue is not a concern in more recent UHD releases and deprecates this code for legacy USRP1 use only. Signed-off-by: Thomas Tsou <tom@tsou.cc>
-rw-r--r--Transceiver52M/UHDDevice.cpp1
-rw-r--r--Transceiver52M/radioInterface.cpp14
-rw-r--r--Transceiver52M/radioInterface.h8
3 files changed, 9 insertions, 14 deletions
diff --git a/Transceiver52M/UHDDevice.cpp b/Transceiver52M/UHDDevice.cpp
index 87ef200..a6fc12d 100644
--- a/Transceiver52M/UHDDevice.cpp
+++ b/Transceiver52M/UHDDevice.cpp
@@ -823,7 +823,6 @@ int uhd_device::writeSamples(short *buf, int len, bool *underrun,
bool uhd_device::updateAlignment(TIMESTAMP timestamp)
{
- aligned = false;
return true;
}
diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp
index f01b528..e7230d8 100644
--- a/Transceiver52M/radioInterface.cpp
+++ b/Transceiver52M/radioInterface.cpp
@@ -118,11 +118,13 @@ bool RadioInterface::tuneRx(double freq)
void RadioInterface::start()
{
LOG(INFO) << "starting radio interface...";
+#ifdef USRP1
mAlignRadioServiceLoopThread.start((void * (*)(void*))AlignRadioServiceLoopAdapter,
(void*)this);
- mRadio->start();
+#endif
writeTimestamp = mRadio->initialWriteTimestamp();
readTimestamp = mRadio->initialReadTimestamp();
+ mRadio->start();
LOG(DEBUG) << "Radio started";
mRadio->updateAlignment(writeTimestamp-10000);
mRadio->updateAlignment(writeTimestamp-10000);
@@ -134,6 +136,7 @@ void RadioInterface::start()
}
+#ifdef USRP1
void *AlignRadioServiceLoopAdapter(RadioInterface *radioInterface)
{
while (1) {
@@ -147,6 +150,7 @@ void RadioInterface::alignRadio() {
sleep(60);
mRadio->updateAlignment(writeTimestamp+ (TIMESTAMP) 10000);
}
+#endif
void RadioInterface::driveTransmitRadio(signalVector &radioBurst, bool zeroBurst) {
@@ -218,14 +222,6 @@ bool RadioInterface::isUnderrun()
return retVal;
}
-void RadioInterface::attach(RadioDevice *wRadio, int wRadioOversampling)
-{
- if (!mOn) {
- mRadio = wRadio;
- mRadioOversampling = SAMPSPERSYM;
- }
-}
-
double RadioInterface::setRxGain(double dB)
{
if (mRadio)
diff --git a/Transceiver52M/radioInterface.h b/Transceiver52M/radioInterface.h
index 3c58222..d1131c6 100644
--- a/Transceiver52M/radioInterface.h
+++ b/Transceiver52M/radioInterface.h
@@ -143,17 +143,17 @@ public:
/** get transport window type of attached device */
enum RadioDevice::TxWindowType getWindowType() { return mRadio->getWindowType(); }
+#if USRP1
protected:
/** drive synchronization of Tx/Rx of USRP */
void alignRadio();
- /** reset the interface */
- void reset();
-
friend void *AlignRadioServiceLoopAdapter(RadioInterface*);
-
+#endif
};
+#if USRP1
/** synchronization thread loop */
void *AlignRadioServiceLoopAdapter(RadioInterface*);
+#endif