1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-26 09:48:45 -05:00

LimeSDR: cleaned up apply settings method code removing obsolete suspend/resume threads logic

This commit is contained in:
f4exb 2017-10-27 01:00:51 +02:00
parent 8ddc852239
commit 46ec8e17d2
2 changed files with 0 additions and 186 deletions

View File

@ -625,10 +625,7 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
bool forwardChangeOwnDSP = false;
bool forwardChangeTxDSP = false;
bool forwardChangeAllDSP = false;
bool suspendOwnThread = false;
bool ownThreadWasRunning = false;
bool suspendTxThread = false;
bool suspendAllThread = false;
bool doCalibration = false;
double clockGenFreq = 0.0;
// QMutexLocker mutexLocker(&m_mutex);
@ -642,62 +639,6 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
qDebug() << "LimeSDROutput::applySettings: clock gen frequency: " << clockGenFreq;
}
// determine if buddies threads or own thread need to be suspended
if ((m_settings.m_devSampleRate != settings.m_devSampleRate) ||
(m_settings.m_log2HardInterp != settings.m_log2HardInterp) ||force)
{
suspendAllThread = false;
}
if ((m_settings.m_centerFrequency != settings.m_centerFrequency) || force)
{
suspendTxThread = false;
}
if ((m_settings.m_gain != settings.m_gain) ||
(m_settings.m_lpfBW != settings.m_lpfBW) ||
(m_settings.m_lpfFIRBW != settings.m_lpfFIRBW) ||
(m_settings.m_lpfFIREnable != settings.m_lpfFIREnable) ||
(m_settings.m_ncoEnable != settings.m_ncoEnable) ||
(m_settings.m_ncoFrequency != settings.m_ncoFrequency) ||
(m_settings.m_log2SoftInterp != settings.m_log2SoftInterp) || force)
{
suspendOwnThread = false;
}
// suspend buddies threads or own thread
if (suspendAllThread)
{
suspendRxBuddies();
suspendTxBuddies();
if (m_limeSDROutputThread && m_limeSDROutputThread->isRunning())
{
m_limeSDROutputThread->stopWork();
ownThreadWasRunning = true;
}
}
else if (suspendTxThread)
{
suspendTxBuddies();
if (m_limeSDROutputThread && m_limeSDROutputThread->isRunning())
{
m_limeSDROutputThread->stopWork();
ownThreadWasRunning = true;
}
}
else if (suspendOwnThread)
{
if (m_limeSDROutputThread && m_limeSDROutputThread->isRunning())
{
m_limeSDROutputThread->stopWork();
ownThreadWasRunning = true;
}
}
// apply settings
if ((m_settings.m_gain != settings.m_gain) || force)
@ -928,32 +869,6 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
}
}
// resume buddies threads or own thread
if (suspendAllThread)
{
resumeTxBuddies();
resumeRxBuddies();
if (ownThreadWasRunning) {
m_limeSDROutputThread->startWork();
}
}
else if (suspendTxThread)
{
resumeTxBuddies();
if (ownThreadWasRunning) {
m_limeSDROutputThread->startWork();
}
}
else if (ownThreadWasRunning)
{
if (m_limeSDROutputThread) {
m_limeSDROutputThread->startWork();
}
}
// forward changes to buddies or oneself
if (forwardChangeAllDSP)

View File

@ -655,10 +655,7 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
bool forwardChangeOwnDSP = false;
bool forwardChangeRxDSP = false;
bool forwardChangeAllDSP = false;
bool suspendOwnThread = false;
bool ownThreadWasRunning = false;
bool suspendRxThread = false;
bool suspendAllThread = false;
bool doCalibration = false;
bool setAntennaAuto = false;
double clockGenFreq = 0.0;
@ -673,68 +670,6 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
qDebug() << "LimeSDRInput::applySettings: clock gen frequency: " << clockGenFreq;
}
// determine if buddies threads or own thread need to be suspended
if ((m_settings.m_devSampleRate != settings.m_devSampleRate) ||
(m_settings.m_log2HardDecim != settings.m_log2HardDecim) || force)
{
suspendAllThread = false;
}
if ((m_settings.m_centerFrequency != settings.m_centerFrequency) || force)
{
suspendRxThread = false;
}
if ((m_settings.m_antennaPath != settings.m_antennaPath) &&
(m_settings.m_antennaPath == 0))
{
suspendRxThread = false;
}
if ((m_settings.m_gain != settings.m_gain) ||
(m_settings.m_lpfBW != settings.m_lpfBW) ||
(m_settings.m_lpfFIRBW != settings.m_lpfFIRBW) ||
(m_settings.m_lpfFIREnable != settings.m_lpfFIREnable) ||
(m_settings.m_ncoEnable != settings.m_ncoEnable) ||
(m_settings.m_ncoFrequency != settings.m_ncoFrequency) ||
(m_settings.m_antennaPath != settings.m_antennaPath) || force)
{
suspendOwnThread = false;
}
// suspend buddies threads or own thread
if (suspendAllThread)
{
suspendRxBuddies();
suspendTxBuddies();
if (m_limeSDRInputThread && m_limeSDRInputThread->isRunning())
{
m_limeSDRInputThread->stopWork();
ownThreadWasRunning = true;
}
}
else if (suspendRxThread)
{
suspendRxBuddies();
if (m_limeSDRInputThread && m_limeSDRInputThread->isRunning())
{
m_limeSDRInputThread->stopWork();
ownThreadWasRunning = true;
}
}
else if (suspendOwnThread)
{
if (m_limeSDRInputThread && m_limeSDRInputThread->isRunning())
{
m_limeSDRInputThread->stopWork();
ownThreadWasRunning = true;
}
}
// apply settings
if ((m_settings.m_dcBlock != settings.m_dcBlock) || force)
@ -1083,42 +1018,6 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
}
}
// resume buddies threads or own thread
if (suspendAllThread)
{
resumeTxBuddies();
resumeRxBuddies();
if (ownThreadWasRunning) {
m_limeSDRInputThread->startWork();
}
}
else if (suspendRxThread)
{
const std::vector<DeviceSourceAPI*>& sourceBuddies = m_deviceAPI->getSourceBuddies();
std::vector<DeviceSourceAPI*>::const_iterator itSource = sourceBuddies.begin();
for (; itSource != sourceBuddies.end(); ++itSource)
{
DeviceLimeSDRShared *buddySharedPtr = (DeviceLimeSDRShared *) (*itSource)->getBuddySharedPtr();
if (buddySharedPtr->m_threadWasRunning) {
buddySharedPtr->m_thread->startWork();
}
}
if (ownThreadWasRunning) {
m_limeSDRInputThread->startWork();
}
}
else if (suspendOwnThread)
{
if (ownThreadWasRunning) {
m_limeSDRInputThread->startWork();
}
}
// forward changes to buddies or oneself
if (forwardChangeAllDSP)