mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-16 05:11:49 -05:00
LimeSDR support: ready
This commit is contained in:
parent
05f7065515
commit
7d61557204
@ -243,6 +243,12 @@ int LimeSDRInput::getLPIndex(float lpfBW) const
|
||||
return (int) ((lpfBW - range.min) / range.step);
|
||||
}
|
||||
|
||||
float LimeSDRInput::getLPValue(int index) const
|
||||
{
|
||||
lms_range_t range = m_deviceShared.m_deviceParams->m_lpfRangeRx;
|
||||
return range.min + index * range.step;
|
||||
}
|
||||
|
||||
uint32_t LimeSDRInput::getHWLog2Decim() const
|
||||
{
|
||||
return m_deviceShared.m_deviceParams->m_log2OvSRRx;
|
||||
@ -262,9 +268,9 @@ bool LimeSDRInput::handleMessage(const Message& message)
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (MsgSetReferenceLimeSDR::match(message))
|
||||
else if (MsgSetReferenceConfig::match(message))
|
||||
{
|
||||
MsgSetReferenceLimeSDR& conf = (MsgSetReferenceLimeSDR&) message;
|
||||
MsgSetReferenceConfig& conf = (MsgSetReferenceConfig&) message;
|
||||
qDebug() << "LimeSDRInput::handleMessage: MsgSetReferenceLimeSDR";
|
||||
m_settings = conf.getSettings();
|
||||
return true;
|
||||
|
@ -51,21 +51,21 @@ public:
|
||||
{ }
|
||||
};
|
||||
|
||||
class MsgSetReferenceLimeSDR : public Message {
|
||||
class MsgSetReferenceConfig : public Message {
|
||||
MESSAGE_CLASS_DECLARATION
|
||||
|
||||
public:
|
||||
const LimeSDRInputSettings& getSettings() const { return m_settings; }
|
||||
|
||||
static MsgSetReferenceLimeSDR* create(const LimeSDRInputSettings& settings)
|
||||
static MsgSetReferenceConfig* create(const LimeSDRInputSettings& settings)
|
||||
{
|
||||
return new MsgSetReferenceLimeSDR(settings);
|
||||
return new MsgSetReferenceConfig(settings);
|
||||
}
|
||||
|
||||
private:
|
||||
LimeSDRInputSettings m_settings;
|
||||
|
||||
MsgSetReferenceLimeSDR(const LimeSDRInputSettings& settings) :
|
||||
MsgSetReferenceConfig(const LimeSDRInputSettings& settings) :
|
||||
Message(),
|
||||
m_settings(settings)
|
||||
{ }
|
||||
@ -114,6 +114,7 @@ public:
|
||||
void getSRRange(float& minF, float& maxF, float& stepF) const;
|
||||
void getLPRange(float& minF, float& maxF, float& stepF) const;
|
||||
int getLPIndex(float lpfBW) const;
|
||||
float getLPValue(int index) const;
|
||||
uint32_t getHWLog2Decim() const;
|
||||
|
||||
private:
|
||||
|
@ -174,7 +174,7 @@ void LimeSDRInputGUI::handleMessagesToGUI()
|
||||
displaySettings();
|
||||
blockApplySettings(false);
|
||||
|
||||
LimeSDRInput::MsgSetReferenceLimeSDR* message = LimeSDRInput::MsgSetReferenceLimeSDR::create(m_settings);
|
||||
LimeSDRInput::MsgSetReferenceConfig* message = LimeSDRInput::MsgSetReferenceConfig::create(m_settings);
|
||||
m_sampleSource->getInputMessageQueue()->push(message);
|
||||
|
||||
delete message;
|
||||
@ -263,60 +263,94 @@ void LimeSDRInputGUI::blockApplySettings(bool block)
|
||||
|
||||
void LimeSDRInputGUI::on_startStop_toggled(bool checked)
|
||||
{
|
||||
|
||||
if (checked)
|
||||
{
|
||||
if (m_deviceAPI->initAcquisition())
|
||||
{
|
||||
m_deviceAPI->startAcquisition();
|
||||
DSPEngine::instance()->startAudioOutput();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_deviceAPI->stopAcquisition();
|
||||
DSPEngine::instance()->stopAudioOutput();
|
||||
}
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_record_toggled(bool checked)
|
||||
{
|
||||
|
||||
if (checked)
|
||||
{
|
||||
ui->record->setStyleSheet("QToolButton { background-color : red; }");
|
||||
m_fileSink->startRecording();
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }");
|
||||
m_fileSink->stopRecording();
|
||||
}
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_centerFrequency_changed(quint64 value)
|
||||
{
|
||||
|
||||
m_settings.m_centerFrequency = value * 1000;
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_dcOffset_toggled(bool checked)
|
||||
{
|
||||
|
||||
m_settings.m_dcBlock = checked;
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_iqImbalance_toggled(bool checked)
|
||||
{
|
||||
|
||||
m_settings.m_iqCorrection = checked;
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_sampleRate_changed(quint64 value)
|
||||
{
|
||||
|
||||
}
|
||||
m_settings.m_devSampleRate = value;
|
||||
sendSettings();}
|
||||
|
||||
void LimeSDRInputGUI::on_hwDecim_currentIndexChanged(int index)
|
||||
{
|
||||
|
||||
if ((index <0) || (index > 5))
|
||||
return;
|
||||
m_settings.m_log2HardDecim = index;
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_swDecim_currentIndexChanged(int index)
|
||||
{
|
||||
|
||||
if ((index <0) || (index > 5))
|
||||
return;
|
||||
m_settings.m_log2SoftDecim = index;
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_lpf_valueChanged(int value)
|
||||
{
|
||||
|
||||
m_settings.m_lpfBW = m_limeSDRInput->getLPValue(value);
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_lpFIREnable_toggled(bool checked)
|
||||
{
|
||||
|
||||
m_settings.m_lpfFIREnable = checked;
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_lpFIR_changed(quint64 value)
|
||||
{
|
||||
|
||||
m_settings.m_lpfFIRBW = value;
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void LimeSDRInputGUI::on_gain_valueChanged(int value)
|
||||
{
|
||||
|
||||
m_settings.m_gain = value;
|
||||
sendSettings();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user