/*! * * Copyright (c) 2022-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 MTDBloodPumpData.h * \author (original) Tiffany Mejia * \date (original) 07-May-2025 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MTDBloodPumpData class * \details The TD Blood Pump data model * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | * |0x1100| 0x040 | 1 Hz | N | HD | All | TD Blood Pump Data | * * | Payload || * | || * | #1:(U32) | \ref Data::mSetFlow | * | #2:(F32) | \ref Data::mMeasFlow | * | #3:(F32) | \ref Data::mRotorSpeed | * | #4:(F32) | \ref Data::mMotorSpeed | * | #5:(F32) | \ref Data::mCurrMotor | * | #6:(F32) | \ref Data::mSetRPM | * | #7:(U32) | \ref Data::mPressureFlow | * | #8:(U32) | \ref Data::mRotationCount | * | #9:(U32) | \ref Data::mRotorHallState | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | TD | * | infoText | Blood Pump | * */ class MTDBloodPumpData : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::S32 mSetFlow ; Types::F32 mMeasFlow ; Types::F32 mRotorSpeed ; Types::F32 mMotorSpeed ; Types::F32 mCurrMotor ; Types::F32 mSetRPM ; Types::U32 mPressureFlow ; Types::U32 mRotationCount ; Types::U32 mRotorHallState ; } _data; public: Type_Enum typeText() const override { return Type_Enum::eDatum ; } Unit_Enum unitText() const override { return Unit_Enum::eTD ; } QString infoText() const override { return QString("BloodPump") ; } struct Data { qint32 mSetFlow = 0; ///< set flow rate float mMeasFlow = 0; ///< meaured speed float mRotorSpeed = 0; ///< measured rotor speed float mMotorSpeed = 0; ///< measured blood pump speed) float mCurrMotor = 0; ///< curr motor float mSetRPM = 0; ///< set rpm quint32 mPressureFlow = 0; ///< pressure flow quint32 mRotationCount = 0; ///< rotation count quint32 mRotorHallState = 0; ///< rotor hall state }; MTDBloodPumpData () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MTDBloodPumpData::Data TDBloodPumpData;