Index: denali.pro.user =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- denali.pro.user (.../denali.pro.user) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ denali.pro.user (.../denali.pro.user) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/applicationcontroller.cpp =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -117,6 +117,9 @@ connect(&_GuiController , SIGNAL(didAdjustment(quint32)), this , SLOT( onAdjustment(quint32))); + connect(&_GuiController , SIGNAL(didAdjustment(const MAdjustUltrafiltrationReq &)), + this , SLOT( onAdjustment(const MAdjustUltrafiltrationReq &))); + connect(&_GuiController , SIGNAL(didUltrafiltrationStateRequest(quint32)), this , SLOT( onUltrafiltrationStateRequest(quint32))); @@ -282,6 +285,13 @@ onActionTransmit(GuiActionType::AdjustDurationReq, mData); } +void ApplicationController::onAdjustment(const MAdjustUltrafiltrationReq &vData) +{ + QVariantList mData; + mData += vData.volume; + onActionTransmit(GuiActionType::AdjustUltrafiltrationReq, mData); +} + void ApplicationController::onUltrafiltrationStateRequest(quint32 vState) { QVariantList mData; Index: sources/applicationcontroller.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/applicationcontroller.h (.../applicationcontroller.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/applicationcontroller.h (.../applicationcontroller.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -80,6 +80,7 @@ void onAdjustment(quint32 vBloodFlow, quint32 vDialysateFlow); void onAdjustment(quint32 vDuration); + void onAdjustment(const MAdjustUltrafiltrationReq &vData); void onUltrafiltrationStateRequest(quint32 vState); Index: sources/canbus/messagedispatcher.cpp =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -23,7 +23,7 @@ #include "frameinterface.h" #include "messageacknowmodel.h" -//#define DEBUG_ACKBACK_HD_TO_UI +#define DEBUG_ACKBACK_HD_TO_UI //#define DEBUG_OUT_OF_SYNC using namespace Can; @@ -331,6 +331,9 @@ #endif // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI AckBak is immediately handled at the same place. actionTransmit(GuiActionType::Acknow, {}, -mSequence); + #ifdef DEBUG_ACKBACK_HD_TO_UI + qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI AckBak : %1 %2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(-mSequence).arg(vMessage.actionId); + #endif } emit didActionReceive(mActionId, mData); break; Index: sources/canbus/messagedispatcher.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/canbus/messagedispatcher.h (.../messagedispatcher.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/canbus/messagedispatcher.h (.../messagedispatcher.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -104,8 +104,9 @@ QList _needsAcknow { GuiActionType::AdjustBloodDialysateReq , GuiActionType::AdjustDurationReq , + GuiActionType::AdjustUltrafiltrationReq, GuiActionType::UltrafiltrationState , - }; // no action needs Acknow for now + }; // Singleton SINGLETON(MessageDispatcher) Index: sources/canbus/messageglobals.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/canbus/messageglobals.h (.../messageglobals.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/canbus/messageglobals.h (.../messageglobals.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -66,6 +66,10 @@ {Gui::GuiActionType::AdjustDurationReq , 1 * 4 }, // 1 parameters each 4bytes {Gui::GuiActionType::AdjustDurationRsp , 4 * 4 }, // 4 parameters each 4bytes + // ---- + {Gui::GuiActionType::AdjustUltrafiltrationReq , 1 * 4 }, // 1 parameters each 4bytes + + // ---- {Gui::GuiActionType::UltrafiltrationState , 1 * 4 }, // 1 parameters each 4bytes // ---- Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -111,6 +111,13 @@ } break; + case Gui::GuiActionType::AdjustUltrafiltrationReq: + if (count) { + qDebug() << vPayload; + vPayload = Format::fromVariant(vData); + } + break; + case Gui::GuiActionType::UltrafiltrationState: if (count) { vPayload = Format::fromVariant(vData); @@ -249,6 +256,10 @@ ok = adjustDurationData (vMessage, vData); break; + case Gui::GuiActionType::AdjustUltrafiltrationRsp: + ok = adjustUltrafiltrationData (vMessage, vData); + break; + case Gui::GuiActionType::UltrafiltrationState: // AcknowGeneric : Generic Acknow respose ok = ultrafiltrationState (vMessage, vData); break; @@ -722,6 +733,31 @@ } /*! + * \brief MessageInterpreter::adjustUltrafiltrationData + * \details This method interprets Treatment Ultrafiltration Adjustment Response message data + * in vMessage of type Message. + * \param vMessage - The vMessage of type Message which contains all the data, + * require to be interpreted. + * \param vData - Treatment Duration Adjustment Response data + * \return true if the data can be extracted as defined for Treatment Ultrafiltration Adjustment Response Message ID + */ +bool MessageInterpreter::adjustUltrafiltrationData(const Message &vMessage, QVariantList &vData) +{ + bool ok = false; + if ( ! isType (vMessage, Gui::GuiActionType::AdjustUltrafiltrationRsp) ) return ok; + if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::AdjustUltrafiltrationRsp) ) return ok; + + Model::MAdjustUltrafiltrationResponse mData; + ok = mData.fromByteArray(vMessage.data); + LOG_DATUM(mData.toString()); + qDebug() << mData.toString(); + mData.toVariantList(vData); + emit didActionReceive(mData.data()); + + return ok; +} + +/*! * \brief MessageInterpreter::ultrafiltrationState * \details This method interprets Treatment Ultrafiltration state change Response message data * in vMessage of type Message. Index: sources/canbus/messageinterpreter.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/canbus/messageinterpreter.h (.../messageinterpreter.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/canbus/messageinterpreter.h (.../messageinterpreter.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -87,6 +87,9 @@ // ---- Treatment Adjust response for Treatment Duration bool adjustDurationData (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + // ---- Treatment Adjust response for Treatment Ultrafiltration + bool adjustUltrafiltrationData(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + // ---- Treatment Adjust response for Treatment Ultrafiltration state (Pause / Resume) change bool ultrafiltrationState (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; Index: sources/gui/guicontroller.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/gui/guicontroller.h (.../guicontroller.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/gui/guicontroller.h (.../guicontroller.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -94,6 +94,13 @@ signals: void didAdjustment(quint32 vDuration); +//// ----- Adjust Duration +public slots: + void doAdjustment(const MAdjustUltrafiltrationReq &vData) { + emit didAdjustment( vData);} +signals: + void didAdjustment(const MAdjustUltrafiltrationReq &vData); + //// ----- Pause Ultrafiltration public slots: void doUltrafiltrationStateRequest(quint32 vState) { Index: sources/gui/guiglobals.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/gui/guiglobals.h (.../guiglobals.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/gui/guiglobals.h (.../guiglobals.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -57,6 +57,8 @@ AdjustBloodDialysateReq = 0x1700, // 23 AdjustBloodDialysateRsp = 0x1800, // 24 + AdjustUltrafiltrationReq= 0x1100, // 17 + AdjustUltrafiltrationRsp= 0x1300, // 19 AdjustDurationReq = 0x1600, // 22 AdjustDurationRsp = 0x1B00, // 27 Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -111,8 +111,10 @@ _treatmentAdjustmentUltrafiltrationPaused.open() } onNextClicked : { - close() - _treatmentAdjustmentUltrafiltrationConfirm.open() + // send Volume to HD and wait. + // if accepted close() + // not accepted show error in notification + vTreatmentAdjustmentUltrafiltration.doAdjustment(vVolume) } } @@ -127,6 +129,7 @@ } } + // manage the Pause Resume response Connections { target: vTreatmentUltrafiltrationState onAdjustmentTriggered: { console.debug(vTreatmentUltrafiltrationState.adjustment_Accepted , vTreatmentUltrafiltrationState.isPaused) @@ -143,4 +146,17 @@ } } + Connections { target: vTreatmentAdjustmentUltrafiltration + onAdjustmentTriggered: { + console.debug( + vTreatmentAdjustmentUltrafiltration.volume , + vTreatmentAdjustmentUltrafiltration.duration , + vTreatmentAdjustmentUltrafiltration.durationDiff , + vTreatmentAdjustmentUltrafiltration.rate , + vTreatmentAdjustmentUltrafiltration.rateDiff + ) + _treatmentAdjustmentUltrafiltrationEdit .close() + _treatmentAdjustmentUltrafiltrationConfirm.open() + } + } } Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml =================================================================== diff -u -r016578b44e879b89bd42dda7763ed50e67d7e64c -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision 016578b44e879b89bd42dda7763ed50e67d7e64c) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentUltrafiltrationEdit.qml (.../TreatmentAdjustmentUltrafiltrationEdit.qml) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -27,7 +27,7 @@ */ TreatmentAdjustmentBase { id: _root - signal nextClicked() + signal nextClicked(int vVolume) closeVisible : false confirmVisible : false @@ -98,6 +98,6 @@ pixelSize: Fonts.fontPixelUltrafiltrationAdjustmentNextButton } } - onClicked: nextClicked() + onClicked: nextClicked( _adjustmentSlider.value ) } } Index: sources/model/mmodel.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/model/mmodel.h (.../mmodel.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/model/mmodel.h (.../mmodel.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -106,9 +106,30 @@ * */ +class MAdjustUltrafiltrationReq { +public: + quint32 volume = 0; +}; + //--------------------------------------------------------------------------------// //-------- Please add the model type to the lists below to register them ---------// //--------------------------------------------------------------------------------// +#define REGISTER_MODEL_METATYPES \ + REGISTER_METATYPE( BloodFlowData ) \ + REGISTER_METATYPE( DialysateFlowData ) \ + REGISTER_METATYPE( OutletFlowData ) \ + REGISTER_METATYPE( TreatmentTimeData ) \ + REGISTER_METATYPE( PressureOcclusionData ) \ + REGISTER_METATYPE( AlarmStatusData ) \ + REGISTER_METATYPE( AlarmStatusFlag ) \ + REGISTER_METATYPE( PowerOffData ) \ + REGISTER_METATYPE( TreatmentRangesData ) \ + REGISTER_METATYPE( TreatmentUltrafiltrationStateData ) \ + REGISTER_METATYPE( AdjustBloodDialysateResponseData ) \ + REGISTER_METATYPE( AdjustDurationResponseData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationResponseData ) \ + REGISTER_METATYPE( MAdjustUltrafiltrationReq ) +//--------------------------------------------------------------------------------// #define ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, BloodFlowData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DialysateFlowData ) \ @@ -138,21 +159,6 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDurationResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationResponseData ) //--------------------------------------------------------------------------------// -#define REGISTER_MODEL_METATYPES \ - REGISTER_METATYPE( BloodFlowData ) \ - REGISTER_METATYPE( DialysateFlowData ) \ - REGISTER_METATYPE( OutletFlowData ) \ - REGISTER_METATYPE( TreatmentTimeData ) \ - REGISTER_METATYPE( PressureOcclusionData ) \ - REGISTER_METATYPE( AlarmStatusData ) \ - REGISTER_METATYPE( AlarmStatusFlag ) \ - REGISTER_METATYPE( PowerOffData ) \ - REGISTER_METATYPE( TreatmentRangesData ) \ - REGISTER_METATYPE( TreatmentUltrafiltrationStateData ) \ - REGISTER_METATYPE( AdjustBloodDialysateResponseData ) \ - REGISTER_METATYPE( AdjustDurationResponseData ) \ - REGISTER_METATYPE( AdjustUltrafiltrationResponseData ) -//--------------------------------------------------------------------------------// #define ACTION_RECEIVE_INTERPRETER_CONNECTIONS \ ACTION_RECEIVE_BRIDGE_CONNECTION(_interpreter, BloodFlowData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(_interpreter, DialysateFlowData ) \ Index: sources/view/vtreatmentadjustmentultrafiltration.cpp =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/view/vtreatmentadjustmentultrafiltration.cpp (.../vtreatmentadjustmentultrafiltration.cpp) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/view/vtreatmentadjustmentultrafiltration.cpp (.../vtreatmentadjustmentultrafiltration.cpp) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -22,8 +22,8 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(Gui::_GuiController, AdjustUltrafiltrationResponseData); - connect(this , SIGNAL(didAdjustment(quint32)), - &_GuiController, SLOT( doAdjustment(quint32))); + connect(this , SIGNAL(didAdjustment(const MAdjustUltrafiltrationReq &)), + &_GuiController, SLOT( doAdjustment(const MAdjustUltrafiltrationReq &))); } void VTreatmentAdjustmentUltrafiltration::onActionReceive(const AdjustUltrafiltrationResponseData &vData) Index: sources/view/vtreatmentadjustmentultrafiltration.h =================================================================== diff -u -ra159e12630645a9a35fb0a5585cc7b639cfe6aa6 -rb789046c096cfdddb39adcd3d5be1e129769aac6 --- sources/view/vtreatmentadjustmentultrafiltration.h (.../vtreatmentadjustmentultrafiltration.h) (revision a159e12630645a9a35fb0a5585cc7b639cfe6aa6) +++ sources/view/vtreatmentadjustmentultrafiltration.h (.../vtreatmentadjustmentultrafiltration.h) (revision b789046c096cfdddb39adcd3d5be1e129769aac6) @@ -46,10 +46,12 @@ // ----------- Adjust Ultrafiltration public slots: void doAdjustment(quint32 vVolume) { - emit didAdjustment( vVolume); + MAdjustUltrafiltrationReq data; + data.volume = vVolume; + emit didAdjustment(data); } signals: - void didAdjustment(quint32 vVolume); + void didAdjustment(const MAdjustUltrafiltrationReq &vData); }; }