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:
parent
2fafb2afe7
commit
7d2fc09a65
@ -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());
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user