/*! * * Copyright (c) 2020-2022 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 MDGValvesStatesData.h * \author (last) Behrouz NematiPour * \date (last) 16-Oct-2020 * \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 MDGValvesStates class * \details The DG valves states data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x2A00| 0x080 | 8 | 2 Hz | N | DG | All | DG Valves States Data | * * | Payload || * | || * | #1:(U16) | \ref Data::mStates | * * \sa Data * \sa Flag * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | DG | * | infoText | ValvesStates | * */ class MDGValvesStates : public MAbstract { // friends friend class ::tst_models; public: enum Flag { eFlag_ValveStates_01 = 0, eFlag_ValveStates_02 , eFlag_ValveStates_03 , eFlag_ValveStates_04 , eFlag_ValveStates_05 , eFlag_ValveStates_06 , eFlag_ValveStates_07 , eFlag_ValveStates_08 , eFlag_ValveStates_09 , eFlag_ValveStates_10 , eFlag_ValveStates_11 , eFlag_ValveStates_12 , eFlag_ValveStates_13 , eFlag_Bits_Length = 16, }; private: // DG Valves States (U16) Valves States QVariantList parameters() const override; struct { Types::Flags mStates ; } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum ; } Unit_Enum unitText () const override { return Unit_Enum::eDG ; } QString infoText () const override { return QString("ValvesStates"); } struct Data { QBitArray mStates ; }; MDGValvesStates () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDGValvesStates::Data DGValvesStatesData; typedef Model::MDGValvesStates::Flag DGValvesStatesFlag;