mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-08-03 06:22:25 -04:00
AM demod: update threading model complements
This commit is contained in:
parent
abf0f2f2e7
commit
5cba51b23a
@ -546,18 +546,17 @@ void AMDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& respo
|
|||||||
|
|
||||||
void AMDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response)
|
void AMDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response)
|
||||||
{
|
{
|
||||||
|
if (!m_running) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
double magsqAvg, magsqPeak;
|
double magsqAvg, magsqPeak;
|
||||||
int nbMagsqSamples;
|
int nbMagsqSamples;
|
||||||
getMagSqLevels(magsqAvg, magsqPeak, nbMagsqSamples);
|
getMagSqLevels(magsqAvg, magsqPeak, nbMagsqSamples);
|
||||||
|
|
||||||
response.getAmDemodReport()->setChannelPowerDb(CalcDb::dbPower(magsqAvg));
|
response.getAmDemodReport()->setChannelPowerDb(CalcDb::dbPower(magsqAvg));
|
||||||
|
response.getAmDemodReport()->setSquelch(m_basebandSink->getSquelchOpen() ? 1 : 0);
|
||||||
if (m_running)
|
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)
|
void AMDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const AMDemodSettings& settings, bool force)
|
||||||
|
@ -119,14 +119,18 @@ public:
|
|||||||
const QStringList& channelSettingsKeys,
|
const QStringList& channelSettingsKeys,
|
||||||
SWGSDRangel::SWGChannelSettings& response);
|
SWGSDRangel::SWGChannelSettings& response);
|
||||||
|
|
||||||
uint32_t getAudioSampleRate() const { return m_basebandSink->getAudioSampleRate(); }
|
uint32_t getAudioSampleRate() const { return m_running ? m_basebandSink->getAudioSampleRate() : 0; }
|
||||||
double getMagSq() const { return m_basebandSink->getMagSq(); }
|
double getMagSq() const { return m_running ? m_basebandSink->getMagSq() : 0.0; }
|
||||||
bool getSquelchOpen() const { return m_basebandSink->getSquelchOpen(); }
|
bool getSquelchOpen() const { return m_running ? m_basebandSink->getSquelchOpen() : false; }
|
||||||
bool getPllLocked() const { return m_settings.m_pll && m_basebandSink->getPllLocked(); }
|
bool getPllLocked() const { return m_settings.m_pll && m_running && m_basebandSink->getPllLocked(); }
|
||||||
Real getPllFrequency() const { return m_basebandSink->getPllFrequency(); }
|
Real getPllFrequency() const { return m_running ? m_basebandSink->getPllFrequency() : 0.0; }
|
||||||
|
|
||||||
void getMagSqLevels(double& avg, double& peak, int& nbSamples) {
|
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;
|
uint32_t getNumberOfDeviceStreams() const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user