1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-04-30 03:14:01 -04:00

VOR Demod: Reset state when navId changes, so we don't report old ident for new navId

This commit is contained in:
Jon Beniston 2022-05-04 09:51:28 +01:00
parent 2fafb2afe7
commit 7d2fc09a65
2 changed files with 19 additions and 1 deletions

View File

@ -257,6 +257,12 @@ void VORDemod::applySettings(const VORDemodSettings& settings, bool force)
}
if ((m_settings.m_navId != settings.m_navId) || force) {
reverseAPIKeys.append("navId");
// Reset state so we don't report old data for new NavId
m_radial = 0.0f;
m_refMag = 0.0f;
m_varMag = 0.0f;
m_morseIdent = "";
}
if ((m_settings.m_squelch != settings.m_squelch) || force) {
reverseAPIKeys.append("squelch");
@ -509,7 +515,6 @@ void VORDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response
double magsqAvg, magsqPeak;
int nbMagsqSamples;
getMagSqLevels(magsqAvg, magsqPeak, nbMagsqSamples);
response.getVorDemodReport()->setChannelPowerDb(CalcDb::dbPower(magsqAvg));
response.getVorDemodReport()->setSquelch(m_basebandSink->getSquelchOpen() ? 1 : 0);
response.getVorDemodReport()->setAudioSampleRate(m_basebandSink->getAudioSampleRate());

View File

@ -401,6 +401,19 @@ void VORDemodSCSink::applySettings(const VORDemodSettings& settings, bool force)
m_squelchLevel = CalcDb::powerFromdB(settings.m_squelch);
}
if (m_settings.m_navId != settings.m_navId)
{
// Reset state when navId changes, so we don't report old ident for new navId
m_binSampleCnt = 0;
m_binCnt = 0;
m_identNoise = 0.0001f;
for (int i = 0; i < m_identBins; i++)
{
m_identMaxs[i] = 0.0f;
}
m_ident = "";
}
m_settings = settings;
}