From 0cea353d9fa72b04a160ed87d44d51221ebc4371 Mon Sep 17 00:00:00 2001 From: "andrei.danila" Date: Wed, 19 Jun 2024 10:35:17 +0300 Subject: [PATCH] plugins: Implemented pausePing slot for the main plugins. Signed-off-by: andrei.danila --- plugins/m2k/include/m2k/m2kplugin.h | 2 ++ plugins/m2k/src/m2kplugin.cpp | 11 ++++++++++- plugins/pqm/include/pqm/pqmplugin.h | 1 + plugins/pqm/src/pqmplugin.cpp | 9 +++++++++ plugins/swiot/include/swiot/swiotplugin.h | 3 +++ plugins/swiot/src/swiotplugin.cpp | 11 ++++++++++- 6 files changed, 35 insertions(+), 2 deletions(-) diff --git a/plugins/m2k/include/m2k/m2kplugin.h b/plugins/m2k/include/m2k/m2kplugin.h index 09c900ee4b..bcf47d154f 100644 --- a/plugins/m2k/include/m2k/m2kplugin.h +++ b/plugins/m2k/include/m2k/m2kplugin.h @@ -51,6 +51,7 @@ public Q_SLOTS: void hidePageCallback() override; void startPingTask() override; void stopPingTask() override; + void onPausePingTask(bool pause) override; void calibrationStarted(); void calibrationSuccess(); @@ -72,6 +73,7 @@ public Q_SLOTS: m2k_iio_manager *m2k_man; InfoPage *m_m2kInfoPage; + const int PING_PERIOD = 5000; const int infoPageTimerTimeout = 1000; const QStringList calibrationToolNames = {"Oscilloscope", "Spectrum Analyzer", "Network Analyzer", "Signal Generator", "Voltmeter", "Calibration"}; diff --git a/plugins/m2k/src/m2kplugin.cpp b/plugins/m2k/src/m2kplugin.cpp index b014c414d4..4c3aaddf09 100644 --- a/plugins/m2k/src/m2kplugin.cpp +++ b/plugins/m2k/src/m2kplugin.cpp @@ -168,10 +168,19 @@ void M2kPlugin::showPageCallback() { m_m2kController->startTemperatureTask(); } void M2kPlugin::hidePageCallback() { m_m2kController->stopTemperatureTask(); } -void M2kPlugin::startPingTask() { m_cyclicalTask->start(5000); } +void M2kPlugin::startPingTask() { m_cyclicalTask->start(PING_PERIOD); } void M2kPlugin::stopPingTask() { m_cyclicalTask->stop(); } +void M2kPlugin::onPausePingTask(bool pause) +{ + if(pause) { + stopPingTask(); + } else { + startPingTask(); + } +} + void M2kPlugin::calibrationStarted() { storeToolState(calibrationToolNames); diff --git a/plugins/pqm/include/pqm/pqmplugin.h b/plugins/pqm/include/pqm/pqmplugin.h index 28fc4ba9ca..8f1a2ae150 100644 --- a/plugins/pqm/include/pqm/pqmplugin.h +++ b/plugins/pqm/include/pqm/pqmplugin.h @@ -32,6 +32,7 @@ public Q_SLOTS: bool onDisconnect() override; void startPingTask() override; void stopPingTask() override; + void onPausePingTask(bool pause) override; private: void clearPingTask(); diff --git a/plugins/pqm/src/pqmplugin.cpp b/plugins/pqm/src/pqmplugin.cpp index c1d8519416..bb2623f6a6 100644 --- a/plugins/pqm/src/pqmplugin.cpp +++ b/plugins/pqm/src/pqmplugin.cpp @@ -172,6 +172,15 @@ void PQMPlugin::startPingTask() { m_acqManager->startPing(); } void PQMPlugin::stopPingTask() { m_acqManager->stopPing(); } +void PQMPlugin::onPausePingTask(bool pause) +{ + if(pause) { + m_acqManager->stopPing(); + } else { + m_acqManager->startPing(); + } +} + void PQMPlugin::clearPingTask() { if(m_pingTask) { diff --git a/plugins/swiot/include/swiot/swiotplugin.h b/plugins/swiot/include/swiot/swiotplugin.h index 9e91a229cd..03a8be0f0e 100644 --- a/plugins/swiot/include/swiot/swiotplugin.h +++ b/plugins/swiot/include/swiot/swiotplugin.h @@ -40,6 +40,7 @@ public Q_SLOTS: bool onDisconnect() override; void startPingTask() override; void stopPingTask() override; + void onPausePingTask(bool pause) override; void onIsRuntimeCtxChanged(bool isRuntimeCtx); @@ -81,6 +82,8 @@ private Q_SLOTS: bool m_isRuntime; bool m_switchCmd = false; QString m_ctxMode; + + const int PING_PERIOD = 2000; }; } // namespace scopy::swiot #endif // SWIOTPLUGIN_H diff --git a/plugins/swiot/src/swiotplugin.cpp b/plugins/swiot/src/swiotplugin.cpp index 6bd6ab029e..6470d1e619 100644 --- a/plugins/swiot/src/swiotplugin.cpp +++ b/plugins/swiot/src/swiotplugin.cpp @@ -220,10 +220,19 @@ bool SWIOTPlugin::onDisconnect() return true; } -void SWIOTPlugin::startPingTask() { m_cyclicalTask->start(2000); } +void SWIOTPlugin::startPingTask() { m_cyclicalTask->start(PING_PERIOD); } void SWIOTPlugin::stopPingTask() { m_cyclicalTask->stop(); } +void SWIOTPlugin::onPausePingTask(bool pause) +{ + if(pause) { + stopPingTask(); + } else { + startPingTask(); + } +} + void SWIOTPlugin::onIsRuntimeCtxChanged(bool isRuntimeCtx) { m_isRuntime = isRuntimeCtx;