mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-04 14:17:50 -04:00
LimeSDR: removed obsolete message. Only stop current side threads if changing center frequency
This commit is contained in:
parent
238c8d312e
commit
2572f2be84
@ -17,7 +17,6 @@
|
|||||||
#include "devicelimesdrshared.h"
|
#include "devicelimesdrshared.h"
|
||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(DeviceLimeSDRShared::MsgReportSampleRateDirChange, Message)
|
MESSAGE_CLASS_DEFINITION(DeviceLimeSDRShared::MsgReportSampleRateDirChange, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(DeviceLimeSDRShared::MsgCrossReportToBuddy, Message)
|
|
||||||
MESSAGE_CLASS_DEFINITION(DeviceLimeSDRShared::MsgReportDeviceInfo, Message)
|
MESSAGE_CLASS_DEFINITION(DeviceLimeSDRShared::MsgReportDeviceInfo, Message)
|
||||||
|
|
||||||
const float DeviceLimeSDRShared::m_sampleFifoLengthInSeconds = 0.25;
|
const float DeviceLimeSDRShared::m_sampleFifoLengthInSeconds = 0.25;
|
||||||
|
@ -27,26 +27,6 @@
|
|||||||
class DeviceLimeSDRShared
|
class DeviceLimeSDRShared
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
class MsgCrossReportToBuddy : public Message {
|
|
||||||
MESSAGE_CLASS_DECLARATION
|
|
||||||
|
|
||||||
public:
|
|
||||||
int getSampleRate() const { return m_sampleRate; }
|
|
||||||
|
|
||||||
static MsgCrossReportToBuddy* create(int sampleRate)
|
|
||||||
{
|
|
||||||
return new MsgCrossReportToBuddy(sampleRate);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
int m_sampleRate;
|
|
||||||
|
|
||||||
MsgCrossReportToBuddy(int sampleRate) :
|
|
||||||
Message(),
|
|
||||||
m_sampleRate(sampleRate)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
class MsgReportSampleRateDirChange : public Message {
|
class MsgReportSampleRateDirChange : public Message {
|
||||||
MESSAGE_CLASS_DECLARATION
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgConfigureLimeSDR, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgConfigureLimeSDR, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgGetStreamInfo, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgGetStreamInfo, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgGetDeviceInfo, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgGetDeviceInfo, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgReportLimeSDRToBuddy, Message)
|
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgReportStreamInfo, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDROutput::MsgReportStreamInfo, Message)
|
||||||
|
|
||||||
|
|
||||||
@ -442,20 +441,6 @@ bool LimeSDROutput::handleMessage(const Message& message)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (MsgReportLimeSDRToBuddy::match(message))
|
|
||||||
{
|
|
||||||
MsgReportLimeSDRToBuddy& conf = (MsgReportLimeSDRToBuddy&) message;
|
|
||||||
m_settings.m_centerFrequency = conf.getCenterFrequency();
|
|
||||||
m_settings.m_devSampleRate = conf.getSampleRate();
|
|
||||||
m_settings.m_log2HardInterp = conf.getLog2HardInterp();
|
|
||||||
|
|
||||||
qDebug() << "LimeSDRInput::handleMessage: MsgReportLimeSDRToBuddy:"
|
|
||||||
<< " m_centerFrequency: " << conf.getCenterFrequency()
|
|
||||||
<< " m_devSampleRate: " << conf.getSampleRate()
|
|
||||||
<< " m_log2HardDecim: " << conf.getLog2HardInterp();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
else if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
||||||
{
|
{
|
||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
||||||
@ -489,16 +474,6 @@ bool LimeSDROutput::handleMessage(const Message& message)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (DeviceLimeSDRShared::MsgCrossReportToBuddy::match(message))
|
|
||||||
{
|
|
||||||
DeviceLimeSDRShared::MsgCrossReportToBuddy& conf = (DeviceLimeSDRShared::MsgCrossReportToBuddy&) message;
|
|
||||||
m_settings.m_devSampleRate = conf.getSampleRate();
|
|
||||||
|
|
||||||
qDebug() << "LimeSDRInput::handleMessage: MsgCrossReportToBuddy:"
|
|
||||||
<< " m_devSampleRate: " << conf.getSampleRate();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (MsgGetStreamInfo::match(message))
|
else if (MsgGetStreamInfo::match(message))
|
||||||
{
|
{
|
||||||
// qDebug() << "LimeSDROutput::handleMessage: MsgGetStreamInfo";
|
// qDebug() << "LimeSDROutput::handleMessage: MsgGetStreamInfo";
|
||||||
@ -606,23 +581,20 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
|
|||||||
bool suspendTxThread = false;
|
bool suspendTxThread = false;
|
||||||
bool suspendAllThread = false;
|
bool suspendAllThread = false;
|
||||||
bool doCalibration = false;
|
bool doCalibration = false;
|
||||||
// bool forceNCOFrequency = false;
|
|
||||||
// QMutexLocker mutexLocker(&m_mutex);
|
// QMutexLocker mutexLocker(&m_mutex);
|
||||||
|
|
||||||
// determine if buddies threads or own thread need to be suspended
|
// determine if buddies threads or own thread need to be suspended
|
||||||
|
|
||||||
if ((m_settings.m_devSampleRate != settings.m_devSampleRate) ||
|
if ((m_settings.m_devSampleRate != settings.m_devSampleRate) ||
|
||||||
(m_settings.m_log2HardInterp != settings.m_log2HardInterp) ||
|
(m_settings.m_log2HardInterp != settings.m_log2HardInterp) ||force)
|
||||||
(m_settings.m_centerFrequency != settings.m_centerFrequency) ||force)
|
|
||||||
{
|
{
|
||||||
suspendAllThread = true;
|
suspendAllThread = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if ((m_settings.m_log2HardInterp != settings.m_log2HardInterp) ||
|
if ((m_settings.m_centerFrequency != settings.m_centerFrequency) || force)
|
||||||
// (m_settings.m_centerFrequency != settings.m_centerFrequency) || force)
|
{
|
||||||
// {
|
suspendTxThread = true;
|
||||||
// suspendTxThread = true;
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
if ((m_settings.m_gain != settings.m_gain) ||
|
if ((m_settings.m_gain != settings.m_gain) ||
|
||||||
(m_settings.m_lpfBW != settings.m_lpfBW) ||
|
(m_settings.m_lpfBW != settings.m_lpfBW) ||
|
||||||
@ -691,7 +663,6 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
|
|||||||
if ((m_settings.m_devSampleRate != settings.m_devSampleRate)
|
if ((m_settings.m_devSampleRate != settings.m_devSampleRate)
|
||||||
|| (m_settings.m_log2HardInterp != settings.m_log2HardInterp) || force)
|
|| (m_settings.m_log2HardInterp != settings.m_log2HardInterp) || force)
|
||||||
{
|
{
|
||||||
// forwardChangeTxDSP = m_settings.m_log2HardInterp != settings.m_log2HardInterp;
|
|
||||||
forwardChangeAllDSP = true; //m_settings.m_devSampleRate != settings.m_devSampleRate;
|
forwardChangeAllDSP = true; //m_settings.m_devSampleRate != settings.m_devSampleRate;
|
||||||
|
|
||||||
if (m_deviceShared.m_deviceParams->getDevice() != 0)
|
if (m_deviceShared.m_deviceParams->getDevice() != 0)
|
||||||
@ -920,27 +891,6 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
|
|||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
||||||
m_settings.m_devSampleRate, m_settings.m_log2HardInterp, false);
|
m_settings.m_devSampleRate, m_settings.m_log2HardInterp, false);
|
||||||
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
||||||
|
|
||||||
// DeviceLimeSDRShared *buddySharedPtr = (DeviceLimeSDRShared *) (*itSink)->getBuddySharedPtr();
|
|
||||||
// int buddyNCOFreq = buddySharedPtr->m_ncoFrequency;
|
|
||||||
// uint32_t buddyLog2SoftInterp = buddySharedPtr->m_log2Soft;
|
|
||||||
// DSPSignalNotification *notif = new DSPSignalNotification(
|
|
||||||
// m_settings.m_devSampleRate/(1<<buddyLog2SoftInterp),
|
|
||||||
// m_settings.m_centerFrequency + buddyNCOFreq); // do not change center frequency
|
|
||||||
// (*itSink)->getDeviceEngineInputMessageQueue()->push(notif);
|
|
||||||
//
|
|
||||||
// MsgReportLimeSDRToBuddy *report = MsgReportLimeSDRToBuddy::create(
|
|
||||||
// m_settings.m_centerFrequency,
|
|
||||||
// m_settings.m_devSampleRate,
|
|
||||||
// m_settings.m_log2HardInterp);
|
|
||||||
//
|
|
||||||
// if ((*itSink)->getSampleSinkGUIMessageQueue())
|
|
||||||
// {
|
|
||||||
// MsgReportLimeSDRToBuddy *reportToGUI = new MsgReportLimeSDRToBuddy(*report);
|
|
||||||
// (*itSink)->getSampleSinkGUIMessageQueue()->push(reportToGUI);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// (*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// send to source buddies
|
// send to source buddies
|
||||||
@ -952,25 +902,6 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
|
|||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
||||||
m_settings.m_devSampleRate, m_settings.m_log2HardInterp, false);
|
m_settings.m_devSampleRate, m_settings.m_log2HardInterp, false);
|
||||||
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
||||||
|
|
||||||
// DeviceLimeSDRShared *buddySharedPtr = (DeviceLimeSDRShared *) (*itSource)->getBuddySharedPtr();
|
|
||||||
// uint64_t buddyCenterFreq = buddySharedPtr->m_centerFrequency;
|
|
||||||
// int buddyNCOFreq = buddySharedPtr->m_ncoFrequency;
|
|
||||||
// uint32_t buddyLog2SoftDecim = buddySharedPtr->m_log2Soft;
|
|
||||||
// DSPSignalNotification *notif = new DSPSignalNotification(
|
|
||||||
// m_settings.m_devSampleRate/(1<<buddyLog2SoftDecim),
|
|
||||||
// buddyCenterFreq + buddyNCOFreq);
|
|
||||||
// (*itSource)->getDeviceEngineInputMessageQueue()->push(notif);
|
|
||||||
//
|
|
||||||
// DeviceLimeSDRShared::MsgCrossReportToBuddy *report = DeviceLimeSDRShared::MsgCrossReportToBuddy::create(m_settings.m_devSampleRate);
|
|
||||||
//
|
|
||||||
// if ((*itSource)->getSampleSourceGUIMessageQueue())
|
|
||||||
// {
|
|
||||||
// DeviceLimeSDRShared::MsgCrossReportToBuddy *reportToGUI = new DeviceLimeSDRShared::MsgCrossReportToBuddy(*report);
|
|
||||||
// (*itSource)->getSampleSourceGUIMessageQueue()->push(reportToGUI);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// (*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (forwardChangeTxDSP)
|
else if (forwardChangeTxDSP)
|
||||||
@ -990,23 +921,8 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo
|
|||||||
|
|
||||||
for (; itSink != sinkBuddies.end(); ++itSink)
|
for (; itSink != sinkBuddies.end(); ++itSink)
|
||||||
{
|
{
|
||||||
DeviceLimeSDRShared *buddySharedPtr = (DeviceLimeSDRShared *) (*itSink)->getBuddySharedPtr();
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
||||||
uint64_t buddyCenterFreq = buddySharedPtr->m_centerFrequency;
|
m_settings.m_devSampleRate, m_settings.m_log2HardInterp, false);
|
||||||
int buddyNCOFreq = buddySharedPtr->m_ncoFrequency;
|
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, buddyCenterFreq + buddyNCOFreq); // do not change center frequency
|
|
||||||
(*itSink)->getDeviceEngineInputMessageQueue()->push(notif);
|
|
||||||
|
|
||||||
MsgReportLimeSDRToBuddy *report = MsgReportLimeSDRToBuddy::create(
|
|
||||||
m_settings.m_centerFrequency,
|
|
||||||
m_settings.m_devSampleRate,
|
|
||||||
m_settings.m_log2HardInterp);
|
|
||||||
|
|
||||||
if ((*itSink)->getSampleSinkGUIMessageQueue())
|
|
||||||
{
|
|
||||||
MsgReportLimeSDRToBuddy *reportToGUI = new MsgReportLimeSDRToBuddy(*report);
|
|
||||||
(*itSink)->getSampleSinkGUIMessageQueue()->push(reportToGUI);
|
|
||||||
}
|
|
||||||
|
|
||||||
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,32 +84,6 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
class MsgReportLimeSDRToBuddy : public Message {
|
|
||||||
MESSAGE_CLASS_DECLARATION
|
|
||||||
|
|
||||||
public:
|
|
||||||
float getCenterFrequency() const { return m_centerFrequency; }
|
|
||||||
int getSampleRate() const { return m_sampleRate; }
|
|
||||||
uint32_t getLog2HardInterp() const { return m_log2HardInterp; }
|
|
||||||
|
|
||||||
static MsgReportLimeSDRToBuddy* create(float centerFrequency, int sampleRate, uint32_t log2HardInterp)
|
|
||||||
{
|
|
||||||
return new MsgReportLimeSDRToBuddy(centerFrequency, sampleRate, log2HardInterp);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
float m_centerFrequency;
|
|
||||||
int m_sampleRate;
|
|
||||||
uint32_t m_log2HardInterp;
|
|
||||||
|
|
||||||
MsgReportLimeSDRToBuddy(float centerFrequency, int sampleRate, uint32_t log2HardInterp) :
|
|
||||||
Message(),
|
|
||||||
m_centerFrequency(centerFrequency),
|
|
||||||
m_sampleRate(sampleRate),
|
|
||||||
m_log2HardInterp(log2HardInterp)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
class MsgReportStreamInfo : public Message {
|
class MsgReportStreamInfo : public Message {
|
||||||
MESSAGE_CLASS_DECLARATION
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
@ -141,22 +141,7 @@ bool LimeSDROutputGUI::deserialize(const QByteArray& data)
|
|||||||
|
|
||||||
bool LimeSDROutputGUI::handleMessage(const Message& message)
|
bool LimeSDROutputGUI::handleMessage(const Message& message)
|
||||||
{
|
{
|
||||||
if (LimeSDROutput::MsgReportLimeSDRToBuddy::match(message))
|
if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
||||||
{
|
|
||||||
qDebug("LimeSDROutputGUI::handleMessagesToGUI: message: %s", message.getIdentifier());
|
|
||||||
LimeSDROutput::MsgReportLimeSDRToBuddy& report = (LimeSDROutput::MsgReportLimeSDRToBuddy&) message;
|
|
||||||
|
|
||||||
m_settings.m_centerFrequency = report.getCenterFrequency();
|
|
||||||
m_settings.m_devSampleRate = report.getSampleRate();
|
|
||||||
m_settings.m_log2HardInterp = report.getLog2HardInterp();
|
|
||||||
|
|
||||||
blockApplySettings(true);
|
|
||||||
displaySettings();
|
|
||||||
blockApplySettings(false);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
|
||||||
{
|
{
|
||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
||||||
m_settings.m_devSampleRate = report.getDevSampleRate();
|
m_settings.m_devSampleRate = report.getDevSampleRate();
|
||||||
@ -168,18 +153,6 @@ bool LimeSDROutputGUI::handleMessage(const Message& message)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (DeviceLimeSDRShared::MsgCrossReportToBuddy::match(message))
|
|
||||||
{
|
|
||||||
qDebug("LimeSDROutputGUI::handleMessagesToGUI: message: %s", message.getIdentifier());
|
|
||||||
DeviceLimeSDRShared::MsgCrossReportToBuddy& report = (DeviceLimeSDRShared::MsgCrossReportToBuddy&) message;
|
|
||||||
m_settings.m_devSampleRate = report.getSampleRate();
|
|
||||||
|
|
||||||
blockApplySettings(true);
|
|
||||||
displaySettings();
|
|
||||||
blockApplySettings(false);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (LimeSDROutput::MsgReportStreamInfo::match(message))
|
else if (LimeSDROutput::MsgReportStreamInfo::match(message))
|
||||||
{
|
{
|
||||||
LimeSDROutput::MsgReportStreamInfo& report = (LimeSDROutput::MsgReportStreamInfo&) message;
|
LimeSDROutput::MsgReportStreamInfo& report = (LimeSDROutput::MsgReportStreamInfo&) message;
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgConfigureLimeSDR, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgConfigureLimeSDR, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgGetStreamInfo, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgGetStreamInfo, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgGetDeviceInfo, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgGetDeviceInfo, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgReportLimeSDRToBuddy, Message)
|
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgReportStreamInfo, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgReportStreamInfo, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgFileRecord, Message)
|
MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgFileRecord, Message)
|
||||||
|
|
||||||
@ -427,20 +426,6 @@ bool LimeSDRInput::handleMessage(const Message& message)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (MsgReportLimeSDRToBuddy::match(message))
|
|
||||||
{
|
|
||||||
MsgReportLimeSDRToBuddy& conf = (MsgReportLimeSDRToBuddy&) message;
|
|
||||||
m_settings.m_centerFrequency = conf.getCenterFrequency();
|
|
||||||
m_settings.m_devSampleRate = conf.getSampleRate();
|
|
||||||
m_settings.m_log2HardDecim = conf.getLog2HardDecim();
|
|
||||||
|
|
||||||
qDebug() << "LimeSDRInput::handleMessage: MsgReportLimeSDRToBuddy:"
|
|
||||||
<< " m_centerFrequency: " << conf.getCenterFrequency()
|
|
||||||
<< " m_devSampleRate: " << conf.getSampleRate()
|
|
||||||
<< " m_log2HardDecim: " << conf.getLog2HardDecim();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
else if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
||||||
{
|
{
|
||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
||||||
@ -474,16 +459,6 @@ bool LimeSDRInput::handleMessage(const Message& message)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (DeviceLimeSDRShared::MsgCrossReportToBuddy::match(message))
|
|
||||||
{
|
|
||||||
DeviceLimeSDRShared::MsgCrossReportToBuddy& conf = (DeviceLimeSDRShared::MsgCrossReportToBuddy&) message;
|
|
||||||
m_settings.m_devSampleRate = conf.getSampleRate();
|
|
||||||
|
|
||||||
qDebug() << "LimeSDRInput::handleMessage: MsgCrossReportToBuddy:"
|
|
||||||
<< " m_devSampleRate: " << conf.getSampleRate();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (MsgGetStreamInfo::match(message))
|
else if (MsgGetStreamInfo::match(message))
|
||||||
{
|
{
|
||||||
// qDebug() << "LimeSDRInput::handleMessage: MsgGetStreamInfo";
|
// qDebug() << "LimeSDRInput::handleMessage: MsgGetStreamInfo";
|
||||||
@ -605,23 +580,20 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
|
|||||||
bool suspendAllThread = false;
|
bool suspendAllThread = false;
|
||||||
bool doCalibration = false;
|
bool doCalibration = false;
|
||||||
bool setAntennaAuto = false;
|
bool setAntennaAuto = false;
|
||||||
// bool forceNCOFrequency = false;
|
|
||||||
// QMutexLocker mutexLocker(&m_mutex);
|
// QMutexLocker mutexLocker(&m_mutex);
|
||||||
|
|
||||||
// determine if buddies threads or own thread need to be suspended
|
// determine if buddies threads or own thread need to be suspended
|
||||||
|
|
||||||
if ((m_settings.m_devSampleRate != settings.m_devSampleRate) ||
|
if ((m_settings.m_devSampleRate != settings.m_devSampleRate) ||
|
||||||
(m_settings.m_log2HardDecim != settings.m_log2HardDecim) ||
|
(m_settings.m_log2HardDecim != settings.m_log2HardDecim) || force)
|
||||||
(m_settings.m_centerFrequency != settings.m_centerFrequency) || force)
|
|
||||||
{
|
{
|
||||||
suspendAllThread = true;
|
suspendAllThread = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if ((m_settings.m_log2HardDecim != settings.m_log2HardDecim) ||
|
if ((m_settings.m_centerFrequency != settings.m_centerFrequency) || force)
|
||||||
// (m_settings.m_centerFrequency != settings.m_centerFrequency) || force)
|
{
|
||||||
// {
|
suspendRxThread = true;
|
||||||
// suspendRxThread = true;
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
if ((m_settings.m_antennaPath != settings.m_antennaPath) &&
|
if ((m_settings.m_antennaPath != settings.m_antennaPath) &&
|
||||||
(m_settings.m_antennaPath == 0))
|
(m_settings.m_antennaPath == 0))
|
||||||
@ -835,7 +807,6 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
|
|||||||
if ((m_settings.m_devSampleRate != settings.m_devSampleRate)
|
if ((m_settings.m_devSampleRate != settings.m_devSampleRate)
|
||||||
|| (m_settings.m_log2HardDecim != settings.m_log2HardDecim) || force)
|
|| (m_settings.m_log2HardDecim != settings.m_log2HardDecim) || force)
|
||||||
{
|
{
|
||||||
// forwardChangeRxDSP = m_settings.m_log2HardDecim != settings.m_log2HardDecim;
|
|
||||||
forwardChangeAllDSP = true; //m_settings.m_devSampleRate != settings.m_devSampleRate;
|
forwardChangeAllDSP = true; //m_settings.m_devSampleRate != settings.m_devSampleRate;
|
||||||
|
|
||||||
m_settings.m_devSampleRate = settings.m_devSampleRate;
|
m_settings.m_devSampleRate = settings.m_devSampleRate;
|
||||||
@ -1079,27 +1050,6 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
|
|||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
||||||
m_settings.m_devSampleRate, m_settings.m_log2HardDecim, true);
|
m_settings.m_devSampleRate, m_settings.m_log2HardDecim, true);
|
||||||
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
||||||
|
|
||||||
// DeviceLimeSDRShared *buddySharedPtr = (DeviceLimeSDRShared *) (*itSource)->getBuddySharedPtr();
|
|
||||||
// int buddyNCOFreq = buddySharedPtr->m_ncoFrequency;
|
|
||||||
// uint32_t buddyLog2Decim = buddySharedPtr->m_log2Soft;
|
|
||||||
// DSPSignalNotification *notif = new DSPSignalNotification(
|
|
||||||
// m_settings.m_devSampleRate/(1<<buddyLog2Decim),
|
|
||||||
// m_settings.m_centerFrequency + buddyNCOFreq);
|
|
||||||
// (*itSource)->getDeviceEngineInputMessageQueue()->push(notif);
|
|
||||||
//
|
|
||||||
// MsgReportLimeSDRToBuddy *report = MsgReportLimeSDRToBuddy::create(
|
|
||||||
// m_settings.m_centerFrequency,
|
|
||||||
// m_settings.m_devSampleRate,
|
|
||||||
// m_settings.m_log2HardDecim);
|
|
||||||
//
|
|
||||||
// if ((*itSource)->getSampleSourceGUIMessageQueue())
|
|
||||||
// {
|
|
||||||
// MsgReportLimeSDRToBuddy *reportToGUI = new MsgReportLimeSDRToBuddy(*report);
|
|
||||||
// (*itSource)->getSampleSourceGUIMessageQueue()->push(reportToGUI);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// (*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// send to sink buddies
|
// send to sink buddies
|
||||||
@ -1111,25 +1061,6 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
|
|||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
||||||
m_settings.m_devSampleRate, m_settings.m_log2HardDecim, true);
|
m_settings.m_devSampleRate, m_settings.m_log2HardDecim, true);
|
||||||
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
(*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
||||||
|
|
||||||
// DeviceLimeSDRShared *buddySharedPtr = (DeviceLimeSDRShared *) (*itSink)->getBuddySharedPtr();
|
|
||||||
// uint64_t buddyCenterFreq = buddySharedPtr->m_centerFrequency;
|
|
||||||
// int buddyNCOFreq = buddySharedPtr->m_ncoFrequency;
|
|
||||||
// uint32_t buddyLog2Interp = buddySharedPtr->m_log2Soft;
|
|
||||||
// DSPSignalNotification *notif = new DSPSignalNotification(
|
|
||||||
// m_settings.m_devSampleRate/(1<<buddyLog2Interp),
|
|
||||||
// buddyCenterFreq + buddyNCOFreq); // do not change center frequency
|
|
||||||
// (*itSink)->getDeviceEngineInputMessageQueue()->push(notif);
|
|
||||||
//
|
|
||||||
// DeviceLimeSDRShared::MsgCrossReportToBuddy *report = DeviceLimeSDRShared::MsgCrossReportToBuddy::create(m_settings.m_devSampleRate);
|
|
||||||
//
|
|
||||||
// if ((*itSink)->getSampleSinkGUIMessageQueue())
|
|
||||||
// {
|
|
||||||
// DeviceLimeSDRShared::MsgCrossReportToBuddy *reportToGUI = new DeviceLimeSDRShared::MsgCrossReportToBuddy(*report);
|
|
||||||
// (*itSink)->getSampleSinkGUIMessageQueue()->push(reportToGUI);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// (*itSink)->getSampleSinkInputMessageQueue()->push(report);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (forwardChangeRxDSP)
|
else if (forwardChangeRxDSP)
|
||||||
@ -1149,22 +1080,8 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc
|
|||||||
|
|
||||||
for (; itSource != sourceBuddies.end(); ++itSource)
|
for (; itSource != sourceBuddies.end(); ++itSource)
|
||||||
{
|
{
|
||||||
DeviceLimeSDRShared *buddySharedPtr = (DeviceLimeSDRShared *) (*itSource)->getBuddySharedPtr();
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange *report = DeviceLimeSDRShared::MsgReportSampleRateDirChange::create(
|
||||||
int buddyNCOFreq = buddySharedPtr->m_ncoFrequency;
|
m_settings.m_devSampleRate, m_settings.m_log2HardDecim, true);
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency + buddyNCOFreq);
|
|
||||||
(*itSource)->getDeviceEngineInputMessageQueue()->push(notif);
|
|
||||||
|
|
||||||
MsgReportLimeSDRToBuddy *report = MsgReportLimeSDRToBuddy::create(
|
|
||||||
m_settings.m_centerFrequency,
|
|
||||||
m_settings.m_devSampleRate,
|
|
||||||
m_settings.m_log2HardDecim);
|
|
||||||
|
|
||||||
if ((*itSource)->getSampleSourceGUIMessageQueue())
|
|
||||||
{
|
|
||||||
MsgReportLimeSDRToBuddy *reportToGUI = new MsgReportLimeSDRToBuddy(*report);
|
|
||||||
(*itSource)->getSampleSourceGUIMessageQueue()->push(reportToGUI);
|
|
||||||
}
|
|
||||||
|
|
||||||
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
(*itSource)->getSampleSourceInputMessageQueue()->push(report);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -85,32 +85,6 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
class MsgReportLimeSDRToBuddy : public Message {
|
|
||||||
MESSAGE_CLASS_DECLARATION
|
|
||||||
|
|
||||||
public:
|
|
||||||
float getCenterFrequency() const { return m_centerFrequency; }
|
|
||||||
int getSampleRate() const { return m_sampleRate; }
|
|
||||||
uint32_t getLog2HardDecim() const { return m_log2HardDecim; }
|
|
||||||
|
|
||||||
static MsgReportLimeSDRToBuddy* create(float centerFrequency, int sampleRate, uint32_t log2HardDecim)
|
|
||||||
{
|
|
||||||
return new MsgReportLimeSDRToBuddy(centerFrequency, sampleRate, log2HardDecim);
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
float m_centerFrequency;
|
|
||||||
int m_sampleRate;
|
|
||||||
uint32_t m_log2HardDecim;
|
|
||||||
|
|
||||||
MsgReportLimeSDRToBuddy(float centerFrequency, int sampleRate, uint32_t log2HardDecim) :
|
|
||||||
Message(),
|
|
||||||
m_centerFrequency(centerFrequency),
|
|
||||||
m_sampleRate(sampleRate),
|
|
||||||
m_log2HardDecim(log2HardDecim)
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
class MsgReportStreamInfo : public Message {
|
class MsgReportStreamInfo : public Message {
|
||||||
MESSAGE_CLASS_DECLARATION
|
MESSAGE_CLASS_DECLARATION
|
||||||
|
|
||||||
|
@ -139,22 +139,7 @@ bool LimeSDRInputGUI::deserialize(const QByteArray& data)
|
|||||||
|
|
||||||
bool LimeSDRInputGUI::handleMessage(const Message& message)
|
bool LimeSDRInputGUI::handleMessage(const Message& message)
|
||||||
{
|
{
|
||||||
if (LimeSDRInput::MsgReportLimeSDRToBuddy::match(message))
|
if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
||||||
{
|
|
||||||
qDebug("LimeSDRInputGUI::handleMessagesToGUI: message: %s", message.getIdentifier());
|
|
||||||
LimeSDRInput::MsgReportLimeSDRToBuddy& report = (LimeSDRInput::MsgReportLimeSDRToBuddy&) message;
|
|
||||||
|
|
||||||
m_settings.m_centerFrequency = report.getCenterFrequency();
|
|
||||||
m_settings.m_devSampleRate = report.getSampleRate();
|
|
||||||
m_settings.m_log2HardDecim = report.getLog2HardDecim();
|
|
||||||
|
|
||||||
blockApplySettings(true);
|
|
||||||
displaySettings();
|
|
||||||
blockApplySettings(false);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (DeviceLimeSDRShared::MsgReportSampleRateDirChange::match(message))
|
|
||||||
{
|
{
|
||||||
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
DeviceLimeSDRShared::MsgReportSampleRateDirChange& report = (DeviceLimeSDRShared::MsgReportSampleRateDirChange&) message;
|
||||||
m_settings.m_devSampleRate = report.getDevSampleRate();
|
m_settings.m_devSampleRate = report.getDevSampleRate();
|
||||||
@ -166,18 +151,6 @@ bool LimeSDRInputGUI::handleMessage(const Message& message)
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (DeviceLimeSDRShared::MsgCrossReportToBuddy::match(message))
|
|
||||||
{
|
|
||||||
qDebug("LimeSDRInputGUI::handleMessagesToGUI: message: %s", message.getIdentifier());
|
|
||||||
DeviceLimeSDRShared::MsgCrossReportToBuddy& report = (DeviceLimeSDRShared::MsgCrossReportToBuddy&) message;
|
|
||||||
m_settings.m_devSampleRate = report.getSampleRate(); // TODO: remove from here should be done device to device
|
|
||||||
|
|
||||||
blockApplySettings(true);
|
|
||||||
displaySettings();
|
|
||||||
blockApplySettings(false);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if (LimeSDRInput::MsgReportStreamInfo::match(message))
|
else if (LimeSDRInput::MsgReportStreamInfo::match(message))
|
||||||
{
|
{
|
||||||
LimeSDRInput::MsgReportStreamInfo& report = (LimeSDRInput::MsgReportStreamInfo&) message;
|
LimeSDRInput::MsgReportStreamInfo& report = (LimeSDRInput::MsgReportStreamInfo&) message;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user