mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-08-14 15:33:34 -04:00
Massive UI revamping (v7): devices basic
This commit is contained in:
@@ -65,7 +65,10 @@ XTRXMIMOGUI::XTRXMIMOGUI(DeviceUISet *deviceUISet, QWidget* parent) :
|
||||
m_sampleRateMode(true)
|
||||
{
|
||||
qDebug("XTRXMIMOGUI::XTRXMIMOGUI");
|
||||
ui->setupUi(this);
|
||||
setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
ui->setupUi(getContents());
|
||||
getContents()->setStyleSheet("#XTRXMIMOGUI { border: 1px solid #C06900 }");
|
||||
m_helpURL = "plugins/samplemimo/xtrxmimo/readme.md";
|
||||
m_xtrxMIMO = (XTRXMIMO*) m_deviceUISet->m_deviceAPI->getSampleMIMO();
|
||||
|
||||
float minF, maxF, stepF;
|
||||
@@ -97,6 +100,7 @@ XTRXMIMOGUI::XTRXMIMOGUI(DeviceUISet *deviceUISet, QWidget* parent) :
|
||||
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
|
||||
|
||||
sendSettings();
|
||||
makeUIConnections();
|
||||
}
|
||||
|
||||
XTRXMIMOGUI::~XTRXMIMOGUI()
|
||||
@@ -1013,3 +1017,31 @@ void XTRXMIMOGUI::openDeviceSettingsDialog(const QPoint& p)
|
||||
|
||||
sendSettings();
|
||||
}
|
||||
|
||||
void XTRXMIMOGUI::makeUIConnections()
|
||||
{
|
||||
QObject::connect(ui->streamSide, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_streamSide_currentIndexChanged);
|
||||
QObject::connect(ui->streamIndex, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_streamIndex_currentIndexChanged);
|
||||
QObject::connect(ui->spectrumSide, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_spectrumSide_currentIndexChanged);
|
||||
QObject::connect(ui->spectrumIndex, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_spectrumIndex_currentIndexChanged);
|
||||
QObject::connect(ui->startStopRx, &ButtonSwitch::toggled, this, &XTRXMIMOGUI::on_startStopRx_toggled);
|
||||
QObject::connect(ui->startStopTx, &ButtonSwitch::toggled, this, &XTRXMIMOGUI::on_startStopTx_toggled);
|
||||
QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &XTRXMIMOGUI::on_centerFrequency_changed);
|
||||
QObject::connect(ui->ncoEnable, &ButtonSwitch::toggled, this, &XTRXMIMOGUI::on_ncoEnable_toggled);
|
||||
QObject::connect(ui->ncoFrequency, &ValueDialZ::changed, this, &XTRXMIMOGUI::on_ncoFrequency_changed);
|
||||
QObject::connect(ui->dcOffset, &ButtonSwitch::toggled, this, &XTRXMIMOGUI::on_dcOffset_toggled);
|
||||
QObject::connect(ui->iqImbalance, &ButtonSwitch::toggled, this, &XTRXMIMOGUI::on_iqImbalance_toggled);
|
||||
QObject::connect(ui->extClock, &ExternalClockButton::clicked, this, &XTRXMIMOGUI::on_extClock_clicked);
|
||||
QObject::connect(ui->hwDecim, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_hwDecim_currentIndexChanged);
|
||||
QObject::connect(ui->swDecim, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_swDecim_currentIndexChanged);
|
||||
QObject::connect(ui->sampleRateMode, &QToolButton::toggled, this, &XTRXMIMOGUI::on_sampleRateMode_toggled);
|
||||
QObject::connect(ui->sampleRate, &ValueDial::changed, this, &XTRXMIMOGUI::on_sampleRate_changed);
|
||||
QObject::connect(ui->lpf, &ValueDial::changed, this, &XTRXMIMOGUI::on_lpf_changed);
|
||||
QObject::connect(ui->pwrmode, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_pwrmode_currentIndexChanged);
|
||||
QObject::connect(ui->gainMode, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_gainMode_currentIndexChanged);
|
||||
QObject::connect(ui->gain, &QDial::valueChanged, this, &XTRXMIMOGUI::on_gain_valueChanged);
|
||||
QObject::connect(ui->lnaGain, &QDial::valueChanged, this, &XTRXMIMOGUI::on_lnaGain_valueChanged);
|
||||
QObject::connect(ui->tiaGain, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_tiaGain_currentIndexChanged);
|
||||
QObject::connect(ui->pgaGain, &QDial::valueChanged, this, &XTRXMIMOGUI::on_pgaGain_valueChanged);
|
||||
QObject::connect(ui->antenna, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &XTRXMIMOGUI::on_antenna_currentIndexChanged);
|
||||
}
|
||||
|
||||
@@ -44,6 +44,10 @@ public:
|
||||
QByteArray serialize() const;
|
||||
bool deserialize(const QByteArray& data);
|
||||
virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
|
||||
virtual void setWorkspaceIndex(int index) { m_settings.m_workspaceIndex = index; }
|
||||
virtual int getWorkspaceIndex() const { return m_settings.m_workspaceIndex; }
|
||||
virtual void setGeometryBytes(const QByteArray& blob) { m_settings.m_geometryBytes = blob; }
|
||||
virtual QByteArray getGeometryBytes() const { return m_settings.m_geometryBytes; }
|
||||
|
||||
private:
|
||||
Ui::XTRXMIMOGUI* ui;
|
||||
@@ -85,6 +89,7 @@ private:
|
||||
void updateADCRate();
|
||||
void updateDACRate();
|
||||
bool handleMessage(const Message& message);
|
||||
void makeUIConnections();
|
||||
|
||||
private slots:
|
||||
void handleInputMessages();
|
||||
|
||||
@@ -75,6 +75,8 @@ void XTRXMIMOSettings::resetToDefaults()
|
||||
m_lpfBWTx1 = 4.5e6f;
|
||||
m_gainTx1 = 20;
|
||||
m_pwrmodeTx1 = 4;
|
||||
// GUI
|
||||
m_workspaceIndex = 0;
|
||||
}
|
||||
|
||||
QByteArray XTRXMIMOSettings::serialize() const
|
||||
@@ -129,6 +131,9 @@ QByteArray XTRXMIMOSettings::serialize() const
|
||||
s.writeFloat(90, m_lpfBWTx1);
|
||||
s.writeU32(91, m_gainTx1);
|
||||
s.writeU32(92, m_pwrmodeTx1);
|
||||
// GUI
|
||||
s.writeS32(93, m_workspaceIndex);
|
||||
s.writeBlob(94, m_geometryBytes);
|
||||
|
||||
return s.final();
|
||||
}
|
||||
|
||||
@@ -93,6 +93,9 @@ struct XTRXMIMOSettings
|
||||
float m_lpfBWTx1; //!< LMS analog lowpass filter bandwidth (Hz)
|
||||
uint32_t m_gainTx1; //!< Optimally distributed gain (dB)
|
||||
uint32_t m_pwrmodeTx1;
|
||||
// GUI
|
||||
int m_workspaceIndex;
|
||||
QByteArray m_geometryBytes;
|
||||
|
||||
XTRXMIMOSettings();
|
||||
void resetToDefaults();
|
||||
|
||||
Reference in New Issue
Block a user