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>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6721 19bc5d8c-e614-43d4-8b26-e1612bc8e597
This commit is contained in:
Thomas Tsou
2013-10-17 06:17:27 +00:00
parent 2ac6abd3b6
commit d6515f2613
3 changed files with 8 additions and 13 deletions

View File

@@ -772,7 +772,6 @@ int uhd_device::writeSamples(short *buf, int len, bool *underrun,
bool uhd_device::updateAlignment(TIMESTAMP timestamp) bool uhd_device::updateAlignment(TIMESTAMP timestamp)
{ {
aligned = false;
return true; return true;
} }

View File

@@ -118,8 +118,10 @@ bool RadioInterface::tuneRx(double freq)
void RadioInterface::start() void RadioInterface::start()
{ {
LOG(INFO) << "starting radio interface..."; LOG(INFO) << "starting radio interface...";
#ifdef USRP1
mAlignRadioServiceLoopThread.start((void * (*)(void*))AlignRadioServiceLoopAdapter, mAlignRadioServiceLoopThread.start((void * (*)(void*))AlignRadioServiceLoopAdapter,
(void*)this); (void*)this);
#endif
writeTimestamp = mRadio->initialWriteTimestamp(); writeTimestamp = mRadio->initialWriteTimestamp();
readTimestamp = mRadio->initialReadTimestamp(); readTimestamp = mRadio->initialReadTimestamp();
mRadio->start(); mRadio->start();
@@ -134,6 +136,7 @@ void RadioInterface::start()
} }
#ifdef USRP1
void *AlignRadioServiceLoopAdapter(RadioInterface *radioInterface) void *AlignRadioServiceLoopAdapter(RadioInterface *radioInterface)
{ {
while (1) { while (1) {
@@ -147,6 +150,7 @@ void RadioInterface::alignRadio() {
sleep(60); sleep(60);
mRadio->updateAlignment(writeTimestamp+ (TIMESTAMP) 10000); mRadio->updateAlignment(writeTimestamp+ (TIMESTAMP) 10000);
} }
#endif
void RadioInterface::driveTransmitRadio(signalVector &radioBurst, bool zeroBurst) { void RadioInterface::driveTransmitRadio(signalVector &radioBurst, bool zeroBurst) {
@@ -218,14 +222,6 @@ bool RadioInterface::isUnderrun()
return retVal; return retVal;
} }
void RadioInterface::attach(RadioDevice *wRadio, int wRadioOversampling)
{
if (!mOn) {
mRadio = wRadio;
mRadioOversampling = SAMPSPERSYM;
}
}
double RadioInterface::setRxGain(double dB) double RadioInterface::setRxGain(double dB)
{ {
if (mRadio) if (mRadio)

View File

@@ -141,17 +141,17 @@ public:
/** get transport window type of attached device */ /** get transport window type of attached device */
enum RadioDevice::TxWindowType getWindowType() { return mRadio->getWindowType(); } enum RadioDevice::TxWindowType getWindowType() { return mRadio->getWindowType(); }
#if USRP1
protected: protected:
/** drive synchronization of Tx/Rx of USRP */ /** drive synchronization of Tx/Rx of USRP */
void alignRadio(); void alignRadio();
/** reset the interface */
void reset();
friend void *AlignRadioServiceLoopAdapter(RadioInterface*); friend void *AlignRadioServiceLoopAdapter(RadioInterface*);
#endif
}; };
#if USRP1
/** synchronization thread loop */ /** synchronization thread loop */
void *AlignRadioServiceLoopAdapter(RadioInterface*); void *AlignRadioServiceLoopAdapter(RadioInterface*);
#endif