/*! * * 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 MDGHeatersData.h * \author (last) Behrouz NematiPour * \date (last) 14-May-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 MDGHeaters class * \details The DG heaters data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x2C00| 0x080 | 8 | 2 Hz | N | DG | All | DG Heaters Data | * * | Payload || * | || * | # 1:(F32) | \ref Data::mMainPrimayHeaterDC | * | # 2:(F32) | \ref Data::mSmallPrimaryHeaterDC | * | # 3:(F32) | \ref Data::mTrimmerHeaterDC | * | # 4:(F32) | \ref Data::mPrimaryTargetTemp | * | # 5:(F32) | \ref Data::mTrimmerTargetTemp | * | # 6:(F32) | \ref Data::mPrimaryHeaterState | * | # 7:(F32) | \ref Data::mTrimmerHeaterState | * | # 8:(F32) | \ref Data::mPrimaryEfficiency | * | # 9:(F32) | \ref Data::mPrimaryCalcTargetTemp | * | #10:(F32) | \ref Data::mTrimmerCalcCurrentTemp | * | #11:(F32) | \ref Data::mTrimmerUseLastDC | * | #12:(F32) | \ref Data::mTrimmerPreviousFlow | * | #13:(U32) | \ref Data::mTrimmerContolCounter | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | DG | * | infoText | Heaters | * */ class MDGHeaters : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 mMainPrimayHeaterDC ; ///< Main primary heater DC Types::F32 mSmallPrimaryHeaterDC ; ///< Small primary heater DC Types::F32 mTrimmerHeaterDC ; ///< Trimmer heater DC Types::F32 mPrimaryTargetTemp ; ///< Primary heater target temperature Types::F32 mTrimmerTargetTemp ; ///< Trimmer heater target temperature Types::U32 mPrimaryHeaterState ; ///< Primary heater state Types::U32 mTrimmerHeaterState ; ///< Trimmer heater state Types::F32 mPrimaryEfficiency ; ///< Primary heater efficiency Types::F32 mPrimaryCalcTargetTemp ; ///< Primary heater calculated target temperature Types::F32 mTrimmerCalcCurrentTemp ; ///< Trimmer heater calculated current temperature Types::U32 mTrimmerUseLastDC ; ///< Trimmer heater use last duty cycle Types::F32 mTrimmerPreviousFlow ; ///< Trimmer previous flow Types::U32 mTrimmerContolCounter ; ///< Trimmer control counter } _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("Heaters"); } struct Data { float mMainPrimayHeaterDC = 0; ///< main Primary DC float mSmallPrimaryHeaterDC = 0; ///< small Primary DC float mTrimmerHeaterDC = 0; ///< trimmer DC float mPrimaryTargetTemp = 0; ///< Primary heater target temperature float mTrimmerTargetTemp = 0; ///< Trimmer heater target temperature quint32 mPrimaryHeaterState = 0; ///< Primary heater state quint32 mTrimmerHeaterState = 0; ///< Trimmer heater state float mPrimaryEfficiency = 0; ///< Primary heater efficiency float mPrimaryCalcTargetTemp = 0; ///< Primary heater calculated target temperature float mTrimmerCalcCurrentTemp = 0; ///< Trimmer heater calculated current temperature quint32 mTrimmerUseLastDC = 0; ///< Trimmer heater use last duty cycle float mTrimmerPreviousFlow = 0; ///< Trimmer previous flow quint32 mTrimmerContolCounter = 0; ///< Trimmer control counter }; MDGHeaters () {} bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDGHeaters::Data DGHeatersData;