/*! * * 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 MFPTemperatureData.h * \author (last) Behrouz NematiPour * \date (last) 10-Feb-2023 * \author (original) Behrouz NemaiPour * \date (original) 02-Jul-2020 * */ #pragma once // Qt #include // PBoostject #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MFPTemperature class * \details The FP Temperature data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x3900| 0x102 | 8 | 1 Hz | N | FP | All | FP Temperature Data | * * | Payload || * | || * | #01:(U32) | \ref Data::mInletConductivityTemp | * | #02:(U32) | \ref Data::mOutletConductivityTemp | * | #03:(U32) | \ref Data::mBeforePressureRegulatorTemp | * | #04:(F32) | \ref Data::mAfterPressureRegulatorTemp | * | #05:(F32) | \ref Data::mBeforeInletConductivityTemp | * | #06:(F32) | \ref Data::mBeforeROFilterTemp | * | #07:(F32) | \ref Data::mAfterROFilterTemp | * | #08:(F32) | \ref Data::mBeforeROPumpTemp | * | #09:(F32) | \ref Data::mROConcentrateTemp | * | #11:(F32) | \ref Data::mROConcentratePumpTemp | * | #12:(F32) | \ref Data::mDrainDropTemp | * | #13:(F32) | \ref Data::mROInletTemp | * | #14:(F32) | \ref Data::mROOutletTemp | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | FP | * | infoText | Temperature | * */ class MFPTemperature : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 mP10Temp ; ///< P10 temperature from inlet conductivity sensor. Types::F32 mP19Temp ; ///< P19 temperature from outlet conductivity sensor. Types::F32 mM1Temp ; ///< Temperature before pressure regulator (M1) Types::F32 mM3Temp ; ///< Temperature after pressure regulator (M3) Types::F32 mP8Temp ; ///< Temperature before inlet conductivity sensor (P8) Types::F32 mP13Temp ; ///< Temperature before RO filter (P13) Types::F32 mP17Temp ; ///< Temperature after RO filter (P17) Types::F32 mX1Temp ; ///< Temperature before RO pump (X1) Types::F32 mX2Temp ; ///< Temperature RO Concentrate Types::F32 mX3Temp ; ///< Temperature RO Concentrate drop Types::F32 mX4Temp ; ///< Temperature drain drop Types::F32 mP7Temp ; ///< Temperature RO inlet Types::F32 mP16Temp ; ///< Temperature RO outlet } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum ; } Unit_Enum unitText () const override { return Unit_Enum::eFP ; } QString infoText () const override { return QString("Temperature") ; } struct Data { float mInletConductivityTemp = 0; ///< P10 temperature from inlet conductivity sensor. float mOutletConductivityTemp = 0; ///< P19 temperature from outlet conductivity sensor. float mBeforePressureRegulatorTemp = 0; ///< Temperature before pressure regulator (M1) float mAfterPressureRegulatorTemp = 0; ///< Temperature after pressure regulator (M3) float mBeforeInletConductivityTemp = 0; ///< Temperature before inlet conductivity sensor (P8) float mBeforeROFilterTemp = 0; ///< Temperature before RO filter (P13) float mAfterROFilterTemp = 0; ///< Temperature after RO filter (P17) float mBeforeROPumpTemp = 0; ///< Temperature before RO pump (X1) float mROConcentrateTemp = 0; ///< Temperature RO Concentrate float mROConcentratePumpTemp = 0; ///< Temperature RO Concentrate drop float mDrainDropTemp = 0; ///< Temperature drain drop float mROInletTemp = 0; ///< Temperature RO inlet float mROOutletTemp = 0; ///< Temperature RO outlet }; MFPTemperature () {} bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MFPTemperature::Data FPTemperatureData;