From 334d67fd2265490f40fc543e0727cb090f8dcf48 Mon Sep 17 00:00:00 2001 From: Siegfried Siegert Date: Wed, 5 Jul 2023 18:47:45 +0200 Subject: [PATCH] Send voltage Value as healthEvent --- src/ATBAPP/ATBDeviceControllerPlugin.cpp | 30 ++++++++++++++++++++++++ src/ATBAPP/ATBDeviceControllerPlugin.h | 5 +++- src/ATBAPP/DeviceControllerDiag.cpp | 9 +++++++ src/ATBAPP/DeviceControllerDiag.h | 3 +++ src/ATBAPP/DeviceControllerInterface.h | 4 ++++ 5 files changed, 50 insertions(+), 1 deletion(-) diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.cpp b/src/ATBAPP/ATBDeviceControllerPlugin.cpp index 70d3dc5..f4ecca6 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.cpp +++ b/src/ATBAPP/ATBDeviceControllerPlugin.cpp @@ -2,6 +2,7 @@ #include "src/ATBAPP/ATBHealthEvent.h" #include "src/ATBAPP/ATBMachineEvent.h" #include "src/ATBAPP/Utils.h" +#include "src/ATBAPP/support/JSON.h" #include #include @@ -47,6 +48,7 @@ ATBDeviceControllerPlugin::ATBDeviceControllerPlugin(QObject *parent) this->diag = new DeviceControllerDiag(this); + connect(this->diag, &DeviceControllerDiag::newVoltage, this, &ATBDeviceControllerPlugin::onNewVoltage); this->currentSelectedTicketType = 0; @@ -345,6 +347,34 @@ void ATBDeviceControllerPlugin::onAllDoorsClosed() emit this->requestModeIDLE(); } +void ATBDeviceControllerPlugin::onNewVoltage(uint32_t voltage) +{ + qCritical() << "ATBDeviceControllerPlugin::onNewVoltage() = " << voltage; + + QString voltageString = QString::number(voltage); + + JSON::setPrettySerialize(true); + JSON::JsonObject json; + + json = JSON::objectBuilder() + ->set("Name", "batt") + ->set("Value", voltageString) + ->set("Unit", "V") + ->create(); + + + ATBHealthEvent *healthEvent = new ATBHealthEvent( + ATB_HEALTH_MODE::STATE, + "VOLTAGE", + JSON::serialize(json) + ); + + QCoreApplication::postEvent(eventReceiver, healthEvent); +} + + + + // TASKS: printing ------------------------------------------------------------ diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.h b/src/ATBAPP/ATBDeviceControllerPlugin.h index 197ef52..d913b05 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.h +++ b/src/ATBAPP/ATBDeviceControllerPlugin.h @@ -79,7 +79,7 @@ public slots: signals: - + // public Signals are defined in interface private: @@ -145,6 +145,9 @@ private slots: void private_startAccount(); void private_checkAccountData(); void private_getAccountData(); + + // measurement values + void onNewVoltage(uint32_t voltage); }; #endif // ATBDEVICECONTROLLERPLUGIN_H diff --git a/src/ATBAPP/DeviceControllerDiag.cpp b/src/ATBAPP/DeviceControllerDiag.cpp index 2801671..1ab7bf8 100644 --- a/src/ATBAPP/DeviceControllerDiag.cpp +++ b/src/ATBAPP/DeviceControllerDiag.cpp @@ -161,6 +161,15 @@ uint8_t DeviceControllerDiag::sub_componentAssessment() struct T_devices devPara; hw->sys_restoreDeviceParameter(&devPara); + // store some interesting results: + // -> voltage: + uint32_t voltage = hw->dc_getVoltage(); + emit newVoltage(voltage); + + + + // check for invalid states: + if (modCond.rtc>=200) return 1; if (modCond.printer==200 || modCond.printer==201) // 200: not connected 201: printer-HW-error 202: no paper diff --git a/src/ATBAPP/DeviceControllerDiag.h b/src/ATBAPP/DeviceControllerDiag.h index f09bf6f..a036c3c 100644 --- a/src/ATBAPP/DeviceControllerDiag.h +++ b/src/ATBAPP/DeviceControllerDiag.h @@ -22,6 +22,7 @@ public slots: signals: void diagResponse(ATBMachineEvent* machineEvent); + void newVoltage(uint32_t voltage); private: QObject *eventReceiver; @@ -35,6 +36,8 @@ private: uint8_t sub_componentAssessment(); uint8_t sys_getSystemErrors(); + int lastVoltage; + private slots: void onDiagRequestTimeoutTimerTimeout(); diff --git a/src/ATBAPP/DeviceControllerInterface.h b/src/ATBAPP/DeviceControllerInterface.h index 9701129..1385ba3 100644 --- a/src/ATBAPP/DeviceControllerInterface.h +++ b/src/ATBAPP/DeviceControllerInterface.h @@ -135,6 +135,10 @@ signals: */ void requestAccountResponse(const QHash & accountData); + + + + /** * emitted on error * depending on errorCode: