1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-27 20:44:20 -04:00

Merge pull request #2828 from rgetz/rgetz-fix-radioastronomygui.cpp

Improve RadioAstronomyGUI robustnes
This commit is contained in:
Edouard Griffiths
2026-07-25 11:42:51 +02:00
committed by GitHub
2 changed files with 49 additions and 27 deletions
@@ -2061,31 +2061,32 @@ void RadioAstronomyGUI::onMenuDialogCalled(const QPoint &p)
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_rgbColor = m_channelMarker.getColor().rgb();
m_settings.m_title = m_channelMarker.getTitle();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settings.m_reverseAPIChannelIndex = dialog.getReverseAPIChannelIndex();
setWindowTitle(m_settings.m_title);
setTitle(m_channelMarker.getTitle());
setTitleColor(m_settings.m_rgbColor);
if (m_deviceUISet->m_deviceMIMOEngine)
if (dialog.exec() == QDialog::Accepted)
{
m_settings.m_streamIndex = dialog.getSelectedStreamIndex();
m_channelMarker.clearStreamIndexes();
m_channelMarker.addStreamIndex(m_settings.m_streamIndex);
updateIndexLabel();
}
m_settings.m_rgbColor = m_channelMarker.getColor().rgb();
m_settings.m_title = m_channelMarker.getTitle();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settings.m_reverseAPIChannelIndex = dialog.getReverseAPIChannelIndex();
applySettings(QStringList({"title", "rgbColor", "useReverseAPI", "reverseAPIAddress",
"reverseAPIPort", "reverseAPIDeviceIndex", "reverseAPIChannelIndex",
"streamIndex"}));
setWindowTitle(m_settings.m_title);
setTitle(m_channelMarker.getTitle());
setTitleColor(m_settings.m_rgbColor);
if (m_deviceUISet->m_deviceMIMOEngine)
{
m_settings.m_streamIndex = dialog.getSelectedStreamIndex();
m_channelMarker.clearStreamIndexes();
m_channelMarker.addStreamIndex(m_settings.m_streamIndex);
updateIndexLabel();
}
applySettings(QStringList({"title", "rgbColor", "useReverseAPI", "reverseAPIAddress",
"reverseAPIPort", "reverseAPIDeviceIndex", "reverseAPIChannelIndex",
"streamIndex"}));
}
}
resetContextMenuType();
@@ -5799,7 +5800,9 @@ void RadioAstronomyGUI::spectrumSeries_clicked(const QPointF &point)
m_spectrumM1Valid = true;
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M1, SPECTRUM_MARKER_COL_FREQ)->setData(Qt::DisplayRole, m_spectrumM1X);
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M1, SPECTRUM_MARKER_COL_VALUE)->setData(Qt::DisplayRole, m_spectrumM1Y);
calcVrAndDistanceToPeak(m_spectrumM1X*1e6, fft, SPECTRUM_MARKER_ROW_M1);
if (fft) {
calcVrAndDistanceToPeak(m_spectrumM1X*1e6, fft, SPECTRUM_MARKER_ROW_M1);
}
}
else if (selection == "M2")
{
@@ -5808,7 +5811,9 @@ void RadioAstronomyGUI::spectrumSeries_clicked(const QPointF &point)
m_spectrumM2Valid = true;
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M2, SPECTRUM_MARKER_COL_FREQ)->setData(Qt::DisplayRole, m_spectrumM2X);
ui->spectrumMarkerTable->item(SPECTRUM_MARKER_ROW_M2, SPECTRUM_MARKER_COL_VALUE)->setData(Qt::DisplayRole, m_spectrumM2Y);
calcVrAndDistanceToPeak(m_spectrumM2X*1e6, fft, SPECTRUM_MARKER_ROW_M2);
if (fft) {
calcVrAndDistanceToPeak(m_spectrumM2X*1e6, fft, SPECTRUM_MARKER_ROW_M2);
}
}
calcSpectrumMarkerDelta();
@@ -96,7 +96,7 @@ class RadioAstronomyGUI : public ChannelGUI {
float m_solarFlux;
float m_airTemp;
float m_skyTemp;
float m_sensor[RADIOASTRONOMY_SENSORS];
float m_sensor[RADIOASTRONOMY_SENSORS] {0.0f};
bool m_rotValid;
float m_rotAz;
@@ -107,6 +107,10 @@ class RadioAstronomyGUI : public ChannelGUI {
int m_sweepIndex;
FFTMeasurement() :
m_centerFrequency(0),
m_sampleRate(0),
m_integration(0),
m_rfBandwidth(0),
m_fftSize(0),
m_fftData(nullptr),
m_db(nullptr),
@@ -124,7 +128,18 @@ class RadioAstronomyGUI : public ChannelGUI {
m_sigmaS(0.0f),
m_tempMin(0.0f),
m_baseline(RadioAstronomySettings::SBL_TSYS0),
m_omegaA(0.0f),
m_omegaS(0.0f),
m_coordsValid(false),
m_ra(0.0f),
m_dec(0.0f),
m_azimuth(0.0f),
m_elevation(0.0f),
m_l(0.0f),
m_b(0.0f),
m_vBCRS(0.0f),
m_vLSR(0.0f),
m_solarFlux(0.0f),
m_airTemp(0.0),
m_skyTemp(0.0),
m_rotValid(false),
@@ -186,7 +201,9 @@ class RadioAstronomyGUI : public ChannelGUI {
SensorMeasurements() :
m_series(nullptr),
m_yAxis(nullptr)
m_yAxis(nullptr),
m_max(-std::numeric_limits<double>::max()),
m_min(std::numeric_limits<double>::max())
{
}