Index: denali.pro =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- denali.pro (.../denali.pro) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ denali.pro (.../denali.pro) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -86,6 +86,7 @@ \ # ---------- Models - HD - Adjustment - Post-Treatment sources/model/hd/adjustment/MTreatmentAdjustRinsebackResponse.h \ sources/model/hd/adjustment/MTreatmentAdjustRecirculateResponse.h \ + sources/model/hd/adjustment/MTreatmentAdjustEndResponse.h \ \ # ---------- Models - HD - Data sources/model/hd/data/MTreatmentTimeData.h \ sources/model/hd/data/MTreatmentFlowsData.h \ @@ -147,6 +148,7 @@ \ # ---------- Views - HD - Adjustment - Post-Treatment sources/view/hd/adjustment/VTreatmentAdjustmentRinseback.h \ sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.h \ + sources/view/hd/adjustment/VTreatmentAdjustmentEnd.h \ \ # ---------- Views - HD - Data sources/view/hd/data/VTreatmentTime.h \ sources/view/hd/data/VTreatmentBloodFlow.h \ @@ -221,6 +223,7 @@ \ # ---------- Models - HD - Adjustment - Post-Treatment sources/model/hd/adjustment/MTreatmentAdjustRinsebackResponse.cpp \ sources/model/hd/adjustment/MTreatmentAdjustRecirculateResponse.cpp \ + sources/model/hd/adjustment/MTreatmentAdjustEndResponse.cpp \ \ # ---------- Models - HD - Data sources/model/hd/data/MTreatmentTimeData.cpp \ sources/model/hd/data/MTreatmentFlowsData.cpp \ @@ -280,6 +283,7 @@ \ # ---------- Views - HD - Adjustment - Post-Treatment sources/view/hd/adjustment/VTreatmentAdjustmentRinseback.cpp \ sources/view/hd/adjustment/VTreatmentAdjustmentRecirculate.cpp \ + sources/view/hd/adjustment/VTreatmentAdjustmentEnd.cpp \ \ # ---------- Views - HD - Data sources/view/hd/data/VTreatmentTime.cpp \ sources/view/hd/data/VTreatmentBloodFlow.cpp \ Index: denali.pro.user =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- denali.pro.user (.../denali.pro.user) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ denali.pro.user (.../denali.pro.user) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -427,6 +427,18 @@ onActionTransmit(GuiActionType::ID_AdjustRecirculateReq, mData); } +/** + * \details This method transmits the Treatment End Adjustment Denali message. + * \param vData - Data model contains treatment end adjustment state. + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustTreatmentEndRequestData &vData) +{ + QVariantList mData; + mData += vData.requestedState; + onActionTransmit(GuiActionType::ID_AdjustTreatmentEndReq, mData); +} + /*! * \brief MessageDispatcher::onAdjustment * \details This method transmits the Pressures Limits Adjustment Denali message. Index: sources/canbus/MessageDispatcher.h =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -118,6 +118,7 @@ GuiActionType::ID_AdjustPressuresLimitsReq , GuiActionType::ID_AdjustRinsebackReq , GuiActionType::ID_AdjustRecirculateReq , + GuiActionType::ID_AdjustTreatmentEndReq , // Alarm GuiActionType::ID_AlarmUserActionReq , GuiActionType::ID_AlarmSilenceReq , Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -146,6 +146,10 @@ {Gui::GuiActionType::ID_AdjustRecirculateReq , 1 * 4 }, // 1 parameter each 4bytes {Gui::GuiActionType::ID_AdjustRecirculateRsp , 2 * 4 }, // 2 parameters each 4bytes + // ---- Treatment End + {Gui::GuiActionType::ID_AdjustTreatmentEndReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustTreatmentEndRsp , 2 * 4 }, // 2 parameters each 4bytes + // ---- {Gui::GuiActionType::ID_CANBusFaultCount , 1 }, {Gui::GuiActionType::ID_RawData , 255 }, Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -231,13 +231,15 @@ case Gui::GuiActionType::ID_AdjustPressuresLimitsReq : INTERPRET_RECEIVED_MESSAGE(AdjustPressuresLimitsRequestData ); break; case Gui::GuiActionType::ID_AdjustSalineReq : INTERPRET_RECEIVED_MESSAGE(AdjustSalineRequestData ); break; case Gui::GuiActionType::ID_AdjustHeparinReq : INTERPRET_RECEIVED_MESSAGE(AdjustHeparinRequestData ); break; - case Gui::GuiActionType::ID_AdjustRinsebackReq : INTERPRET_RECEIVED_MESSAGE(AdjustRinsebackRequestData ); break; - case Gui::GuiActionType::ID_AdjustRecirculateReq : INTERPRET_RECEIVED_MESSAGE(AdjustRecirculateRequestData ); break; // in-treatment - ultrafiltration case Gui::GuiActionType::ID_AdjustUltrafiltrationInitReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationInitRequestData ); break; case Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationStateRequestData ); break; case Gui::GuiActionType::ID_AdjustUltrafiltrationEditReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationEditRequestData ); break; case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationConfirmRequestData ); break; + // Post-Treatment + case Gui::GuiActionType::ID_AdjustRinsebackReq : INTERPRET_RECEIVED_MESSAGE(AdjustRinsebackRequestData ); break; + case Gui::GuiActionType::ID_AdjustRecirculateReq : INTERPRET_RECEIVED_MESSAGE(AdjustRecirculateRequestData ); break; + case Gui::GuiActionType::ID_AdjustTreatmentEndReq : INTERPRET_RECEIVED_MESSAGE(AdjustTreatmentEndRequestData ); break; // pre-Treatment case Gui::GuiActionType::ID_StartTreatmentReq : INTERPRET_RECEIVED_MESSAGE(StartTreatmentRequestData ); break; case Gui::GuiActionType::ID_ConfirmTreatmentReq : INTERPRET_RECEIVED_MESSAGE(ConfirmTreatmentRequestData ); break; @@ -346,6 +348,7 @@ case Gui::GuiActionType::ID_AdjustHeparinRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustHeparinRsp ); break; case Gui::GuiActionType::ID_AdjustRinsebackRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustRinsebackRsp ); break; case Gui::GuiActionType::ID_AdjustRecirculateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustRecirculateRsp ); break; + case Gui::GuiActionType::ID_AdjustTreatmentEndRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustTreatmentEndRsp ); break; // these need to be standard and use notify as well case Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; // TODO : implement notify<>() Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -66,6 +66,7 @@ #include "VTreatmentAdjustmentHeparin.h" #include "VTreatmentAdjustmentRinseback.h" #include "VTreatmentAdjustmentRecirculate.h" +#include "VTreatmentAdjustmentEnd.h" #include "VTreatmentAdjustmentPressuresLimits.h" namespace Gui { Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -111,7 +111,6 @@ ID_EndTreatmentRsp = 0x3D00, // 61 ID_PrimingData = 0x4300, // 67 - // DG Data Messages ID_DGROPumpData = 0x1F00, // 31 ID_DGPressuresData = 0x2000, // 32 @@ -161,6 +160,11 @@ ID_AdjustRecirculateReq = 0x5400, // 84 ID_AdjustRecirculateRsp = 0x5500, // 85 + // Treatment End + ID_AdjustTreatmentEndReq = 0x5700, // 87 + ID_AdjustTreatmentEndRsp = 0x5800, // 88 + + }; enum class GuiActionsData_Enum /*: quint8 QML doesn't support*/ { Index: sources/gui/qml/main.qml =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/gui/qml/main.qml (.../main.qml) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/gui/qml/main.qml (.../main.qml) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -62,6 +62,7 @@ import VTreatmentAdjustmentRinseback 0.1 import VTreatmentRecirculate 0.1 import VTreatmentAdjustmentRecirculate 0.1 +import VTreatmentAdjustmentEnd 0.1 import VTreatmentBloodPrime 0.1 // Qml imports @@ -137,7 +138,7 @@ VTreatmentRecirculate { id: vTreatmentRecirculate } VTreatmentAdjustmentRinseback { id: vTreatmentAdjustmentRinseback } VTreatmentAdjustmentRecirculate { id: vTreatmentAdjustmentRecirculate } - + VTreatmentAdjustmentEnd { id: vTreatmentAdjustmentEnd } // ----- Follow the below Z order ----- // 1 - Screens // 1 - 1 Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -237,7 +237,7 @@ // Treatment Complete PostTreatmentEnd { id: _postTreatmentEnd - onRinsebackClicked: { console.debug(" ----- ", "PostTreatmentEnd", "onRinsebackClicked")} //87.0 + onRinsebackClicked : vTreatmentAdjustmentEnd.doEnd () //87.0 } PostTreatmentEndPaused { id: _postTreatmentEndPaused } Index: sources/model/MModel.h =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/model/MModel.h (.../MModel.h) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/model/MModel.h (.../MModel.h) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -62,6 +62,7 @@ #include "MTreatmentAdjustHeparinResponse.h" #include "MTreatmentAdjustRinsebackResponse.h" #include "MTreatmentAdjustRecirculateResponse.h" +#include "MTreatmentAdjustEndResponse.h" #include "MTreatmentAdjustPressuresLimitsResponse.h" #include "MPrimingData.h" #include "MStartTreatmentResponse.h" @@ -242,6 +243,7 @@ REGISTER_METATYPE( AdjustHeparinRequestData ) \ REGISTER_METATYPE( AdjustRinsebackRequestData ) \ REGISTER_METATYPE( AdjustRecirculateRequestData ) \ + REGISTER_METATYPE( AdjustTreatmentEndRequestData ) \ REGISTER_METATYPE( AdjustPressuresLimitsRequestData ) \ REGISTER_METATYPE( AdjustTreatmentParametersRequestData ) \ /* Response */ \ @@ -258,6 +260,7 @@ REGISTER_METATYPE( AdjustHeparinResponseData ) \ REGISTER_METATYPE( AdjustRinsebackResponseData ) \ REGISTER_METATYPE( AdjustRecirculateResponseData ) \ + REGISTER_METATYPE( AdjustTreatmentEndResponseData ) \ REGISTER_METATYPE( AdjustPressuresLimitsResponseData ) \ REGISTER_METATYPE( AdjustTreatmentParametersResponseData ) \ @@ -324,6 +327,7 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustHeparinResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustRinsebackResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustRecirculateResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentEndResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersResponseData ) \ @@ -343,6 +347,7 @@ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustRecirculateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersRequestData ) \ \ @@ -418,6 +423,7 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustHeparinResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustRinsebackResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustRecirculateResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustTreatmentEndResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustPressuresLimitsResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustTreatmentParametersResponseData ) \ @@ -436,6 +442,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustRecirculateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustTreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustTreatmentParametersRequestData ) \ \ @@ -460,6 +467,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustRecirculateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustTreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustTreatmentParametersRequestData ) \ \ @@ -482,6 +490,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustRinsebackRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustRecirculateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustTreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( EndTreatmentRequestData ) \ @@ -544,6 +553,7 @@ ACTION_RECEIVE_SIGNAL( AdjustHeparinResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustRinsebackResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustRecirculateResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustTreatmentEndResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustPressuresLimitsResponseData ) \ //--------------------------------------------------------------------------------// Index: sources/model/hd/adjustment/MTreatmentAdjustEndResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustEndResponse.cpp (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustEndResponse.cpp (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -0,0 +1,45 @@ +/*! + * + * 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 MTreatmentAdjustEndResponse.cpp + * \author (last) Behrouz NematiPour + * \date (last) 10-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 10-Feb-2021 + * + */ +#include "MTreatmentAdjustEndResponse.h" + +using namespace Model; + +QVariantList MAdjustTreatmentEndResponse::parameters() const { + return { + _data.mAccepted.value, + _data.mReason .value, + }; +} + +bool MAdjustTreatmentEndResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mAccepted )) + if (GetValue(vByteArray, index, _data.mReason )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +/*! + * \brief MAdjustTreatmentEndResponse::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +AdjustTreatmentEndResponseData MAdjustTreatmentEndResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted.value; + data.mReason = _data.mReason .value; + return data; +} Index: sources/model/hd/adjustment/MTreatmentAdjustEndResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustEndResponse.h (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustEndResponse.h (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -0,0 +1,84 @@ +/*! + * + * 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 MTreatmentAdjustEndResponse.h + * \author (last) Behrouz NematiPour + * \date (last) 10-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 10-Feb-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustTreatmentEndResponse class + * \details The TreatmentEnd adjustment response model + * + * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description | + * |:----:|:------:|:-----:|:----:|:---:|:---:|:----:|:----------------: | + * |0x5800| 0x020 | 6 | Rsp | Y | HD | UI | Treatment End Response | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mAccepted | + * | #2:(U32) | \ref Data::mReason | + * + * \sa Data + * \sa MAdjustTreatmentEndReq : Treatment End Request + * \sa MTreatmentTreatmentEnd : Treatment End Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | HD | + * | infoText | AdjustTxEnd | + * + */ +class MAdjustTreatmentEndResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted; + Types::U32 mReason ; + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eEvent ; } + Unit_Enum unitText () const override { return Unit_Enum::eHD ; } + QString infoText () const override { return QString("AdjustTxEnd") ; } + + struct Data { + bool mAccepted = 0; /*!< Accepted value of type quint32 extracted out */ + quint32 mReason = 0; /*!< Reason value of type quint32 extracted out */ + }; + + MAdjustTreatmentEndResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MAdjustTreatmentEndResponse::Data AdjustTreatmentEndResponseData; Index: sources/model/hd/adjustment/MTreatmentAdjustRequests.h =================================================================== diff -u -r58014dae52ee6357e88b9b03bcad457ddcb432e8 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision 58014dae52ee6357e88b9b03bcad457ddcb432e8) +++ sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -365,7 +365,6 @@ } }; - /*! * \brief The MAdjustRinsebackReq class * \details The model to request the Rinseback state @@ -428,6 +427,36 @@ } }; +/*! + * \brief The MAdjustTreatmentEndReq class + * \details The model to request the Rinseback state + * + * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description | + * |:----:|:------:|:-----:|:----:|:---:|:---:|:----:|:---------------: | + * |0x5700| 0x100 | 9 | Req | Y | UI | HD | Treatment End Request | + * + * | Payload || + * | || + * | #1:(U32) | \ref requestedState | + * + * \sa State + * \sa MTreatmentEnd : Treatment End Data + * \sa MAdjustTreatmentEndResponse : Treatment End Response + * + */ +class MAdjustTreatmentEndReq : public MModel { +public: + GuiTreatmentEndCommands requestedState = GuiTreatmentEndCommands::REQUESTED_USER_ACTION_TX_END_RINSEBACK_START; // the requested state. + // coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({requestedState}); + } + // coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString("AdjustTxEnd", vParameters); + } +}; @@ -698,6 +727,7 @@ typedef Model:: MAdjustHeparinReq AdjustHeparinRequestData; typedef Model:: MAdjustRinsebackReq AdjustRinsebackRequestData; typedef Model:: MAdjustRecirculateReq AdjustRecirculateRequestData; +typedef Model:: MAdjustTreatmentEndReq AdjustTreatmentEndRequestData; typedef Model:: MAdjustPressuresLimitsReq AdjustPressuresLimitsRequestData; typedef Model:: MStartTreatmentReq StartTreatmentRequestData; typedef Model:: MConfirmTreatmentReq ConfirmTreatmentRequestData; Index: sources/view/VView.h =================================================================== diff -u -r07e0c7bd409782cab96a4ae761ee3f819bdb8639 -r81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c --- sources/view/VView.h (.../VView.h) (revision 07e0c7bd409782cab96a4ae761ee3f819bdb8639) +++ sources/view/VView.h (.../VView.h) (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -139,6 +139,7 @@ REGISTER_TYPE( VTreatmentAdjustmentHeparin ) \ REGISTER_TYPE( VTreatmentAdjustmentRinseback ) \ REGISTER_TYPE( VTreatmentAdjustmentRecirculate ) \ + REGISTER_TYPE( VTreatmentAdjustmentEnd ) \ REGISTER_TYPE( VTreatmentAdjustmentPressuresLimits ) \ REGISTER_TYPE( VTreatmentCreate ) \ REGISTER_TYPE( VPriming ) \ Index: sources/view/hd/adjustment/VTreatmentAdjustmentEnd.cpp =================================================================== diff -u --- sources/view/hd/adjustment/VTreatmentAdjustmentEnd.cpp (revision 0) +++ sources/view/hd/adjustment/VTreatmentAdjustmentEnd.cpp (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -0,0 +1,46 @@ +/*! + * + * 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 VTreatmentAdjustmentEnd.h + * \author (last) Behrouz NematiPour + * \date (last) 10-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 10-Feb-2021 + * + */ +#include "VTreatmentAdjustmentEnd.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VTreatmentAdjustmentEnd, AdjustTreatmentEndResponseData) + +void VTreatmentAdjustmentEnd::initConnections() { + ACTION_VIEW_CONNECTION(AdjustTreatmentEndResponseData); + ADJUST_VIEW_CONNECTION(AdjustTreatmentEndRequestData ); +} + +void VTreatmentAdjustmentEnd::onActionReceive(const AdjustTreatmentEndResponseData &vData) +{ + adjustment_Accepted ( vData.mAccepted ); + adjustment_Reason ( vData.mReason ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); +} + +/*! + * \brief View::VTreatmentAdjustmentEnd::adjustment + * \details the invocable slot to adjust the Treatment End state + * \param vRequestedState - the requested state + */ +void View::VTreatmentAdjustmentEnd::adjustment(const GuiTreatmentEndCommands &vRequestedState) +{ + _data.requestedState = vRequestedState; + emit didAdjustment(_data); // notify the controllers to do the adjustment +} Index: sources/view/hd/adjustment/VTreatmentAdjustmentEnd.h =================================================================== diff -u --- sources/view/hd/adjustment/VTreatmentAdjustmentEnd.h (revision 0) +++ sources/view/hd/adjustment/VTreatmentAdjustmentEnd.h (revision 81999ff346ffc8e3f9c4dd1c948b4b7fc577de2c) @@ -0,0 +1,64 @@ +/*! + * + * 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 VTreatmentAdjustmentEnd.h + * \author (last) Behrouz NematiPour + * \date (last) 10-Feb-2021 + * \author (original) Behrouz NematiPour + * \date (original) 10-Feb-2021 + * + */ +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : don't remove +#include "VTreatmentAdjustmentResponseBase.h" + +namespace View { + +/*! + * \brief The VTreatmentAdjustmentEnd class + * \details View for Model's Data representation. + * + * \sa Model::MAdjustTreatmentEndResponse + * + */ +class VTreatmentAdjustmentEnd : public VTreatmentAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + AdjustTreatmentEndRequestData _data; + + // coco begin validated: + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + // has been manually tested that it works perfectly fine + TRIGGER( bool , adjustment , 0 ) + // coco end + + VIEW_DEC_CLASS_ADJUSTMENT(VTreatmentAdjustmentEnd, AdjustTreatmentEndResponseData) + +private: + void adjustment (const GuiTreatmentEndCommands &vRequestedState); + +public slots: + void doEnd () { adjustment( GuiTreatmentEndCommands::REQUESTED_USER_ACTION_TX_END_RINSEBACK_START ); } + +signals: + /*! + * \brief didAdjustment + * \details the notification signal to adjust the Treatment End state + * \param vData - data model for the duration adjustment request + */ + void didAdjustment(const AdjustTreatmentEndRequestData &vData); +}; +}