1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-09-04 06:07:49 -04:00

Spectrum: increase maximum FFT size to 32k and set tooltip with bin size value

This commit is contained in:
f4exb 2021-04-21 07:20:56 +02:00
parent e9f11e1d37
commit 05bb5a148d
4 changed files with 30 additions and 2 deletions

View File

@ -64,7 +64,7 @@ public:
QString m_wsSpectrumAddress; QString m_wsSpectrumAddress;
uint16_t m_wsSpectrumPort; uint16_t m_wsSpectrumPort;
static const int m_log2FFTSizeMin = 6; // 64 static const int m_log2FFTSizeMin = 6; // 64
static const int m_log2FFTSizeMax = 13; // 8k static const int m_log2FFTSizeMax = 15; // 32k
SpectrumSettings(); SpectrumSettings();
virtual ~SpectrumSettings(); virtual ~SpectrumSettings();

View File

@ -148,6 +148,7 @@ void GLSpectrumGUI::displaySettings()
} }
} }
setFFTSizeToolitp();
unsigned int i = 0; unsigned int i = 0;
for (; i < sizeof(m_fpsMs)/sizeof(m_fpsMs[0]); i++) for (; i < sizeof(m_fpsMs)/sizeof(m_fpsMs[0]); i++)
@ -242,6 +243,7 @@ void GLSpectrumGUI::on_fftSize_currentIndexChanged(int index)
setMaximumOverlap(); setMaximumOverlap();
applySettings(); applySettings();
setAveragingToolitp(); setAveragingToolitp();
setFFTSizeToolitp();
} }
void GLSpectrumGUI::on_fftOverlap_valueChanged(int value) void GLSpectrumGUI::on_fftOverlap_valueChanged(int value)
@ -524,6 +526,20 @@ void GLSpectrumGUI::setAveragingToolitp()
} }
} }
void GLSpectrumGUI::setFFTSizeToolitp()
{
if (m_glSpectrum)
{
QString s;
setNumberStr((float) m_glSpectrum->getSampleRate() / m_settings.m_fftSize, 2, s);
ui->fftSize->setToolTip(QString("FFT size (resolution: %1Hz)").arg(s));
}
else
{
ui->fftSize->setToolTip(QString("FFT size"));
}
}
void GLSpectrumGUI::setFFTSize(int log2FFTSize) void GLSpectrumGUI::setFFTSize(int log2FFTSize)
{ {
ui->fftSize->setCurrentIndex( ui->fftSize->setCurrentIndex(
@ -553,6 +569,7 @@ bool GLSpectrumGUI::handleMessage(const Message& message)
if (GLSpectrum::MsgReportSampleRate::match(message)) if (GLSpectrum::MsgReportSampleRate::match(message))
{ {
setAveragingToolitp(); setAveragingToolitp();
setFFTSizeToolitp();
return true; return true;
} }
else if (SpectrumVis::MsgConfigureSpectrumVis::match(message)) else if (SpectrumVis::MsgConfigureSpectrumVis::match(message))

View File

@ -77,6 +77,7 @@ private:
void setNumberStr(int n, QString& s); void setNumberStr(int n, QString& s);
void setNumberStr(float v, int decimalPlaces, QString& s); void setNumberStr(float v, int decimalPlaces, QString& s);
void setAveragingToolitp(); void setAveragingToolitp();
void setFFTSizeToolitp();
void setMaximumOverlap(); void setMaximumOverlap();
bool handleMessage(const Message& message); bool handleMessage(const Message& message);

View File

@ -50,7 +50,7 @@
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>60</width> <width>70</width>
<height>0</height> <height>0</height>
</size> </size>
</property> </property>
@ -169,6 +169,16 @@
<string>8k</string> <string>8k</string>
</property> </property>
</item> </item>
<item>
<property name="text">
<string>16k</string>
</property>
</item>
<item>
<property name="text">
<string>32k</string>
</property>
</item>
</widget> </widget>
</item> </item>
<item> <item>