Index: denali.pro =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- denali.pro (.../denali.pro) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ denali.pro (.../denali.pro) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -34,133 +34,201 @@ sources/gui \ sources/canbus \ sources/utility \ - sources/abstract + sources/abstract \ + sources/model/hd/adjustment \ + sources/model/hd/alarm \ + sources/model/hd/data \ + sources/model/dg/data \ + sources/view/dg/data HEADERS += \ + \ # common common/AlarmDefs.h \ common/DGDefs.h \ common/HDDefs.h \ common/MsgDefs.h \ + \ # Main sources/main.h \ - sources/maintimer.h \ - sources/model/malarmcleared.h \ - sources/model/malarmtriggered.h \ - sources/model/mloadcellreadings.h \ - sources/model/mtemperaturesensors.h \ - sources/model/mtreatmentadjustblooddialysateresponse.h \ - sources/model/mtreatmentadjustdurationresponse.h \ - sources/model/mtreatmentadjustrequests.h \ - sources/model/mtreatmentadjustultrafiltrationconfirmresponse.h \ - sources/model/mtreatmentadjustultrafiltrationstateresponse.h \ - sources/model/mtreatmentadjustultrafiltrationeditresponse.h \ - sources/model/mtreatmentpressureocclusion.h \ - sources/model/mtreatmentranges.h \ - sources/model/mtreatmentstate.h \ + sources/model/MAbstract.h \ sources/threads.h \ - sources/applicationcontroller.h \ + sources/maintimer.h \ sources/applicationpost.h \ + \ # Controllers + sources/applicationcontroller.h \ + \ # ---------- Models ---------- + sources/model/MModel.h \ + sources/model/MPowerOff.h \ + \ # ---------- Models - Alarm + sources/model/hd/alarm/MAlarmCleared.h \ + sources/model/hd/alarm/MAlarmTriggered.h \ + sources/model/hd/alarm/MAlarmStatusData.h \ + \ # ---------- Models - HD - Adjustment - In-Treatment + sources/model/hd/adjustment/MTreatmentAdjustRequests.h \ + sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.h \ + sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.h \ + sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.h \ + sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.h \ + sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.h \ + \ # ---------- Models - HD - Data + sources/model/hd/data/MTreatmentTimeData.h \ + sources/model/hd/data/MTreatmentFlowsData.h \ + sources/model/hd/data/MTreatmentOutletFlowData.h \ + sources/model/hd/data/MTreatmentRangesData.h \ + sources/model/hd/data/MTreatmentPressureOcclusionData.h \ + sources/model/hd/data/MTreatmentStatesData.h \ + \ # ---------- Models - DG - Data + sources/model/dg/data/MDGDrainPumpData.h \ + sources/model/dg/data/MDGHeatersData.h \ + sources/model/dg/data/MDGLoadCellReadingsData.h \ + sources/model/dg/data/MDGOperationModeData.h \ + sources/model/dg/data/MDGPressuresData.h \ + sources/model/dg/data/MDGReservoirData.h \ + sources/model/dg/data/MDGROPumpData.h \ + sources/model/dg/data/MDGTemperaturesData.h \ + sources/model/dg/data/MDGValvesStatesData.h \ + \ # CANBus sources/canbus/caninterface.h \ sources/canbus/frameinterface.h \ + \ # Denali Message + sources/canbus/messageglobals.h \ sources/canbus/messageacknowmodel.h \ sources/canbus/messagebuilder.h \ - sources/canbus/messagedispatcher.h \ - sources/canbus/messageglobals.h \ sources/canbus/messageinterpreter.h \ -# sources/configuration/display.h \ -# sources/configuration/sound.h \ + sources/canbus/messagedispatcher.h \ + \ # Gui sources/gui/guiglobals.h \ sources/gui/guiview.h \ sources/gui/guicontroller.h \ - sources/model/malarmstatus.h \ - sources/model/mmodel.h \ - sources/model/mpoweroff.h \ - sources/model/mtreatmentflows.h \ - sources/model/mtreatmentoutletflow.h \ - sources/model/mtreatmenttime.h \ - sources/view/vloadcellreadings.h \ - sources/view/vtemperaturesensors.h \ - sources/view/vtreatmentadjustmentduration.h \ - sources/view/vtreatmentadjustmentflows.h \ - sources/view/vtreatmentadjustmentresponsebase.h \ - sources/view/vtreatmentadjustmentultrafiltrationconfirm.h \ - sources/view/vtreatmentadjustmentultrafiltrationedit.h \ - sources/view/vtreatmentadjustmentultrafiltrationstate.h \ - sources/view/vtreatmentpressureocclusion.h \ - sources/view/vtreatmentranges.h \ + \ # ---------- Views ---------- + sources/view/dg/data/VDGDrainPumpData.h \ + sources/view/dg/data/VDGHeatersData.h \ + sources/view/dg/data/VDGLoadCellReadingsData.h \ + sources/view/dg/data/VDGOperationModeData.h \ + sources/view/dg/data/VDGPressuresData.h \ + sources/view/dg/data/VDGROPumpData.h \ + sources/view/dg/data/VDGReservoirData.h \ + sources/view/dg/data/VDGTemperaturesData.h \ + sources/view/dg/data/VDGValvesStatesData.h \ sources/view/vview.h \ sources/view/vpoweroff.h \ + sources/view/valarmstatus.h \ + \ + sources/view/vtreatmenttime.h \ sources/view/vtreatmentbloodflow.h \ sources/view/vtreatmentdialysateflow.h \ - sources/view/vtreatmenttime.h \ sources/view/vtreatmentultrafiltration.h \ - sources/view/valarmstatus.h \ - sources/storage/filehandler.h \ - sources/storage/logger.h \ + sources/view/vtreatmentranges.h \ + sources/view/vtreatmentpressureocclusion.h \ + \ + \ + sources/view/vtreatmentadjustmentresponsebase.h \ + sources/view/vtreatmentadjustmentduration.h \ + sources/view/vtreatmentadjustmentflows.h \ + sources/view/vtreatmentadjustmentultrafiltrationstate.h \ + sources/view/vtreatmentadjustmentultrafiltrationedit.h \ + sources/view/vtreatmentadjustmentultrafiltrationconfirm.h \ + \ # Storage sources/storage/storageglobals.h \ + sources/storage/filehandler.h \ sources/storage/usbwatcher.h \ -# sources/storage/settings.h \ + sources/storage/logger.h \ + \ # Utility sources/utility/crc.h \ sources/utility/format.h \ sources/utility/types.h +# sources/configuration/display.h \ +# sources/configuration/sound.h \ +# sources/storage/settings.h \ SOURCES += \ + \ # common + \ # Main main.cpp \ - sources/maintimer.cpp \ - sources/model/malarmcleared.cpp \ - sources/model/malarmtriggered.cpp \ - sources/model/mloadcellreadings.cpp \ - sources/model/mtemperaturesensors.cpp \ - sources/model/mtreatmentadjustblooddialysateresponse.cpp \ - sources/model/mtreatmentadjustdurationresponse.cpp \ - sources/model/mtreatmentadjustultrafiltrationconfirmresponse.cpp \ - sources/model/mtreatmentadjustultrafiltrationstateresponse.cpp \ - sources/model/mtreatmentadjustultrafiltrationeditresponse.cpp \ - sources/model/mtreatmentpressureocclusion.cpp \ - sources/model/mtreatmentranges.cpp \ - sources/model/mtreatmentstate.cpp \ sources/threads.cpp \ - sources/applicationcontroller.cpp \ + sources/maintimer.cpp \ sources/applicationpost.cpp \ + \ # Controllers + sources/applicationcontroller.cpp \ + \ # ---------- Models ---------- + sources/model/MPowerOff.cpp \ + \ # ---------- Models - Alarm + sources/model/hd/alarm/MAlarmCleared.cpp \ + sources/model/hd/alarm/MAlarmTriggered.cpp \ + sources/model/hd/alarm/MAlarmStatusData.cpp \ + \ # ---------- Models - HD - Adjustment - In-Treatment + sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.cpp \ + sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.cpp \ + sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.cpp \ + sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.cpp \ + sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.cpp \ + \ # ---------- Models - HD - Data + sources/model/hd/data/MTreatmentTimeData.cpp \ + sources/model/hd/data/MTreatmentFlowsData.cpp \ + sources/model/hd/data/MTreatmentOutletFlowData.cpp \ + sources/model/hd/data/MTreatmentRangesData.cpp \ + sources/model/hd/data/MTreatmentPressureOcclusionData.cpp \ + sources/model/hd/data/MTreatmentStatesData.cpp \ + \ # ---------- Models - DG - Data + sources/model/dg/data/MDGDrainPumpData.cpp \ + sources/model/dg/data/MDGHeatersData.cpp \ + sources/model/dg/data/MDGLoadCellReadingsData.cpp \ + sources/model/dg/data/MDGOperationModeData.cpp \ + sources/model/dg/data/MDGPressuresData.cpp \ + sources/model/dg/data/MDGReservoirData.cpp \ + sources/model/dg/data/MDGROPumpData.cpp \ + sources/model/dg/data/MDGTemperaturesData.cpp \ + sources/model/dg/data/MDGValvesStatesData.cpp \ + \ # CANBus sources/canbus/caninterface.cpp \ sources/canbus/frameinterface.cpp \ + \ # Denali Message sources/canbus/messageacknowmodel.cpp \ sources/canbus/messagebuilder.cpp \ sources/canbus/messagedispatcher.cpp \ sources/canbus/messageinterpreter.cpp \ -# sources/configuration/display.cpp \ -# sources/configuration/sound.cpp \ + \ # Gui sources/gui/guiglobals.cpp \ sources/gui/guiview.cpp \ sources/gui/guicontroller.cpp \ - sources/model/mpoweroff.cpp \ - sources/model/mtreatmentflows.cpp \ - sources/model/mtreatmentoutletflow.cpp \ - sources/model/mtreatmenttime.cpp \ - sources/model/malarmstatus.cpp \ - sources/view/vloadcellreadings.cpp \ + \ # ---------- Views ---------- + sources/view/dg/data/VDGDrainPumpData.cpp \ + sources/view/dg/data/VDGHeatersData.cpp \ + sources/view/dg/data/VDGLoadCellReadingsData.cpp \ + sources/view/dg/data/VDGOperationModeData.cpp \ + sources/view/dg/data/VDGPressuresData.cpp \ + sources/view/dg/data/VDGROPumpData.cpp \ + sources/view/dg/data/VDGReservoirData.cpp \ + sources/view/dg/data/VDGTemperaturesData.cpp \ + sources/view/dg/data/VDGValvesStatesData.cpp \ sources/view/vpoweroff.cpp \ - sources/view/vtemperaturesensors.cpp \ - sources/view/vtreatmentadjustmentduration.cpp \ - sources/view/vtreatmentadjustmentflows.cpp \ - sources/view/vtreatmentadjustmentresponsebase.cpp \ - sources/view/vtreatmentadjustmentultrafiltrationconfirm.cpp \ - sources/view/vtreatmentadjustmentultrafiltrationedit.cpp \ - sources/view/vtreatmentadjustmentultrafiltrationstate.cpp \ + sources/view/valarmstatus.cpp \ + \ + sources/view/vtreatmenttime.cpp \ sources/view/vtreatmentbloodflow.cpp \ sources/view/vtreatmentdialysateflow.cpp \ - sources/view/vtreatmentpressureocclusion.cpp \ - sources/view/vtreatmentranges.cpp \ sources/view/vtreatmentultrafiltration.cpp \ - sources/view/vtreatmenttime.cpp \ - sources/view/valarmstatus.cpp \ - sources/storage/filehandler.cpp \ - sources/storage/logger.cpp \ + sources/view/vtreatmentranges.cpp \ + sources/view/vtreatmentpressureocclusion.cpp \ + \ + \ + sources/view/vtreatmentadjustmentresponsebase.cpp \ + sources/view/vtreatmentadjustmentduration.cpp \ + sources/view/vtreatmentadjustmentflows.cpp \ + sources/view/vtreatmentadjustmentultrafiltrationstate.cpp \ + sources/view/vtreatmentadjustmentultrafiltrationedit.cpp \ + sources/view/vtreatmentadjustmentultrafiltrationconfirm.cpp \ + \ # Storage sources/storage/storageglobals.cpp \ + sources/storage/filehandler.cpp \ sources/storage/usbwatcher.cpp \ -# sources/storage/settings.cpp \ + sources/storage/logger.cpp \ + \ # Utility sources/utility/crc.cpp \ sources/utility/format.cpp \ sources/utility/types.cpp +# sources/configuration/display.cpp \ +# sources/configuration/sound.cpp \ +# sources/storage/settings.cpp \ RESOURCES += \ denali.qrc Index: denali.pro.user =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- denali.pro.user (.../denali.pro.user) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ denali.pro.user (.../denali.pro.user) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/applicationcontroller.cpp =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/applicationcontroller.cpp (.../applicationcontroller.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -271,7 +271,7 @@ else { mData += static_cast(GuiActionData::NoData); } - onActionTransmit(GuiActionType::KeepAlive, mData); + onActionTransmit(GuiActionType::idKeepAlive, mData); #endif } Index: sources/applicationcontroller.h =================================================================== diff -u -reece7acacf84e8cc34b830f6b5ab3f112823a905 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/applicationcontroller.h (.../applicationcontroller.h) (revision eece7acacf84e8cc34b830f6b5ab3f112823a905) +++ sources/applicationcontroller.h (.../applicationcontroller.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -20,7 +20,7 @@ #include "main.h" #include "guiglobals.h" #include "applicationpost.h" -#include "mmodel.h" +#include "MModel.h" // define #define _ApplicationController ApplicationController::I() Index: sources/canbus/messagebuilder.cpp =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/canbus/messagebuilder.cpp (.../messagebuilder.cpp) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/canbus/messagebuilder.cpp (.../messagebuilder.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -104,7 +104,7 @@ */ bool MessageBuilder::addActionId(QByteArray &vPayload, Gui::GuiActionType vAction) { - if (vAction != Gui::GuiActionType::Unknown) { + if (vAction != Gui::GuiActionType::idUnknown) { quint16 mAction = static_cast(vAction); vPayload += (mAction >> 8) & 0xFF; // high byte vPayload += mAction & 0xFF; // low byte Index: sources/canbus/messagedispatcher.cpp =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/canbus/messagedispatcher.cpp (.../messagedispatcher.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -226,7 +226,7 @@ QVariantList mData; mData += vData.bloodFlow; mData += vData.dialysateFlow; - onActionTransmit(GuiActionType::AdjustBloodDialysateReq, mData); + onActionTransmit(GuiActionType::idAdjustBloodDialysateReq, mData); } /*! @@ -239,7 +239,7 @@ { QVariantList mData; mData += vData.duration; - onActionTransmit(GuiActionType::AdjustDurationReq, mData); + onActionTransmit(GuiActionType::idAdjustDurationReq, mData); } /*! @@ -252,7 +252,7 @@ { QVariantList mData; mData += vData.requestedState; - actionTransmit(GuiActionType::AdjustUltrafiltrationStateReq, mData); + actionTransmit(GuiActionType::idAdjustUltrafiltrationStateReq, mData); } /*! @@ -265,7 +265,7 @@ { QVariantList mData; mData += vData.volume; - onActionTransmit(GuiActionType::AdjustUltrafiltrationEditReq, mData); + onActionTransmit(GuiActionType::idAdjustUltrafiltrationEditReq, mData); } /*! @@ -279,7 +279,7 @@ QVariantList mData; mData += vData.volume; mData += vData.option; - onActionTransmit(GuiActionType::AdjustUltrafiltrationConfirmReq, mData); + onActionTransmit(GuiActionType::idAdjustUltrafiltrationConfirmReq, mData); } @@ -385,7 +385,7 @@ ok = true; GuiActionType mActionId = vMessage.actionId; switch (mActionId) { - case GuiActionType::Acknow: + case GuiActionType::idAcknow: LOG_EVENT(tr("HD,Ack Bak, Sq:%1").arg(mSequence)); #ifdef DEBUG_ACKBACK_HD_TO_UI qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HD AckBak : %1 %2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(mSequence).arg(vMessage.actionId); @@ -400,7 +400,7 @@ qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HD AckReq : %1 %2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(mSequence).arg(vMessage.actionId); #endif // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI AckBak is immediately handled at the same place. - actionTransmit(GuiActionType::Acknow, {}, -mSequence); + actionTransmit(GuiActionType::idAcknow, {}, -mSequence); LOG_EVENT(tr("UI,Ack Bak, Sq:%1").arg(-mSequence)); #ifdef DEBUG_ACKBACK_HD_TO_UI qDebug() << tr(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI AckBak : %1 %2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ").arg(-mSequence).arg(vMessage.actionId); Index: sources/canbus/messagedispatcher.h =================================================================== diff -u -reece7acacf84e8cc34b830f6b5ab3f112823a905 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/canbus/messagedispatcher.h (.../messagedispatcher.h) (revision eece7acacf84e8cc34b830f6b5ab3f112823a905) +++ sources/canbus/messagedispatcher.h (.../messagedispatcher.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -102,11 +102,11 @@ bool _init = false; QList _needsAcknow { - GuiActionType::AdjustBloodDialysateReq , - GuiActionType::AdjustDurationReq , - GuiActionType::AdjustUltrafiltrationStateReq , - GuiActionType::AdjustUltrafiltrationEditReq , - GuiActionType::AdjustUltrafiltrationConfirmReq , + GuiActionType::idAdjustBloodDialysateReq , + GuiActionType::idAdjustDurationReq , + GuiActionType::idAdjustUltrafiltrationStateReq , + GuiActionType::idAdjustUltrafiltrationEditReq , + GuiActionType::idAdjustUltrafiltrationConfirmReq , }; // Singleton Index: sources/canbus/messageglobals.h =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/canbus/messageglobals.h (.../messageglobals.h) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/canbus/messageglobals.h (.../messageglobals.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -43,51 +43,62 @@ */ const QHash payloadLen { // ---- - {Gui::GuiActionType::PowerOff , 1 }, - {Gui::GuiActionType::PowerOffBroadcast , 0 }, - {Gui::GuiActionType::KeepAlive , 255 }, // 0 => 255 to be able to run a multi-frame test. - {Gui::GuiActionType::BloodFlow , 7 * 4 }, // 7 parameters each 4bytes - {Gui::GuiActionType::DialysateInletFlow , 7 * 4 }, // 7 parameters each 4bytes - {Gui::GuiActionType::DialysateOutletFlow , 7 * 4 }, // 7 parameters each 4bytes - {Gui::GuiActionType::TreatmentTime , 3 * 4 }, // 3 parameters each 4bytes - {Gui::GuiActionType::PressureOcclusion , 5 * 4 }, // 5 parameters each 4bytes - {Gui::GuiActionType::LoadCellReadings , 4 * 4 }, // 4 parameters each 4bytes - {Gui::GuiActionType::TemperatureSensors , 12 * 4 }, // 12 parameters each 4bytes + {Gui::GuiActionType::idPowerOff , 1 }, + {Gui::GuiActionType::idPowerOffBroadcast , 0 }, + {Gui::GuiActionType::idKeepAlive , 255 }, // 0 => 255 to be able to run a multi-frame test. + // ----- + {Gui::GuiActionType::idTreatmentTime , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::idBloodFlow , 7 * 4 }, // 7 parameters each 4bytes + {Gui::GuiActionType::idDialysateInletFlow , 7 * 4 }, // 7 parameters each 4bytes + {Gui::GuiActionType::idDialysateOutletFlow , 7 * 4 }, // 7 parameters each 4bytes + {Gui::GuiActionType::idPressureOcclusion , 5 * 4 }, // 5 parameters each 4bytes + // ---- - {Gui::GuiActionType::AlarmStatus , 4 * 4 + 2 }, // 4 parameters each 4bytes + 1 parameter 2bytes - {Gui::GuiActionType::AlarmTriggered , 1 * 4 }, // 1 parameters each 4bytes - {Gui::GuiActionType::AlarmCleared , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::idDGROPumpData , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::idDGPressuresData , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::idDGDrainPumpData , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::idDGOperationModeData , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::idDGReservoirData , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::idDGValvesStatesData , 1 * 2 }, // 1 parameters each 2bytes + {Gui::GuiActionType::idDGHeatersData , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::idDGLoadCellReadingsData , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::idDGTemperaturesData , 12 * 4 }, // 12 parameters each 4bytes // ---- - {Gui::GuiActionType::TreatmentRanges , 6 * 4 }, // 6 parameters each 4bytes - {Gui::GuiActionType::TreatmentState , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::idAlarmStatus , 4 * 4 + 2 }, // 4 parameters each 4bytes + 1 parameter 2bytes + {Gui::GuiActionType::idAlarmTriggered , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::idAlarmCleared , 1 * 4 }, // 1 parameter each 4bytes // ---- - {Gui::GuiActionType::AdjustBloodDialysateReq , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::AdjustBloodDialysateRsp , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::idTreatmentRanges , 6 * 4 }, // 6 parameters each 4bytes + {Gui::GuiActionType::idTreatmentState , 3 * 4 }, // 3 parameters each 4bytes // ---- - {Gui::GuiActionType::AdjustDurationReq , 1 * 4 }, // 1 parameters each 4bytes - {Gui::GuiActionType::AdjustDurationRsp , 4 * 4 }, // 4 parameters each 4bytes + {Gui::GuiActionType::idAdjustBloodDialysateReq , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::idAdjustBloodDialysateRsp , 4 * 4 }, // 4 parameters each 4bytes // ---- - {Gui::GuiActionType::AdjustUltrafiltrationStateReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::idAdjustDurationReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::idAdjustDurationRsp , 4 * 4 }, // 4 parameters each 4bytes // ---- - {Gui::GuiActionType::AdjustUltrafiltrationEditReq , 1 * 4 }, // 1 parameters each 4bytes - {Gui::GuiActionType::AdjustUltrafiltrationEditRsp , 8 * 4 }, // 8 parameters each 4bytes + {Gui::GuiActionType::idAdjustUltrafiltrationStateReq , 1 * 4 }, // 1 parameter each 4bytes // ---- - {Gui::GuiActionType::AdjustUltrafiltrationConfirmReq , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::AdjustUltrafiltrationConfirmRsp , 5 * 4 }, + {Gui::GuiActionType::idAdjustUltrafiltrationEditReq , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::idAdjustUltrafiltrationEditRsp , 8 * 4 }, // 8 parameters each 4bytes // ---- - {Gui::GuiActionType::CanBUSFaultCount , 1 }, - {Gui::GuiActionType::String , 255 }, - {Gui::GuiActionType::Acknow , 0 }, - {Gui::GuiActionType::AcknowGeneric , 1 }, + {Gui::GuiActionType::idAdjustUltrafiltrationConfirmReq , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::idAdjustUltrafiltrationConfirmRsp , 5 * 4 }, + // ---- + {Gui::GuiActionType::idCANBusFaultCount , 1 }, + {Gui::GuiActionType::idRawData , 255 }, + {Gui::GuiActionType::idAcknow , 0 }, + {Gui::GuiActionType::idAcknowGeneric , 1 }, + }; /*! @@ -158,7 +169,7 @@ struct Message { // TODO : Should be converted to MessageModel class // no time left for now !!! Can_Id can_id; Sequence sequence = 0; // seq 0 is invalid - Gui::GuiActionType actionId = Gui::GuiActionType::Unknown; + Gui::GuiActionType actionId = Gui::GuiActionType::idUnknown; int length = 0; QByteArray head; QByteArray data; Index: sources/canbus/messageinterpreter.cpp =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/canbus/messageinterpreter.cpp (.../messageinterpreter.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -104,6 +104,27 @@ } /*! + * \brief MessageInterpreter::prepareData + * \details Checks and Prepaires the model with the Message Data + * \param vMessage - The Denali message + * \param vID - The Message ID to be checked against + * \param vModel - The appropriate model for the Message Data + * \param vData - A QVariant list of the Message Data which will be used for debugging if needed. + * \return true on successful check and prepare. + */ +bool MessageInterpreter::prepareData(const Message &vMessage, Gui::GuiActionType vID, Model::MAbstract &vModel, QVariantList &vData) +{ + bool ok = false; + if ( ! isValidMessage(vMessage, vID) ) return ok; + + ok = vModel.fromByteArray(vMessage.data); + LOG_DATUM(vModel.toString()); + + vModel.toVariantList(vData); + return ok; +} + +/*! * \brief MessageInterpreter::interpretMessage * \details This method will be called * to interpret messages from UI regarding vActionId. @@ -123,7 +144,7 @@ vPayload.clear(); int count = vData.count(); switch (vActionId) { // notice we are in transmit mode - case Gui::GuiActionType::PowerOff: + case Gui::GuiActionType::idPowerOff: if (count) { vPayload += vData[0].toUInt(); } else { @@ -134,7 +155,7 @@ LOG_EVENT(mSenderID + QString("PowerOff," + QVariant(vData).toStringList().join(','))); break; - case Gui::GuiActionType::KeepAlive: + case Gui::GuiActionType::idKeepAlive: // Nothing needs to be done. // KeepAlive has No data. // Mentioned in the switch/case to be registered as a valid message. @@ -146,47 +167,47 @@ LOG_EVENT(mSenderID + QString("CheckIn")); break; - case Gui::GuiActionType::Acknow: + case Gui::GuiActionType::idAcknow: // Nothing needs to be done. // Acknow has No data. // Mentioned in the switch/case to be registered as a valid message. break; - case Gui::GuiActionType::String: + case Gui::GuiActionType::idRawData: if (count) { vPayload = Format::fromVariant(vData[0]); } break; - case Gui::GuiActionType::AdjustBloodDialysateReq: + case Gui::GuiActionType::idAdjustBloodDialysateReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustBloodDialysateRequestData::toString(vData)); break; - case Gui::GuiActionType::AdjustDurationReq: + case Gui::GuiActionType::idAdjustDurationReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustDurationRequestData::toString(vData)); break; - case Gui::GuiActionType::AdjustUltrafiltrationStateReq: + case Gui::GuiActionType::idAdjustUltrafiltrationStateReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustUltrafiltrationStateRequestData::toString(vData)); break; - case Gui::GuiActionType::AdjustUltrafiltrationEditReq: + case Gui::GuiActionType::idAdjustUltrafiltrationEditReq: if (count) { vPayload = Format::fromVariant(vData); } LOG_EVENT(mSenderID + AdjustUltrafiltrationEditRequestData::toString(vData)); break; - case Gui::GuiActionType::AdjustUltrafiltrationConfirmReq: + case Gui::GuiActionType::idAdjustUltrafiltrationConfirmReq: if (count) { vPayload = Format::fromVariant(vData); } @@ -256,31 +277,31 @@ //qDebug() << vMessage.actionId; switch (vMessage.actionId) { // notice we are in receive mode // ----- Debug - case Gui::GuiActionType::CanBUSFaultCount : ok = canbusFaultCountData (vMessage, vData); break; + case Gui::GuiActionType::idCANBusFaultCount : ok = canbusFaultCountData (vMessage, vData); break; // ----- Datum - case Gui::GuiActionType::TreatmentTime : ok = treatmentTimeData (vMessage, vData); break; - case Gui::GuiActionType::BloodFlow : ok = bloodFlowData (vMessage, vData); break; - case Gui::GuiActionType::DialysateInletFlow : ok = dialysateInletFlowData (vMessage, vData); break; - case Gui::GuiActionType::DialysateOutletFlow : ok = dialysateOutletFlowData (vMessage, vData); break; - case Gui::GuiActionType::TreatmentRanges : ok = treatmentRangesData (vMessage, vData); break; - case Gui::GuiActionType::PressureOcclusion : ok = pressureOcclusionData (vMessage, vData); break; - case Gui::GuiActionType::TreatmentState : ok = treatmentStateData (vMessage, vData); break; + case Gui::GuiActionType::idTreatmentTime : ok = treatmentTimeData (vMessage, vData); break; + case Gui::GuiActionType::idBloodFlow : ok = bloodFlowData (vMessage, vData); break; + case Gui::GuiActionType::idDialysateInletFlow : ok = dialysateInletFlowData (vMessage, vData); break; + case Gui::GuiActionType::idDialysateOutletFlow : ok = dialysateOutletFlowData (vMessage, vData); break; + case Gui::GuiActionType::idTreatmentRanges : ok = treatmentRangesData (vMessage, vData); break; + case Gui::GuiActionType::idPressureOcclusion : ok = pressureOcclusionData (vMessage, vData); break; + case Gui::GuiActionType::idTreatmentState : ok = treatmentStateData (vMessage, vData); break; // ----- Events - case Gui::GuiActionType::Acknow : ok = true; break; - case Gui::GuiActionType::PowerOff : ok = powerOff (vMessage, vData); break; - case Gui::GuiActionType::PowerOffBroadcast : ok = true; LOG_EVENT("HD,PowerOff Warning"); break; - case Gui::GuiActionType::AlarmStatus : ok = alarmStatus (vMessage, vData); break; - case Gui::GuiActionType::AlarmTriggered : ok = alarmTriggered (vMessage, vData); break; - case Gui::GuiActionType::AlarmCleared : ok = alarmCleared (vMessage, vData); break; + case Gui::GuiActionType::idAcknow : ok = true; break; + case Gui::GuiActionType::idPowerOff : ok = powerOff (vMessage, vData); break; + case Gui::GuiActionType::idPowerOffBroadcast : ok = true; LOG_EVENT("HD,PowerOff Warning"); break; + case Gui::GuiActionType::idAlarmStatus : ok = alarmStatus (vMessage, vData); break; + case Gui::GuiActionType::idAlarmTriggered : ok = alarmTriggered (vMessage, vData); break; + case Gui::GuiActionType::idAlarmCleared : ok = alarmCleared (vMessage, vData); break; // Adjustment Response Messages - case Gui::GuiActionType::AdjustDurationRsp : ok = adjustDuration (vMessage, vData); break; - case Gui::GuiActionType::AdjustBloodDialysateRsp : ok = adjustBloodDialysate (vMessage, vData); break; - case Gui::GuiActionType::AdjustUltrafiltrationStateReq : ok = adjustUltrafiltrationState (vMessage, vData); break; - case Gui::GuiActionType::AdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; - case Gui::GuiActionType::AdjustUltrafiltrationConfirmRsp: ok = adjustUltrafiltrationConfirm (vMessage, vData); break; + case Gui::GuiActionType::idAdjustDurationRsp : ok = adjustDuration (vMessage, vData); break; + case Gui::GuiActionType::idAdjustBloodDialysateRsp : ok = adjustBloodDialysate (vMessage, vData); break; + case Gui::GuiActionType::idAdjustUltrafiltrationStateReq : ok = adjustUltrafiltrationState (vMessage, vData); break; + case Gui::GuiActionType::idAdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; + case Gui::GuiActionType::idAdjustUltrafiltrationConfirmRsp: ok = adjustUltrafiltrationConfirm (vMessage, vData); break; // unhandles messages: these will only be logged as received message // there has nothing been defined for these messages. @@ -290,6 +311,14 @@ return ok; } +#define EMIT_RECEIVE_SIGNAL(vID, vMODEL) \ +{ \ + vMODEL mModel; \ + ok = prepareData(vMessage, vID, mModel, vData); \ + if (ok) emit didActionReceive(mModel.data()); \ +} \ +break; + /*! * \brief MessageInterpreter::interpretMessage_DG * \details This method will be called @@ -310,17 +339,27 @@ vData.clear(); switch (vMessage.actionId) { // notice we are in receive mode - case Gui::GuiActionType::DGCheckIn: + case Gui::GuiActionType::idDGCheckIn: ok = true; LOG_EVENT(mSenderID + QString("DG,CheckIn," + QVariant(vData).toStringList().join(','))); break; - case Gui::GuiActionType::LoadCellReadings : ok = loadCellReadingsData (vMessage, vData); break; - case Gui::GuiActionType::TemperatureSensors : ok = temperatureSensorsData (vMessage, vData); break; + case Gui::GuiActionType::idDGROPumpData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGROPumpData , Model::MDGROPump ) + case Gui::GuiActionType::idDGPressuresData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGPressuresData , Model::MDGPressures ) + case Gui::GuiActionType::idDGDrainPumpData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGDrainPumpData , Model::MDGDrainPump ) + case Gui::GuiActionType::idDGOperationModeData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGOperationModeData , Model::MDGOperationMode ) + case Gui::GuiActionType::idDGReservoirData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGReservoirData , Model::MDGReservoir ) + case Gui::GuiActionType::idDGValvesStatesData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGValvesStatesData , Model::MDGValvesStates ) + case Gui::GuiActionType::idDGHeatersData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGHeatersData , Model::MDGHeaters ) + case Gui::GuiActionType::idDGLoadCellReadingsData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGLoadCellReadingsData , Model::MDGLoadCellReadings ) + case Gui::GuiActionType::idDGTemperaturesData : EMIT_RECEIVE_SIGNAL(Gui::GuiActionType::idDGTemperaturesData , Model::MDGTemperatures ) // unhandles messages: these will only be logged as received message // there has nothing been defined for these messages. - default : printUnhandled (vMessage ); break; + default : + printUnhandled (vMessage); + break; + } return ok; @@ -342,7 +381,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::CanBUSFaultCount) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idCANBusFaultCount) ) return ok; QVariantList mData; int index = 0; @@ -372,7 +411,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::TreatmentTime) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idTreatmentTime) ) return ok; Model::MTreatmentTime mData; ok = mData.fromByteArray(vMessage.data); @@ -397,7 +436,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::BloodFlow)) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idBloodFlow)) return ok; Model::MBloodFlow mData; ok = mData.fromByteArray(vMessage.data); @@ -422,7 +461,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::DialysateInletFlow) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idDialysateInletFlow) ) return ok; Model::MDialysateFlow mData; ok = mData.fromByteArray(vMessage.data); @@ -447,7 +486,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::DialysateOutletFlow) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idDialysateOutletFlow) ) return ok; Model::MOutletFlow mData; ok = mData.fromByteArray(vMessage.data); @@ -472,7 +511,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::TreatmentRanges) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idTreatmentRanges) ) return ok; Model::MTreatmentRanges mData; ok = mData.fromByteArray(vMessage.data); @@ -497,7 +536,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::PressureOcclusion) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idPressureOcclusion) ) return ok; Model::MPressureOcclusion mData; ok = mData.fromByteArray(vMessage.data); @@ -522,7 +561,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::TreatmentState) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idTreatmentState) ) return ok; Model::MTreatmentState mData; ok = mData.fromByteArray(vMessage.data); @@ -536,56 +575,7 @@ // ---------- ---------- ---------- ---------- ---------- - DG ---------- ---------- ---------- ---------- ---------- // -/*! - * \brief MessageInterpreter::loadCellReadingsData - * \details This method interprets Load Cell Readings 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 - Load Cell Readings data - * \return true if the data can be extracted as defined for Load Cell Readings Message ID - */ -bool MessageInterpreter::loadCellReadingsData(const Message &vMessage, QVariantList &vData) -{ - // TODO : review other methods - bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::LoadCellReadings) ) return ok; - Model::MLoadCellReadings mData; - ok = mData.fromByteArray(vMessage.data); - LOG_DATUM("DG," + mData.toString()); - - mData.toVariantList(vData); - emit didActionReceive(mData.data()); - - return ok; -} - -/*! - * \brief MessageInterpreter::temperatureSensorsData - * \details This method interprets Temperature Sensors 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 - Temperature Sensors data - * \return true if the data can be extracted as defined for Temperature Sensors Message ID - */ -bool MessageInterpreter::temperatureSensorsData(const Message &vMessage, QVariantList &vData) -{ - // TODO : review other methods - bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::TemperatureSensors) ) return ok; - - Model::MTemperatureSensors mData; - ok = mData.fromByteArray(vMessage.data); - LOG_DATUM("DG," + mData.toString()); - - mData.toVariantList(vData); - emit didActionReceive(mData.data()); - - return ok; -} - // ---------- ---------- ---------- ---------- ---------- Events ---------- ---------- ---------- ---------- ---------- // // ---------- ---------- ---------- ---------- ---------- - HD ---------- ---------- ---------- ---------- ---------- // @@ -602,7 +592,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::PowerOff) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idPowerOff) ) return ok; Model::MPowerOff mData; ok = mData.fromByteArray(vMessage.data); @@ -626,7 +616,7 @@ bool MessageInterpreter::alarmStatus(const Message &vMessage, QVariantList &vData) { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AlarmStatus) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAlarmStatus) ) return ok; Model::MAlarmStatus mData; ok = mData.fromByteArray(vMessage.data); @@ -659,7 +649,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AlarmTriggered) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAlarmTriggered) ) return ok; Model::MAlarmTriggered mData; ok = mData.fromByteArray(vMessage.data); @@ -684,7 +674,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AlarmCleared) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAlarmCleared) ) return ok; Model::MAlarmCleared mData; ok = mData.fromByteArray(vMessage.data); @@ -710,7 +700,7 @@ bool MessageInterpreter::adjustDuration(const Message &vMessage, QVariantList &vData) { bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AdjustDurationRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustDurationRsp) ) return ok; Model::MAdjustDurationResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -735,7 +725,7 @@ { // TODO : review other methods bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AdjustBloodDialysateRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustBloodDialysateRsp) ) return ok; Model::MAdjustBloodDialysateResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -760,7 +750,8 @@ { bool ok = false; // TODO : In HD the Ultrafiltration State change shall have the rejection reason like other responses. - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AdjustUltrafiltrationStateReq) ) return ok; + if ( ! isType (vMessage, Gui::GuiActionType::idAdjustUltrafiltrationStateReq) ) return ok; + if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::idAcknowGeneric ) ) return ok; Model::MAdjustUltrafiltrationStateResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -784,7 +775,7 @@ bool MessageInterpreter::adjustUltrafiltrationEdit(const Message &vMessage, QVariantList &vData) { bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AdjustUltrafiltrationEditRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustUltrafiltrationEditRsp) ) return ok; Model::MAdjustUltrafiltrationEditResponse mData; ok = mData.fromByteArray(vMessage.data); @@ -808,7 +799,7 @@ bool MessageInterpreter::adjustUltrafiltrationConfirm(const Message &vMessage, QVariantList &vData) { bool ok = false; - if ( ! isValidMessage(vMessage, Gui::GuiActionType::AdjustUltrafiltrationConfirmRsp) ) return ok; + if ( ! isValidMessage(vMessage, Gui::GuiActionType::idAdjustUltrafiltrationConfirmRsp) ) return ok; Model::MAdjustUltrafiltrationConfirmResponse mData; ok = mData.fromByteArray(vMessage.data); Index: sources/canbus/messageinterpreter.h =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/canbus/messageinterpreter.h (.../messageinterpreter.h) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/canbus/messageinterpreter.h (.../messageinterpreter.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -18,7 +18,7 @@ // Project #include "messageglobals.h" -#include "mmodel.h" +#include "MModel.h" // forward declaration class tst_messaging; @@ -62,17 +62,16 @@ bool pressureOcclusionData(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; bool treatmentStateData(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; - // ----- - DG - bool loadCellReadingsData(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; - bool temperatureSensorsData(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; - // ----- Events // ----- - HD bool powerOff(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; bool alarmStatus(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; bool alarmTriggered(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; bool alarmCleared(const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + // ----- - DG + bool prepareData (const Message &vMessage, Gui::GuiActionType vID, Model::MAbstract &vModel, QVariantList &vData); + // ----- Adjustments bool adjustDuration (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; bool adjustBloodDialysate (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; Index: sources/gui/guicontroller.cpp =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/gui/guicontroller.cpp (.../guicontroller.cpp) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/gui/guicontroller.cpp (.../guicontroller.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -177,7 +177,7 @@ // Process the GuiView Request. // It can be processed in GuiController take action and notify GuiView switch (vAction) { - case GuiActionType::PowerOff: + case GuiActionType::idPowerOff: //qApp->quit(); // GUI Controller decides (loop back) Index: sources/gui/guicontroller.h =================================================================== diff -u -reece7acacf84e8cc34b830f6b5ab3f112823a905 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/gui/guicontroller.h (.../guicontroller.h) (revision eece7acacf84e8cc34b830f6b5ab3f112823a905) +++ sources/gui/guicontroller.h (.../guicontroller.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -19,7 +19,7 @@ // Project #include "main.h" #include "guiglobals.h" -#include "mmodel.h" +#include "MModel.h" // define #define _GuiController GuiController::I() Index: sources/gui/guiglobals.cpp =================================================================== diff -u -reece7acacf84e8cc34b830f6b5ab3f112823a905 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/gui/guiglobals.cpp (.../guiglobals.cpp) (revision eece7acacf84e8cc34b830f6b5ab3f112823a905) +++ sources/gui/guiglobals.cpp (.../guiglobals.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -21,7 +21,7 @@ #include "guiview.h" // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" #include "valarmstatus.h" @@ -35,8 +35,15 @@ #include "vtreatmenttime.h" #include "vtreatmentranges.h" -#include "vloadcellreadings.h" -#include "vtemperaturesensors.h" +#include "VDGDrainPumpData.h" +#include "VDGHeatersData.h" +#include "VDGLoadCellReadingsData.h" +#include "VDGOperationModeData.h" +#include "VDGPressuresData.h" +#include "VDGROPumpData.h" +#include "VDGReservoirData.h" +#include "VDGTemperaturesData.h" +#include "VDGValvesStatesData.h" #include "vtreatmentadjustmentduration.h" #include "vtreatmentadjustmentflows.h" @@ -60,6 +67,9 @@ qRegisterMetaType ("GuiRequestReasons"); + // Note that this Models are not uded in the qml + // but Qt needs them to be registered to be able to use them in between threads queue + // by their metadata information. REGISTER_MODEL_METATYPES } Index: sources/gui/guiglobals.h =================================================================== diff -u -r2437559b2d4cd4c2ac6a926b4f55652e55e1f616 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/gui/guiglobals.h (.../guiglobals.h) (revision 2437559b2d4cd4c2ac6a926b4f55652e55e1f616) +++ sources/gui/guiglobals.h (.../guiglobals.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -39,55 +39,56 @@ * *** then it can be compared exactly the way it is with no conversion.***\n */ enum GuiActionsType_Enum /*: quint16 QML doesn't support enum types */ { - Unknown = 0x0000, + idUnknown = 0x0000, - PowerOff = 0x0100, + idCANBusFaultCount = 0x9909, - DGCheckIn = 0x0600, - KeepAlive = 0x0700, + idRawData = 0xFFFE, - BloodFlow = 0x0500, - DialysateInletFlow = 0x0800, - DialysateOutletFlow = 0x0B00, - TreatmentTime = 0x0D00, - PowerOffBroadcast = 0x0E00, + idAcknow = 0xFFFF, + idAcknowGeneric = 0x0000, //< Generic Acknowledgment is not a unique message ID and inherits its Id from the actual message. Zero is a placeholder - AlarmStatus = 0x0200, - AlarmTriggered = 0x0300, - AlarmCleared = 0x0400, + idDGCheckIn = 0x0600, + idKeepAlive = 0x0700, - LoadCellReadings = 0x0C00, + idPowerOff = 0x0100, + idPowerOffBroadcast = 0x0E00, + idTreatmentTime = 0x0D00, + idBloodFlow = 0x0500, + idDialysateInletFlow = 0x0800, + idDialysateOutletFlow = 0x0B00, + idTreatmentRanges = 0x1A00, // 26 + idPressureOcclusion = 0x0900, + idTreatmentState = 0x0F00, // 15 - PressureOcclusion = 0x0900, + idAlarmStatus = 0x0200, + idAlarmTriggered = 0x0300, + idAlarmCleared = 0x0400, - TemperatureSensors = 0x2D00, // 45 + idDGROPumpData = 0x1F00, // 31 + idDGPressuresData = 0x2000, // 32 + idDGDrainPumpData = 0x2400, // 36 + idDGOperationModeData = 0x2700, // 39 + idDGReservoirData = 0x2800, // 40 + idDGValvesStatesData = 0x2A00, // 42 + idDGHeatersData = 0x2C00, // 44 + idDGLoadCellReadingsData = 0x0C00, // 12 + idDGTemperaturesData = 0x2D00, // 45 - AdjustBloodDialysateReq = 0x1700, // 23 - AdjustBloodDialysateRsp = 0x1800, // 24 + idAdjustBloodDialysateReq = 0x1700, // 23 + idAdjustBloodDialysateRsp = 0x1800, // 24 - AdjustUltrafiltrationStateReq = 0x1000, // 16 - // AcknowGeneric : the response is the AcknowGeneric with the same msgID + idAdjustUltrafiltrationStateReq = 0x1000, // 16 + // idAcknowGeneric : the response is the AcknowGeneric with the same msgID - AdjustUltrafiltrationEditReq = 0x1100, // 17 - AdjustUltrafiltrationEditRsp = 0x1300, // 19 + idAdjustUltrafiltrationEditReq = 0x1100, // 17 + idAdjustUltrafiltrationEditRsp = 0x1300, // 19 - AdjustUltrafiltrationConfirmReq = 0x1500, // 21 - AdjustUltrafiltrationConfirmRsp = 0x2E00, // 46 + idAdjustUltrafiltrationConfirmReq = 0x1500, // 21 + idAdjustUltrafiltrationConfirmRsp = 0x2E00, // 46 - AdjustDurationReq = 0x1600, // 22 - AdjustDurationRsp = 0x1B00, // 27 - - TreatmentRanges = 0x1A00, // 26 - - TreatmentState = 0x0F00, // 15 - - CanBUSFaultCount = 0x9909, - - String = 0xFFFE, - - Acknow = 0xFFFF, - AcknowGeneric = 0x0000, //< Generic Acknowledgment is not a unique message ID and inherits its Id from the actual message. Zero is a placeholder - + idAdjustDurationReq = 0x1600, // 22 + idAdjustDurationRsp = 0x1B00, // 27 }; enum class GuiActionsData_Enum /*: quint8 QML doesn't support*/ { @@ -113,6 +114,9 @@ #include "MsgDefs.h" Q_ENUM(Request_Reject_Reasons) + + #include "DGDefs.h" + Q_ENUM(DG_Op_Modes) }; // to be able to use the enum as signal/slot parameter @@ -124,6 +128,8 @@ typedef GuiActions::Request_Reject_Reasons GuiRequestReasons; + typedef GuiActions::DG_Op_Modes GuiDGOpModes; + void registerTypes(); void registerQmlTypes(); Index: sources/gui/qml/main.qml =================================================================== diff -u -r8f71000a841da5e8f18efccbb30a7655d3a211cd -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/gui/qml/main.qml (.../main.qml) (revision 8f71000a841da5e8f18efccbb30a7655d3a211cd) +++ sources/gui/qml/main.qml (.../main.qml) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -36,8 +36,15 @@ import VTreatmentAdjustmentUltrafiltrationEdit 0.1; import VTreatmentAdjustmentUltrafiltrationConfirm 0.1; -import VLoadCellReadings 0.1; -import VTemperatureSensors 0.1; +import VDGDrainPump 0.1; +import VDGHeaters 0.1; +import VDGLoadCellReadings 0.1; +import VDGOperationMode 0.1; +import VDGPressures 0.1; +import VDGROPump 0.1; +import VDGReservoir 0.1; +import VDGTemperatures 0.1; +import VDGValvesStates 0.1; // Qml imports import "qrc:/globals" @@ -81,8 +88,15 @@ VTreatmentUltrafiltration { id: vTreatmentUltrafiltration } VTreatmentTime { id: vTreatmentTime } - VLoadCellReadings { id: vLoadCellReadings } - VTemperatureSensors { id: vTemperatureSensors } + VDGDrainPump { id: vDGDrainPump } + VDGHeaters { id: vDGHeaters } + VDGLoadCellReadings { id: vDGLoadCellReadings } + VDGOperationMode { id: vDGOperationMode } + VDGPressures { id: vDGPressures } + VDGROPump { id: vDGROPump } + VDGReservoir { id: vDGReservoir } + VDGTemperatures { id: vDGTemperatures } + VDGValvesStates { id: vDGValvesStates } VTreatmentAdjustmentDuration { id: vTreatmentAdjustmentDuration } VTreatmentAdjustmentFlows { id: vTreatmentAdjustmentFlows } Index: sources/gui/qml/pages/ManagerHome.qml =================================================================== diff -u -rcd7de5f6d239a11615ba8c6c03339a10996486ca -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/gui/qml/pages/ManagerHome.qml (.../ManagerHome.qml) (revision cd7de5f6d239a11615ba8c6c03339a10996486ca) +++ sources/gui/qml/pages/ManagerHome.qml (.../ManagerHome.qml) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -16,21 +16,320 @@ import QtQuick 2.12 // Project +import Gui.Actions 0.1; + // Qml imports import "qrc:/globals" import "qrc:/components" +//// The original code kept for later use +// ScreenItem { id: _root +// Column { +// spacing: Variables.columnSpacing +// anchors.centerIn: parent +// TitleText { id: _titleText +// width: parent.width +// text: qsTr("Manager Home Placeholder") +// } +// } +// } + /*! * \brief ManagerHome is the screen * which is the default screen in the "Manager" stack */ ScreenItem { id: _root - Column { - spacing: Variables.columnSpacing - anchors.centerIn: parent - TitleText { id: _titleText - width: parent.width - text: qsTr("Manager Home Placeholder") + + Text { id : _titleText + visible: true + anchors { + top : parent.top + left : parent.horizontalCenter + topMargin : (Variables.headerHeight - Variables.logoHeight) / 2 + horizontalCenter: parent.horizontalCenter } + text: qsTr("~ DG ~") + horizontalAlignment: Text.horizontalCenter + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle } + + Column { id: _DGROPumpColumn + width : 150 + spacing : -5 + topPadding : 75 + leftPadding : 50 + Text { + id: _DGROPump_Title + text: qsTr(" ROPmp ") + width: _DGROPumpColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Repeater { + model: [ + vDGROPump.pressure , + vDGROPump.flowRate .toFixed(2) , + vDGROPump.pwm .toFixed(2) + ] + Text { + objectName: "_DGROPump" + index + text: modelData + width: _DGROPumpColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } + + + Column { id: _DGPressuresColumn + width : 150 + spacing : -5 + topPadding : 75 + leftPadding : 250 + Text { + id: _DGPressures_Title + text: qsTr(" Prssr ") + width: _DGPressuresColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Repeater { + model: [ + vDGPressures.roInletPSI .toFixed(2) , + vDGPressures.roOutletPSI .toFixed(2) , + vDGPressures.drainInletPSI .toFixed(2) , + vDGPressures.drainOutletPSI .toFixed(2) + ] + Text { + objectName: "_DGPressures" + index + text: modelData + width: _DGPressuresColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } + + Column { id: _DGReservoirColumn + width : 150 + spacing : -5 + topPadding : 75 + leftPadding : 450 + Text { + id: _DGReservoir_Title + text: qsTr(" Rsrvr ") + width: _DGReservoirColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Repeater { + model: [ + vDGReservoir.activeReservoir , + vDGReservoir.fillToVol , + vDGReservoir.drainToVol , + ] + Text { + objectName: "_DGReservoir" + index + text: modelData + width: _DGReservoirColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } + + Column { id: _DGHeatersColumn + width : 150 + spacing : -5 + topPadding : 75 + leftPadding : 650 + Text { + id: _DGHeaters_Title + text: qsTr(" Heatrs ") + width: _DGHeatersColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Repeater { + model: [ + vDGHeaters.mainPrimaryDC , + vDGHeaters.smallPrimaryDC , + vDGHeaters.trimmerDC , + ] + Text { + objectName: "_DGHeaters" + index + text: modelData + width: _DGHeatersColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } + + Column { id: _LoadCellReadingsColumn + width : 150 + spacing : -5 + topPadding : 75 + leftPadding : 850 + Text { + id: _LoadCellReading_Title + text: qsTr(" LoadCl ") + width: _LoadCellReadingsColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Repeater { + model: [ + vDGLoadCellReadings.reservoir1Prim .toFixed(2) , + vDGLoadCellReadings.reservoir1Bkup .toFixed(2) , + vDGLoadCellReadings.reservoir2Prim .toFixed(2) , + vDGLoadCellReadings.reservoir2Bkup .toFixed(2) + ] + Text { + objectName: "_LoadCellReadings" + index + text: modelData + width: _LoadCellReadingsColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } + + Column { id: _DGTemperaturesColumn + width : 150 + spacing : -5 + topPadding : 75 + leftPadding : 1050 + Text { + id: _DGTemperatures_Title + text: qsTr(" Tmprtr ") + width: _DGTemperaturesColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Repeater { + model: [ + vDGTemperatures.inletPrimaryHeater .toFixed(2) , + vDGTemperatures.outletPrimaryHeater .toFixed(2) , + vDGTemperatures.conductivitySensor1 .toFixed(2) , + vDGTemperatures.conductivitySensor2 .toFixed(2) , + vDGTemperatures.outletRedundancy .toFixed(2) , + vDGTemperatures.inletDialysate .toFixed(2) , + vDGTemperatures.primaryHeaterThermoCouple .toFixed(2) , + vDGTemperatures.trimmerHeaterThermoCouple .toFixed(2) , + vDGTemperatures.primaryHeaterColdJunction .toFixed(2) , + vDGTemperatures.trimmerHeaterColdJunction .toFixed(2) , + vDGTemperatures.primaryHeaterInternal .toFixed(2) , + vDGTemperatures.trimmerHeaterInternal .toFixed(2) + ] + Text { + objectName: "_DGTemperatures" + index + text: modelData + width: _DGTemperaturesColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } + + // Row 2 + Column { id: _DGDrainPumpColumn + width : 150 + spacing : -5 + topPadding : 375 + leftPadding : 50 + Text { + id: _DGDrainPump_Title + text: qsTr(" DrnPmp ") + width: _DGDrainPumpColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Repeater { + model: [ + vDGDrainPump.rpm , + vDGDrainPump.dac , + ] + Text { + objectName: "_DGDrainPump" + index + text: modelData + width: _DGDrainPumpColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } + + // Row 3 + Column { id: _DGValvesStatesColumn + width : 300 + spacing : -5 + topPadding : 575 + leftPadding : 50 + Text { + id: _DGValvesStates_Title + text: qsTr(" Valves ") + width: _DGValvesStatesColumn.width + horizontalAlignment: Text.AlignLeft + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Text { + objectName: "_DGValvesStates" + text: vDGValvesStates.text + width: _DGValvesStatesColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + + Column { id: _DGOperationModeColumn + width : 300 + spacing : -5 + topPadding : 575 + leftPadding : 450 + Text { + id: _DGOperationMode_Title + text: qsTr(" Op Mode ") + width: _DGOperationModeColumn.width + horizontalAlignment: Text.AlignLeft + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + font.underline: true + } + Text { + objectName: "_DGOperationMode" + text: vDGOperationMode.text + width: _DGOperationModeColumn.width + horizontalAlignment: Text.AlignRight + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + } + } Index: sources/gui/qml/pages/SettingsHome.qml =================================================================== diff -u -r7d3062c841b788ced31d939dec990afe0de1442d -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/gui/qml/pages/SettingsHome.qml (.../SettingsHome.qml) (revision 7d3062c841b788ced31d939dec990afe0de1442d) +++ sources/gui/qml/pages/SettingsHome.qml (.../SettingsHome.qml) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -28,6 +28,20 @@ */ ScreenItem { id: _root + Text { id : _titleText + visible: true + anchors { + top : parent.top + left : parent.horizontalCenter + topMargin : (Variables.headerHeight - Variables.logoHeight) / 2 + horizontalCenter: parent.horizontalCenter + } + text: qsTr("~ HD ~") + horizontalAlignment: Text.horizontalCenter + color: Colors.textMain + font.pixelSize: Fonts.fontPixelTitle + } + USBButton { id: _usbButton anchors { top : parent.top @@ -88,9 +102,9 @@ } Column { id: _BloodFlowColumn - width: 150 - spacing: 20 - topPadding: 100 + width : 150 + spacing : 20 + topPadding : 75 leftPadding: 10 Text { id: _BloodFlow_Title @@ -124,7 +138,7 @@ Column { id: _DialysateInletFlowColumn width : 150 spacing : 20 - topPadding : 100 + topPadding : 75 leftPadding : 200 Text { id: _DialysateInletFlow_Title @@ -158,7 +172,7 @@ Column { id: _DialysateOutletFlowColumn width : 150 spacing : 20 - topPadding : 100 + topPadding : 75 leftPadding : 400 Text { id: _DialysateOutletFlow_Title @@ -192,7 +206,7 @@ Column { id: _PressureOcclusionColumn width : 150 spacing : 20 - topPadding : 100 + topPadding : 75 leftPadding : 600 Text { id: _PressureOcclusion_Title @@ -220,76 +234,4 @@ } } } - - Column { id: _LoadCellReadingsColumn - width : 150 - spacing : 20 - topPadding : 100 - leftPadding : 800 - Text { - id: _LoadCellReading_Title - text: qsTr(" LoadCl ") - width: _LoadCellReadingsColumn.width - horizontalAlignment: Text.AlignRight - color: Colors.textMain - font.pixelSize: Fonts.fontPixelTitle - font.underline: true - } - Repeater { - model: [ - vLoadCellReadings.reservoir1Prim .toFixed(2) , - vLoadCellReadings.reservoir1Bkup .toFixed(2) , - vLoadCellReadings.reservoir2Prim .toFixed(2) , - vLoadCellReadings.reservoir2Bkup .toFixed(2) - ] - Text { - objectName: "_LoadCellReadings" + index - text: modelData - width: _LoadCellReadingsColumn.width - horizontalAlignment: Text.AlignRight - color: Colors.textMain - font.pixelSize: Fonts.fontPixelTitle - } - } - } - - Column { id: _TemperatureSensorsColumn - width : 150 - spacing : -5 - topPadding : 100 - leftPadding : 1000 - Text { - id: _TemperatureSensors_Title - text: qsTr(" Temp ") - width: _TemperatureSensorsColumn.width - horizontalAlignment: Text.AlignRight - color: Colors.textMain - font.pixelSize: Fonts.fontPixelTitle - font.underline: true - } - Repeater { - model: [ - vTemperatureSensors.inletPrimaryHeater .toFixed(2) , - vTemperatureSensors.outletPrimaryHeater .toFixed(2) , - vTemperatureSensors.conductivitySensor1 .toFixed(2) , - vTemperatureSensors.conductivitySensor2 .toFixed(2) , - vTemperatureSensors.outletRedundancy .toFixed(2) , - vTemperatureSensors.inletDialysate .toFixed(2) , - vTemperatureSensors.primaryHeaterThermoCouple .toFixed(2) , - vTemperatureSensors.trimmerHeaterThermoCouple .toFixed(2) , - vTemperatureSensors.primaryHeaterColdJunction .toFixed(2) , - vTemperatureSensors.trimmerHeaterColdJunction .toFixed(2) , - vTemperatureSensors.primaryHeaterInternal .toFixed(2) , - vTemperatureSensors.trimmerHeaterInternal .toFixed(2) - ] - Text { - objectName: "_TemperatureSensors" + index - text: modelData - width: _TemperatureSensorsColumn.width - horizontalAlignment: Text.AlignRight - color: Colors.textMain - font.pixelSize: Fonts.fontPixelTitle - } - } - } } Index: sources/model/MAbstract.h =================================================================== diff -u --- sources/model/MAbstract.h (revision 0) +++ sources/model/MAbstract.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,20 @@ +#pragma once + +// Qt +#include +#include + +// Project + +namespace Model { + +class MAbstract { + +public: + virtual QString toString ( ) const = 0; + virtual void toVariantList ( QVariantList &vData ) const = 0; + virtual bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) = 0; + +}; + +} Index: sources/model/MModel.h =================================================================== diff -u --- sources/model/MModel.h (revision 0) +++ sources/model/MModel.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,265 @@ +/*! + * + * 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 models.h + * \date 3/4/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +#include "main.h" + +// models +#include "MAlarmStatusData.h" +#include "MPowerOff.h" + +#include "MTreatmentTimeData.h" +#include "MTreatmentFlowsData.h" +#include "MTreatmentOutletFlowData.h" +#include "MTreatmentPressureOcclusionData.h" +#include "MTreatmentRangesData.h" +#include "MAlarmTriggered.h" +#include "MAlarmCleared.h" +#include "MTreatmentStatesData.h" + +#include "MDGDrainPumpData.h" +#include "MDGHeatersData.h" +#include "MDGLoadCellReadingsData.h" +#include "MDGOperationModeData.h" +#include "MDGPressuresData.h" +#include "MDGReservoirData.h" +#include "MDGROPumpData.h" +#include "MDGTemperaturesData.h" +#include "MDGValvesStatesData.h" + +#include "MTreatmentAdjustBloodDialysateResponse.h" +#include "MTreatmentAdjustDurationResponse.h" +#include "MTreatmentAdjustUltrafiltrationStateResponse.h" +#include "MTreatmentAdjustUltrafiltrationEditResponse.h" +#include "MTreatmentAdjustUltrafiltrationConfirmResponse.h" +#include "MTreatmentAdjustRequests.h" + +/*! + * \brief Message interpretation instruction + * \details This comment explains how to add a Denali Message in Denali UI Application + * + * 1 - Look at the message structure in the "message list.xlsx" + * + * 2 - MSG ID : + * Add an enum for the message in the guiglobals.h : GuiActionsType_Enum + * and assign a correct message value to it. + * example : MSG ID = 9 => + * \code{.cpp} + * PressureOcclusion = 0x0900, //(little endian) + * \endcode + * + * 3 - MSG Payload Len : + * Add a line in the "messageglobals.h" in paloadLen hash table + * to define the required payload length of the message + * + * 4 - Model Implementation : + * Implement a model like MPressureOcclusion by copy/paste the closest model .h/.cpp file + * and adding it to project and modify to fit the new model. + * + * 5 - Register Model : + * Add the required lines like the other models in the mmodel.h file. + * + * 6 - Populate/Interpret Model Data : + * Copy/Paste one of the other implementations of the Messages setter/getter. + * example : be careful about the type. + * in the header should be like: + * \code{.cpp} + * bool pressureOcclusionData (const Message &vMessage, QVariantList &vData) __attribute_warn_unused_result__; + * \endcode + * in the implementation should be like: + * \code{.cpp} + * bool MessageInterpreter::pressureOcclusionData(const Message &vMessage, QVariantList &vData) + * { + * // TODO : review other methods + * bool ok = false; + * if ( ! isType (vMessage, Gui::GuiActionType::PressureOcclusion) ) return ok; + * if ( ! isPayloadLenValid(vMessage, Gui::GuiActionType::PressureOcclusion) ) return ok; + * + * Model::MPressureOcclusion mData; + * ok = mData.fromByteArray(vMessage.data); + * LOG_DATUM("HD," + mData.toString()); + * + * mData.toVariantList(vData); + * emit didActionReceive(mData.data()); + * + * return ok; + * } + * \endcode + * + * Add a case in MessageInterpreter::interpretMessage_HD for that message id Enum + * with lines like : + * \code{.cpp} + * case Gui::GuiActionType::PressureOcclusion: + * ok = pressureOcclusionData (vMessage, vData); + * break; + * \endcode + * + */ + +//--------------------------------------------------------------------------------// +//-------- 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( AlarmTriggeredData ) \ + REGISTER_METATYPE( AlarmClearedData ) \ + REGISTER_METATYPE( TreatmentStateData ) \ + \ + REGISTER_METATYPE( DGROPumpData ) \ + REGISTER_METATYPE( DGPressuresData ) \ + REGISTER_METATYPE( DGDrainPumpData ) \ + REGISTER_METATYPE( DGOperationModeData ) \ + REGISTER_METATYPE( DGReservoirData ) \ + REGISTER_METATYPE( DGValvesStatesData ) \ + REGISTER_METATYPE( DGHeatersData ) \ + REGISTER_METATYPE( DGLoadCellReadingsData ) \ + REGISTER_METATYPE( DGTemperaturesData ) \ + \ + REGISTER_METATYPE( AdjustBloodDialysateRequestData ) \ + REGISTER_METATYPE( AdjustDurationRequestData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationStateRequestData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationEditRequestData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationConfirmRequestData ) \ + \ + REGISTER_METATYPE( AdjustBloodDialysateResponseData ) \ + REGISTER_METATYPE( AdjustDurationResponseData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationStateResponseData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationEditResponseData ) \ + REGISTER_METATYPE( AdjustUltrafiltrationConfirmResponseData ) + +//===============================================================================// +#define ACTION_RECEIVE_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, BloodFlowData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DialysateFlowData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, OutletFlowData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentTimeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PressureOcclusionData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmStatusData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, PowerOffData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentRangesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmTriggeredData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmClearedData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentStateData ) \ + \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGROPumpData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPressuresData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGDrainPumpData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGOperationModeData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGReservoirData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGHeatersData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGLoadCellReadingsData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGTemperaturesData ) \ + \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationStateResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustBloodDialysateResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDurationResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmResponseData ) +//--------------------------------------------------------------------------------// +#define ADJUST_TRANSMT_MODEL_BRIDGE_CONNECTIONS(vSOURCE) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustBloodDialysateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDurationRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationStateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmRequestData ) +//===============================================================================// +#define ACTION_RECEIVE_MODEL_BRIDGE_DEFINITIONS \ + ACTION_RECEIVE_BRIDGE_DEFINITION( BloodFlowData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DialysateFlowData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( OutletFlowData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentTimeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( PressureOcclusionData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmStatusData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( PowerOffData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentRangesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmTriggeredData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmClearedData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentStateData ) \ + \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGROPumpData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGPressuresData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGDrainPumpData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGOperationModeData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGReservoirData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGValvesStatesData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGHeatersData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGLoadCellReadingsData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( DGTemperaturesData ) \ + \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationStateResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustBloodDialysateResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDurationResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationEditResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmResponseData ) +//--------------------------------------------------------------------------------// +#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustBloodDialysateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDurationRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationStateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationEditRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmRequestData ) +//--------------------------------------------------------------------------------// +#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_NOEMIT \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustBloodDialysateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDurationRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationStateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationEditRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationConfirmRequestData ) +//--------------------------------------------------------------------------------// +#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_PUBLIC \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustBloodDialysateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDurationRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationStateRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationEditRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustUltrafiltrationConfirmRequestData ) +//===============================================================================// +#define ACTION_RECEIVE_SIGNALS \ + ACTION_RECEIVE_SIGNAL( BloodFlowData ) \ + ACTION_RECEIVE_SIGNAL( DialysateFlowData ) \ + ACTION_RECEIVE_SIGNAL( OutletFlowData ) \ + ACTION_RECEIVE_SIGNAL( TreatmentTimeData ) \ + ACTION_RECEIVE_SIGNAL( PressureOcclusionData ) \ + ACTION_RECEIVE_SIGNAL( AlarmStatusData ) \ + ACTION_RECEIVE_SIGNAL( PowerOffData ) \ + ACTION_RECEIVE_SIGNAL( TreatmentRangesData ) \ + ACTION_RECEIVE_SIGNAL( AlarmTriggeredData ) \ + ACTION_RECEIVE_SIGNAL( AlarmClearedData ) \ + ACTION_RECEIVE_SIGNAL( TreatmentStateData ) \ + \ + ACTION_RECEIVE_SIGNAL( DGROPumpData ) \ + ACTION_RECEIVE_SIGNAL( DGPressuresData ) \ + ACTION_RECEIVE_SIGNAL( DGDrainPumpData ) \ + ACTION_RECEIVE_SIGNAL( DGOperationModeData ) \ + ACTION_RECEIVE_SIGNAL( DGReservoirData ) \ + ACTION_RECEIVE_SIGNAL( DGValvesStatesData ) \ + ACTION_RECEIVE_SIGNAL( DGHeatersData ) \ + ACTION_RECEIVE_SIGNAL( DGLoadCellReadingsData ) \ + ACTION_RECEIVE_SIGNAL( DGTemperaturesData ) \ + \ + ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationStateResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustBloodDialysateResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustDurationResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationEditResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustUltrafiltrationConfirmResponseData ) +//--------------------------------------------------------------------------------// +//--------------------------------------------------------------------------------// Index: sources/model/MPowerOff.cpp =================================================================== diff -u --- sources/model/MPowerOff.cpp (revision 0) +++ sources/model/MPowerOff.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,41 @@ +/*! + * + * 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 MPowerOff.cpp + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#include "MPowerOff.h" + +using namespace Model; + +MPowerOff::MPowerOff() { } + +// ----- TreatmentTime ----- +QString MPowerOff::toString() const { + return QString(stringPrefix + ",%1") + .arg(_data.mStatus.value); +} + +void MPowerOff::toVariantList(QVariantList &vData) const { + vData += _data.mStatus.value; +} + +bool MPowerOff::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mStatus )) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +MPowerOff::Data MPowerOff::data() const { + Data data; + data.mStatus = _data.mStatus.value; + return data; +} Index: sources/model/MPowerOff.h =================================================================== diff -u --- sources/model/MPowerOff.h (revision 0) +++ sources/model/MPowerOff.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,49 @@ +/*! + * + * 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 MPowerOff.h + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +namespace Model { + +class MPowerOff { +public: + QString stringPrefix = "PowerOff"; + struct Data { + quint8 mStatus = 0; + bool mShutDown = false; + }; + +private: + struct { + Types::U08 mStatus ; + } _data; + +public: + MPowerOff(); + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MPowerOff::Data PowerOffData; Index: sources/model/dg/data/MDGDrainPumpData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGDrainPumpData.cpp (revision 0) +++ sources/model/dg/data/MDGDrainPumpData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,43 @@ +/*! + * + * 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 MDGDrainPumpData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGDrainPumpData.h" + +using namespace Model; + +QString MDGDrainPump::toString() const { + return QString(stringPrefix + ",%1,%2") + .arg(_data.mRPM .value) + .arg(_data.mDAC .value); +} + +void MDGDrainPump::toVariantList(QVariantList &vData) const { + vData += _data.mRPM .value; + vData += _data.mDAC .value; +} + +bool MDGDrainPump::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mRPM )) + if (GetValue(vByteArray, index, _data.mDAC )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MDGDrainPump::Data MDGDrainPump::data() const { + Data data; + data.mRPM = _data.mRPM .value; + data.mDAC = _data.mDAC .value; + return data; +} Index: sources/model/dg/data/MDGDrainPumpData.h =================================================================== diff -u --- sources/model/dg/data/MDGDrainPumpData.h (revision 0) +++ sources/model/dg/data/MDGDrainPumpData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,56 @@ +/*! + * + * 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 MDGDrainPumpData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGDrainPump : public MAbstract { + + // friends + friend class ::tst_models; + + // DG Drain Pump Data (U32) Set pt. RPM (U32) DAC value + QString stringPrefix = "D,DG,Drain Pump"; + struct { + Types::U32 mRPM ; + Types::U32 mDAC ; + } _data; + +public: + struct Data { + quint32 mRPM = 0; /*!< Reservoir1 Prim value of type float extracted out */ + quint32 mDAC = 0; /*!< Reservoir2 Bkup value of type float extracted out */ + }; + + MDGDrainPump () {} + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) ; + Data data ( ) const ; +}; + +} + +typedef Model::MDGDrainPump::Data DGDrainPumpData; Index: sources/model/dg/data/MDGHeatersData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGHeatersData.cpp (revision 0) +++ sources/model/dg/data/MDGHeatersData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,48 @@ +/*! + * + * 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 MDGHeatersData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGHeatersData.h" + +using namespace Model; + +QString MDGHeaters::toString() const { + return QString(stringPrefix + ",%1,%2,%3") + .arg(_data.mMainPrimaryDC .value) + .arg(_data.mSmallPrimaryDC .value) + .arg(_data.mTrimmerDC .value); +} + +void MDGHeaters::toVariantList(QVariantList &vData) const { + vData += _data.mMainPrimaryDC .value; + vData += _data.mSmallPrimaryDC .value; + vData += _data.mTrimmerDC .value; +} + +bool MDGHeaters::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mMainPrimaryDC )) + if (GetValue(vByteArray, index, _data.mSmallPrimaryDC )) + if (GetValue(vByteArray, index, _data.mTrimmerDC )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MDGHeaters::Data MDGHeaters::data() const { + Data data; + data.mMainPrimaryDC = _data.mMainPrimaryDC .value; + data.mSmallPrimaryDC = _data.mSmallPrimaryDC .value; + data.mTrimmerDC = _data.mTrimmerDC .value; + return data; +} Index: sources/model/dg/data/MDGHeatersData.h =================================================================== diff -u --- sources/model/dg/data/MDGHeatersData.h (revision 0) +++ sources/model/dg/data/MDGHeatersData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,58 @@ +/*! + * + * 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 MDGHeatersData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGHeaters : public MAbstract { + + // friends + friend class ::tst_models; + + // Heaters Data (U32) mainPrimaryDC (U32) smallPrimaryDC (U32) trimmerDC + QString stringPrefix = "D,DG,Heaters"; + struct { + Types::U32 mMainPrimaryDC ; + Types::U32 mSmallPrimaryDC ; + Types::U32 mTrimmerDC ; + } _data; + +public: + struct Data { + quint32 mMainPrimaryDC = 0; /*!< Reservoir1 Prim value of type float extracted out */ + quint32 mSmallPrimaryDC = 0; /*!< Reservoir1 Bkup value of type float extracted out */ + quint32 mTrimmerDC = 0; /*!< Reservoir2 Prim value of type float extracted out */ + }; + + MDGHeaters () {} + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) ; + Data data ( ) const ; +}; + +} + +typedef Model::MDGHeaters::Data DGHeatersData; Index: sources/model/dg/data/MDGLoadCellReadingsData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGLoadCellReadingsData.cpp (revision 0) +++ sources/model/dg/data/MDGLoadCellReadingsData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,53 @@ +/*! + * + * 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 MDGLoadCellReadingsData.cpp + * \date 6/10/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGLoadCellReadingsData.h" + +using namespace Model; + +QString MDGLoadCellReadings::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4") + .arg(_data.mReservoir1Prim .value) + .arg(_data.mReservoir1Bkup .value) + .arg(_data.mReservoir2Prim .value) + .arg(_data.mReservoir2Bkup .value); +} + +void MDGLoadCellReadings::toVariantList(QVariantList &vData) const { + vData += _data.mReservoir1Prim .value; + vData += _data.mReservoir1Bkup .value; + vData += _data.mReservoir2Prim .value; + vData += _data.mReservoir2Bkup .value; +} + +bool MDGLoadCellReadings::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mReservoir1Prim )) + if (GetValue(vByteArray, index, _data.mReservoir1Bkup )) + if (GetValue(vByteArray, index, _data.mReservoir2Prim )) + if (GetValue(vByteArray, index, _data.mReservoir2Bkup )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MDGLoadCellReadings::Data MDGLoadCellReadings::data() const { + Data data; + data.mReservoir1Prim = _data.mReservoir1Prim .value; + data.mReservoir1Bkup = _data.mReservoir1Bkup .value; + data.mReservoir2Prim = _data.mReservoir2Prim .value; + data.mReservoir2Bkup = _data.mReservoir2Bkup .value; + return data; +} Index: sources/model/dg/data/MDGLoadCellReadingsData.h =================================================================== diff -u --- sources/model/dg/data/MDGLoadCellReadingsData.h (revision 0) +++ sources/model/dg/data/MDGLoadCellReadingsData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,60 @@ +/*! + * + * 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 MDGLoadCellReadingsData.h + * \date 6/10/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGLoadCellReadings : public MAbstract { + + // friends + friend class ::tst_models; + + // Load Cell Readings Data Rs1 Prim. (F32) Rs1 Bkup (F32) Rs2 Prim. (F32) Rs2 Bkup (F32) + QString stringPrefix = "D,DG,Load Cell"; + struct { + Types::F32 mReservoir1Prim ; + Types::F32 mReservoir1Bkup ; + Types::F32 mReservoir2Prim ; + Types::F32 mReservoir2Bkup ; + } _data; + +public: + struct Data { + float mReservoir1Prim = 0; /*!< Reservoir1 Prim value of type float extracted out */ + float mReservoir1Bkup = 0; /*!< Reservoir1 Bkup value of type float extracted out */ + float mReservoir2Prim = 0; /*!< Reservoir2 Prim value of type float extracted out */ + float mReservoir2Bkup = 0; /*!< Reservoir2 Bkup value of type float extracted out */ + }; + + MDGLoadCellReadings () {} + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) ; + Data data ( ) const ; +}; + +} + +typedef Model::MDGLoadCellReadings::Data DGLoadCellReadingsData; Index: sources/model/dg/data/MDGOperationModeData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGOperationModeData.cpp (revision 0) +++ sources/model/dg/data/MDGOperationModeData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,38 @@ +/*! + * + * 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 MDGOperationModeData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGOperationModeData.h" + +using namespace Model; + +QString MDGOperationMode::toString() const { + return QString(stringPrefix + ",%1") + .arg(_data.mOpMode .value); +} + +void MDGOperationMode::toVariantList(QVariantList &vData) const { + vData += _data.mOpMode .value; +} + +bool MDGOperationMode::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mOpMode )) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +MDGOperationMode::Data MDGOperationMode::data() const { + Data data; + data.mOpMode = _data.mOpMode .value; + return data; +} Index: sources/model/dg/data/MDGOperationModeData.h =================================================================== diff -u --- sources/model/dg/data/MDGOperationModeData.h (revision 0) +++ sources/model/dg/data/MDGOperationModeData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,54 @@ +/*! + * + * 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 MDGOperationModeData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGOperationMode : public MAbstract { + + // friends + friend class ::tst_models; + + // DG Operation Mode (U32) DG Op Mode + QString stringPrefix = "D,DG,Op Mode"; + struct { + Types::U32 mOpMode ; + } _data; + +public: + struct Data { + quint32 mOpMode = 0; /*!< Reservoir1 Prim value of type float extracted out */ + }; + + MDGOperationMode () {} + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) ; + Data data ( ) const ; +}; + +} + +typedef Model::MDGOperationMode::Data DGOperationModeData; Index: sources/model/dg/data/MDGPressuresData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGPressuresData.cpp (revision 0) +++ sources/model/dg/data/MDGPressuresData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,53 @@ +/*! + * + * 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 MDGPressuresData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGPressuresData.h" + +using namespace Model; + +QString MDGPressures::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4") + .arg(_data.mROInletPSI .value) + .arg(_data.mROOutletPSI .value) + .arg(_data.mDrainInletPSI .value) + .arg(_data.mDrainOutletPSI .value); +} + +void MDGPressures::toVariantList(QVariantList &vData) const { + vData += _data.mROInletPSI .value; + vData += _data.mROOutletPSI .value; + vData += _data.mDrainInletPSI .value; + vData += _data.mDrainOutletPSI .value; +} + +bool MDGPressures::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mROInletPSI )) + if (GetValue(vByteArray, index, _data.mROOutletPSI )) + if (GetValue(vByteArray, index, _data.mDrainInletPSI )) + if (GetValue(vByteArray, index, _data.mDrainOutletPSI )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MDGPressures::Data MDGPressures::data() const { + Data data; + data.mROInletPSI = _data.mROInletPSI .value; + data.mROOutletPSI = _data.mROOutletPSI .value; + data.mDrainInletPSI = _data.mDrainInletPSI .value; + data.mDrainOutletPSI = _data.mDrainOutletPSI .value; + return data; +} Index: sources/model/dg/data/MDGPressuresData.h =================================================================== diff -u --- sources/model/dg/data/MDGPressuresData.h (revision 0) +++ sources/model/dg/data/MDGPressuresData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,60 @@ +/*! + * + * 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 MDGPressuresData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGPressures : public MAbstract { + + // friends + friend class ::tst_models; + + // DG Pressures Data (F32) RO inlet PSI (F32) RO outlet PSI (F32) Drain inlet PSI (F32) Drain outlet PSI + QString stringPrefix = "D,DG,Pressures"; + struct { + Types::F32 mROInletPSI ; + Types::F32 mROOutletPSI ; + Types::F32 mDrainInletPSI ; + Types::F32 mDrainOutletPSI ; + } _data; + +public: + struct Data { + float mROInletPSI = 0; /*!< Reservoir1 Prim value of type float extracted out */ + float mROOutletPSI = 0; /*!< Reservoir1 Bkup value of type float extracted out */ + float mDrainInletPSI = 0; /*!< Reservoir2 Prim value of type float extracted out */ + float mDrainOutletPSI = 0; /*!< Reservoir2 Bkup value of type float extracted out */ + }; + + MDGPressures () {} + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) ; + Data data ( ) const ; +}; + +} + +typedef Model::MDGPressures::Data DGPressuresData; Index: sources/model/dg/data/MDGROPumpData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGROPumpData.cpp (revision 0) +++ sources/model/dg/data/MDGROPumpData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,48 @@ +/*! + * + * 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 MDGROPumpData.cpp + * \date 7/1/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGROPumpData.h" + +using namespace Model; + +QString MDGROPump::toString() const { + return QString(stringPrefix + ",%1,%2,%3") + .arg(_data.mPressure.value) + .arg(_data.mFlowRate.value) + .arg(_data.mPWM .value); +} + +void MDGROPump::toVariantList(QVariantList &vData) const { + vData += _data.mPressure.value; + vData += _data.mFlowRate.value; + vData += _data.mPWM .value; +} + +bool MDGROPump::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mPressure)) + if (GetValue(vByteArray, index, _data.mFlowRate)) + if (GetValue(vByteArray, index, _data.mPWM )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MDGROPump::Data MDGROPump::data() const { + Data data; + data.mPressure = _data.mPressure.value; + data.mFlowRate = _data.mFlowRate.value; + data.mPWM = _data.mPWM .value; + return data; +} Index: sources/model/dg/data/MDGROPumpData.h =================================================================== diff -u --- sources/model/dg/data/MDGROPumpData.h (revision 0) +++ sources/model/dg/data/MDGROPumpData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,59 @@ +/*! + * + * 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 MDGROPump.h + * \date 7/1/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGROPump : public MAbstract { + + // friends + friend class ::tst_models; + + // DG RO Pump Data (U32) Set pt. pressure (F32) flow rate (F32) PWM + QString stringPrefix = "D,DG,RO Pump"; + struct { + Types::U32 mPressure ; + Types::F32 mFlowRate ; + Types::F32 mPWM ; + } _data; + +public: + struct Data { + quint32 mPressure = 0; /*!< ArterialPressure value of type float extracted out */ + float mFlowRate = 0; /*!< VenousPressure value of type float extracted out */ + float mPWM = 0; /*!< BloodPumpOcclusion value of type float extracted out */ + }; + + MDGROPump () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MDGROPump::Data DGROPumpData; Index: sources/model/dg/data/MDGReservoirData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGReservoirData.cpp (revision 0) +++ sources/model/dg/data/MDGReservoirData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,48 @@ +/*! + * + * 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 MDGReservoirData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGReservoirData.h" + +using namespace Model; + +QString MDGReservoir::toString() const { + return QString(stringPrefix + ",%1,%2,%3") + .arg(_data.mActiveReservoir .value) + .arg(_data.mFillToVol .value) + .arg(_data.mDrainToVol .value); +} + +void MDGReservoir::toVariantList(QVariantList &vData) const { + vData += _data.mActiveReservoir .value; + vData += _data.mFillToVol .value; + vData += _data.mDrainToVol .value; +} + +bool MDGReservoir::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mActiveReservoir )) + if (GetValue(vByteArray, index, _data.mFillToVol )) + if (GetValue(vByteArray, index, _data.mDrainToVol )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MDGReservoir::Data MDGReservoir::data() const { + Data data; + data.mActiveReservoir = _data.mActiveReservoir .value; + data.mFillToVol = _data.mFillToVol .value; + data.mDrainToVol = _data.mDrainToVol .value; + return data; +} Index: sources/model/dg/data/MDGReservoirData.h =================================================================== diff -u --- sources/model/dg/data/MDGReservoirData.h (revision 0) +++ sources/model/dg/data/MDGReservoirData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,58 @@ +/*! + * + * 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 MDGReservoirData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGReservoir : public MAbstract { + + // friends + friend class ::tst_models; + + // DG Reservoir Data (U32) active reservoir (U32) Fill to vol (mL) (U32) Drain to vol (mL) + QString stringPrefix = "D,DG,Reservoir"; + struct { + Types::U32 mActiveReservoir ; + Types::U32 mFillToVol ; + Types::U32 mDrainToVol ; + } _data; + +public: + struct Data { + quint32 mActiveReservoir = 0; + quint32 mFillToVol = 0; + quint32 mDrainToVol = 0; + }; + + MDGReservoir () {} + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) ; + Data data ( ) const ; +}; + +} + +typedef Model::MDGReservoir::Data DGReservoirData; Index: sources/model/dg/data/MDGTemperaturesData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGTemperaturesData.cpp (revision 0) +++ sources/model/dg/data/MDGTemperaturesData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,93 @@ +/*! + * + * 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 MDGTemperaturesData.cpp + * \date 6/12/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGTemperaturesData.h" + +using namespace Model; + +QString MDGTemperatures::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5,%6,%7,%8,%9,%10,%11,%12") + .arg(_data.mInletPrimaryHeater .value) + .arg(_data.mOutletPrimaryHeater .value) + .arg(_data.mConductivitySensor1 .value) + .arg(_data.mConductivitySensor2 .value) + .arg(_data.mOutletRedundancy .value) + .arg(_data.mInletDialysate .value) + .arg(_data.mPrimaryHeaterThermoCouple .value) + .arg(_data.mTrimmerHeaterThermoCouple .value) + .arg(_data.mPrimaryHeaterColdJunction .value) + .arg(_data.mTrimmerHeaterColdJunction .value) + .arg(_data.mPrimaryHeaterInternal .value) + .arg(_data.mTrimmerHeaterInternal .value); +} + +void MDGTemperatures::toVariantList(QVariantList &vData) const { + vData += _data.mInletPrimaryHeater .value; + vData += _data.mOutletPrimaryHeater .value; + vData += _data.mConductivitySensor1 .value; + vData += _data.mConductivitySensor2 .value; + vData += _data.mOutletRedundancy .value; + vData += _data.mInletDialysate .value; + vData += _data.mPrimaryHeaterThermoCouple .value; + vData += _data.mTrimmerHeaterThermoCouple .value; + vData += _data.mPrimaryHeaterColdJunction .value; + vData += _data.mTrimmerHeaterColdJunction .value; + vData += _data.mPrimaryHeaterInternal .value; + vData += _data.mTrimmerHeaterInternal .value; +} + +bool MDGTemperatures::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mInletPrimaryHeater )) + if (GetValue(vByteArray, index, _data.mOutletPrimaryHeater )) + if (GetValue(vByteArray, index, _data.mConductivitySensor1 )) + if (GetValue(vByteArray, index, _data.mConductivitySensor2 )) + if (GetValue(vByteArray, index, _data.mOutletRedundancy )) + if (GetValue(vByteArray, index, _data.mInletDialysate )) + if (GetValue(vByteArray, index, _data.mPrimaryHeaterThermoCouple )) + if (GetValue(vByteArray, index, _data.mTrimmerHeaterThermoCouple )) + if (GetValue(vByteArray, index, _data.mPrimaryHeaterColdJunction )) + if (GetValue(vByteArray, index, _data.mTrimmerHeaterColdJunction )) + if (GetValue(vByteArray, index, _data.mPrimaryHeaterInternal )) + if (GetValue(vByteArray, index, _data.mTrimmerHeaterInternal )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MDGTemperatures::Data MDGTemperatures::data() const { + Data data; + data.mInletPrimaryHeater = _data.mInletPrimaryHeater .value; + data.mOutletPrimaryHeater = _data.mOutletPrimaryHeater .value; + data.mConductivitySensor1 = _data.mConductivitySensor1 .value; + data.mConductivitySensor2 = _data.mConductivitySensor2 .value; + data.mOutletRedundancy = _data.mOutletRedundancy .value; + data.mInletDialysate = _data.mInletDialysate .value; + data.mPrimaryHeaterThermoCouple = _data.mPrimaryHeaterThermoCouple .value; + data.mTrimmerHeaterThermoCouple = _data.mTrimmerHeaterThermoCouple .value; + data.mPrimaryHeaterColdJunction = _data.mPrimaryHeaterColdJunction .value; + data.mTrimmerHeaterColdJunction = _data.mTrimmerHeaterColdJunction .value; + data.mPrimaryHeaterInternal = _data.mPrimaryHeaterInternal .value; + data.mTrimmerHeaterInternal = _data.mTrimmerHeaterInternal .value; + return data; +} Index: sources/model/dg/data/MDGTemperaturesData.h =================================================================== diff -u --- sources/model/dg/data/MDGTemperaturesData.h (revision 0) +++ sources/model/dg/data/MDGTemperaturesData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,80 @@ +/*! + * + * 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 MDGTemperaturesData.h + * \date 6/12/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGTemperatures : public MAbstract { + + // friends + friend class ::tst_models; + + // DG Temperatures Data 1 - F32 Inlet primary heater 5 - F32 Outlet redundancy 9 - F32 Primary heater cold junction + // 2 - F32 Outlet primary heater 6 - F32 Inlet dialysate 10 - F32 Trimmer heater cold junction + // 3 - F32 Conductivity sensor 1 7 - F32 Primary heater thermo-couple 11 - F32 Primary heater internal temperature + // 4 - F32 Conductivity sensor 2 8 - F32 Trimmer heater thermo-couple 12 - F32 Trimmer heater internal temperature + QString stringPrefix = "D,DG,Temperatures"; + struct { + Types::F32 mInletPrimaryHeater ; + Types::F32 mOutletPrimaryHeater ; + Types::F32 mConductivitySensor1 ; + Types::F32 mConductivitySensor2 ; + Types::F32 mOutletRedundancy ; + Types::F32 mInletDialysate ; + Types::F32 mPrimaryHeaterThermoCouple ; + Types::F32 mTrimmerHeaterThermoCouple ; + Types::F32 mPrimaryHeaterColdJunction ; + Types::F32 mTrimmerHeaterColdJunction ; + Types::F32 mPrimaryHeaterInternal ; + Types::F32 mTrimmerHeaterInternal ; + } _data; + +public: + struct Data { + float mInletPrimaryHeater = 0; ///< Inlet primary heaters temperature + float mOutletPrimaryHeater = 0; ///< Outlet primary heaters temperature + float mConductivitySensor1 = 0; ///< Conductivity sensor 1 temperature + float mConductivitySensor2 = 0; ///< Conductivity sensor 2 temperature + float mOutletRedundancy = 0; ///< Outlet redundancy temperature + float mInletDialysate = 0; ///< Inlet dialysate temperature + float mPrimaryHeaterThermoCouple = 0; ///< Primary heaters internal temperature + float mTrimmerHeaterThermoCouple = 0; ///< Trimmer heater internal temperature + float mPrimaryHeaterColdJunction = 0; ///< Primary heaters cold junction temperature + float mTrimmerHeaterColdJunction = 0; ///< Trimmer heater cold junction temperature + float mPrimaryHeaterInternal = 0; ///< Primary heaters internal temperature + float mTrimmerHeaterInternal = 0; ///< Trimmer heater internal temperature + }; + + MDGTemperatures() { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MDGTemperatures::Data DGTemperaturesData; Index: sources/model/dg/data/MDGValvesStatesData.cpp =================================================================== diff -u --- sources/model/dg/data/MDGValvesStatesData.cpp (revision 0) +++ sources/model/dg/data/MDGValvesStatesData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,40 @@ +/*! + * + * 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 MDGValvesStatesData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MDGValvesStatesData.h" + +using namespace Model; + +QString MDGValvesStates::toString() const { + return QString(stringPrefix + ",%1") + .arg(_data.mStates.toString("")); +} + +void MDGValvesStates::toVariantList(QVariantList &vData) const { + for (int i = 0; i < _data.mStates.count(); i++) { + vData += _data.mStates.at(i); + } +} + +bool MDGValvesStates::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetBits (vByteArray, index, _data.mStates, eFlag_Bits_Length)) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +MDGValvesStates::Data MDGValvesStates::data() const { + Data data; + data.mStates = _data.mStates; + return data; +} Index: sources/model/dg/data/MDGValvesStatesData.h =================================================================== diff -u --- sources/model/dg/data/MDGValvesStatesData.h (revision 0) +++ sources/model/dg/data/MDGValvesStatesData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,75 @@ +/*! + * + * 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 MDGValvesStatesData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MDGValvesStates : public MAbstract { + + // friends + friend class ::tst_models; + +public: + enum Flag { + eFlag_ValveStates_01 = 0, + eFlag_ValveStates_02 , + eFlag_ValveStates_03 , + eFlag_ValveStates_04 , + eFlag_ValveStates_05 , + eFlag_ValveStates_06 , + eFlag_ValveStates_07 , + eFlag_ValveStates_08 , + eFlag_ValveStates_09 , + eFlag_ValveStates_10 , + eFlag_ValveStates_11 , + eFlag_ValveStates_12 , + eFlag_Bits_Length = 16, + }; + +private: + // DG Valves States (U16) Valves States + QString stringPrefix = "D,DG,Valves States"; + struct { + Types::Flags mStates ; + } _data; + +public: + struct Data { + QBitArray mStates ; + }; + + MDGValvesStates () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MDGValvesStates::Data DGValvesStatesData; +typedef Model::MDGValvesStates::Flag DGValvesStatesFlag; + Index: sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.cpp (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,53 @@ +/*! + * + * 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 MTreatmentAdjustBloodDialysateResponse.cpp + * \date 3/23/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentAdjustBloodDialysateResponse.h" + +using namespace Model; + +QString MAdjustBloodDialysateResponse::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4") + .arg(_data.mAccepted .value) + .arg(_data.mReason .value) + .arg(_data.mBloodRate .value) + .arg(_data.mDialydateReate .value); +} + +void MAdjustBloodDialysateResponse::toVariantList(QVariantList &vData) const { + vData += _data.mAccepted .value; + vData += _data.mReason .value; + vData += _data.mBloodRate .value; + vData += _data.mDialydateReate .value; +} + +bool MAdjustBloodDialysateResponse::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 )) + if (GetValue(vByteArray, index, _data.mBloodRate )) + if (GetValue(vByteArray, index, _data.mDialydateReate )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +AdjustBloodDialysateResponseData MAdjustBloodDialysateResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mReason = _data.mReason .value; + data.mBloodRate = _data.mBloodRate .value; + data.mDialydateReate = _data.mDialydateReate .value; + return data; +} Index: sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.h (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,61 @@ +/*! + * + * 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 MTreatmentAdjustBloodDialysateResponse.h + * \date 3/23/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MAdjustBloodDialysateResponse { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Adjust Blood/Dialisate"; + struct Data { + bool mAccepted = 0; /*!< Accepted value of type quint32 extracted out */ + quint32 mReason = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mBloodRate = 0; /*!< BloodRate value of type quint32 extracted out */ + quint32 mDialydateReate = 0; /*!< DialydateReate value of type quint32 extracted out */ + }; + +private: + struct { + Types::U32 mAccepted ; + Types::U32 mReason ; + Types::U32 mBloodRate ; + Types::U32 mDialydateReate ; + } _data; + +public: + MAdjustBloodDialysateResponse () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MAdjustBloodDialysateResponse::Data AdjustBloodDialysateResponseData; Index: sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.cpp (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,53 @@ +/*! + * + * 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 MTreatmentAdjustDurationResponse.cpp + * \date 4/27/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentAdjustDurationResponse.h" + +using namespace Model; + +QString MAdjustDurationResponse::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4") + .arg(_data.mAccepted .value) + .arg(_data.mReason .value) + .arg(_data.mDuration .value) + .arg(_data.mUFVolume .value); +} + +void MAdjustDurationResponse::toVariantList(QVariantList &vData) const { + vData += _data.mAccepted .value; + vData += _data.mReason .value; + vData += _data.mDuration .value; + vData += _data.mUFVolume .value; +} + +bool MAdjustDurationResponse::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 )) + if (GetValue(vByteArray, index, _data.mDuration )) + if (GetValue(vByteArray, index, _data.mUFVolume )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +AdjustDurationResponseData MAdjustDurationResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mReason = _data.mReason .value; + data.mDuration = _data.mDuration .value; + data.mUFVolume = _data.mUFVolume .value; + return data; +} Index: sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.h (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,61 @@ +/*! + * + * 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 MTreatmentAdjustDurationResponse.h + * \date 4/27/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MAdjustDurationResponse { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Adjust Duration"; + struct Data { + bool mAccepted = 0; /*!< Accepted value of type quint32 extracted out */ + quint32 mReason = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mDuration = 0; /*!< Duration value of type quint32 extracted out */ + float mUFVolume = 0; /*!< UF Volume value of type quint32 extracted out */ + }; + +private: + struct { + Types::U32 mAccepted ; + Types::U32 mReason ; + Types::U32 mDuration ; + Types::F32 mUFVolume ; + } _data; + +public: + MAdjustDurationResponse () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MAdjustDurationResponse::Data AdjustDurationResponseData; Index: sources/model/hd/adjustment/MTreatmentAdjustRequests.h =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustRequests.h (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustRequests.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,116 @@ +/*! + * + * 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 mtreatmentadjustrequests.h + * \date 2020/06/08 + * \author Behrouz NematiPour + * + */ + +#pragma once + +// Qt +#include + +namespace Model { + +#include "HDDefs.h" + +/*! + * Simple request models + * These are models to send the request for the doAdjustmet + * The the only reason thy have been defined to help overloadding the adjusmtent methods + * Otherwise the parameters are so tiny models. + */ + +#include + +class MModel { +protected: + static QString toString (const QString &vStringPrefix, const QVariant &vParameters) { + return QString(vStringPrefix + "," + vParameters.toStringList().join(',')); + }; +}; + +class MAdjustBloodDialysateReq : public MModel { +public: + quint32 bloodFlow = 0; + quint32 dialysateFlow = 0; + + QString toString() { + return toString({bloodFlow , dialysateFlow}); + } + + static QString toString(const QVariantList &vParameters) { + return MModel::toString("Adjust Blood/Dialysate", vParameters); + } +}; + +class MAdjustDurationReq : public MModel { +public: + quint32 duration = 0; + + QString toString() { + return toString({duration}); + } + static QString toString(const QVariantList &vParameters) { + return MModel::toString("Adjust Duration", vParameters); + } +}; + +class MAdjustUltrafiltrationStateReq : public MModel { +public: + enum State{ + ePaused = 0, + eRunning = 1, + }; + State requestedState = ePaused; // the requested state. Initially it's running => paused. + + QString toString() { + return toString({requestedState}); + } + static QString toString(const QVariantList &vParameters) { + return MModel::toString("Adjust Ultrafiltration State", vParameters); + } +}; + +class MAdjustUltrafiltrationEditReq : public MModel { +public: + float volume = 0; + + QString toString() { + return toString({volume}); + } + static QString toString(const QVariantList &vParameters) { + return MModel::toString("Adjust Ultrafiltration Edit", vParameters); + } +}; + +class MAdjustUltrafiltrationConfirmReq : public MModel { +public: + enum Options : quint32 { + eDuration = UF_Adjustments::UF_ADJ_TREATMENT_TIME, + eRate = UF_Adjustments::UF_ADJ_UF_RATE, + }; + float volume = 0; + Options option = eDuration; + QString toString() { + return toString({volume , option}); + } + static QString toString(const QVariantList &vParameters) { + return MModel::toString("Adjust Ultrafiltration Confirm", vParameters); + } +}; + +} + +typedef Model:: MAdjustBloodDialysateReq AdjustBloodDialysateRequestData; +typedef Model:: MAdjustDurationReq AdjustDurationRequestData; +typedef Model:: MAdjustUltrafiltrationStateReq AdjustUltrafiltrationStateRequestData; +typedef Model:: MAdjustUltrafiltrationEditReq AdjustUltrafiltrationEditRequestData; +typedef Model::MAdjustUltrafiltrationConfirmReq AdjustUltrafiltrationConfirmRequestData; Index: sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.cpp (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,59 @@ +/*! + * + * 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 MTreatmentAdjustUltrafiltrationConfirmResponse.cpp + * \date 6/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentAdjustUltrafiltrationConfirmResponse.h" + +using namespace Model; + +QString MAdjustUltrafiltrationConfirmResponse::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5") + .arg(_data.mAccepted .value) + .arg(_data.mReason .value) + .arg(_data.mVolume .value) + .arg(_data.mDuration .value) + .arg(_data.mRate .value) + ; +} + +void MAdjustUltrafiltrationConfirmResponse::toVariantList(QVariantList &vData) const { + vData += _data.mAccepted .value; + vData += _data.mReason .value; + vData += _data.mVolume .value; + vData += _data.mDuration .value; + vData += _data.mRate .value; +} + +bool MAdjustUltrafiltrationConfirmResponse::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 )) + if (GetValue(vByteArray, index, _data.mVolume )) + if (GetValue(vByteArray, index, _data.mDuration )) + if (GetValue(vByteArray, index, _data.mRate )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +AdjustUltrafiltrationConfirmResponseData MAdjustUltrafiltrationConfirmResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mReason = _data.mReason .value; + data.mVolume = _data.mVolume .value; + data.mDuration = _data.mDuration .value; + data.mRate = _data.mRate .value; + return data; +} Index: sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.h (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationConfirmResponse.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,65 @@ +/*! + * + * 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 MTreatmentAdjustUltrafiltrationConfirmResponse.h + * \date 6/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MAdjustUltrafiltrationConfirmResponse { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Adjust Ultrafiltration Confirm"; + struct Data { + bool mAccepted = 0; /*!< Accepted value of type quint32 extracted out */ + quint32 mReason = 0; /*!< Reason value of type quint32 extracted out */ + + float mVolume = 0; /*!< volume value of type float extracted out */ + quint32 mDuration = 0; /*!< duration value of type quint32 extracted out */ + float mRate = 0; /*!< rate value of type float extracted out */ + }; + +protected: + struct _Data { + Types::U32 mAccepted ; + Types::U32 mReason ; + + Types::F32 mVolume ; + Types::U32 mDuration ; + Types::F32 mRate ; + } _data; + +public: + MAdjustUltrafiltrationConfirmResponse () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MAdjustUltrafiltrationConfirmResponse::Data AdjustUltrafiltrationConfirmResponseData; Index: sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.cpp (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,74 @@ +/*! + * + * 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 MTreatmentAdjustUltrafiltrationEditResponse.cpp + * \date 6/2/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentAdjustUltrafiltrationEditResponse.h" + +using namespace Model; + +QString MAdjustUltrafiltrationEditResponse::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5,%6,%7,%8") + .arg(_data.mAccepted .value) + .arg(_data.mReason .value) + .arg(_data.mVolume .value) + .arg(_data.mDuration .value) + .arg(_data.mDurationDiff.value) + .arg(_data.mRate .value) + .arg(_data.mRateDiff .value) + .arg(_data.mRateOld .value) + ; +} + +void MAdjustUltrafiltrationEditResponse::toVariantList(QVariantList &vData) const { + vData += _data.mAccepted .value; + vData += _data.mReason .value; + vData += _data.mVolume .value; + vData += _data.mDuration .value; + vData += _data.mDurationDiff.value; + vData += _data.mRate .value; + vData += _data.mRateDiff .value; + vData += _data.mRateOld .value; +} + +bool MAdjustUltrafiltrationEditResponse::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 )) + if (GetValue(vByteArray, index, _data.mVolume )) + if (GetValue(vByteArray, index, _data.mDuration )) + if (GetValue(vByteArray, index, _data.mDurationDiff )) + if (GetValue(vByteArray, index, _data.mRate )) + if (GetValue(vByteArray, index, _data.mRateDiff )) + if (GetValue(vByteArray, index, _data.mRateOld )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +AdjustUltrafiltrationEditResponseData MAdjustUltrafiltrationEditResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mReason = _data.mReason .value; + data.mVolume = _data.mVolume .value; + data.mDuration = _data.mDuration .value; + data.mDurationDiff = _data.mDurationDiff.value; + data.mRate = _data.mRate .value; + data.mRateDiff = _data.mRateDiff .value; + data.mRateOld = _data.mRateOld .value; + return data; +} Index: sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.h (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationEditResponse.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,61 @@ +/*! + * + * 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 MTreatmentAdjustUltrafiltrationEditResponse.h + * \date 6/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" +#include "MTreatmentAdjustUltrafiltrationConfirmResponse.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MAdjustUltrafiltrationEditResponse : public MAdjustUltrafiltrationConfirmResponse +{ + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Adjust Ultrafiltration Edit"; + struct Data : public MAdjustUltrafiltrationConfirmResponse::Data { + qint32 mDurationDiff= 0; /*!< durationDiff value of type quint32 extracted out */ + float mRateDiff = 0; /*!< rateDiff value of type float extracted out */ + float mRateOld = 0; /*!< rateOld value of type float extracted out */ + }; + +private: + struct : public MAdjustUltrafiltrationConfirmResponse::_Data { + Types::S32 mDurationDiff ; + Types::F32 mRateDiff ; + Types::F32 mRateOld ; + } _data; + +public: + MAdjustUltrafiltrationEditResponse () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MAdjustUltrafiltrationEditResponse::Data AdjustUltrafiltrationEditResponseData; Index: sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.cpp =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.cpp (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,38 @@ +/*! + * + * 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 MTreatmentAdjustUltrafiltrationStateResponse.cpp + * \date 5/20/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentAdjustUltrafiltrationStateResponse.h" + +using namespace Model; + +QString MAdjustUltrafiltrationStateResponse::toString() const { + return QString(stringPrefix + ",%1") + .arg(_data.mAccepted.value); +} + +void MAdjustUltrafiltrationStateResponse::toVariantList(QVariantList &vData) const { + vData += _data.mAccepted.value; +} + +bool MAdjustUltrafiltrationStateResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mAccepted)) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +AdjustUltrafiltrationStateResponseData MAdjustUltrafiltrationStateResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted.value; + return data; +} Index: sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.h =================================================================== diff -u --- sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.h (revision 0) +++ sources/model/hd/adjustment/MTreatmentAdjustUltrafiltrationStateResponse.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,55 @@ +/*! + * + * 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 MTreatmentAdjustUltrafiltrationStateResponse.h + * \date 5/20/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MAdjustUltrafiltrationStateResponse { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Ultrafiltration State"; + struct Data { + bool mAccepted = 0; /*!< Accepted value of type quint32 extracted out */ + }; + +private: + struct { + Types::U08 mAccepted ; // IMPORTANT : This is a response to AcknowGeneric which has a data of 1 byte for the accepted/rejected. + } _data; + +public: + MAdjustUltrafiltrationStateResponse() { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MAdjustUltrafiltrationStateResponse::Data AdjustUltrafiltrationStateResponseData; Index: sources/model/hd/alarm/MAlarmCleared.cpp =================================================================== diff -u --- sources/model/hd/alarm/MAlarmCleared.cpp (revision 0) +++ sources/model/hd/alarm/MAlarmCleared.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,38 @@ +/*! + * + * 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 MAlarmCleared.cpp + * \date 6/28/2020 + * \author Behrouz NematiPour + * + */ +#include "MAlarmCleared.h" + +using namespace Model; + +QString MAlarmCleared::toString() const { + return QString(stringPrefix + ",%1") + .arg(_data.mAlarmID.value); +} + +void MAlarmCleared::toVariantList(QVariantList &vData) const { + vData += _data.mAlarmID.value; +} + +bool MAlarmCleared::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mAlarmID)) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +MAlarmCleared::Data MAlarmCleared::data() const { + Data data; + data.mAlarmID = _data.mAlarmID.value; + return data; +} Index: sources/model/hd/alarm/MAlarmCleared.h =================================================================== diff -u --- sources/model/hd/alarm/MAlarmCleared.h (revision 0) +++ sources/model/hd/alarm/MAlarmCleared.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,55 @@ +/*! + * + * 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 MAlarmCleared.h + * \date 6/28/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MAlarmCleared { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Alarm Cleared"; + struct Data { + quint32 mAlarmID = 0; /*!< Alarm ID value of type quint32 extracted out */ + }; + +private: + struct { + Types::U32 mAlarmID ; + } _data; + +public: + MAlarmCleared () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MAlarmCleared::Data AlarmClearedData; Index: sources/model/hd/alarm/MAlarmStatusData.cpp =================================================================== diff -u --- sources/model/hd/alarm/MAlarmStatusData.cpp (revision 0) +++ sources/model/hd/alarm/MAlarmStatusData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,63 @@ +/*! + * + * 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 MAlarmStatusData.cpp + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#include "MAlarmStatusData.h" + + +using namespace Model; + +MAlarmStatus::MAlarmStatus() { } + +QString MAlarmStatus::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5") + .arg(_data.mState .value ) + .arg(_data.mTop .value ) + .arg(_data.mMuteTimeout .value ) + .arg(_data.mEscalatesIn .value ) + .arg(_data.mFlags .toString("")); +} + +void MAlarmStatus::toVariantList(QVariantList &vData) const { + vData += _data.mState .value ; + vData += _data.mTop .value ; + vData += _data.mMuteTimeout .value ; + vData += _data.mEscalatesIn .value ; + for (int i = 0; i < _data.mFlags.count(); i++) { + vData += _data.mFlags.at(i); + } +} + +bool MAlarmStatus::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mState )) + if (GetValue(vByteArray, index, _data.mTop )) + if (GetValue(vByteArray, index, _data.mMuteTimeout )) + if (GetValue(vByteArray, index, _data.mEscalatesIn )) + if (GetBits (vByteArray, index, _data.mFlags , eFlag_Bits_Length)) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MAlarmStatus::Data MAlarmStatus::data() const { + Data data; + data.mState = _data.mState .value; + data.mTop = _data.mTop .value; + data.mMuteTimeout = _data.mMuteTimeout .value; + data.mEscalatesIn = _data.mEscalatesIn .value; + data.mFlags = _data.mFlags ; + return data; +} Index: sources/model/hd/alarm/MAlarmStatusData.h =================================================================== diff -u --- sources/model/hd/alarm/MAlarmStatusData.h (revision 0) +++ sources/model/hd/alarm/MAlarmStatusData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,70 @@ +/*! + * + * 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 MAlarmStatusData.h + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +namespace Model { + +class MAlarmStatus { +public: + enum Flag { + eFlag_systemFault = 0 , + eFlag_stop , + eFlag_noClear , + eFlag_noResume , + eFlag_noRinseback , + eFlag_noEndTreatment , + eFlag_noNewTreatment , + eFlag_bypassDialyzer , + eFlag_alarmsToEscalate , + eFlag_alarmsSilenced , + eFlag_Bits_Length = 16, + }; + QString stringPrefix = "Alarm Status"; + struct Data { + quint32 mState = 0; /*!< State - Alarm Priority value of type unsigned int as 4 bytes extracted out */ + quint32 mTop = 0; /*!< Top - Top value of type unsigned int as 4 bytes extracted out */ + quint32 mMuteTimeout = 0; /*!< MuteTimeout - MuteTimeout value of type unsigned int as 4 bytes extracted out */ + quint32 mEscalatesIn = 0; /*!< EscalatesIn - EscalatesIn value of type unsigned int as 4 bytes extracted out */ + QBitArray mFlags ; /*!< Flags - Flags value of type unsigned int as 1 byte extracted out */ + }; + +private: + struct { + Types::U32 mState ; + Types::U32 mTop ; + Types::U32 mMuteTimeout ; + Types::U32 mEscalatesIn ; + Types::Flags mFlags ; + } _data; + +public: + MAlarmStatus(); + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const ; +}; + +} + +typedef Model::MAlarmStatus::Data AlarmStatusData; +typedef Model::MAlarmStatus::Flag AlarmStatusFlag; Index: sources/model/hd/alarm/MAlarmTriggered.cpp =================================================================== diff -u --- sources/model/hd/alarm/MAlarmTriggered.cpp (revision 0) +++ sources/model/hd/alarm/MAlarmTriggered.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,38 @@ +/*! + * + * 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 MAlarmTriggered.cpp + * \date 6/28/2020 + * \author Behrouz NematiPour + * + */ +#include "MAlarmTriggered.h" + +using namespace Model; + +QString MAlarmTriggered::toString() const { + return QString(stringPrefix + ",%1") + .arg(_data.mAlarmID.value); +} + +void MAlarmTriggered::toVariantList(QVariantList &vData) const { + vData += _data.mAlarmID.value; +} + +bool MAlarmTriggered::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mAlarmID)) + return true ; + else { if(vIndex) *vIndex = index; return false; } +} + +MAlarmTriggered::Data MAlarmTriggered::data() const { + Data data; + data.mAlarmID = _data.mAlarmID.value; + return data; +} Index: sources/model/hd/alarm/MAlarmTriggered.h =================================================================== diff -u --- sources/model/hd/alarm/MAlarmTriggered.h (revision 0) +++ sources/model/hd/alarm/MAlarmTriggered.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,55 @@ +/*! + * + * 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 MAlarmTriggered.h + * \date 6/28/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MAlarmTriggered { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Alarm Triggered"; + struct Data { + quint32 mAlarmID = 0; /*!< Alarm ID value of type quint32 extracted out */ + }; + +private: + struct { + Types::U32 mAlarmID ; + } _data; + +public: + MAlarmTriggered () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MAlarmTriggered::Data AlarmTriggeredData; Index: sources/model/hd/data/MHDOperationModeData.cpp =================================================================== diff -u --- sources/model/hd/data/MHDOperationModeData.cpp (revision 0) +++ sources/model/hd/data/MHDOperationModeData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,53 @@ +/*! + * + * 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 mloadcellreadings.cpp + * \date 6/10/2020 + * \author Behrouz NematiPour + * + */ +#include "mloadcellreadings.h" + +using namespace Model; + +QString MLoadCellReadings::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4") + .arg(_data.mReservoir1Prim .value) + .arg(_data.mReservoir1Bkup .value) + .arg(_data.mReservoir2Prim .value) + .arg(_data.mReservoir2Bkup .value); +} + +void MLoadCellReadings::toVariantList(QVariantList &vData) const { + vData += _data.mReservoir1Prim .value; + vData += _data.mReservoir1Bkup .value; + vData += _data.mReservoir2Prim .value; + vData += _data.mReservoir2Bkup .value; +} + +bool MLoadCellReadings::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mReservoir1Prim )) + if (GetValue(vByteArray, index, _data.mReservoir1Bkup )) + if (GetValue(vByteArray, index, _data.mReservoir2Prim )) + if (GetValue(vByteArray, index, _data.mReservoir2Bkup )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MLoadCellReadings::Data MLoadCellReadings::data() const { + Data data; + data.mReservoir1Prim = _data.mReservoir1Prim .value; + data.mReservoir1Bkup = _data.mReservoir1Bkup .value; + data.mReservoir2Prim = _data.mReservoir2Prim .value; + data.mReservoir2Bkup = _data.mReservoir2Bkup .value; + return data; +} Index: sources/model/hd/data/MHDOperationModeData.h =================================================================== diff -u --- sources/model/hd/data/MHDOperationModeData.h (revision 0) +++ sources/model/hd/data/MHDOperationModeData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,61 @@ +/*! + * + * 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 mloadcellreadings.h + * \date 6/10/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MLoadCellReadings { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Load Cell Readings"; + struct Data { + float mReservoir1Prim = 0; /*!< ArterialPressure value of type float extracted out */ + float mReservoir1Bkup = 0; /*!< VenousPressure value of type float extracted out */ + float mReservoir2Prim = 0; /*!< BloodPumpOcclusion value of type float extracted out */ + float mReservoir2Bkup = 0; /*!< DialysateInletPumpOcclusion value of type float extracted out */ + }; + +private: + struct { + Types::F32 mReservoir1Prim ; + Types::F32 mReservoir1Bkup ; + Types::F32 mReservoir2Prim ; + Types::F32 mReservoir2Bkup ; + } _data; + +public: + MLoadCellReadings () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MLoadCellReadings::Data LoadCellReadingsData; Index: sources/model/hd/data/MTreatmentFlowsData.cpp =================================================================== diff -u --- sources/model/hd/data/MTreatmentFlowsData.cpp (revision 0) +++ sources/model/hd/data/MTreatmentFlowsData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,87 @@ +/*! + * + * 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 MTreatmentFlowsData.cpp + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentFlowsData.h" + +using namespace Model; + +// ----- BloodFlow ----- +QString MFlow::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5,%6,%7") + .arg(_data.mFlowSetPoint .value) + .arg(_data.mMeasuredFlow .value) + .arg(_data.mRotorSpeed .value) + .arg(_data.mMotorSpeed .value) + .arg(_data.mMotorCtlSpeed .value) + .arg(_data.mMotorCtlCurrent .value) + .arg(_data.mPWMDutyCycle .value); +} + +void MFlow::toVariantList(QVariantList &vData) const { + vData += _data.mFlowSetPoint .value; + vData += _data.mMeasuredFlow .value; + vData += _data.mRotorSpeed .value; + vData += _data.mMotorSpeed .value; + vData += _data.mMotorCtlSpeed .value; + vData += _data.mMotorCtlCurrent .value; + vData += _data.mPWMDutyCycle .value; +} + +bool MFlow::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mFlowSetPoint )) + if (GetValue(vByteArray, index, _data.mMeasuredFlow )) + if (GetValue(vByteArray, index, _data.mRotorSpeed )) + if (GetValue(vByteArray, index, _data.mMotorSpeed )) + if (GetValue(vByteArray, index, _data.mMotorCtlSpeed )) + if (GetValue(vByteArray, index, _data.mMotorCtlCurrent )) + if (GetValue(vByteArray, index, _data.mPWMDutyCycle )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +const MFlow::Data &MFlow::data() const { + return _data; +} + +// ----- BloodFlow ----- +MBloodFlow::Data MBloodFlow::data() const { + Data data; + data.mFlowSetPoint = MFlow::data().mFlowSetPoint .value; + data.mMeasuredFlow = MFlow::data().mMeasuredFlow .value; + data.mRotorSpeed = MFlow::data().mRotorSpeed .value; + data.mMotorSpeed = MFlow::data().mMotorSpeed .value; + data.mMotorCtlSpeed = MFlow::data().mMotorCtlSpeed .value; + data.mMotorCtlCurrent = MFlow::data().mMotorCtlCurrent.value; + data.mPWMDutyCycle = MFlow::data().mPWMDutyCycle .value; + return data; +} + +// ----- DialysateFlow ----- +MDialysateFlow::Data MDialysateFlow::data() const { + Data data; + data.mFlowSetPoint = MFlow::data().mFlowSetPoint .value; + data.mMeasuredFlow = MFlow::data().mMeasuredFlow .value; + data.mRotorSpeed = MFlow::data().mRotorSpeed .value; + data.mMotorSpeed = MFlow::data().mMotorSpeed .value; + data.mMotorCtlSpeed = MFlow::data().mMotorCtlSpeed .value; + data.mMotorCtlCurrent = MFlow::data().mMotorCtlCurrent.value; + data.mPWMDutyCycle = MFlow::data().mPWMDutyCycle .value; + return data; +} Index: sources/model/hd/data/MTreatmentFlowsData.h =================================================================== diff -u --- sources/model/hd/data/MTreatmentFlowsData.h (revision 0) +++ sources/model/hd/data/MTreatmentFlowsData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,93 @@ +/*! + * + * 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 MTreatmentFlowsData.h + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + + +// Qt +#include + +// Project +#include "types.h" + +namespace Model { + +/*! + * \brief The Flow Data class + */ +class MFlow { + +public: + QString stringPrefix = ""; + +private: + struct Data { + Types::S32 mFlowSetPoint ; /*!< vFlowSetPoint - Flow Set Point value of type signed int extracted out */ + Types::F32 mMeasuredFlow ; /*!< vMeasuredFlow - Measured Flow value of type float extracted out */ + Types::F32 mRotorSpeed ; /*!< vRotorSpeed - Rotor Speed value of type float extracted out */ + Types::F32 mMotorSpeed ; /*!< vMotorSpeed - Motor Speed value of type float extracted out */ + Types::F32 mMotorCtlSpeed ; /*!< vMotorCtlSpeed - Motor Controller Speed value of type float extracted out */ + Types::F32 mMotorCtlCurrent ; /*!< vMotorCtlCurrent - Motor Controller Current value of type float extracted out */ + Types::F32 mPWMDutyCycle ; /*!< vPWMDtCycle - PWM Duty Cycle in % value of type float extracted out */ + } _data; + +public: + MFlow () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + const Data &data() const ; +}; + +/*! + * \brief The Blood Flow Data class + */ +class MBloodFlow : public MFlow { +public: + struct Data { + qint32 mFlowSetPoint = 0; /*!< vFlowSetPoint - Flow Set Point value of type signed int extracted out */ + float mMeasuredFlow = 0; /*!< vMeasuredFlow - Measured Flow value of type float extracted out */ + float mRotorSpeed = 0; /*!< vRotorSpeed - Rotor Speed value of type float extracted out */ + float mMotorSpeed = 0; /*!< vMotorSpeed - Motor Speed value of type float extracted out */ + float mMotorCtlSpeed = 0; /*!< vMotorCtlSpeed - Motor Controller Speed value of type float extracted out */ + float mMotorCtlCurrent = 0; /*!< vMotorCtlCurrent - Motor Controller Current value of type float extracted out */ + float mPWMDutyCycle = 0; /*!< vPWMDtCycle - PWM Duty Cycle in % value of type float extracted out */ + }; + MBloodFlow() { stringPrefix = "Blood Flow"; } + Data data() const; +}; + +/*! + * \brief The Dialysate Flow Data class + */ +class MDialysateFlow : public MFlow { +public: + struct Data { + qint32 mFlowSetPoint = 0; /*!< vFlowSetPoint - Flow Set Point value of type signed int extracted out */ + float mMeasuredFlow = 0; /*!< vMeasuredFlow - Measured Flow value of type float extracted out */ + float mRotorSpeed = 0; /*!< vRotorSpeed - Rotor Speed value of type float extracted out */ + float mMotorSpeed = 0; /*!< vMotorSpeed - Motor Speed value of type float extracted out */ + float mMotorCtlSpeed = 0; /*!< vMotorCtlSpeed - Motor Controller Speed value of type float extracted out */ + float mMotorCtlCurrent = 0; /*!< vMotorCtlCurrent - Motor Controller Current value of type float extracted out */ + float mPWMDutyCycle = 0; /*!< vPWMDtCycle - PWM Duty Cycle in % value of type float extracted out */ + }; + MDialysateFlow() { stringPrefix = "Dialysate Flow"; } + Data data() const; +}; + +} + +typedef Model:: MBloodFlow::Data BloodFlowData; +typedef Model::MDialysateFlow::Data DialysateFlowData; Index: sources/model/hd/data/MTreatmentOutletFlowData.cpp =================================================================== diff -u --- sources/model/hd/data/MTreatmentOutletFlowData.cpp (revision 0) +++ sources/model/hd/data/MTreatmentOutletFlowData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,69 @@ +/*! + * + * 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 MTreatmentOutletFlowData.cpp + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentOutletFlowData.h" + +using namespace Model; + +// ----- OutletFlow ----- +QString MOutletFlow::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5,%6,%7") + .arg(_data.mRefUFVol .value) + .arg(_data.mMeasUFVol .value) + .arg(_data.mRotorSpeed .value) + .arg(_data.mMotorSpeed .value) + .arg(_data.mMotorCtlSpeed .value) + .arg(_data.mMotorCtlCurrent .value) + .arg(_data.mPWMDtCycle .value); +} + +void MOutletFlow::toVariantList(QVariantList &vData) const { + vData += _data.mRefUFVol .value; + vData += _data.mMeasUFVol .value; + vData += _data.mRotorSpeed .value; + vData += _data.mMotorSpeed .value; + vData += _data.mMotorCtlSpeed .value; + vData += _data.mMotorCtlCurrent.value; + vData += _data.mPWMDtCycle .value; +} + +bool MOutletFlow::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mRefUFVol )) + if (GetValue(vByteArray, index, _data.mMeasUFVol )) + if (GetValue(vByteArray, index, _data.mRotorSpeed )) + if (GetValue(vByteArray, index, _data.mMotorSpeed )) + if (GetValue(vByteArray, index, _data.mMotorCtlSpeed )) + if (GetValue(vByteArray, index, _data.mMotorCtlCurrent )) + if (GetValue(vByteArray, index, _data.mPWMDtCycle )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MOutletFlow::Data MOutletFlow::data() const { + Data data; + data.mRefUFVol = _data.mRefUFVol .value; + data.mMeasUFVol = _data.mMeasUFVol .value; + data.mRotorSpeed = _data.mRotorSpeed .value; + data.mMotorSpeed = _data.mMotorSpeed .value; + data.mMotorCtlSpeed = _data.mMotorCtlSpeed .value; + data.mMotorCtlCurrent = _data.mMotorCtlCurrent.value; + data.mPWMDtCycle = _data.mPWMDtCycle .value; + return data; +} Index: sources/model/hd/data/MTreatmentOutletFlowData.h =================================================================== diff -u --- sources/model/hd/data/MTreatmentOutletFlowData.h (revision 0) +++ sources/model/hd/data/MTreatmentOutletFlowData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,60 @@ +/*! + * + * 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 MTreatmentOutletFlowData.h + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +namespace Model { + +class MOutletFlow { +public: + QString stringPrefix = "Dialysate Outlet Flow"; + struct Data { + float mRefUFVol = 0; /*!< Reference UF Volume value of type float extracted out */ + float mMeasUFVol = 0; /*!< Measured UF Volume value of type float extracted out */ + float mRotorSpeed = 0; /*!< Rotor Speed value of type float extracted out */ + float mMotorSpeed = 0; /*!< Motor Speed value of type float extracted out */ + float mMotorCtlSpeed = 0; /*!< Motor Controller Speed value of type float extracted out */ + float mMotorCtlCurrent = 0; /*!< Motor Controller Current value of type float extracted out */ + float mPWMDtCycle = 0; /*!< PWM Duty Cycle in % value of type float extracted out */ + }; + +private: + struct { + Types::F32 mRefUFVol ; + Types::F32 mMeasUFVol ; + Types::F32 mRotorSpeed ; + Types::F32 mMotorSpeed ; + Types::F32 mMotorCtlSpeed ; + Types::F32 mMotorCtlCurrent ; + Types::F32 mPWMDtCycle ; + } _data; + +public: + MOutletFlow () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MOutletFlow::Data OutletFlowData; Index: sources/model/hd/data/MTreatmentPressureOcclusionData.cpp =================================================================== diff -u --- sources/model/hd/data/MTreatmentPressureOcclusionData.cpp (revision 0) +++ sources/model/hd/data/MTreatmentPressureOcclusionData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,58 @@ +/*! + * + * 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 MTreatmentPressureOcclusionData.cpp + * \date 3/23/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentPressureOcclusionData.h" + +using namespace Model; + +QString MPressureOcclusion::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5") + .arg(_data.mArterialPressure .value) + .arg(_data.mVenousPressure .value) + .arg(_data.mBloodPumpOcclusion .value) + .arg(_data.mDialysateInletPumpOcclusion .value) + .arg(_data.mDialysateOutletPumpOcclusion .value); +} + +void MPressureOcclusion::toVariantList(QVariantList &vData) const { + vData += _data.mArterialPressure .value; + vData += _data.mVenousPressure .value; + vData += _data.mBloodPumpOcclusion .value; + vData += _data.mDialysateInletPumpOcclusion .value; + vData += _data.mDialysateOutletPumpOcclusion .value; +} + +bool MPressureOcclusion::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mArterialPressure )) + if (GetValue(vByteArray, index, _data.mVenousPressure )) + if (GetValue(vByteArray, index, _data.mBloodPumpOcclusion )) + if (GetValue(vByteArray, index, _data.mDialysateInletPumpOcclusion )) + if (GetValue(vByteArray, index, _data.mDialysateOutletPumpOcclusion )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MPressureOcclusion::Data MPressureOcclusion::data() const { + Data data; + data.mArterialPressure = _data.mArterialPressure .value; + data.mVenousPressure = _data.mVenousPressure .value; + data.mBloodPumpOcclusion = _data.mBloodPumpOcclusion .value; + data.mDialysateInletPumpOcclusion = _data.mDialysateInletPumpOcclusion .value; + data.mDialysateOutletPumpOcclusion = _data.mDialysateOutletPumpOcclusion .value; + return data; +} Index: sources/model/hd/data/MTreatmentPressureOcclusionData.h =================================================================== diff -u --- sources/model/hd/data/MTreatmentPressureOcclusionData.h (revision 0) +++ sources/model/hd/data/MTreatmentPressureOcclusionData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,56 @@ +/*! + * + * 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 MTreatmentPressureOcclusionData.h + * \date 3/23/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +namespace Model { + +class MPressureOcclusion { +public: + QString stringPrefix = "Pressure/Occlusion"; + struct Data { + float mArterialPressure = 0; /*!< ArterialPressure value of type float extracted out */ + float mVenousPressure = 0; /*!< VenousPressure value of type float extracted out */ + float mBloodPumpOcclusion = 0; /*!< BloodPumpOcclusion value of type float extracted out */ + float mDialysateInletPumpOcclusion = 0; /*!< DialysateInletPumpOcclusion value of type float extracted out */ + float mDialysateOutletPumpOcclusion = 0; /*!< DialysateOutletPumpOcclusion value of type float extracted out */ + }; + +private: + struct { + Types::F32 mArterialPressure ; + Types::F32 mVenousPressure ; + Types::F32 mBloodPumpOcclusion ; + Types::F32 mDialysateInletPumpOcclusion ; + Types::F32 mDialysateOutletPumpOcclusion ; + } _data; + +public: + MPressureOcclusion () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MPressureOcclusion::Data PressureOcclusionData; Index: sources/model/hd/data/MTreatmentRangesData.cpp =================================================================== diff -u --- sources/model/hd/data/MTreatmentRangesData.cpp (revision 0) +++ sources/model/hd/data/MTreatmentRangesData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,63 @@ +/*! + * + * 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 MTreatmentRangesData.cpp + * \date 3/30/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentRangesData.h" + +using namespace Model; + +QString MTreatmentRanges::toString() const { + return QString(stringPrefix + ",%1,%2,%3,%4,%5,%6") + .arg(_data.mDuration_Min .value) + .arg(_data.mDuration_Max .value) + .arg(_data.mUltrafiltration_Volume_Min .value) + .arg(_data.mUltrafiltration_Volume_Max .value) + .arg(_data.mDialysate_Flow_Min .value) + .arg(_data.mDialysate_Flow_Max .value); +} + +void MTreatmentRanges::toVariantList(QVariantList &vData) const { + vData += _data.mDuration_Min .value; + vData += _data.mDuration_Max .value; + vData += _data.mUltrafiltration_Volume_Min .value; + vData += _data.mUltrafiltration_Volume_Max .value; + vData += _data.mDialysate_Flow_Min .value; + vData += _data.mDialysate_Flow_Max .value; +} + +bool MTreatmentRanges::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mDuration_Min )) + if (GetValue(vByteArray, index, _data.mDuration_Max )) + if (GetValue(vByteArray, index, _data.mUltrafiltration_Volume_Min )) + if (GetValue(vByteArray, index, _data.mUltrafiltration_Volume_Max )) + if (GetValue(vByteArray, index, _data.mDialysate_Flow_Min )) + if (GetValue(vByteArray, index, _data.mDialysate_Flow_Max )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MTreatmentRanges::Data MTreatmentRanges::data() const { + Data data; + data.mDuration_Min = _data.mDuration_Min .value; + data.mDuration_Max = _data.mDuration_Max .value; + data.mUltrafiltration_Volume_Min = _data.mUltrafiltration_Volume_Min .value; + data.mUltrafiltration_Volume_Max = _data.mUltrafiltration_Volume_Max .value; + data.mDialysate_Flow_Min = _data.mDialysate_Flow_Min .value; + data.mDialysate_Flow_Max = _data.mDialysate_Flow_Max .value; + return data; +} Index: sources/model/hd/data/MTreatmentRangesData.h =================================================================== diff -u --- sources/model/hd/data/MTreatmentRangesData.h (revision 0) +++ sources/model/hd/data/MTreatmentRangesData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,66 @@ +/*! + * + * 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 MTreatmentRangesData.h + * \date 3/30/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + + +namespace Model { + +class MTreatmentRanges { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Treatment Ranges"; + struct Data { + quint32 mDuration_Min = 0; /*!< mDuration_Min value of type U32 extracted out */ + quint32 mDuration_Max = 0; /*!< mDuration_Max value of type U32 extracted out */ + float mUltrafiltration_Volume_Min = 0; /*!< mUltrafiltration_Volume_Min value of type float extracted out */ + float mUltrafiltration_Volume_Max = 0; /*!< mUltrafiltration_Volume_Max value of type float extracted out */ + quint32 mDialysate_Flow_Min = 0; /*!< mDialysate_Flow_Min value of type U32 extracted out */ + quint32 mDialysate_Flow_Max = 0; /*!< mDialysate_Flow_Max value of type U32 extracted out */ + }; + +private: + struct { + Types::U32 mDuration_Min ; + Types::U32 mDuration_Max ; + Types::F32 mUltrafiltration_Volume_Min ; + Types::F32 mUltrafiltration_Volume_Max ; + Types::U32 mDialysate_Flow_Min ; + Types::U32 mDialysate_Flow_Max ; + } _data; + +public: + MTreatmentRanges () { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MTreatmentRanges::Data TreatmentRangesData; Index: sources/model/hd/data/MTreatmentStatesData.cpp =================================================================== diff -u --- sources/model/hd/data/MTreatmentStatesData.cpp (revision 0) +++ sources/model/hd/data/MTreatmentStatesData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,48 @@ +/*! + * + * 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 MTreatmentStatesData.cpp + * \date 6/28/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentStatesData.h" + +using namespace Model; + +QString MTreatmentState::toString() const { + return QString(stringPrefix + ",%1,%2,%3") + .arg(_data.mSubMode .value) + .arg(_data.mUFState .value) + .arg(_data.mSalineState.value); +} + +void MTreatmentState::toVariantList(QVariantList &vData) const { + vData += _data.mSubMode .value; + vData += _data.mUFState .value; + vData += _data.mSalineState.value; +} + +bool MTreatmentState::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mSubMode )) + if (GetValue(vByteArray, index, _data.mUFState )) + if (GetValue(vByteArray, index, _data.mSalineState)) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MTreatmentState::Data MTreatmentState::data() const { + Data data; + data.mSubMode = _data.mSubMode .value; + data.mUFState = _data.mUFState .value; + data.mSalineState = _data.mSalineState.value; + return data; +} Index: sources/model/hd/data/MTreatmentStatesData.h =================================================================== diff -u --- sources/model/hd/data/MTreatmentStatesData.h (revision 0) +++ sources/model/hd/data/MTreatmentStatesData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,59 @@ +/*! + * + * 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 MTreatmentStatesData.h + * \date 6/28/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +class MTreatmentState { + + // friends + friend class ::tst_models; + +public: + QString stringPrefix = "Treatment State"; + struct Data { + quint32 mSubMode = 0; /*!< Sub-Mode value of type quint32 extracted out */ + quint32 mUFState = 0; /*!< UF State value of type quint32 extracted out */ + quint32 mSalineState = 0; /*!< Saline State value of type quint32 extracted out */ + }; + +private: + struct { + Types::U32 mSubMode ; + Types::U32 mUFState ; + Types::U32 mSalineState ; + } _data; + +public: + MTreatmentState() { } + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MTreatmentState::Data TreatmentStateData; Index: sources/model/hd/data/MTreatmentTimeData.cpp =================================================================== diff -u --- sources/model/hd/data/MTreatmentTimeData.cpp (revision 0) +++ sources/model/hd/data/MTreatmentTimeData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,51 @@ +/*! + * + * 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 MTreatmentTimeData.cpp + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#include "MTreatmentTimeData.h" + +using namespace Model; + +MTreatmentTime::MTreatmentTime() { } + +// ----- TreatmentTime ----- +QString MTreatmentTime::toString() const { + return QString(stringPrefix + ",%1,%2,%3") + .arg(_data.mTotal .value) + .arg(_data.mElapsed .value) + .arg(_data.mRemaining .value); +} + +void MTreatmentTime::toVariantList(QVariantList &vData) const { + vData += _data.mTotal .value; + vData += _data.mElapsed .value; + vData += _data.mRemaining .value; +} + +bool MTreatmentTime::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if (GetValue(vByteArray, index, _data.mTotal )) + if (GetValue(vByteArray, index, _data.mElapsed )) + if (GetValue(vByteArray, index, _data.mRemaining )) + return true ; + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } +} + +MTreatmentTime::Data MTreatmentTime::data() const { + Data data; + data.mTotal = _data.mTotal .value; + data.mElapsed = _data.mElapsed .value; + data.mRemaining = _data.mRemaining .value; + return data; +} Index: sources/model/hd/data/MTreatmentTimeData.h =================================================================== diff -u --- sources/model/hd/data/MTreatmentTimeData.h (revision 0) +++ sources/model/hd/data/MTreatmentTimeData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,53 @@ +/*! + * + * 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 MTreatmentTimeData.h + * \date 3/9/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + + +// Qt +#include + +// Project +#include "types.h" + +namespace Model { + +class MTreatmentTime { +public: + QString stringPrefix = "Treatment Time"; + struct Data { + quint32 mTotal = 0; /*!< Total treatment time in sec */ + quint32 mElapsed = 0; /*!< Elapsed treatment time in sec */ + quint32 mRemaining = 0; /*!< Remaining treatment time in sec */ + }; + +private: + struct { + Types::U32 mTotal ; + Types::U32 mElapsed ; + Types::U32 mRemaining ; + } _data; + +public: + MTreatmentTime(); + + QString toString ( ) const ; + void toVariantList ( QVariantList &vData ) const ; + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr); + + Data data() const; +}; + +} + +typedef Model::MTreatmentTime::Data TreatmentTimeData; Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/malarmcleared.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/malarmcleared.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/malarmstatus.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/malarmstatus.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/malarmtriggered.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/malarmtriggered.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mloadcellreadings.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mloadcellreadings.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mmodel.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mpoweroff.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mpoweroff.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtemperaturesensors.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtemperaturesensors.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustblooddialysateresponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustblooddialysateresponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustdurationresponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustdurationresponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustrequests.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustultrafiltrationconfirmresponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustultrafiltrationconfirmresponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustultrafiltrationeditresponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustultrafiltrationeditresponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustultrafiltrationstateresponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentadjustultrafiltrationstateresponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentflows.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentflows.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentoutletflow.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentoutletflow.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentpressureocclusion.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentpressureocclusion.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentranges.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentranges.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentstate.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmentstate.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmenttime.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/model/mtreatmenttime.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/dg/data/VDGDrainPumpData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGDrainPumpData.cpp (revision 0) +++ sources/view/dg/data/VDGDrainPumpData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,25 @@ +/*! + * + * 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 VDGDrainPumpData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGDrainPumpData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGDrainPump, DGDrainPumpData) + +void VDGDrainPump::onActionReceive(const DGDrainPumpData &vData) +{ + rpm ( vData.mRPM ); + dac ( vData.mDAC ); +} Index: sources/view/dg/data/VDGDrainPumpData.h =================================================================== diff -u --- sources/view/dg/data/VDGDrainPumpData.h (revision 0) +++ sources/view/dg/data/VDGDrainPumpData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,36 @@ +/*! + * + * 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 VDGDrainPumpData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGDrainPump : public QObject +{ + Q_OBJECT + + PROPERTY( quint32 , rpm , 0) + PROPERTY( quint32 , dac , 0) + + VIEW_DEC(VDGDrainPump, DGDrainPumpData) + +}; +} Index: sources/view/dg/data/VDGHeatersData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGHeatersData.cpp (revision 0) +++ sources/view/dg/data/VDGHeatersData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,26 @@ +/*! + * + * 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 VDGHeatersData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGHeatersData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGHeaters, DGHeatersData) + +void VDGHeaters::onActionReceive(const DGHeatersData &vData) +{ + mainPrimaryDC ( vData.mMainPrimaryDC ); + smallPrimaryDC ( vData.mSmallPrimaryDC ); + trimmerDC ( vData.mTrimmerDC ); +} Index: sources/view/dg/data/VDGHeatersData.h =================================================================== diff -u --- sources/view/dg/data/VDGHeatersData.h (revision 0) +++ sources/view/dg/data/VDGHeatersData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,37 @@ +/*! + * + * 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 VDGHeatersData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGHeaters : public QObject +{ + Q_OBJECT + + PROPERTY( quint32, mainPrimaryDC , 0) + PROPERTY( quint32, smallPrimaryDC , 0) + PROPERTY( quint32, trimmerDC , 0) + + VIEW_DEC(VDGHeaters, DGHeatersData) + +}; +} Index: sources/view/dg/data/VDGLoadCellReadingsData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGLoadCellReadingsData.cpp (revision 0) +++ sources/view/dg/data/VDGLoadCellReadingsData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,27 @@ +/*! + * + * 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 VDGLoadCellReadingsData.cpp + * \date 6/10/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGLoadCellReadingsData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGLoadCellReadings, DGLoadCellReadingsData) + +void VDGLoadCellReadings::onActionReceive(const DGLoadCellReadingsData &vData) +{ + reservoir1Prim ( vData.mReservoir1Prim ); + reservoir1Bkup ( vData.mReservoir1Bkup ); + reservoir2Prim ( vData.mReservoir2Prim ); + reservoir2Bkup ( vData.mReservoir2Bkup ); +} Index: sources/view/dg/data/VDGLoadCellReadingsData.h =================================================================== diff -u --- sources/view/dg/data/VDGLoadCellReadingsData.h (revision 0) +++ sources/view/dg/data/VDGLoadCellReadingsData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,38 @@ +/*! + * + * 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 VDGLoadCellReadingsData.h + * \date 6/10/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGLoadCellReadings : public QObject +{ + Q_OBJECT + + PROPERTY( float , reservoir1Prim , 0) + PROPERTY( float , reservoir1Bkup , 0) + PROPERTY( float , reservoir2Prim , 0) + PROPERTY( float , reservoir2Bkup , 0) + + VIEW_DEC(VDGLoadCellReadings, DGLoadCellReadingsData) + +}; +} Index: sources/view/dg/data/VDGOperationModeData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGOperationModeData.cpp (revision 0) +++ sources/view/dg/data/VDGOperationModeData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,44 @@ +/*! + * + * 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 VDGOperationModeData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGOperationModeData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGOperationMode, DGOperationModeData) + +void VDGOperationMode::onActionReceive(const DGOperationModeData &vData) +{ + opMode ( vData.mOpMode ); +} + +QString VDGOperationMode::opModeText(GuiDGOpModes vEnum) +{ + // TEST : this code is the place holder for the alarms description mapping + // since it is another feature + // it returns the enum name for now + const QMetaObject *mo = qt_getEnumMetaObject(vEnum); + int enumIdx = mo->indexOfEnumerator(qt_getEnumName(vEnum)); + const char *key = mo->enumerator(enumIdx).valueToKey(vEnum); + if (key) + return qPrintable(key); + else + return QString("UNDEFINED [%1]").arg(vEnum); +} + +QString View::VDGOperationMode::text() +{ + QString text = opModeText(static_cast(opMode())); + return text; +} Index: sources/view/dg/data/VDGOperationModeData.h =================================================================== diff -u --- sources/view/dg/data/VDGOperationModeData.h (revision 0) +++ sources/view/dg/data/VDGOperationModeData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -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 VDGOperationModeData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" +#include "guiglobals.h" + +// namespace +using namespace Gui; +namespace View { + +class VDGOperationMode : public QObject +{ + Q_OBJECT + + PROPERTY( quint32 , opMode , 0) + + VIEW_DEC(VDGOperationMode, DGOperationModeData) + + Q_PROPERTY(QString text READ text NOTIFY opModeChanged) + +private: + QString opModeText(GuiDGOpModes vEnum); + +public slots: + QString text(); + +}; +} Index: sources/view/dg/data/VDGPressuresData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGPressuresData.cpp (revision 0) +++ sources/view/dg/data/VDGPressuresData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,27 @@ +/*! + * + * 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 VDGPressuresData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGPressuresData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGPressures, DGPressuresData) + +void VDGPressures::onActionReceive(const DGPressuresData &vData) +{ + roInletPSI ( vData.mROInletPSI ); + roOutletPSI ( vData.mROOutletPSI ); + drainInletPSI ( vData.mDrainInletPSI ); + drainOutletPSI ( vData.mDrainOutletPSI ); +} Index: sources/view/dg/data/VDGPressuresData.h =================================================================== diff -u --- sources/view/dg/data/VDGPressuresData.h (revision 0) +++ sources/view/dg/data/VDGPressuresData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,38 @@ +/*! + * + * 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 VDGPressuresData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGPressures : public QObject +{ + Q_OBJECT + + PROPERTY( float , roInletPSI , 0) + PROPERTY( float , roOutletPSI , 0) + PROPERTY( float , drainInletPSI , 0) + PROPERTY( float , drainOutletPSI , 0) + + VIEW_DEC(VDGPressures, DGPressuresData) + +}; +} Index: sources/view/dg/data/VDGROPumpData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGROPumpData.cpp (revision 0) +++ sources/view/dg/data/VDGROPumpData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,26 @@ +/*! + * + * 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 VDGROPumpData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGROPumpData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGROPump, DGROPumpData) + +void VDGROPump::onActionReceive(const DGROPumpData &vData) +{ + pressure ( vData.mPressure ); + flowRate ( vData.mFlowRate ); + pwm ( vData.mPWM ); +} Index: sources/view/dg/data/VDGROPumpData.h =================================================================== diff -u --- sources/view/dg/data/VDGROPumpData.h (revision 0) +++ sources/view/dg/data/VDGROPumpData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,37 @@ +/*! + * + * 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 VDGROPumpData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGROPump : public QObject +{ + Q_OBJECT + + PROPERTY( quint32 , pressure , 0) + PROPERTY( float , flowRate , 0) + PROPERTY( float , pwm , 0) + + VIEW_DEC(VDGROPump, DGROPumpData) + +}; +} Index: sources/view/dg/data/VDGReservoirData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGReservoirData.cpp (revision 0) +++ sources/view/dg/data/VDGReservoirData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,26 @@ +/*! + * + * 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 VDGReservoirData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGReservoirData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGReservoir, DGReservoirData) + +void VDGReservoir::onActionReceive(const DGReservoirData &vData) +{ + activeReservoir ( vData.mActiveReservoir ); + fillToVol ( vData.mFillToVol ); + drainToVol ( vData.mDrainToVol ); +} Index: sources/view/dg/data/VDGReservoirData.h =================================================================== diff -u --- sources/view/dg/data/VDGReservoirData.h (revision 0) +++ sources/view/dg/data/VDGReservoirData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,37 @@ +/*! + * + * 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 VDGReservoirData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGReservoir : public QObject +{ + Q_OBJECT + + PROPERTY( float , activeReservoir , 0) + PROPERTY( float , fillToVol , 0) + PROPERTY( float , drainToVol , 0) + + VIEW_DEC(VDGReservoir, DGReservoirData) + +}; +} Index: sources/view/dg/data/VDGTemperaturesData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGTemperaturesData.cpp (revision 0) +++ sources/view/dg/data/VDGTemperaturesData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,35 @@ +/*! + * + * 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 VDGTemperaturesData.cpp + * \date 6/12/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGTemperaturesData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGTemperatures, DGTemperaturesData) + +void VDGTemperatures::onActionReceive(const DGTemperaturesData &vData) +{ + inletPrimaryHeater ( vData.mInletPrimaryHeater ); + outletPrimaryHeater ( vData.mOutletPrimaryHeater ); + conductivitySensor1 ( vData.mConductivitySensor1 ); + conductivitySensor2 ( vData.mConductivitySensor2 ); + outletRedundancy ( vData.mOutletRedundancy ); + inletDialysate ( vData.mInletDialysate ); + primaryHeaterThermoCouple ( vData.mPrimaryHeaterThermoCouple ); + trimmerHeaterThermoCouple ( vData.mTrimmerHeaterThermoCouple ); + primaryHeaterColdJunction ( vData.mPrimaryHeaterColdJunction ); + trimmerHeaterColdJunction ( vData.mTrimmerHeaterColdJunction ); + primaryHeaterInternal ( vData.mPrimaryHeaterInternal ); + trimmerHeaterInternal ( vData.mTrimmerHeaterInternal ); +} Index: sources/view/dg/data/VDGTemperaturesData.h =================================================================== diff -u --- sources/view/dg/data/VDGTemperaturesData.h (revision 0) +++ sources/view/dg/data/VDGTemperaturesData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -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 VDGTemperaturesData.h + * \date 6/12/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGTemperatures : public QObject +{ + Q_OBJECT + + PROPERTY( float , inletPrimaryHeater , 0) + PROPERTY( float , outletPrimaryHeater , 0) + PROPERTY( float , conductivitySensor1 , 0) + PROPERTY( float , conductivitySensor2 , 0) + PROPERTY( float , outletRedundancy , 0) + PROPERTY( float , inletDialysate , 0) + PROPERTY( float , primaryHeaterThermoCouple , 0) + PROPERTY( float , trimmerHeaterThermoCouple , 0) + PROPERTY( float , primaryHeaterColdJunction , 0) + PROPERTY( float , trimmerHeaterColdJunction , 0) + PROPERTY( float , primaryHeaterInternal , 0) + PROPERTY( float , trimmerHeaterInternal , 0) + + VIEW_DEC(VDGTemperatures, DGTemperaturesData) + +}; +} Index: sources/view/dg/data/VDGValvesStatesData.cpp =================================================================== diff -u --- sources/view/dg/data/VDGValvesStatesData.cpp (revision 0) +++ sources/view/dg/data/VDGValvesStatesData.cpp (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,56 @@ +/*! + * + * 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 VDGValvesStatesData.cpp + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#include "VDGValvesStatesData.h" + +// Project +#include "guicontroller.h" + +VIEW_DEF(VDGValvesStates, DGValvesStatesData) + +void VDGValvesStates::onActionReceive(const DGValvesStatesData &vData) +{ + valveStates_01 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_01 )); + valveStates_02 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_02 )); + valveStates_03 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_03 )); + valveStates_04 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_04 )); + valveStates_05 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_05 )); + valveStates_06 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_06 )); + valveStates_07 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_07 )); + valveStates_08 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_08 )); + valveStates_09 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_09 )); + valveStates_10 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_10 )); + valveStates_11 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_11 )); + valveStates_12 ( vData.mStates.at( DGValvesStatesFlag::eFlag_ValveStates_12 )); + + // Trigger should be the last + refresh(true); +} + +QString VDGValvesStates::text() +{ + QString text = QString() + + (valveStates_01() ? "1" : "0" ) + "" + + (valveStates_02() ? "1" : "0" ) + "" + + (valveStates_03() ? "1" : "0" ) + "" + + (valveStates_04() ? "1" : "0" ) + "" + + (valveStates_05() ? "1" : "0" ) + "" + + (valveStates_06() ? "1" : "0" ) + "" + + (valveStates_07() ? "1" : "0" ) + "" + + (valveStates_08() ? "1" : "0" ) + "" + + (valveStates_09() ? "1" : "0" ) + "" + + (valveStates_10() ? "1" : "0" ) + "" + + (valveStates_11() ? "1" : "0" ) + "" + + (valveStates_12() ? "1" : "0" ) ; + return text; +} Index: sources/view/dg/data/VDGValvesStatesData.h =================================================================== diff -u --- sources/view/dg/data/VDGValvesStatesData.h (revision 0) +++ sources/view/dg/data/VDGValvesStatesData.h (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -0,0 +1,54 @@ +/*! + * + * 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 VDGValvesStatesData.h + * \date 7/2/2020 + * \author Behrouz NematiPour + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MModel.h" +#include "vview.h" + +// namespace +namespace View { + +class VDGValvesStates : public QObject +{ + Q_OBJECT + + TRIGGER ( bool , refresh , false) + + PROPERTY( bool , valveStates_01 , false) + PROPERTY( bool , valveStates_02 , false) + PROPERTY( bool , valveStates_03 , false) + PROPERTY( bool , valveStates_04 , false) + PROPERTY( bool , valveStates_05 , false) + PROPERTY( bool , valveStates_06 , false) + PROPERTY( bool , valveStates_07 , false) + PROPERTY( bool , valveStates_08 , false) + PROPERTY( bool , valveStates_09 , false) + PROPERTY( bool , valveStates_10 , false) + PROPERTY( bool , valveStates_11 , false) + PROPERTY( bool , valveStates_12 , false) + + VIEW_DEC(VDGValvesStates, DGValvesStatesData) + + Q_PROPERTY(QString text READ text NOTIFY refreshTriggered) + +public slots: + QString text(); + +}; + +} Index: sources/view/valarmstatus.h =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/valarmstatus.h (.../valarmstatus.h) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/valarmstatus.h (.../valarmstatus.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" #include "guiglobals.h" Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/view/vloadcellreadings.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/view/vloadcellreadings.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/vpoweroff.h =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vpoweroff.h (.../vpoweroff.h) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/vpoweroff.h (.../vpoweroff.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" // namespace Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/view/vtemperaturesensors.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 refers to a dead (removed) revision in file `sources/view/vtemperaturesensors.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/vtreatmentadjustmentresponsebase.h =================================================================== diff -u -rf160ef9c259a75e8d6120ad962cda648e8f7a9b3 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vtreatmentadjustmentresponsebase.h (.../vtreatmentadjustmentresponsebase.h) (revision f160ef9c259a75e8d6120ad962cda648e8f7a9b3) +++ sources/view/vtreatmentadjustmentresponsebase.h (.../vtreatmentadjustmentresponsebase.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" #include "guiglobals.h" Index: sources/view/vtreatmentbloodflow.h =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vtreatmentbloodflow.h (.../vtreatmentbloodflow.h) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/vtreatmentbloodflow.h (.../vtreatmentbloodflow.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" // namespace Index: sources/view/vtreatmentdialysateflow.h =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vtreatmentdialysateflow.h (.../vtreatmentdialysateflow.h) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/vtreatmentdialysateflow.h (.../vtreatmentdialysateflow.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" // namespace Index: sources/view/vtreatmentpressureocclusion.h =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vtreatmentpressureocclusion.h (.../vtreatmentpressureocclusion.h) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/vtreatmentpressureocclusion.h (.../vtreatmentpressureocclusion.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" // namespace Index: sources/view/vtreatmentranges.h =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vtreatmentranges.h (.../vtreatmentranges.h) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/vtreatmentranges.h (.../vtreatmentranges.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" // namespace Index: sources/view/vtreatmenttime.h =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vtreatmenttime.h (.../vtreatmenttime.h) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/view/vtreatmenttime.h (.../vtreatmenttime.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" // namespace Index: sources/view/vtreatmentultrafiltration.h =================================================================== diff -u -rec77306c5375f80f46e76940361c5e96064a0690 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vtreatmentultrafiltration.h (.../vtreatmentultrafiltration.h) (revision ec77306c5375f80f46e76940361c5e96064a0690) +++ sources/view/vtreatmentultrafiltration.h (.../vtreatmentultrafiltration.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -17,7 +17,7 @@ #include // Project -#include "mmodel.h" +#include "MModel.h" #include "vview.h" // namespace Index: sources/view/vview.h =================================================================== diff -u -reece7acacf84e8cc34b830f6b5ab3f112823a905 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- sources/view/vview.h (.../vview.h) (revision eece7acacf84e8cc34b830f6b5ab3f112823a905) +++ sources/view/vview.h (.../vview.h) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -102,8 +102,15 @@ REGISTER_TYPE( VTreatmentTime ) \ REGISTER_TYPE( VTreatmentRanges ) \ \ - REGISTER_TYPE( VLoadCellReadings ) \ - REGISTER_TYPE( VTemperatureSensors ) \ + REGISTER_TYPE( VDGDrainPump ) \ + REGISTER_TYPE( VDGHeaters ) \ + REGISTER_TYPE( VDGLoadCellReadings ) \ + REGISTER_TYPE( VDGOperationMode ) \ + REGISTER_TYPE( VDGPressures ) \ + REGISTER_TYPE( VDGROPump ) \ + REGISTER_TYPE( VDGReservoir ) \ + REGISTER_TYPE( VDGTemperatures ) \ + REGISTER_TYPE( VDGValvesStates ) \ \ REGISTER_TYPE( VTreatmentAdjustmentDuration ) \ REGISTER_TYPE( VTreatmentAdjustmentFlows ) \ Index: unittests/tst_canbus.cpp =================================================================== diff -u -r4578edcba291c0ffe718f31fb3077a1c931aaa46 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- unittests/tst_canbus.cpp (.../tst_canbus.cpp) (revision 4578edcba291c0ffe718f31fb3077a1c931aaa46) +++ unittests/tst_canbus.cpp (.../tst_canbus.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -84,7 +84,7 @@ void tst_canbus::tst_FrameInterface_ActionTransmit_KeepAlive() { _expected = "A5.01.00.07.00.00.30.00"; - _MessageDispatcher.onActionTransmit(Gui::GuiActionType::KeepAlive, {}); + _MessageDispatcher.onActionTransmit(Gui::GuiActionType::idKeepAlive, {}); QVERIFY(_emited); } @@ -99,23 +99,23 @@ { _expected = "A5.02.00.01.00.01.01.F0"; QVariantList mData {static_cast(Gui::GuiActionData::Accepted)}; - _MessageDispatcher.onActionTransmit(Gui::GuiActionType::PowerOff, mData); + _MessageDispatcher.onActionTransmit(Gui::GuiActionType::idPowerOff, mData); QVERIFY(_emited); } void tst_canbus::tst_FrameInterface_ActionTransmit_PowerOff_Rejected() { _expected = "A5.03.00.01.00.01.02.F4"; QVariantList mData {static_cast(Gui::GuiActionData::Rejected)}; - _MessageDispatcher.onActionTransmit(Gui::GuiActionType::PowerOff, mData); + _MessageDispatcher.onActionTransmit(Gui::GuiActionType::idPowerOff, mData); QVERIFY(_emited); } void tst_canbus::tst_FrameInterface_ActionTransmit_PowerOff() { _expected = "A5.04.00.01.00.01.00.02"; QVariantList mData {static_cast(Gui::GuiActionData::NoData)}; - _MessageDispatcher.onActionTransmit(Gui::GuiActionType::PowerOff, mData); + _MessageDispatcher.onActionTransmit(Gui::GuiActionType::idPowerOff, mData); QVERIFY(_emited); } @@ -126,28 +126,28 @@ _expected = "A5.05.00.FF.FE.01.41.18"; // A QVariantList mData {"A"}; - _MessageDispatcher.onActionTransmit(Gui::GuiActionType::String, mData); + _MessageDispatcher.onActionTransmit(Gui::GuiActionType::idRawData, mData); QVERIFY(_emited); } void tst_canbus::tst_FrameInterface_ActionTransmit_ShortPayload() { _expected = "A5.06.00.01.00.00.00.00"; QVariantList mData {}; - _MessageDispatcher.onActionTransmit(Gui::GuiActionType::PowerOff, mData); + _MessageDispatcher.onActionTransmit(Gui::GuiActionType::idPowerOff, mData); QVERIFY(! _emited); // not emitted due to short payload len } void tst_canbus::tst_FrameInterface_ActionTransmit_Unknown() { _expected = ""; - _MessageDispatcher.onActionTransmit(Gui::GuiActionType::Unknown, {}); + _MessageDispatcher.onActionTransmit(Gui::GuiActionType::idUnknown, {}); QVERIFY( ! _emited ); // should not emit the signal due to unknown action } void tst_canbus::tst_FrameInterface_FrameReceived_PowerOff() { - _action = Gui::GuiActionType::PowerOff; + _action = Gui::GuiActionType::idPowerOff; _data = {0}; QCanBusFrame mFrame; QString mPayload; @@ -160,7 +160,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_PowerOff_Timeout() { - _action = Gui::GuiActionType::PowerOff; + _action = Gui::GuiActionType::idPowerOff; _data = {1}; QCanBusFrame mFrame; QString mPayload; @@ -173,7 +173,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_Channel_NotListen() { - _action = Gui::GuiActionType::PowerOff; + _action = Gui::GuiActionType::idPowerOff; _data = {1}; QCanBusFrame mFrame; QString mPayload; @@ -186,7 +186,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_Channel_Incorrect() { - _action = Gui::GuiActionType::PowerOff; + _action = Gui::GuiActionType::idPowerOff; _data = {1}; QCanBusFrame mFrame; QString mPayload; @@ -199,7 +199,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_CRC_Error() { - _action = Gui::GuiActionType::PowerOff; + _action = Gui::GuiActionType::idPowerOff; _data = {0}; QCanBusFrame mFrame; QString mPayload; @@ -212,7 +212,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_ShortFrame_Error() { - _action = Gui::GuiActionType::PowerOff; + _action = Gui::GuiActionType::idPowerOff; _data = {0}; QCanBusFrame mFrame; QString mPayload; @@ -225,7 +225,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_LongFrame_Error() { - _action = Gui::GuiActionType::PowerOff; + _action = Gui::GuiActionType::idPowerOff; _data = {0}; QCanBusFrame mFrame; QString mPayload; @@ -238,7 +238,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_LongFrame_BloodFlow() { - _action = Gui::GuiActionType::BloodFlow; + _action = Gui::GuiActionType::idBloodFlow; _data = { -400, -397.50f, -26.20f, -2000.00f, -2002.50f, 648.75f, 62.50f }; QCanBusFrame mFrame; mFrame.setFrameId(Can_Id::eChlid_HD_Sync); @@ -258,7 +258,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_LongFrame_BloodFlow_LessData() { - _action = Gui::GuiActionType::BloodFlow; + _action = Gui::GuiActionType::idBloodFlow; _data = { -400, -397.50f, -26.20f, -2000.00f, -2002.50f, 648.75f, 62.50f }; QCanBusFrame mFrame; mFrame.setFrameId(Can_Id::eChlid_HD_Sync); @@ -277,7 +277,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_LongFrame_AlarmStatus() { - _action = Gui::GuiActionType::AlarmStatus; + _action = Gui::GuiActionType::idAlarmStatus; _data = { 2, 10, 60, 30, false,true ,false,false, // 0100 true ,false,false,false, // 1000 @@ -301,7 +301,7 @@ void tst_canbus::tst_FrameInterface_FrameReceived_LongFrame_AlarmStatus_LessData() { - _action = Gui::GuiActionType::AlarmStatus; + _action = Gui::GuiActionType::idAlarmStatus; _data = { 2, 10, 60, 30, false,true ,false,false, // 0100 true ,false,false,false, // 1000 Index: unittests/tst_logging.cpp =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- unittests/tst_logging.cpp (.../tst_logging.cpp) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ unittests/tst_logging.cpp (.../tst_logging.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -92,7 +92,7 @@ gDisableHunhandledReport = false; Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AlarmTriggered; + msg.actionId = Gui::GuiActionType::idAlarmTriggered; msg.data = {}; iMsg.printUnhandled(msg); QString mContent; @@ -107,7 +107,7 @@ gDisableHunhandledReport = true; Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AlarmTriggered; + msg.actionId = Gui::GuiActionType::idAlarmTriggered; msg.data = {}; iMsg.printUnhandled(msg); QString mContent; @@ -120,7 +120,7 @@ gDisableHunhandledReport = false; Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TreatmentState; + msg.actionId = Gui::GuiActionType::idTreatmentState; msg.data = {}; QVariantList vData {}; QVERIFY(iMsg.interpretMessage_HD(msg, vData)); Index: unittests/tst_messaging.cpp =================================================================== diff -u -r7d3062c841b788ced31d939dec990afe0de1442d -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision 7d3062c841b788ced31d939dec990afe0de1442d) +++ unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -19,7 +19,7 @@ #include "main.h" #include "messageinterpreter.h" #include "messagebuilder.h" -#include "mpoweroff.h" +#include "MPowerOff.h" #include "messagedispatcher.h" tst_messaging::tst_messaging(QObject *parent) : QObject(parent) { } @@ -32,7 +32,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustBloodDialysateReq; + msg.actionId = Gui::GuiActionType::idAdjustBloodDialysateReq; msg.data = {}; QVERIFY( iMsg.isType(msg, Gui::GuiActionType::AdjustBloodDialysateReq)); QVERIFY(! iMsg.isType(msg, Gui::GuiActionType::BloodFlow)); @@ -46,7 +46,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustBloodDialysateReq; + msg.actionId = Gui::GuiActionType::idAdjustBloodDialysateReq; msg.data = {}; QVERIFY( ! iMsg.isPayloadLenValid(msg, Gui::GuiActionType::AdjustBloodDialysateReq)); } @@ -72,7 +72,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; Model::MPowerOff data; data.fromByteArray(msg.data); @@ -87,7 +87,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PowerOff; + msg.actionId = Gui::GuiActionType::idPowerOff; msg.data = {}; Model::MPowerOff data; data.fromByteArray(msg.data); @@ -102,7 +102,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PowerOff; + msg.actionId = Gui::GuiActionType::idPowerOff; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.powerOffData(msg, data)); @@ -116,7 +116,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; Model::MBloodFlow data; data.fromByteArray(msg.data); @@ -131,7 +131,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::BloodFlow; + msg.actionId = Gui::GuiActionType::idBloodFlow; msg.data = {}; Model::MBloodFlow data; data.fromByteArray(msg.data); @@ -146,7 +146,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::BloodFlow; + msg.actionId = Gui::GuiActionType::idBloodFlow; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.bloodFlowData(msg, data)); @@ -161,7 +161,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; Model::MDialysateFlow data; data.fromByteArray(msg.data); @@ -176,7 +176,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateInletFlow; + msg.actionId = Gui::GuiActionType::idDialysateInletFlow; msg.data = {}; Model::MDialysateFlow data; data.fromByteArray(msg.data); @@ -191,7 +191,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateInletFlow; + msg.actionId = Gui::GuiActionType::idDialysateInletFlow; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.dialysateInletFlowData(msg, data)); @@ -206,7 +206,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; Model::MOutletFlow data; data.fromByteArray(msg.data); @@ -221,7 +221,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateOutletFlow; + msg.actionId = Gui::GuiActionType::idDialysateOutletFlow; msg.data = {}; Model::MOutletFlow data; data.fromByteArray(msg.data); @@ -236,7 +236,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::DialysateOutletFlow; + msg.actionId = Gui::GuiActionType::idDialysateOutletFlow; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.dialysateOutletFlowData(msg, data)); @@ -251,7 +251,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; Model::MTreatmentTime data; data.fromByteArray(msg.data); @@ -266,7 +266,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TreatmentTime; + msg.actionId = Gui::GuiActionType::idTreatmentTime; msg.data = {}; Model::MTreatmentTime data; data.fromByteArray(msg.data); @@ -281,7 +281,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TreatmentTime; + msg.actionId = Gui::GuiActionType::idTreatmentTime; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.treatmentTime(msg, data)); @@ -296,7 +296,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; Model::MAlarmStatus data; data.fromByteArray(msg.data); @@ -311,7 +311,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AlarmStatus; + msg.actionId = Gui::GuiActionType::idAlarmStatus; msg.data = {}; Model::MAlarmStatus data; data.fromByteArray(msg.data); @@ -326,7 +326,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AlarmStatus; + msg.actionId = Gui::GuiActionType::idAlarmStatus; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.alarmStatus(msg, data)); @@ -341,7 +341,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; Model::MPressureOcclusion data; data.fromByteArray(msg.data); @@ -356,7 +356,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PressureOcclusion; + msg.actionId = Gui::GuiActionType::idPressureOcclusion; msg.data = {}; Model::MPressureOcclusion data; data.fromByteArray(msg.data); @@ -371,7 +371,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::PressureOcclusion; + msg.actionId = Gui::GuiActionType::idPressureOcclusion; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.pressureOcclusionData(msg, data)); @@ -386,7 +386,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustBloodDialysateData(msg, list)); @@ -400,7 +400,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustBloodDialysateRsp; + msg.actionId = Gui::GuiActionType::idAdjustBloodDialysateRsp; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustBloodDialysateData(msg, list)); @@ -414,7 +414,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustDurationData(msg, list)); @@ -428,7 +428,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustDurationRsp; + msg.actionId = Gui::GuiActionType::idAdjustDurationRsp; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustDurationData(msg, list)); @@ -442,7 +442,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustUltrafiltrationStateData(msg, list)); @@ -456,7 +456,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustUltrafiltrationStateReq; + msg.actionId = Gui::GuiActionType::idAdjustUltrafiltrationStateReq; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustUltrafiltrationStateData(msg, list)); @@ -470,7 +470,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustUltrafiltrationEditData(msg, list)); @@ -484,7 +484,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustUltrafiltrationEditRsp; + msg.actionId = Gui::GuiActionType::idAdjustUltrafiltrationEditRsp; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustUltrafiltrationEditData(msg, list)); @@ -498,7 +498,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustUltrafiltrationConfirmData(msg, list)); @@ -512,7 +512,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::AdjustUltrafiltrationConfirmRsp; + msg.actionId = Gui::GuiActionType::idAdjustUltrafiltrationConfirmRsp; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.adjustUltrafiltrationConfirmData(msg, list)); @@ -526,7 +526,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.treatmentRangesData(msg, list)); @@ -540,7 +540,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TreatmentRanges; + msg.actionId = Gui::GuiActionType::idTreatmentRanges; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.treatmentRangesData(msg, list)); @@ -554,10 +554,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.loadCellReadingsData(msg, list)); + QVERIFY( ! iMsg.dgLoadCellReadingsData(msg, list)); } /*! @@ -568,10 +568,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::LoadCellReadings; + msg.actionId = Gui::GuiActionType::DGLoadCellReadingsData; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.loadCellReadingsData(msg, list)); + QVERIFY( ! iMsg.dgLoadCellReadingsData(msg, list)); } /*! @@ -582,10 +582,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.temperatureSensorsData(msg, list)); + QVERIFY( ! iMsg.dgTemperaturesData(msg, list)); } /*! @@ -596,10 +596,10 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::TemperatureSensors; + msg.actionId = Gui::GuiActionType::DGTemperaturesData; msg.data = {}; QVariantList list; - QVERIFY( ! iMsg.temperatureSensorsData(msg, list)); + QVERIFY( ! iMsg.dgTemperaturesData(msg, list)); } /*! @@ -610,7 +610,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::Unknown; + msg.actionId = Gui::GuiActionType::idUnknown; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.canbusFaultCountData(msg, list)); @@ -624,7 +624,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::CanBUSFaultCount; + msg.actionId = Gui::GuiActionType::idCANBusFaultCount; msg.data = {}; QVariantList list; QVERIFY( ! iMsg.canbusFaultCountData(msg, list)); @@ -729,7 +729,7 @@ { Can::MessageInterpreter iMsg; Can::Message msg; - msg.actionId = Gui::GuiActionType::CanBUSFaultCount; + msg.actionId = Gui::GuiActionType::idCANBusFaultCount; msg.data = {}; QVariantList data; QVERIFY( ! iMsg.canbusFaultCountData(msg, data)); @@ -859,6 +859,6 @@ Can::MessageDispatcher dMsg; QVariantList data; Can::Sequence seq = 1; - dMsg.actionTransmit(Gui::GuiActionType::AdjustBloodDialysateReq, data, seq); + dMsg.actionTransmit(Gui::GuiActionType::idAdjustBloodDialysateReq, data, seq); } Index: unittests/tst_models.cpp =================================================================== diff -u -r4578edcba291c0ffe718f31fb3077a1c931aaa46 -r6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5 --- unittests/tst_models.cpp (.../tst_models.cpp) (revision 4578edcba291c0ffe718f31fb3077a1c931aaa46) +++ unittests/tst_models.cpp (.../tst_models.cpp) (revision 6ae83fa9a1a3204864fc5b50fe906ac09e9c1ea5) @@ -16,14 +16,14 @@ // Qt // Project -#include "mtreatmentadjustblooddialysateresponse.h" -#include "mtreatmentadjustdurationresponse.h" -#include "mtreatmentranges.h" -#include "mloadcellreadings.h" -#include "mtemperaturesensors.h" -#include "mtreatmentadjustultrafiltrationstateresponse.h" -#include "mtreatmentadjustultrafiltrationeditresponse.h" -#include "mtreatmentadjustultrafiltrationconfirmresponse.h" +#include "MTreatmentAdjustBloodDialysateResponse.h" +#include "MTreatmentAdjustDurationResponse.h" +#include "MTreatmentRangesData.h" +#include "MDGLoadCellReadingsData.h" +#include "MDGTemperaturesData.h" +#include "MTreatmentAdjustUltrafiltrationStateResponse.h" +#include "MTreatmentAdjustUltrafiltrationEditResponse.h" +#include "MTreatmentAdjustUltrafiltrationConfirmResponse.h" // #define CONSOLEOUT @@ -222,7 +222,7 @@ void tst_models::tst_MLoadCellReadings () { - Model::MLoadCellReadings mData; + Model::MDGLoadCellReadings mData; QFETCH(int , errorIndex ); QFETCH(QByteArray, data ); @@ -305,7 +305,7 @@ void tst_models::tst_MTemperatureSensors () { - Model::MTemperatureSensors mData; + Model::MDGTemperatures mData; QFETCH(int , errorIndex ); QFETCH(QByteArray, data );