/*! * * Copyright (c) 2019-2020 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 MDGPressuresData.h * \author (last) Behrouz NemaiPour * \date (last) 17-Jul-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 MDGPressures class * \details The DG pressures data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | #1:(F32) | #2:(F32) | #3:(F32) | #4:(F32) | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: |:--: |:--: |:--: |:--: | * |0x2000| 0x080 | 8 | 1 Hz | N | DG | All | DG Pressures Data | \ref Data::mROInletPSI | \ref Data::mROOutletPSI | \ref Data::mDrainInletPSI | \ref Data::mDrainOutletPSI | * * | Payload || * | || * * \sa Data * */ class MDGPressures : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 mROInletPSI ; Types::F32 mROOutletPSI ; Types::F32 mDrainInletPSI ; Types::F32 mDrainOutletPSI ; } _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("Pressures"); } struct Data { float mROInletPSI = 0; ///< RO inlet PSI float mROOutletPSI = 0; ///< RO outlet PSI float mDrainInletPSI = 0; ///< Drain inlet PSI float mDrainOutletPSI = 0; ///< Drain outlet PSI }; MDGPressures () {} bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDGPressures::Data DGPressuresData;