1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-03-23 20:58:42 -04:00

AM demod: update threading model complements

This commit is contained in:
f4exb 2022-10-13 00:46:23 +02:00
parent abf0f2f2e7
commit 5cba51b23a
2 changed files with 17 additions and 14 deletions

View File

@ -546,18 +546,17 @@ void AMDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& respo
void AMDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response)
{
if (!m_running) {
return;
}
double magsqAvg, magsqPeak;
int nbMagsqSamples;
getMagSqLevels(magsqAvg, magsqPeak, nbMagsqSamples);
response.getAmDemodReport()->setChannelPowerDb(CalcDb::dbPower(magsqAvg));
if (m_running)
{
response.getAmDemodReport()->setSquelch(m_basebandSink->getSquelchOpen() ? 1 : 0);
response.getAmDemodReport()->setAudioSampleRate(m_basebandSink->getAudioSampleRate());
response.getAmDemodReport()->setChannelSampleRate(m_basebandSink->getChannelSampleRate());
}
response.getAmDemodReport()->setSquelch(m_basebandSink->getSquelchOpen() ? 1 : 0);
response.getAmDemodReport()->setAudioSampleRate(m_basebandSink->getAudioSampleRate());
response.getAmDemodReport()->setChannelSampleRate(m_basebandSink->getChannelSampleRate());
}
void AMDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const AMDemodSettings& settings, bool force)

View File

@ -119,14 +119,18 @@ public:
const QStringList& channelSettingsKeys,
SWGSDRangel::SWGChannelSettings& response);
uint32_t getAudioSampleRate() const { return m_basebandSink->getAudioSampleRate(); }
double getMagSq() const { return m_basebandSink->getMagSq(); }
bool getSquelchOpen() const { return m_basebandSink->getSquelchOpen(); }
bool getPllLocked() const { return m_settings.m_pll && m_basebandSink->getPllLocked(); }
Real getPllFrequency() const { return m_basebandSink->getPllFrequency(); }
uint32_t getAudioSampleRate() const { return m_running ? m_basebandSink->getAudioSampleRate() : 0; }
double getMagSq() const { return m_running ? m_basebandSink->getMagSq() : 0.0; }
bool getSquelchOpen() const { return m_running ? m_basebandSink->getSquelchOpen() : false; }
bool getPllLocked() const { return m_settings.m_pll && m_running && m_basebandSink->getPllLocked(); }
Real getPllFrequency() const { return m_running ? m_basebandSink->getPllFrequency() : 0.0; }
void getMagSqLevels(double& avg, double& peak, int& nbSamples) {
m_basebandSink->getMagSqLevels(avg, peak, nbSamples);
if (m_running) {
m_basebandSink->getMagSqLevels(avg, peak, nbSamples);
} else {
avg = 0.0; peak = 0.0; nbSamples = 1;
}
}
uint32_t getNumberOfDeviceStreams() const;