/*! * * 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 MDDTemperaturesData.h * \author (last) Dara Navaei * \date (last) 05-Feb-2024 * \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 MDDTemperatures class * \details The DD temperatures data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x2600| 0x101 | 8 | 2 Hz | N | DD | All | DD Temperatures Data | * * | Payload || * | || * | #01:(F32) | \ref Data::mInletHeatExchanger | * | #02:(F32) | \ref Data::mOutletHeatExchanger | * | #03:(F32) | \ref Data::mHydraulicsPrimaryHeater | * | #04:(F32) | \ref Data::mTrimmerHeater | * | #05:(F32) | \ref Data::mBoardTemperature | * | #06:(F32) | \ref Data::mBarometricTemperature | * | #07:(F32) | \ref Data::mD16Conductivity | * | #08:(F32) | \ref Data::mD28Conductivity | * | #09:(F32) | \ref Data::mD30Conductivity | * | #10:(F32) | \ref Data::mD44Conductivity | * | #11:(F32) | \ref Data::mD75Conductivity | * | #12:(F32) | \ref Data::mD4MovingAverage | * | #13:(F32) | \ref Data::mD50MovingAverage | * | #14:(F32) | \ref Data::mD28MovingAverage | * | #15:(F32) | \ref Data::mD30MovingAverage | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | DD | * | infoText | Temperatures | * */ class MDDTemperatures : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 d1Temp ; ///< Inlet heat exchanger temperature sensor Types::F32 x6Temp ; ///< Outlet heat exchanger temperature sensor Types::F32 d4Temp ; ///< Hydraulics primary heater temperature sensor Types::F32 d50Temp ; ///< Trimmer heater temperature sensor Types::F32 boardTemp ; ///< Board temperature sensor Types::F32 baroTemp ; ///< Barometric temperature sensor Types::F32 d16CondTemp; ///< D16 temperature value Types::F32 d28CondTemp; ///< D28 temperature value Types::F32 d30CondTemp; ///< D30 temperature value Types::F32 d44CondTemp; ///< D44 temperature value Types::F32 d75CondTemp; ///< D75 temperature value Types::F32 d4AvgTemp ; ///< D4 moving average temperature value Types::F32 d50AvgTemp ; ///< D50 moving average temperature value Types::F32 d28AvgTemp ; ///< D28 moving average temperature value Types::F32 d30AvgTemp ; ///< D30 moving average temperature value } _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("Temperatures"); } struct Data { float mInletHeatExchanger = 0; ///< Inlet heat exchanger temperature sensor float mOutletHeatExchanger = 0; ///< Outlet heat exchanger temperature sensor float mHydraulicsPrimaryHeater = 0; ///< Hydraulics primary heater temperature sensor float mTrimmerHeater = 0; ///< Trimmer heater temperature sensor float mBoardTemperature = 0; ///< Board temperature sensor float mBarometricTemperature = 0; ///< Barometric temperature sensor float mD16Conductivity = 0; ///< D16 temperature value float mD28Conductivity = 0; ///< D28 temperature value float mD30Conductivity = 0; ///< D30 temperature value float mD44Conductivity = 0; ///< D44 temperature value float mD75Conductivity = 0; ///< D75 temperature value float mD4MovingAverage = 0; ///< D4 moving average temperature value float mD50MovingAverage = 0; ///< D50 moving average temperature value float mD28MovingAverage = 0; ///< D28 moving average temperature value float mD30MovingAverage = 0; ///< D30 moving average temperature value }; MDDTemperatures() { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDDTemperatures::Data DDTemperaturesData;