/*! * * 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 MFPPressuresData.h * \author (last) Behrouz NematiPour * \date (last) 10-Feb-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 MFPPressures class * \details The FP pressures data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x3400| 0x102 | 8 | 1 Hz | N | FP | All | FP Pressures Data | * * | Payload || * | || * | #01:(F32) | \ref Data::mBeforePresureRegulator | * | #02:(F32) | \ref Data::mAfterPressureRegulator | * | #03:(F32) | \ref Data::mBeforeInletConductivity | * | #04:(F32) | \ref Data::mBeforeROFilter | * | #05:(F32) | \ref Data::mAfterROFilter | * | #06:(F32) | \ref Data::mBeforeROPump | * | #07:(F32) | \ref Data::mROConcentrate | * | #08:(F32) | \ref Data::mROConcentrateDrop | * | #09:(F32) | \ref Data::mDrainDrop | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | FP | * | infoText | Pressures | * */ class MFPPressures : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 m1Pressure ; ///< Pressure before pressure regulator (M1) Types::F32 m3Pressure ; ///< Pressure after pressure regulator (M3) Types::F32 p8Pressure ; ///< Pressure before inlet conductivity sensor (P8) Types::F32 p13Pressure ; ///< Pressure before RO filter (P13) Types::F32 p17Pressure ; ///< Pressure after RO filter (P17) Types::F32 x1Pressure ; ///< Pressure before RO pump (X1) Types::F32 x2Pressure ; ///< Pressure RO Concentrate Types::F32 x3Pressure ; ///< Pressure RO Concentrate drop Types::F32 x4Pressure ; ///< Pressure drain drop } _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("Pressures"); } struct Data { float mBeforePresureRegulator = 0; ///< Pressure before pressure regulator (M1) float mAfterPressureRegulator = 0; ///< Pressure after pressure regulator (M3) float mBeforeInletConductivity = 0; ///< Pressure before inlet conductivity sensor (P8) float mBeforeROFilter = 0; ///< Pressure before RO filter (P13) float mAfterROFilter = 0; ///< Pressure after RO filter (P17) float mBeforeROPump = 0; ///< Pressure before RO pump (X1) float mROConcentrate = 0; ///< Pressure RO Concentrate float mROConcentrateDrop = 0; ///< Pressure RO Concentrate drop float mDrainDrop = 0; ///< Pressure drain drop }; MFPPressures () {} bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MFPPressures::Data FPPressuresData;