Index: denali.pro =================================================================== diff -u -ra51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1 -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- denali.pro (.../denali.pro) (revision a51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1) +++ denali.pro (.../denali.pro) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -57,7 +57,6 @@ sources/model/MEndTreatmentResponse.h \ sources/model/MStartTreatmentResponse.h \ sources/model/hd/data/MPrimingData.h \ - sources/model/MTreatmentParameters.h \ sources/model/MTreatmentParametersResp.h \ sources/storage/filesaver.h \ sources/model/MDGDebugText.h \ @@ -172,7 +171,6 @@ sources/model/MEndTreatmentResponse.cpp \ sources/model/MStartTreatmentResponse.cpp \ sources/model/hd/data/MPrimingData.cpp \ - sources/model/MTreatmentParameters.cpp \ sources/model/MTreatmentParametersResp.cpp \ sources/storage/filesaver.cpp \ sources/model/MDGDebugText.cpp \ Index: sources/canbus/messagedispatcher.cpp =================================================================== diff -u -r846a9ebc350e33be4affab3cc4c136248900015d -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision 846a9ebc350e33be4affab3cc4c136248900015d) +++ sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -333,7 +333,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 -ra51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1 -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision a51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -283,9 +283,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: { @@ -372,6 +370,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; @@ -385,7 +384,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; @@ -624,26 +622,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 -ra51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1 -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/model/MModel.h (.../MModel.h) (revision a51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1) +++ sources/model/MModel.h (.../MModel.h) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -40,7 +40,6 @@ #include "MDGTemperaturesData.h" #include "MDGValvesStatesData.h" -#include "MTreatmentParameters.h" #include "MTreatmentParametersResp.h" #include "MHDDebugText.h" @@ -174,7 +173,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) \ @@ -213,7 +213,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 ) \ @@ -224,7 +225,8 @@ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, EndTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustSalineRequestData ) + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersRequestData ) //===============================================================================// #define ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS \ ACTION_RECEIVE_BRIDGE_DEFINITION( BloodFlowData ) \ @@ -262,7 +264,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 ) \ @@ -273,7 +276,8 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION( StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( EndTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustSalineRequestData ) + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustTreatmentParametersRequestData ) // /* Request */ ----------------------- NoEmit --------------------------// #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_NOEMIT \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustBloodDialysateRequestData ) \ @@ -284,7 +288,8 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( EndTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustSalineRequestData ) + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustTreatmentParametersRequestData ) // /* Request */ ----------------------- public --------------------------// #define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_PUBLIC \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustBloodDialysateRequestData ) \ @@ -295,7 +300,8 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( StartTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( ConfirmTreatmentRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( EndTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSalineRequestData ) + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSalineRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustTreatmentParametersRequestData ) //===============================================================================// #define ACTION_RECEIVE_SIGNALS \ ACTION_RECEIVE_SIGNAL( BloodFlowData ) \ Fisheye: Tag f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 refers to a dead (removed) revision in file `sources/model/MTreatmentParameters.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 refers to a dead (removed) revision in file `sources/model/MTreatmentParameters.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/model/MTreatmentParametersResp.cpp =================================================================== diff -u -ra51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1 -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/model/MTreatmentParametersResp.cpp (.../MTreatmentParametersResp.cpp) (revision a51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1) +++ sources/model/MTreatmentParametersResp.cpp (.../MTreatmentParametersResp.cpp) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -1,68 +1,30 @@ #include "MTreatmentParametersResp.h" + using namespace Model; -MTreatmentParametersResponse::MTreatmentParametersResponse() {} - -/** - * @brief TreatmentParametersResp::toVariantList - * Converts the response data to a QVariantList - * @param list (&QVariantlist) - the list to write the data to - */ -void MTreatmentParametersResponse::toVariantList(QVariantList &list) const -{ - - list += _data.requestValid.value; - list += _data.bloodFlowRate.value; - list += _data.dialysateFlowRate.value; - list += _data.duration.value; - list += _data.heparinStopTime.value; - list += _data.salineBolus.value; - list += _data.acidConcentrate.value; - list += _data.bicarbonateConcentrate.value; - list += _data.dialyzerType.value; - list += _data.bloodPressureMeasureInterval.value; - list += _data.rinsebackFlowRate.value; - list += _data.arterialPressureLimitLow.value; - list += _data.arterialPressureLimitHigh.value; - list += _data.venousPressureLimitLow.value; - list += _data.venousPressureLimitHigh.value; - list += _data.heparinDispensingRate.value; - list += _data.heparinBolusVolume.value; - list += _data.dialysateTemp.value; - +QVariantList MTreatmentParametersResponse::parameters() const { + return { + _data.requestValid.value, + _data.bloodFlowRate.value, + _data.dialysateFlowRate.value, + _data.duration.value, + _data.heparinDispensingRate.value, + _data.heparinBolusVolume.value, + _data.heparinStopTime.value, + _data.salineBolus.value, + _data.acidConcentrate.value, + _data.bicarbonateConcentrate.value, + _data.dialyzerType.value, + _data.dialysateTemp.value, + _data.arterialPressureLimitLow.value, + _data.arterialPressureLimitHigh.value, + _data.venousPressureLimitLow.value, + _data.venousPressureLimitHigh.value, + _data.bloodPressureMeasureInterval.value, + _data.rinsebackFlowRate.value, + }; } -AdjustTreatmentParametersResponseData MTreatmentParametersResponse::fromVariantList(const QVariantList &list) -{ - Data data; - if (list.length() != 18) - { - qDebug() << "Invalid QVariant List in " << __FUNCTION__; - return data; - } - - data.requestValid = list[0].toUInt(); - data.bloodFlowRate = list[1].toUInt(); - data.dialysateFlowRate = list[2].toUInt(); - data.duration = list[3].toUInt(); - data.heparinStopTime = list[4].toUInt(); - data.salineBolus = list[5].toUInt(); - data.acidConcentrate = list[6].toUInt(); - data.bicarbonateConcentrate = list[7].toUInt(); - data.dialyzerType = list[8].toUInt(); - data.bloodPressureMeasureInterval = list[9].toUInt(); - data.rinsebackFlowRate = list[10].toUInt(); - data.arterialPressureLimitLow = list[11].toUInt(); - data.arterialPressureLimitHigh = list[12].toUInt(); - data.venousPressureLimitLow = list[13].toUInt(); - data.venousPressureLimitHigh = list[14].toUInt(); - data.heparinDispensingRate = list[15].toUInt(); - data.heparinBolusVolume = list[16].toUInt(); - data.dialysateTemp = list[17].toUInt(); - - return data; -} - bool MTreatmentParametersResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position if (GetValue(vByteArray, index, _data.requestValid )) @@ -104,48 +66,25 @@ else { if(vIndex) *vIndex = index; return false; } } -QString MTreatmentParametersResponse::toString() const { - return QString(stringPrefix + "(%0, %1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14, %15, %16, %17)") - .arg(_data.requestValid.value) - .arg(_data.bloodFlowRate.value) - .arg(_data.dialysateFlowRate.value) - .arg(_data.duration.value) - .arg(_data.heparinDispensingRate.value) - .arg(_data.heparinBolusVolume.value) - .arg(_data.heparinStopTime.value) - .arg(_data.salineBolus.value) - .arg(_data.acidConcentrate.value) - .arg(_data.bicarbonateConcentrate.value) - .arg(_data.dialyzerType.value) - .arg(_data.dialysateTemp.value) - .arg(_data.arterialPressureLimitLow.value) - .arg(_data.arterialPressureLimitHigh.value) - .arg(_data.venousPressureLimitLow.value) - .arg(_data.venousPressureLimitHigh.value) - .arg(_data.bloodPressureMeasureInterval.value) - .arg(_data.rinsebackFlowRate.value); +MTreatmentParametersResponse::Data MTreatmentParametersResponse::data() const { + Data data; + data.requestValid = _data.requestValid.value; + data.bloodFlowRate = _data.bloodFlowRate.value; + data.dialysateFlowRate = _data.dialysateFlowRate.value; + data.duration = _data.duration.value; + data.heparinDispensingRate = _data.heparinDispensingRate.value; + data.heparinBolusVolume = _data.heparinBolusVolume.value; + data.heparinStopTime = _data.heparinStopTime.value; + data.salineBolus = _data.salineBolus.value; + data.acidConcentrate = _data.acidConcentrate.value; + data.bicarbonateConcentrate = _data.bicarbonateConcentrate.value; + data.dialyzerType = _data.dialyzerType.value; + data.dialysateTemp = _data.dialysateTemp.value; + data.arterialPressureLimitLow = _data.arterialPressureLimitLow.value; + data.arterialPressureLimitHigh = _data.arterialPressureLimitHigh.value; + data.venousPressureLimitLow = _data.venousPressureLimitLow.value; + data.venousPressureLimitHigh = _data.venousPressureLimitHigh.value; + data.bloodPressureMeasureInterval = _data.bloodPressureMeasureInterval.value; + data.rinsebackFlowRate = _data.rinsebackFlowRate.value; + return data; } - -AdjustTreatmentParametersResponseData MTreatmentParametersResponse::data() const { - Data data; - data.requestValid = _data.requestValid.value; - data.bloodFlowRate = _data.bloodFlowRate.value; - data.dialysateFlowRate = _data.dialysateFlowRate.value; - data.duration = _data.duration.value; - data.heparinDispensingRate = _data.heparinDispensingRate.value; - data.heparinBolusVolume = _data.heparinBolusVolume.value; - data.heparinStopTime = _data.heparinStopTime.value; - data.salineBolus = _data.salineBolus.value; - data.acidConcentrate = _data.acidConcentrate.value; - data.bicarbonateConcentrate = _data.bicarbonateConcentrate.value; - data.dialyzerType = _data.dialyzerType.value; - data.dialysateTemp = _data.dialysateTemp.value; - data.arterialPressureLimitLow = _data.arterialPressureLimitLow.value; - data.arterialPressureLimitHigh = _data.arterialPressureLimitHigh.value; - data.venousPressureLimitLow = _data.venousPressureLimitLow.value; - data.venousPressureLimitHigh = _data.venousPressureLimitHigh.value; - data.bloodPressureMeasureInterval = _data.bloodPressureMeasureInterval.value; - data.rinsebackFlowRate = _data.rinsebackFlowRate.value; - return data; -} - Index: sources/model/MTreatmentParametersResp.h =================================================================== diff -u -r5387db3e9735f3bbf768906858dbcd725cf23528 -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/model/MTreatmentParametersResp.h (.../MTreatmentParametersResp.h) (revision 5387db3e9735f3bbf768906858dbcd725cf23528) +++ sources/model/MTreatmentParametersResp.h (.../MTreatmentParametersResp.h) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -5,47 +5,18 @@ // Project #include "types.h" +#include "MAbstract.h" - class tst_models; namespace Model { -class MTreatmentParametersResponse +class MTreatmentParametersResponse : public MAbstract { friend class::tst_models; -public: - MTreatmentParametersResponse(); - struct Data { - quint32 requestValid = 0; - quint32 bloodFlowRate = 0; - quint32 dialysateFlowRate = 0; - quint32 duration = 0; - quint32 heparinDispensingRate = 0; - quint32 heparinBolusVolume = 0; - quint32 heparinStopTime = 0; - quint32 salineBolus = 0; - quint32 acidConcentrate = 0; - quint32 bicarbonateConcentrate = 0; - quint32 dialyzerType = 0; - quint32 dialysateTemp = 0; - quint32 arterialPressureLimitLow = 0; - quint32 arterialPressureLimitHigh = 0; - quint32 venousPressureLimitLow = 0; - quint32 venousPressureLimitHigh = 0; - quint32 bloodPressureMeasureInterval = 0; - quint32 rinsebackFlowRate = 0; - }; + QVariantList parameters() const override; - Data fromVariantList(const QVariantList &list); - void toVariantList(QVariantList &list) const; - bool fromByteArray(const QByteArray &vByteArray, int *vIndex = nullptr); - QString toString() const; - Data data() const; - -protected: - struct _Data { - + struct { Types::U32 requestValid ; Types::U32 bloodFlowRate ; Types::U32 dialysateFlowRate ; @@ -64,15 +35,40 @@ Types::U32 venousPressureLimitHigh ; Types::U32 bloodPressureMeasureInterval ; Types::U32 rinsebackFlowRate ; - } _data; +public: -private: - QString stringPrefix = "Treatment Parameters Response"; + Type_Enum typeText () const override { return Type_Enum::eDatum; } + Unit_Enum unitText () const override { return Unit_Enum::eHD ; } + QString infoText () const override { return QString("OpMode"); } -}; + struct Data { + quint32 requestValid = 0; + quint32 bloodFlowRate = 0; + quint32 dialysateFlowRate = 0; + quint32 duration = 0; + quint32 heparinDispensingRate = 0; + quint32 heparinBolusVolume = 0; + quint32 heparinStopTime = 0; + quint32 salineBolus = 0; + quint32 acidConcentrate = 0; + quint32 bicarbonateConcentrate = 0; + quint32 dialyzerType = 0; + quint32 dialysateTemp = 0; + quint32 arterialPressureLimitLow = 0; + quint32 arterialPressureLimitHigh = 0; + quint32 venousPressureLimitLow = 0; + quint32 venousPressureLimitHigh = 0; + quint32 bloodPressureMeasureInterval = 0; + quint32 rinsebackFlowRate = 0; + }; + MTreatmentParametersResponse () {} + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; } typedef Model::MTreatmentParametersResponse::Data AdjustTreatmentParametersResponseData; Index: sources/model/hd/adjustment/MTreatmentAdjustRequests.h =================================================================== diff -u -r846a9ebc350e33be4affab3cc4c136248900015d -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision 846a9ebc350e33be4affab3cc4c136248900015d) +++ sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -216,16 +216,67 @@ } }; +class MAdjustTreatmentParametersRequest : public MModel { +public: + + 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:: 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; Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -ra51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1 -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision a51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -16,11 +16,11 @@ connect(&_FileSaver, SIGNAL(fileSaved(bool)), this, SLOT(onFinishedSaveNewTreatment(bool))); - connect(this, SIGNAL(requestValidateParameters(GuiActionType,QVariantList)), - &_GuiController, SLOT(doActionTransmit(GuiActionType,QVariantList))); + connect(this, SIGNAL(requestValidateParameters(AdjustTreatmentParametersRequestData)), + &_GuiController, SLOT(doAdjustment(AdjustTreatmentParametersRequestData))); - connect(&_GuiController, SIGNAL(didActionReceive(GuiActionType,QVariantList)), - this, SLOT(onFWValidationResponse(GuiActionType,QVariantList))); + connect(&_GuiController, SIGNAL(didActionReceive(AdjustTreatmentParametersResponseData)), + this, SLOT(onFWValidationResponse(AdjustTreatmentParametersResponseData))); connect(this, SIGNAL(requestSelectParameters(StartTreatmentRequestData)), &_GuiController, SLOT(doAdjustment(StartTreatmentRequestData))); @@ -187,31 +187,9 @@ return; } - // Request that FW validates the selected parameters - QVariantList messageData = { - treatmentData.bloodFlowRate, - treatmentData.dialysateFlowRate, - treatmentData.duration, - treatmentData.heparinStopTime, - treatmentData.salineBolus, - treatmentData.acidConcentrate, - treatmentData.bicarbonateConcentrate, - treatmentData.dialyzerType, - treatmentData.bloodPressureMeasureInterval, - treatmentData.rinsebackFlowRate, - treatmentData.arterialPressureLimitLow, - treatmentData.arterialPressureLimitHigh, - treatmentData.venousPressureLimitLow, - treatmentData.venousPressureLimitHigh, - treatmentData.heparinDispensingRate, - treatmentData.heparinBolusVolume, - treatmentData.dialysateTemp, - }; - GuiActionType messageAction = GuiActions::ID_CreateTreatmentReq; + emit requestValidateParameters(treatmentData); - emit requestValidateParameters(messageAction, messageData); - LOG_DEBUG("Requesting FW validation of new treatment parameters"); } @@ -240,14 +218,8 @@ * \param messageData The message data must contain the reject reason codes for all parameters * \returns True if FW OK's treatment parameters, false otherwise */ -bool VTreatmentCreate::onFWValidationResponse(const GuiActionType &actionType, const QVariantList &messageData) { +bool VTreatmentCreate::onFWValidationResponse(AdjustTreatmentParametersResponseData data) { - if (actionType != GuiActionType::ID_CreateTreatmentRsp) - return false; - - Model::MTreatmentParametersResponse response; - AdjustTreatmentParametersResponseData data = response.fromVariantList(messageData); - bool success = true; if (data.bloodFlowRate != Gui::GuiRequestReasons::REQUEST_REJECT_REASON_NONE) { if (success) emit scrollToParameter(GET_VARIABLE_NAME(data.bloodFlowRate)); Index: sources/view/VTreatmentCreate.h =================================================================== diff -u -ra51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1 -rf7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89 --- sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision a51b1ec80d65c7cf9f7f3b86f45a637a6d42efc1) +++ sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision f7b3e0bcd926f8aabc5caa1e76fce04aa8c5eb89) @@ -10,7 +10,6 @@ #include // Project -#include "MTreatmentParameters.h" #include "MTreatmentParametersResp.h" #include "guicontroller.h" #include "storageglobals.h" @@ -143,7 +142,7 @@ void showBegin(); void pop(); void showTreatmentStart(); - void requestValidateParameters(const GuiActionType &action, const QVariantList &data); + void requestValidateParameters(const AdjustTreatmentParametersRequestData &data); void requestConfirm(const ConfirmTreatmentRequestData &data); void requestSelectParameters(const StartTreatmentRequestData &data); void resetCreateTreatment(); @@ -156,7 +155,7 @@ void onFinishedConfirm(); void onFinishedPrime(); void onStartTreatment(); - bool onFWValidationResponse(const GuiActionType &actionType, const QVariantList &messageData); + bool onFWValidationResponse(AdjustTreatmentParametersResponseData data); void onStartTreatmentResponse(const StartTreatmentResponseData &messageData); void onUserModifiedParameters(); QStringList getPrescriptionParameterNames();