mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-08 17:04:46 -04:00
Demod Analyzer: fixed sample rate handling. Fixes #931
This commit is contained in:
@@ -64,6 +64,7 @@ AISDemod::AISDemod(DeviceAPI *deviceAPI) :
|
||||
|
||||
m_networkManager = new QNetworkAccessManager();
|
||||
connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*)));
|
||||
connect(&m_channelMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleChannelMessages()));
|
||||
}
|
||||
|
||||
AISDemod::~AISDemod()
|
||||
@@ -180,6 +181,13 @@ bool AISDemod::handleMessage(const Message& cmd)
|
||||
|
||||
return true;
|
||||
}
|
||||
else if (MainCore::MsgChannelDemodQuery::match(cmd))
|
||||
{
|
||||
qDebug() << "AISDemod::handleMessage: MsgChannelDemodQuery";
|
||||
sendSampleRateToDemodAnalyzer();
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
@@ -279,6 +287,25 @@ bool AISDemod::deserialize(const QByteArray& data)
|
||||
}
|
||||
}
|
||||
|
||||
void AISDemod::sendSampleRateToDemodAnalyzer()
|
||||
{
|
||||
QList<MessageQueue*> *messageQueues = MainCore::instance()->getMessagePipes().getMessageQueues(this, "reportdemod");
|
||||
|
||||
if (messageQueues)
|
||||
{
|
||||
QList<MessageQueue*>::iterator it = messageQueues->begin();
|
||||
|
||||
for (; it != messageQueues->end(); ++it)
|
||||
{
|
||||
MainCore::MsgChannelDemodReport *msg = MainCore::MsgChannelDemodReport::create(
|
||||
this,
|
||||
AISDemodSettings::AISDEMOD_CHANNEL_SAMPLE_RATE
|
||||
);
|
||||
(*it)->push(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int AISDemod::webapiSettingsGet(
|
||||
SWGSDRangel::SWGChannelSettings& response,
|
||||
QString& errorMessage)
|
||||
@@ -498,3 +525,15 @@ void AISDemod::networkManagerFinished(QNetworkReply *reply)
|
||||
|
||||
reply->deleteLater();
|
||||
}
|
||||
|
||||
void AISDemod::handleChannelMessages()
|
||||
{
|
||||
Message* message;
|
||||
|
||||
while ((message = m_channelMessageQueue.pop()) != nullptr)
|
||||
{
|
||||
if (handleMessage(*message)) {
|
||||
delete message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user