/*! * * Copyright (c) 2020-2025 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 MDGDrainPumpData.h * \author (last) Dara Navaei * \date (last) 05-Mar-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 MDGDrainPump class * \details The DG drain pump data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x2400| 0x080 | 8 | 1 Hz | N | DG | All | DG Drain Pump Data | * * | Payload || * | || * | #1:(U32) | \ref Data::mRPMI | * | #2:(U32) | \ref Data::mDAC | * | #3:(U32) | \ref Data::mState | * | #4:(U32) | \ref Data::mPRMO | * | #5:(F32) | \ref Data::mTargetFLPMO | * | #6:(F32) | \ref Data::mCurrentA | * | #7:(U32) | \ref Data::mDirection | * | #8:(U32) | \ref Data::mMaxonRPM \ * * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | DG | * | infoText | DrainPump | * */ class MDGDrainPump : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mRPMI ; Types::U32 mDAC ; Types::U32 mState ; Types::U32 mRPMO ; Types::F32 mTargetFLPMO ; Types::F32 mCurrentA ; Types::U32 mDirection ; Types::U32 mMaxonRPM ; } _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("DrainPump"); } struct Data { quint32 mRPMI = 0; ///< Set pt. RPM quint32 mDAC = 0; ///< DAC value quint32 mState = 0; ///< State quint32 mRPMO = 0; ///< RPM read float mTargetFLPMO = 0; ///< target Outlet Flow LPM float mCurrentA = 0; ///< drain Pump Current A quint32 mDirection = 0; ///< drain Pump Direction quint32 mMaxonRPM = 0; ///< drain pump Maxon RPM }; MDGDrainPump () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDGDrainPump::Data DGDrainPumpData;