/*! * * Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file MDDValvesStatesData.h * \author (last) Behrouz NematiPour * \date (last) 28-Mar-2023 * \author (original) Behrouz NemaiPour * \date (original) 02-Jul-2020 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MDDValvesStates class * \details The DD valves states data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x1B00| 0x101 | 8 | 2 Hz | N | DD | All | DD Valves States Data | * * | Payload || * | || * | #01:(U16) | \ref Data::mValvesStatus | * | #02:(U08) | \ref Data::mValvesBCStatus | # Combined with mValvesStates * | #03:(U08) | \ref Data::mValvesUFStatus | # Combined with mValvesStates * | #04:(U08) | \ref Data::mValvesSensedState1 | * | #..:(U08) | \ref Data::mValvesSensedState.. | * | #31:(U08) | \ref Data::mValvesSensedState28 | * * * \sa Data * \sa Flag * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | DD | * | infoText | ValvesStates | * */ class MDDValvesStates : public MAbstract { // friends friend class ::tst_models; private: QVariantList parameters() const override; struct { Types::Flags mValvesStatus ; // 16 bit Hydrolic Valves, 8 bit Balancing Chanber Valves, 8 bit UF Valves Types::U08 mValvesSensedState1 ; Types::U08 mValvesSensedState2 ; Types::U08 mValvesSensedState3 ; Types::U08 mValvesSensedState4 ; Types::U08 mValvesSensedState5 ; Types::U08 mValvesSensedState6 ; Types::U08 mValvesSensedState7 ; Types::U08 mValvesSensedState8 ; Types::U08 mValvesSensedState9 ; Types::U08 mValvesSensedState10 ; Types::U08 mValvesSensedState11 ; Types::U08 mValvesSensedState12 ; Types::U08 mValvesSensedState13 ; Types::U08 mValvesSensedState14 ; Types::U08 mValvesSensedState15 ; Types::U08 mValvesSensedState16 ; Types::U08 mValvesSensedState17 ; Types::U08 mValvesSensedState18 ; Types::U08 mValvesSensedState19 ; Types::U08 mValvesSensedState20 ; Types::U08 mValvesSensedState21 ; Types::U08 mValvesSensedState22 ; Types::U08 mValvesSensedState23 ; Types::U08 mValvesSensedState24 ; Types::U08 mValvesSensedState25 ; Types::U08 mValvesSensedState26 ; Types::U08 mValvesSensedState27 ; Types::U08 mValvesSensedState28 ; } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum ; } Unit_Enum unitText () const override { return Unit_Enum::eDD ; } QString infoText () const override { return QString("ValvesStates"); } struct Data { QBitArray mValvesStatus ; quint8 mValvesSensedState1 = 0 ; quint8 mValvesSensedState2 = 0 ; quint8 mValvesSensedState3 = 0 ; quint8 mValvesSensedState4 = 0 ; quint8 mValvesSensedState5 = 0 ; quint8 mValvesSensedState6 = 0 ; quint8 mValvesSensedState7 = 0 ; quint8 mValvesSensedState8 = 0 ; quint8 mValvesSensedState9 = 0 ; quint8 mValvesSensedState10 = 0 ; quint8 mValvesSensedState11 = 0 ; quint8 mValvesSensedState12 = 0 ; quint8 mValvesSensedState13 = 0 ; quint8 mValvesSensedState14 = 0 ; quint8 mValvesSensedState15 = 0 ; quint8 mValvesSensedState16 = 0 ; quint8 mValvesSensedState17 = 0 ; quint8 mValvesSensedState18 = 0 ; quint8 mValvesSensedState19 = 0 ; quint8 mValvesSensedState20 = 0 ; quint8 mValvesSensedState21 = 0 ; quint8 mValvesSensedState22 = 0 ; quint8 mValvesSensedState23 = 0 ; quint8 mValvesSensedState24 = 0 ; quint8 mValvesSensedState25 = 0 ; quint8 mValvesSensedState26 = 0 ; quint8 mValvesSensedState27 = 0 ; quint8 mValvesSensedState28 = 0 ; }; MDDValvesStates () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDDValvesStates::Data DDValvesStatesData;