diff options
| author | Thomas Vanbesien <tvanbesi@proton.me> | 2026-03-16 16:19:49 +0100 |
|---|---|---|
| committer | Thomas Vanbesien <tvanbesi@proton.me> | 2026-03-16 16:19:49 +0100 |
| commit | fa095de6cc8ec5a5b5c14091f2b3179ad7071876 (patch) | |
| tree | aa094011263a83a4c91eb8722c2095344656c838 /src/Xpl2JcStatus.h | |
| parent | 7830f0ae98d742467b948ed93c85e122be38fb83 (diff) | |
| download | QtXpl2-fa095de6cc8ec5a5b5c14091f2b3179ad7071876.tar.gz QtXpl2-fa095de6cc8ec5a5b5c14091f2b3179ad7071876.zip | |
EV_ events with Q_GADGET status types, mock periodic emission, tabbed demo UI
Diffstat (limited to 'src/Xpl2JcStatus.h')
| -rw-r--r-- | src/Xpl2JcStatus.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/src/Xpl2JcStatus.h b/src/Xpl2JcStatus.h new file mode 100644 index 0000000..00e2a64 --- /dev/null +++ b/src/Xpl2JcStatus.h @@ -0,0 +1,73 @@ +/** + * @file Xpl2JcStatus.h + * @brief Structured JC status message (EV_STATUS_MSG_JC, Appendix A). + */ +#pragma once + +#include <QObject> +#include <QString> + +class Xpl2JcStatus +{ + Q_GADGET + + Q_PROPERTY (int controllerId MEMBER controllerId) + Q_PROPERTY (int statusLevel MEMBER statusLevel) + + /* Level 1 fields (3-9) */ + Q_PROPERTY (float cpuPercentageBusy MEMBER cpuPercentageBusy) + Q_PROPERTY (float rail5V MEMBER rail5V) + Q_PROPERTY (float railCanBus8V MEMBER railCanBus8V) + Q_PROPERTY (float temperature MEMBER temperature) + Q_PROPERTY (float humidity MEMBER humidity) + Q_PROPERTY (float busCurrent MEMBER busCurrent) + Q_PROPERTY (int onTimeSeconds MEMBER onTimeSeconds) + + /* Level 2 fields (10-23) */ + Q_PROPERTY (QString ipAddress MEMBER ipAddress) + Q_PROPERTY (float eFuseVoltage MEMBER eFuseVoltage) + Q_PROPERTY (bool eFuseBusEnabled MEMBER eFuseBusEnabled) + Q_PROPERTY (bool busPowerEnabled MEMBER busPowerEnabled) + Q_PROPERTY (bool busPowerOk MEMBER busPowerOk) + Q_PROPERTY (int switchValue MEMBER switchValue) + Q_PROPERTY (QString firmwareVersion MEMBER firmwareVersion) + Q_PROPERTY (QString hardwareVersion MEMBER hardwareVersion) + Q_PROPERTY (bool indicator0 MEMBER indicator0) + Q_PROPERTY (bool indicator1 MEMBER indicator1) + Q_PROPERTY (bool indicator2 MEMBER indicator2) + Q_PROPERTY (bool indicator3 MEMBER indicator3) + Q_PROPERTY (bool indicator4 MEMBER indicator4) + Q_PROPERTY (bool indicator5 MEMBER indicator5) + +public: + int controllerId = 0; + int statusLevel = 0; + + /* Level 1 */ + float cpuPercentageBusy = 0; + float rail5V = 0; + float railCanBus8V = 0; + float temperature = 0; + float humidity = 0; + float busCurrent = 0; + int onTimeSeconds = 0; + + /* Level 2 */ + QString ipAddress; + float eFuseVoltage = 0; + bool eFuseBusEnabled = false; + bool busPowerEnabled = false; + bool busPowerOk = false; + int switchValue = 0; + QString firmwareVersion; + QString hardwareVersion; + bool indicator0 = false; + bool indicator1 = false; + bool indicator2 = false; + bool indicator3 = false; + bool indicator4 = false; + bool indicator5 = false; + + /** Parse from EV_STATUS_MSG_JC params (after command token). */ + static Xpl2JcStatus fromParams (const QVariantList ¶ms); +}; |
