From ed64e799bc051e7cffe71ead0b76bf8bcd9c6f4c Mon Sep 17 00:00:00 2001 From: Thomas Tsou Date: Mon, 8 Apr 2013 13:35:36 -0400 Subject: 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 --- Transceiver52M/UHDDevice.cpp | 1 - Transceiver52M/radioInterface.cpp | 14 +++++--------- Transceiver52M/radioInterface.h | 8 ++++---- 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 -- cgit v1.2.3