diff --git a/plugins/channelrx/demodssb/ssbdemodgui.cpp b/plugins/channelrx/demodssb/ssbdemodgui.cpp index 8725f45c8..01f4187bf 100644 --- a/plugins/channelrx/demodssb/ssbdemodgui.cpp +++ b/plugins/channelrx/demodssb/ssbdemodgui.cpp @@ -413,6 +413,7 @@ void SSBDemodGUI::applyBandwidths(bool force) ui->lowCut->blockSignals(false); ui->BW->blockSignals(false); + ui->channelPowerMeter->setRange(SSBDemodSettings::m_minPowerThresholdDB, 0); m_settings.m_dsb = dsb; m_settings.m_spanLog2 = spanLog2; @@ -553,8 +554,8 @@ void SSBDemodGUI::tick() double powDbPeak = CalcDb::dbPower(magsqPeak); ui->channelPowerMeter->levelChanged( - (100.0f + powDbAvg) / 100.0f, - (100.0f + powDbPeak) / 100.0f, + (SSBDemodSettings::m_mminPowerThresholdDBf + powDbAvg) / SSBDemodSettings::m_mminPowerThresholdDBf, + (SSBDemodSettings::m_mminPowerThresholdDBf + powDbPeak) / SSBDemodSettings::m_mminPowerThresholdDBf, nbMagsqSamples); if (m_tickCount % 4 == 0) { diff --git a/plugins/channelrx/demodssb/ssbdemodsettings.cpp b/plugins/channelrx/demodssb/ssbdemodsettings.cpp index 60a2a8c17..b1f805e6b 100644 --- a/plugins/channelrx/demodssb/ssbdemodsettings.cpp +++ b/plugins/channelrx/demodssb/ssbdemodsettings.cpp @@ -21,8 +21,13 @@ #include "settings/serializable.h" #include "ssbdemodsettings.h" +#ifdef SDR_RX_SAMPLE_24BIT const int SSBDemodSettings::m_minPowerThresholdDB = -120; const float SSBDemodSettings::m_mminPowerThresholdDBf = 120.0f; +#else +const int SSBDemodSettings::m_minPowerThresholdDB = -100; +const float SSBDemodSettings::m_mminPowerThresholdDBf = 100.0f; +#endif SSBDemodSettings::SSBDemodSettings() : m_channelMarker(0), diff --git a/sdrgui/gui/levelmeter.cpp b/sdrgui/gui/levelmeter.cpp index c36d2e78a..d5257aee4 100644 --- a/sdrgui/gui/levelmeter.cpp +++ b/sdrgui/gui/levelmeter.cpp @@ -283,6 +283,11 @@ LevelMeterSignalDB::~LevelMeterSignalDB() { } +void LevelMeterSignalDB::setRange(int min, int max) +{ + m_scaleEngine.setRange(Unit::Decibel, min, max); +} + void LevelMeterSignalDB::resized() { if (m_backgroundPixmap) diff --git a/sdrgui/gui/levelmeter.h b/sdrgui/gui/levelmeter.h index 25c6a0361..07a52d1f1 100644 --- a/sdrgui/gui/levelmeter.h +++ b/sdrgui/gui/levelmeter.h @@ -161,6 +161,7 @@ public: virtual ~LevelMeterSignalDB(); void setColorTheme(ColorTheme colorTheme) { m_colorTheme = colorTheme; } + void setRange(int min, int max); static const QColor m_avgColor[3]; static const QColor m_decayedPeakColor[3];