/*! * * Copyright (c) 2021-2022 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 MTreatmentRinsebackData.h * \author (last) Behrouz NematiPour * \date (last) 06-Sep-2021 * \author (original) Behrouz NematiPour * \date (original) 11-Apr-2021 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MTreatmentRinseback class * \details The treatment Rinseback bolus data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x5600| 0x020 | 6 | 1 Hz | N | HD | UI | Rinseback Progress Data | * * | Payload || * | || * | #1:(F32) | \ref Data::mTarget | * | #2:(F32) | \ref Data::mCurrent | * | #3:(U32) | \ref Data::mRate | * | #4:(U32) | \ref Data::mTimeoutTotal | * | #5:(U32) | \ref Data::mTimeoutCountDown| * | #6:(F32) | \ref Data::mIsCompleted | * * \sa Data * \sa MAdjustRinsebackReq : Rinseback Request * \sa MAdjustRinsebackResponse : Rinseback Response * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | HD | * | infoText | RinsebackData | * */ class MTreatmentRinseback : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 mTarget ; Types::F32 mCurrent ; Types::U32 mRate ; Types::U32 mTimeoutTotal ; Types::U32 mTimeoutCountDown; Types::U32 mIsCompleted ; } _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("RinsebackData") ; } struct Data { float mTarget = 0; ///< Target volume of rinseback delivery float mCurrent = 0; ///< Current volume of rinseback delivery quint32 mRate = 0; ///< Current flow rate of rinseback delivery quint32 mTimeoutTotal = 0; ///< Total Timeout of rinseback delivery quint32 mTimeoutCountDown = 0; ///< Current Timeout count down of rinseback delivery quint32 mIsCompleted = 0; ///< Safety Volume of rinseback delivery }; public: MTreatmentRinseback () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MTreatmentRinseback::Data TreatmentRinsebackData;