/*! * * Copyright (c) 2019-2020 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 MTreatmentOutletFlowData.h * \author (last) Behrouz NemaiPour * \date (last) 28-Jul-2020 * \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 MOutletFlow class * \details The outlet flow data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | #1:(F32) | #2:(F32) | #3:(F32) | #4:(F32) | #5:(F32) | #6:(F32) | #7:(F32) | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: |:--: |:--: |:--: |:--: |:--: |:--: |:--: | * |0x0B00| 0x040 | 7 | 1 Hz | N | HD | All | Outlet Flow Data | \ref Data::mRefUFVol | \ref Data::mMeasUFVol | \ref Data::mRotorSpeed | \ref Data::mMotorSpeed | \ref Data::mMotorCtlSpeed | \ref Data::mMotorCtlCurrent | \ref Data::mPWMDtCycle | * * | Payload || * | || * * \sa Data * */ class MOutletFlow : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 mRefUFVol ; Types::F32 mMeasUFVol ; Types::F32 mRotorSpeed ; Types::F32 mMotorSpeed ; Types::F32 mMotorCtlSpeed ; Types::F32 mMotorCtlCurrent ; Types::F32 mPWMDtCycle ; } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum ; } Unit_Enum unitText () const override { return Unit_Enum::eHD ; } QString infoText () const override { return QString("OutletFlow"); } struct Data { float mRefUFVol = 0; ///< Reference UF Volume float mMeasUFVol = 0; ///< Measured UF Volume float mRotorSpeed = 0; ///< Rotor Speed float mMotorSpeed = 0; ///< Motor Speed float mMotorCtlSpeed = 0; ///< Motor Controller Speed float mMotorCtlCurrent = 0; ///< Motor Controller Current float mPWMDtCycle = 0; ///< PWM Duty Cycle in % }; MOutletFlow () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MOutletFlow::Data OutletFlowData;