/*! * * 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 MDDHeatersData.h * \author (last) Dara Navaei * \date (last) 08-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 MDDHeaters class * \details The DD heaters data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x2800| 0x101 | 8 | 2 Hz | N | DD | All | DD Heaters Data | * * | Payload || * | || * | #01:(F32) | \ref Data::mMainPrimayHeaterDC | * | #02:(F32) | \ref Data::mTrimmerHeaterDC | * | #03:(F32) | \ref Data::mPrimaryTargetTemp | * | #04:(F32) | \ref Data::mTrimmerTargetTemp | * | #05:(U32) | \ref Data::mPrimaryHeaterState | * | #06:(U32) | \ref Data::mTrimmerHeaterState | * | #07:(U32) | \ref Data::mPrimaryHeaterIntervalCount | * | #08:(U32) | \ref Data::mTrimmerHeaterIntervalCount | * * | #09:(F32) | \ref Data::dbg1 | # All the below payload will only be available during debug period and may be removed in the future * | #10:(F32) | \ref Data::dbg2 | * | #11:(F32) | \ref Data::dbg3 | * | #12:(F32) | \ref Data::dbg4 | * | #13:(F32) | \ref Data::dbg5 | * | #14:(F32) | \ref Data::dbg6 | * | #15:(F32) | \ref Data::dbg7 | * | #16:(F32) | \ref Data::dbg8 | * | #17:(F32) | \ref Data::dbg9 | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | DD | * | infoText | Heaters | * */ class MDDHeaters : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 d5_HeaterDC ; ///< Main primary heater Duty Cycle Types::F32 d45_HeaterDC ; ///< Trimmer heater Duty Cycle Types::F32 d5_HeaterTargetTemp ; ///< Primary heater target temperature Types::F32 d45_HeaterTargetTemp ; ///< Trimmer heater target temperature Types::U32 d5_HeaterState ; ///< Primary heater state Types::U32 d45_HeaterState ; ///< Trimmer heater state Types::U32 d5_HeaterControlCounter ; ///< Primary heater control interval count Types::U32 d45_HeaterControlCounter ; ///< Trimmer heater control interval count ///< All the below payload will only be available during debug period and may be removed in the future Types::F32 dbg1 ; Types::F32 dbg2 ; Types::F32 dbg3 ; Types::F32 dbg4 ; Types::F32 dbg5 ; Types::F32 dbg6 ; Types::F32 dbg7 ; Types::F32 dbg8 ; Types::F32 dbg9 ; } _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("Heaters"); } struct Data { float mMainPrimayHeaterDC = 0; ///< Main primary heater Duty Cycle float mTrimmerHeaterDC = 0; ///< Trimmer heater Duty Cycle 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 quint32 mPrimaryHeaterIntervalCount = 0; ///< Primary heater control interval count quint32 mTrimmerHeaterIntervalCount = 0; ///< Trimmer heater control interval count ///< All the below payload will only be available during debug period and may be removed in the future float dbg1 = 0; float dbg2 = 0; float dbg3 = 0; float dbg4 = 0; float dbg5 = 0; float dbg6 = 0; float dbg7 = 0; float dbg8 = 0; float dbg9 = 0; }; MDDHeaters () {} bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDDHeaters::Data DDHeatersData;