Index: sources/canbus/messagedispatcher.cpp =================================================================== diff -u -radf89000bad1a50ec33114ea76d65621a1d351d5 -rbfde9964a92b954e7da925e0d04e797a225a5352 --- sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision adf89000bad1a50ec33114ea76d65621a1d351d5) +++ sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision bfde9964a92b954e7da925e0d04e797a225a5352) @@ -359,7 +359,35 @@ onActionTransmit(GuiActionType::ID_AdjustSalineReq, mData); } +/** + * \details This method transmits the Treatment Parameter request message. + * \param vData - Data model contains treatment parameter adjustment data structure + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustTreatmentParametersRequestData &vData) +{ + QVariantList mData; + mData += vData.bloodFlowRate ; + mData += vData.dialysateFlowRate ; + mData += vData.duration ; + mData += vData.heparinDispensingRate ; + mData += vData.heparinBolusVolume ; + mData += vData.heparinStopTime ; + mData += vData.salineBolus ; + mData += vData.acidConcentrate ; + mData += vData.bicarbonateConcentrate ; + mData += vData.dialyzerType ; + mData += vData.dialysateTemp ; + mData += vData.arterialPressureLimitLow ; + mData += vData.arterialPressureLimitHigh ; + mData += vData.venousPressureLimitLow ; + mData += vData.venousPressureLimitHigh ; + mData += vData.bloodPressureMeasureInterval ; + mData += vData.rinsebackFlowRate ; + onActionTransmit(GuiActionType::ID_CreateTreatmentReq, mData); +} + /*! * \brief MessageDispatcher::actionTransmit * \details This method is called by slot MessageDispatcher::onActionTransmit Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -radf89000bad1a50ec33114ea76d65621a1d351d5 -rbfde9964a92b954e7da925e0d04e797a225a5352 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision adf89000bad1a50ec33114ea76d65621a1d351d5) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision bfde9964a92b954e7da925e0d04e797a225a5352) @@ -289,9 +289,7 @@ case Gui::GuiActionType::ID_CreateTreatmentReq: { if ( ! count ) { logInvalidLength(vActionId); return false; } vPayload = Format::fromVariant(vData); - MAdjustTreatmentParametersRequest params; - params.fromVariantList(vData); - LOG_EVENT(params.toString()); + LOG_EVENT(MAdjustTreatmentParametersRequest::toString(vData)); } break; default: { @@ -378,6 +376,7 @@ case Gui::GuiActionType::ID_AlarmStatus : ok = alarmStatus (vMessage, vData); break; // TODO : implement notify<>() case Gui::GuiActionType::ID_AlarmTriggered : ok = alarmTriggered (vMessage, vData); break; // TODO : implement notify<>() case Gui::GuiActionType::ID_AlarmCleared : ok = alarmCleared (vMessage, vData); break; // TODO : implement notify<>() + case Gui::GuiActionType::ID_CreateTreatmentRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_CreateTreatmentRsp ); break; // Adjustment Response Messages case Gui::GuiActionType::ID_AdjustDurationRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationRsp ); break; @@ -391,7 +390,6 @@ case Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; // TODO : implement notify<>() case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp : ok = adjustUltrafiltrationConfirm (vMessage, vData); break; // TODO : implement notify<>() - case Gui::GuiActionType::ID_CreateTreatmentRsp : ok = createTreatmentRespData (vMessage, vData); break; case Gui::GuiActionType::ID_StartTreatmentRsp : ok = notify (vMessage, vData, Gui::GuiActionType::ID_StartTreatmentRsp ); break; case Gui::GuiActionType::ID_EndTreatmentRsp : ok = notify (vMessage, vData, Gui::GuiActionType::ID_EndTreatmentRsp ); break; @@ -630,26 +628,3 @@ return ok; } - -/*! - * \brief MessageInterpreter::createTreatmentRespData - * Checks the validity of the create treatment response data. - * \param vMessage - The message - * \param vData - the output data - * \return true if ok, false otherwise - */ -bool MessageInterpreter::createTreatmentRespData(const Message &vMessage, QVariantList &vData) { - bool ok = false; - if ( ! isType (vMessage, Gui::GuiActionType::ID_CreateTreatmentRsp) ) return ok; - if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::ID_CreateTreatmentRsp) ) return ok; - - Model::MTreatmentParametersResponse mData; - ok = mData.fromByteArray(vMessage.data); - LOG_DATUM(mData.toString()); - - mData.toVariantList(vData); - emit didActionReceive(mData.data()); - - return ok; - -} Index: sources/model/MModel.h =================================================================== diff -u -radf89000bad1a50ec33114ea76d65621a1d351d5 -rbfde9964a92b954e7da925e0d04e797a225a5352 --- sources/model/MModel.h (.../MModel.h) (revision adf89000bad1a50ec33114ea76d65621a1d351d5) +++ sources/model/MModel.h (.../MModel.h) (revision bfde9964a92b954e7da925e0d04e797a225a5352) @@ -40,7 +40,6 @@ #include "MDGTemperaturesData.h" #include "MDGValvesStatesData.h" -#include "MTreatmentParameters.h" #include "MTreatmentParametersResp.h" #include "MHDDebugText.h" @@ -176,7 +175,8 @@ REGISTER_METATYPE( AdjustUltrafiltrationStateResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationEditResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationConfirmResponseData ) \ - REGISTER_METATYPE( AdjustSalineResponseData ) + REGISTER_METATYPE( AdjustSalineResponseData ) \ + REGISTER_METATYPE( AdjustTreatmentParametersResponseData ) //===============================================================================// #define ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ @@ -215,7 +215,8 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, StartTreatmentResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, EndTreatmentResponseData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSalineResponseData ) + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSalineResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersResponseData ) //===============================================================================// #define ADJUST_TRANSMT_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustBloodDialysateRequestData ) \ @@ -227,6 +228,7 @@ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmAcknowledgeRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmSilenceRequestData ) //===============================================================================// @@ -266,7 +268,8 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( StartTreatmentResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( EndTreatmentResponseData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSalineResponseData ) + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSalineResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustTreatmentParametersResponseData ) // /* Request */ ---------------------------------------------------------// #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustBloodDialysateRequestData ) \ @@ -278,6 +281,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustTreatmentParametersRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmAcknowledgeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmSilenceRequestData ) // /* Request */ ----------------------- NoEmit --------------------------// @@ -291,6 +295,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustTreatmentParametersRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmSilenceRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmAcknowledgeRequestData ) // /* Request */ ----------------------- public --------------------------// @@ -304,6 +309,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( EndTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustTreatmentParametersRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmAcknowledgeRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmSilenceRequestData ) //===============================================================================// Index: sources/model/hd/adjustment/MTreatmentAdjustRequests.h =================================================================== diff -u -radf89000bad1a50ec33114ea76d65621a1d351d5 -rbfde9964a92b954e7da925e0d04e797a225a5352 --- sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision adf89000bad1a50ec33114ea76d65621a1d351d5) +++ sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision bfde9964a92b954e7da925e0d04e797a225a5352) @@ -230,18 +230,68 @@ } }; -} +class MAdjustTreatmentParametersRequest : public MModel { +public: -typedef Model:: MAdjustPowerOffReq AdjustPowerOffRequestData; -typedef Model:: MAdjustBloodDialysateReq AdjustBloodDialysateRequestData; -typedef Model:: MAdjustDurationReq AdjustDurationRequestData; -typedef Model:: MAdjustUltrafiltrationStateReq AdjustUltrafiltrationStateRequestData; -typedef Model:: MAdjustUltrafiltrationEditReq AdjustUltrafiltrationEditRequestData; -typedef Model::MAdjustUltrafiltrationConfirmReq AdjustUltrafiltrationConfirmRequestData; -typedef Model:: MStartTreatmentReq StartTreatmentRequestData; -typedef Model:: MConfirmTreatmentReq ConfirmTreatmentRequestData; -typedef Model:: MEndTreatmentReq EndTreatmentRequestData; -typedef Model:: MAdjustSalineReq AdjustSalineRequestData; -typedef Model:: MAlarmSilenceReq AlarmSilenceRequestData; -typedef Model:: MAlarmAcknowledgeReq AlarmAcknowledgeRequestData; + quint32 bloodFlowRate = 0; // mL/min + quint32 dialysateFlowRate = 0; // mL/min + quint32 duration = 0; // minutes + float heparinDispensingRate = 0; // mL/hr + float heparinBolusVolume = 0; // mL + quint32 heparinStopTime = 0; // min + quint32 salineBolus = 0; // mL + quint32 acidConcentrate = 0; // + quint32 bicarbonateConcentrate = 0; // + quint32 dialyzerType = 0; // + float dialysateTemp = 0; // Celsius + qint32 arterialPressureLimitLow = 0; // mmHg + qint32 arterialPressureLimitHigh = 0; // mmHg + qint32 venousPressureLimitLow = 0; // mmHg + qint32 venousPressureLimitHigh = 0; // mmHg + quint32 bloodPressureMeasureInterval = 0; // minutes + quint32 rinsebackFlowRate = 0; // mL/min + // coco begin validated : Has been validated manually. + // This object is used statically for now, kept the logic for later usage. + QString toString() { + return toString({ + bloodFlowRate , + dialysateFlowRate , + duration , + heparinDispensingRate , + heparinBolusVolume , + heparinStopTime , + salineBolus , + acidConcentrate , + bicarbonateConcentrate , + dialyzerType , + dialysateTemp , + arterialPressureLimitLow , + arterialPressureLimitHigh , + venousPressureLimitLow , + venousPressureLimitHigh , + bloodPressureMeasureInterval , + rinsebackFlowRate , + }); + } + // coco end + static QString toString(const QVariantList &vParameters) { + return MModel::toString("AdjustTreatmentParametersRequest", vParameters); + } +}; + +} + +typedef Model:: MAdjustPowerOffReq AdjustPowerOffRequestData; +typedef Model:: MAdjustBloodDialysateReq AdjustBloodDialysateRequestData; +typedef Model:: MAdjustDurationReq AdjustDurationRequestData; +typedef Model:: MAdjustUltrafiltrationStateReq AdjustUltrafiltrationStateRequestData; +typedef Model:: MAdjustUltrafiltrationEditReq AdjustUltrafiltrationEditRequestData; +typedef Model:: MAdjustUltrafiltrationConfirmReq AdjustUltrafiltrationConfirmRequestData; +typedef Model:: MStartTreatmentReq StartTreatmentRequestData; +typedef Model:: MConfirmTreatmentReq ConfirmTreatmentRequestData; +typedef Model:: MEndTreatmentReq EndTreatmentRequestData; +typedef Model:: MAdjustSalineReq AdjustSalineRequestData; +typedef Model:: MAlarmSilenceReq AlarmSilenceRequestData; +typedef Model::MAdjustTreatmentParametersRequest AdjustTreatmentParametersRequestData; +typedef Model:: MAlarmAcknowledgeReq AlarmAcknowledgeRequestData;