Index: denali.pro =================================================================== diff -u -r1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- denali.pro (.../denali.pro) (revision 1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3) +++ denali.pro (.../denali.pro) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -1,4 +1,4 @@ -QT += widgets qml quick serialbus concurrent +QT += widgets qml quick serialbus concurrent bluetooth CONFIG += c++17 warn_on QMAKE_CXXFLAGS += -Wall -Werror -Wimplicit-fallthrough # -save-temps # see .ii and .s files @@ -31,6 +31,7 @@ sources/storage \ sources/gui \ sources/canbus \ + sources/bluetooth \ sources/utility \ sources/abstract \ sources/model \ @@ -112,18 +113,24 @@ sources/canbus/MessageBuilder.h \ sources/canbus/MessageInterpreter.h \ sources/canbus/MessageDispatcher.h \ + \ # Bluetooth + sources/bluetooth/BLEScanner.h \ \ # Gui sources/gui/GuiGlobals.h \ sources/gui/GuiView.h \ sources/gui/GuiController.h \ \ # ---------- Views ---------- + sources/view/VAlert.h \ + sources/view/VBluetooth.h \ + sources/view/VBluetoothDeviceInfo.h \ sources/view/VTreatmentCreate.h \ sources/view/VTreatmentEnd.h \ sources/view/VTreatmentBegin.h \ sources/view/VEventSpy.h \ sources/view/VView.h \ sources/view/VPowerOff.h \ sources/view/VPriming.h \ + sources/view/VVitals.h \ \ # ---------- Views - Alarm sources/view/hd/alarm/VAlarmStatus.h \ \ # ---------- Views - HD - Adjustment - In-Treatment @@ -233,17 +240,23 @@ sources/canbus/MessageBuilder.cpp \ sources/canbus/MessageDispatcher.cpp \ sources/canbus/MessageInterpreter.cpp \ + \ # Bluetooth + sources/bluetooth/BLEScanner.cpp \ \ # Gui sources/gui/GuiGlobals.cpp \ sources/gui/GuiView.cpp \ sources/gui/GuiController.cpp \ \ # ---------- Views ---------- + sources/view/VAlert.cpp \ + sources/view/VBluetooth.cpp \ + sources/view/VBluetoothDeviceInfo.cpp \ sources/view/VTreatmentCreate.cpp \ sources/view/VTreatmentEnd.cpp \ sources/view/VTreatmentBegin.cpp \ sources/view/VEventSpy.cpp \ sources/view/VPriming.cpp \ sources/view/VPowerOff.cpp \ + sources/view/VVitals.cpp \ \ # ---------- Views - Alarm sources/view/hd/alarm/VAlarmStatus.cpp \ \ # ---------- Views - HD - Adjustment - In-Treatment Index: denali.pro.user =================================================================== diff -u -r1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- denali.pro.user (.../denali.pro.user) (revision 1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3) +++ denali.pro.user (.../denali.pro.user) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -1,6 +1,6 @@ - + EnvironmentId @@ -89,7 +89,7 @@ Desktop Qt 5.12.5 GCC 64bit Desktop Qt 5.12.5 GCC 64bit qt.qt5.5125.gcc_64_kit - 0 + 1 0 0 @@ -104,7 +104,7 @@ false false - true + false true @@ -1176,16 +1176,16 @@ denali Qt4ProjectManager.Qt4RunConfiguration:/home/denali/Projects/application/denali.pro - --disable-timeout --disable-unhandled-report --logOut + 3768 false true true false - true - false + false + true - /home/denali/Projects/tmp/build/denali-Desktop_Qt_5_12_5_GCC_64bit-Debug + /home/denali/Projects/tmp/build/denali-Desktop_Qt_5_12_5_GCC_64bit-Release 1 @@ -1196,7 +1196,7 @@ Qt 5.12.5 (iMX8) Qt 5.12.5 (iMX8) {5d6458ef-f917-4aef-a092-c77bbe106149} - 0 + 1 0 0 @@ -1207,7 +1207,7 @@ qmake QtProjectManager.QMakeBuildStep - false + true false false @@ -1475,12 +1475,12 @@ 1 - denali (on Generic Linux Device (iMX8))2 + denali (on UI Test Board) RemoteLinuxRunConfiguration:/home/denali/Projects/application/denali.pro 1 false - -u + 3768 false true Index: denali.qrc =================================================================== diff -u -r1d43ff790e6a3fb03d371bb5bde9c2d432d299b6 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- denali.qrc (.../denali.qrc) (revision 1d43ff790e6a3fb03d371bb5bde9c2d432d299b6) +++ denali.qrc (.../denali.qrc) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -5,12 +5,14 @@ sources/gui/qml/pages/SettingsHome.qml sources/gui/qml/pages/Diagnostics.qml sources/gui/qml/pages/ManagerHome.qml + sources/gui/qml/pages/SettingsBluetooth.qml sources/gui/qml/dialogs/PowerOff.qml sources/gui/qml/dialogs/AutoHideInfo.qml sources/gui/qml/dialogs/NotificationDialog.qml sources/gui/qml/dialogs/AlarmListDialog.qml + sources/gui/qml/dialogs/Alert.qml resources/images/Settings_gear_setting_tools-128.png @@ -22,6 +24,7 @@ resources/images/logo d Dark Transparent.png resources/images/Close.png resources/images/alarm.png + resources/images/alert.png resources/images/bell.png resources/images/bell-off.png resources/images/Back.png @@ -70,15 +73,9 @@ sources/gui/qml/components/TimeText.qml sources/gui/qml/components/ProgressCircle.qml sources/gui/qml/components/Slider.qml - sources/gui/qml/components/SliderCreateTreatment.qml - sources/gui/qml/components/ConfirmTreatmentTable.qml - sources/gui/qml/components/ConfirmTreatmentSubTable.qml - sources/gui/qml/components/SliderDoubleCreateTreatment.qml sources/gui/qml/components/GridSelection.qml - sources/gui/qml/components/TopMenuBarCreateTreatment.qml sources/gui/qml/components/ProgressBarEx.qml sources/gui/qml/components/CloseButton.qml - sources/gui/qml/components/ConfirmButton.qml sources/gui/qml/components/TickMarks.qml sources/gui/qml/components/NotificationBar.qml sources/gui/qml/components/NotificationBarSmall.qml @@ -87,9 +84,15 @@ sources/gui/qml/components/ImageClock.qml sources/gui/qml/components/ImageLogoDDarkTransparent.qml sources/gui/qml/components/PrimingTimer.qml - sources/gui/qml/components/ConfirmTreatmentTableEntry.qml sources/gui/qml/components/DebugDataColumn.qml sources/gui/qml/components/CheckListItem.qml + sources/gui/qml/components/ConfirmButton.qml + sources/gui/qml/components/pretreatment/SliderCreateTreatment.qml + sources/gui/qml/components/pretreatment/ConfirmTreatmentTable.qml + sources/gui/qml/components/pretreatment/ConfirmTreatmentSubTable.qml + sources/gui/qml/components/pretreatment/ConfirmTreatmentTableEntry.qml + sources/gui/qml/components/pretreatment/TopMenuBarCreateTreatment.qml + sources/gui/qml/components/pretreatment/SliderDoubleCreateTreatment.qml sources/gui/qml/components/RangeSlider.qml sources/gui/qml/components/MuteButton.qml sources/gui/qml/components/UpDownButton.qml Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -r1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -305,11 +305,11 @@ * \param vData - Data model contains the start treatment request information. * \return void */ -void MessageDispatcher::onAdjustment(const StartTreatmentRequestData &vData) +void MessageDispatcher::onAdjustment(const TreatmentStartRequestData &vData) { QVariantList mData; mData += vData.request; - onActionTransmit(GuiActionType::ID_StartTreatmentReq, mData); + onActionTransmit(GuiActionType::ID_TreatmentStartReq, mData); } /*! @@ -356,11 +356,11 @@ * \param vData - Data model contains the confirm treatment request * \return void */ -void MessageDispatcher::onAdjustment(const ConfirmTreatmentRequestData &vData) +void MessageDispatcher::onAdjustment(const TreatmentConfirmRequestData &vData) { QVariantList mData; mData += vData.request; - onActionTransmit(GuiActionType::ID_ConfirmTreatmentReq, mData); + onActionTransmit(GuiActionType::ID_TreatmentConfirmReq, mData); } /*! @@ -369,11 +369,11 @@ * \param vData - Data model contains the end treatment request * \return void */ -void MessageDispatcher::onAdjustment(const EndTreatmentRequestData &vData) +void MessageDispatcher::onAdjustment(const TreatmentEndRequestData &vData) { Q_UNUSED(vData) QVariantList mData; - onActionTransmit(GuiActionType::ID_EndTreatmentReq, mData); + onActionTransmit(GuiActionType::ID_TreatmentEndReq, mData); } @@ -443,10 +443,9 @@ mData += vData.heparinBolusVolume ; mData += vData.dialysateTemp ; - onActionTransmit(GuiActionType::ID_CreateTreatmentReq, mData); + onActionTransmit(GuiActionType::ID_TreatmentCreateReq, mData); } - /*! * \brief MessageDispatcher::actionTransmit * \details This method is called by slot MessageDispatcher::onActionTransmit Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -81,11 +81,11 @@ {Gui::GuiActionType::ID_AlarmUserActionReq , 1 * 4 }, // 1 parameter each 4bytes // ---- - {Gui::GuiActionType::ID_StartTreatmentReq , 1 * 4 }, // 1 parameters each 4bytes - {Gui::GuiActionType::ID_StartTreatmentRsp , 2 * 4 }, // 2 parameters each 4bytes - {Gui::GuiActionType::ID_ConfirmTreatmentReq , 1 * 4 }, // 1 parameters each 4bytes - {Gui::GuiActionType::ID_EndTreatmentReq , 0 }, - {Gui::GuiActionType::ID_EndTreatmentRsp , 0 }, + {Gui::GuiActionType::ID_TreatmentStartReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_TreatmentStartRsp , 2 * 4 }, // 2 parameters each 4bytes + {Gui::GuiActionType::ID_TreatmentConfirmReq , 1 * 4 }, // 1 parameters each 4bytes + {Gui::GuiActionType::ID_TreatmentEndReq , 0 }, + {Gui::GuiActionType::ID_TreatmentEndRsp , 0 }, // ---- {Gui::GuiActionType::ID_TreatmentRanges , 6 * 4 }, // 6 parameters each 4bytes @@ -120,8 +120,8 @@ {Gui::GuiActionType::ID_AdjustPressuresLimitsRsp , 6 * 4 }, // 6 parameters each 4bytes // --- - {Gui::GuiActionType::ID_CreateTreatmentReq , 17 * 4 }, // 17 parameters, each 4 bytes - {Gui::GuiActionType::ID_CreateTreatmentRsp , 18 * 4 }, // 18 parameters, each 4 bytes + {Gui::GuiActionType::ID_TreatmentCreateReq , 17 * 4 }, // 17 parameters, each 4 bytes + {Gui::GuiActionType::ID_TreatmentCreateRsp , 18 * 4 }, // 18 parameters, each 4 bytes // ---- Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -r1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -225,15 +225,25 @@ case Gui::GuiActionType::ID_AdjustUltrafiltrationEditReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationEditRequestData ); break; case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationConfirmRequestData); break; // pre-Treatment - case Gui::GuiActionType::ID_StartTreatmentReq : INTERPRET_RECEIVED_MESSAGE(StartTreatmentRequestData ); break; - case Gui::GuiActionType::ID_ConfirmTreatmentReq : INTERPRET_RECEIVED_MESSAGE(ConfirmTreatmentRequestData ); break; - case Gui::GuiActionType::ID_EndTreatmentReq : INTERPRET_RECEIVED_MESSAGE(EndTreatmentRequestData ); break; - case Gui::GuiActionType::ID_CreateTreatmentReq : INTERPRET_RECEIVED_MESSAGE(AdjustTreatmentParametersRequestData ); break; + case Gui::GuiActionType::ID_TreatmentStartReq : INTERPRET_RECEIVED_MESSAGE(TreatmentStartRequestData ); break; + case Gui::GuiActionType::ID_TreatmentConfirmReq : INTERPRET_RECEIVED_MESSAGE(TreatmentConfirmRequestData ); break; + + case Gui::GuiActionType::ID_TreatmentEndReq: + if ( length != 0 ) { logInvalidLength(vActionId); return false; } + vPayload = Format::fromVariant(vData); + LOG_EVENT(TreatmentEndRequestData::toString(vData)); + break; + + case Gui::GuiActionType::ID_TreatmentCreateReq : INTERPRET_RECEIVED_MESSAGE(AdjustTreatmentParametersRequestData ); break; // alarms case Gui::GuiActionType::ID_AlarmSilenceReq : INTERPRET_RECEIVED_MESSAGE(AlarmSilenceRequestData ); break; case Gui::GuiActionType::ID_AlarmUserActionReq : INTERPRET_RECEIVED_MESSAGE(AlarmUserActionRequestData ); break; case Gui::GuiActionType::ID_AlarmClearedConditionReq : INTERPRET_RECEIVED_MESSAGE(AlarmClearedConditionRequestData ); break; + case Gui::GuiActionType::ID_AdjustSalineReq : INTERPRET_RECEIVED_MESSAGE(AdjustSalineRequestData ); break; + case Gui::GuiActionType::ID_AdjustHeparinReq : INTERPRET_RECEIVED_MESSAGE(AdjustHeparinRequestData ); break; + case Gui::GuiActionType::ID_AdjustPressuresLimitsReq : INTERPRET_RECEIVED_MESSAGE(AdjustPressuresLimitsRequestData ); break; + default: QString mActionIdHexString = Format::toHexString(vActionId); LOG_DEBUG(mSenderID + tr("Unknown transmit Message with ID '%1'").arg(mActionIdHexString)); @@ -316,7 +326,7 @@ case Gui::GuiActionType::ID_Acknow : ok = true; break; // TODO : implement notify<>() case Gui::GuiActionType::ID_PowerOff : ok = notify(vMessage, vData, Gui::GuiActionType::ID_PowerOff ); break; case Gui::GuiActionType::ID_ShuttingDown : ok = true; LOG_EVENT("HD,ShuttingDown"); break; // TODO : implement notify<>() - case Gui::GuiActionType::ID_CreateTreatmentRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_CreateTreatmentRsp ); break; + case Gui::GuiActionType::ID_TreatmentCreateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_TreatmentCreateRsp ); break; // Adjustment Response Messages case Gui::GuiActionType::ID_AdjustDurationRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationRsp ); break; @@ -331,8 +341,8 @@ case Gui::GuiActionType::ID_AdjustUltrafiltrationEditRsp : ok = adjustUltrafiltrationEdit (vMessage, vData); break; // TODO : implement notify<>() case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmRsp : ok = adjustUltrafiltrationConfirm (vMessage, vData); break; // TODO : implement notify<>() - case Gui::GuiActionType::ID_StartTreatmentRsp : ok = notify (vMessage, vData, Gui::GuiActionType::ID_StartTreatmentRsp ); break; - case Gui::GuiActionType::ID_EndTreatmentRsp : ok = notify (vMessage, vData, Gui::GuiActionType::ID_EndTreatmentRsp ); break; + case Gui::GuiActionType::ID_TreatmentStartRsp : ok = notify (vMessage, vData, Gui::GuiActionType::ID_TreatmentStartRsp ); break; + case Gui::GuiActionType::ID_TreatmentEndRsp : ok = notify (vMessage, vData, Gui::GuiActionType::ID_TreatmentEndRsp ); break; // Alarms case Gui::GuiActionType::ID_AlarmStatus : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmStatus ); break; Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -50,6 +50,8 @@ #include "VDGTemperaturesData.h" #include "VDGValvesStatesData.h" #include "VTreatmentCreate.h" +#include "VBluetooth.h" +#include "VBluetoothDeviceInfo.h" #include "VPriming.h" #include "VTreatmentBegin.h" #include "VTreatmentEnd.h" @@ -60,6 +62,8 @@ #include "VTreatmentAdjustmentUltrafiltrationEdit.h" #include "VTreatmentAdjustmentUltrafiltrationConfirm.h" #include "VTreatmentAdjustmentSaline.h" +#include "VVitals.h" +#include "VAlert.h" #include "VTreatmentAdjustmentHeparin.h" #include "VTreatmentAdjustmentPressuresLimits.h" Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r83eaf514216a1ca9a55db2d7f78de85c8e58d0aa -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 83eaf514216a1ca9a55db2d7f78de85c8e58d0aa) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -99,13 +99,14 @@ ID_AlarmUserActionReq = 0x4000, // 64 // there is no response since it is kind of the response to the ID_AlarmStatus from UI to HD // Pre-Treatment Parameters - ID_CreateTreatmentReq = 0x3500, // 53 - ID_CreateTreatmentRsp = 0x3600, // 54 - ID_StartTreatmentReq = 0x3800, // 56 - ID_StartTreatmentRsp = 0x3900, // 57 - ID_ConfirmTreatmentReq = 0x3B00, // 59 - ID_EndTreatmentReq = 0x3C00, // 60 - ID_EndTreatmentRsp = 0x3D00, // 61 + ID_TreatmentCreateReq = 0x3500, // 53 + ID_TreatmentCreateRsp = 0x3600, // 54 + ID_TreatmentStartReq = 0x3800, // 56 + ID_TreatmentStartRsp = 0x3900, // 57 + ID_TreatmentConfirmReq = 0x3B00, // 59 + ID_TreatmentEndReq = 0x3C00, // 60 + ID_TreatmentEndRsp = 0x3D00, // 61 + ID_PrimingData = 0x4300, // 67 @@ -165,6 +166,23 @@ Timeout = 0x01, }; + enum AlertID { + ID_Alert_None = 0, + ID_Alert_BLE_Connection, + ID_Alert_BLE_Measurement_Timeout + }; + + struct AlertRequest { + AlertID id; + QString title; + QString description; + }; + + struct AlertResponse { + AlertID id; + bool confirmed = false; + }; + Q_ENUM(GuiActionsType_Enum) Q_ENUM(GuiActionsData_Enum) @@ -217,6 +235,10 @@ typedef GuiActions::Heparin_Commands GuiHeparinCommands; typedef GuiActions::Heparin_States GuiHeparinStates; + typedef GuiActions::AlertID GuiAlertID; + typedef GuiActions::AlertRequest GuiAlertRequestData; + typedef GuiActions::AlertResponse GuiAlertResponseData; + void registerTypes(); void registerQmlTypes(); Index: sources/gui/qml/components/pretreatment/ConfirmTreatmentTable.qml =================================================================== diff -u -rc3a1e077ddeba65709084f9af5dd756741db8b4f -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/components/pretreatment/ConfirmTreatmentTable.qml (.../ConfirmTreatmentTable.qml) (revision c3a1e077ddeba65709084f9af5dd756741db8b4f) +++ sources/gui/qml/components/pretreatment/ConfirmTreatmentTable.qml (.../ConfirmTreatmentTable.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -67,7 +67,7 @@ anchors.leftMargin: 20 text: "New Treatment" color: "white" - font.pixelSize: Fonts.crTreatmentFontSize + font.pixelSize: Fonts.createTreatmentFontSize } } Index: sources/gui/qml/components/pretreatment/SliderCreateTreatment.qml =================================================================== diff -u -rc3a1e077ddeba65709084f9af5dd756741db8b4f -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/components/pretreatment/SliderCreateTreatment.qml (.../SliderCreateTreatment.qml) (revision c3a1e077ddeba65709084f9af5dd756741db8b4f) +++ sources/gui/qml/components/pretreatment/SliderCreateTreatment.qml (.../SliderCreateTreatment.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -73,7 +73,7 @@ id: _selected_value anchors.top: parent.top anchors.right: parent.right - text: "-- " + _root.units + text: "__ " + _root.units font.pixelSize: Fonts.fontPixelFluidUnit color: Colors.textDisableButton; Index: sources/gui/qml/components/pretreatment/TopMenuBarCreateTreatment.qml =================================================================== diff -u -rc3a1e077ddeba65709084f9af5dd756741db8b4f -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/components/pretreatment/TopMenuBarCreateTreatment.qml (.../TopMenuBarCreateTreatment.qml) (revision c3a1e077ddeba65709084f9af5dd756741db8b4f) +++ sources/gui/qml/components/pretreatment/TopMenuBarCreateTreatment.qml (.../TopMenuBarCreateTreatment.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -28,7 +28,7 @@ */ Rectangle { id: _root height: Variables.topBarMenuHeight - color: Colors.backgroundMainMenu + color: Colors.backgroundMain property var step: "CREATE"; property int spacing: 5 signal clickedBack() Index: sources/gui/qml/globals/Fonts.qml =================================================================== diff -u -rccb91da4becded9a7ad409b758bba96784d9feba -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) +++ sources/gui/qml/globals/Fonts.qml (.../Fonts.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -70,4 +70,6 @@ readonly property int primingFontSize : 20 readonly property int createTreatmentFontSize : 30 readonly property int crTreatmentTableFontSize : 24 + readonly property int bleTitleFontSize : 30 + readonly property int bleConnectedFontSize : 16 } Index: sources/gui/qml/globals/Variables.qml =================================================================== diff -u -r1d43ff790e6a3fb03d371bb5bde9c2d432d299b6 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision 1d43ff790e6a3fb03d371bb5bde9c2d432d299b6) +++ sources/gui/qml/globals/Variables.qml (.../Variables.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -113,6 +113,12 @@ readonly property int notificationBarIconHeight : 30 readonly property int notificationBarIconWidth : 30 + readonly property int settingsBLEListViewWidth : 360 + readonly property int settingsBLEItemRightMargin : 20 + readonly property int settingsBLEButtonWidth : 300 + readonly property int settingsBLEButtonHeight : 85 + readonly property int settingsBLEMargin : 75 + readonly property int settingsBLEListViewMargin : 25 readonly property int settingsOptionWidth : 550 readonly property int settingsOptionHeight : 50 Index: sources/gui/qml/main.qml =================================================================== diff -u -r666594860f4ea32da9a2bd362d40325b881b11f9 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/main.qml (.../main.qml) (revision 666594860f4ea32da9a2bd362d40325b881b11f9) +++ sources/gui/qml/main.qml (.../main.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -18,8 +18,8 @@ // Project // C++ imports -import Gui.View 0.1; -import Gui.Actions 0.1; +import Gui.View 0.1 +import Gui.Actions 0.1 // TODO : When Testing data on Setting screen is removed // This needs to be moved into the TreatmentFlows.qml @@ -49,6 +49,7 @@ import VPriming 0.1; import VTreatmentBegin 0.1; import VTreatmentEnd 0.1; +import VTreatmentAdjustmentUltrafiltrationInit 0.1; import VVitals 0.1; import VAlert 0.1; @@ -110,6 +111,7 @@ VPriming { id: vPriming } VTreatmentBegin { id: vTreatmentBegin } VTreatmentEnd { id: vTreatmentEnd } + VTreatmentAdjustmentUltrafiltrationInit { id: vTreatmentAdjustmentUltrafiltrationInit } VVitals { id: vVitals } VAlert { id: vAlert } @@ -147,73 +149,105 @@ } } - NotificationBar { id: _alarm_bar - - anchors.bottom: _mainMenu.top - level : vAlarmStatus.alarm_Priority - text : vAlarmStatus.text; - isSilenced: vAlarmStatus.alarm_Flag_alarmsSilenced; - - onClickedNotificationBar: { - updateAlarm(); - vAlarmStatus.onSetMinimize(false); - _alarm_bar.visible = false; - _alarm_dialog.visible = true; - } + // Alarms + function alarmMinimize() { + _alarmDialog .visible = false + _alarmListDialog.visible = false + _alarmBar .visible = true } + function alarmMaximize() { + _alarmDialog .visible = true + _alarmListDialog.visible = false + _alarmBar .visible = false + } + function alarmList() { + _alarmDialog .visible = false + _alarmListDialog.visible = true + _alarmBar .visible = false + } + function alarmHide() { + _alarmDialog .visible = false + _alarmListDialog.visible = false + _alarmBar .visible = false + } - function updateAlarm() { - _alarm_dialog.titleText = "Alarm"; - _alarm_dialog.description = vAlarmStatus.text; - _alarm_dialog.alarmID = vAlarmStatus.alarm_AlarmID; - [_alarm_dialog.backgroundColor, _alarm_dialog.textColor] = getRootTextFromAlarmLevel(vAlarmStatus.alarm_Priority); - [_alarm_dialog.titleBarBackground, _alarm_dialog.titleBarForeground] = getAlarmTopBarColors(vAlarmStatus.alarm_Priority); - _alarm_bar.backgroundColor = _alarm_dialog.titleBarBackground; + NotificationBar { id : _alarmBar + backgroundColor : _alarmDialog.backgroundColor + textColor : _alarmDialog.textColor + anchors.bottom : _mainMenu.top + text : vAlarmStatus.text; + isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced + timeout : vAlarmStatus.alarm_MuteTimeout - _alarm_dialog.isSilenced = vAlarmStatus.alarm_Flag_alarmsSilenced; - _alarm_bar.toggleSilence(vAlarmStatus.alarm_Flag_alarmsSilenced, vAlarmStatus.alarm_MuteTimeout); - _alarm_dialog.silenceBtn.visible = !vAlarmStatus.alarm_Flag_alarmsSilenced; + onMuteClicked : vAlarmStatus.doSilence() + onListClicked : alarmList() + onMaximizeClicked : alarmMaximize() + onClicked : alarmMaximize() } - NotificationDialog { id: _alarm_dialog - alarmID: -1 + // TODO : Later need to create a base Notification dialog class + // and inherit NotificationDialog and AlarmListDialog from that + // Beter be the NotificationDialog defined as parent + // and two separate dialogs by the names of AlarmDialog , AlarmListDlialog creatd. + // Same for the Notification Bar + NotificationDialog { id : _alarmDialog + // this will change later to the actual message text + // and the instruction would be in the dialog content + titleText : "Alarm" + description : vAlarmStatus.text + alarmID : vAlarmStatus.alarm_AlarmID + isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced + timeout : vAlarmStatus.alarm_MuteTimeout + okVisible : vAlarmStatus.alarm_Flag_UserMustAck + resumeVisible : ! vAlarmStatus.alarm_Flag_noResume + rinsebackVisible : ! vAlarmStatus.alarm_Flag_noRinseback + endVisible : ! vAlarmStatus.alarm_Flag_noEndTreatment - onClickedOkay: { - _alarm_dialog.visible = false; - _alarm_bar.visible = true; - vAlarmStatus.onRequestOkay(alarmID) + onMuteClicked : vAlarmStatus.doSilence () + onResumeClicked : vAlarmStatus.doUserActionResume () + onRinsebackClicked : vAlarmStatus.doUserActionRinseback() + onEndClicked : vAlarmStatus.doUserActionEnd () + onOkClicked : vAlarmStatus.doUserActionOk () + onMinimizeClicked : { + alarmMinimize() + // when used minimizes the alarm it can stay minimized until otherwize is set + // by the next alarm status received. + // see also the "Connections { target: vAlarmStatus" implementation + vAlarmStatus.alarm_KeepMinimized = true + // DEBUG: vAlarmStatus.doClearCondition() } + } - onClickedSilence: { - _alarm_dialog.visible = false; - _alarm_bar.visible = true; - vAlarmStatus.onRequestSilence(); - } + AlarmListDialog { id : _alarmListDialog + isSilenced : vAlarmStatus.alarm_Flag_alarmsSilenced + timeout : vAlarmStatus.alarm_MuteTimeout + onMuteClicked : vAlarmStatus.doSilence() + onMinimizeClicked : alarmMinimize() } // 9 - Others Text { // TEST : Application version should be moved into the information screen later. - color: Colors.textMain + color : Colors.textMain anchors { - right: parent.right - margins: 5 - bottom: parent.bottom + top : parent.top + left : parent.left + leftMargin : 10 } - horizontalAlignment: Text.AlignRight - verticalAlignment: Text.AlignBottom + horizontalAlignment : Text.AlignRight + verticalAlignment : Text.AlignBottom - height: Variables.mainMenuHeight - text: Qt.application.version + height : 15 + text : Qt.application.version font.pixelSize: 14 } Rectangle { // TEST : SD-Card not present should be handled with better indication(s). color : ! _GuiView.sdIsReady ? "red" : _GuiView.sdIsReadOnly ? "gray" : "green" anchors { - right : parent.right - bottom : parent.bottom - bottomMargin: 35 - rightMargin: 10 + top : parent.top + right : parent.right + topMargin : 5 + rightMargin : 5 } width : 25 height: 25 @@ -225,52 +259,6 @@ visible: true // ! _GuiView.sdIsReady || _GuiView.sdIsReadOnly } - function getRootTextFromAlarmLevel(level) { - let root_color = ""; - let text_color = ""; - switch (level) { - case GuiActions.ALARM_PRIORITY_HIGH: - root_color = Colors.textNotificationHighBg; - text_color = Colors.textNotificationHighFg; - break; - case GuiActions.ALARM_PRIORITY_MEDIUM: - root_color = Colors.textNotificationMedBg; - text_color = Colors.textNotificationMedFg; - break; - case GuiActions.ALARM_PRIORITY_LOW: - root_color = Colors.textNotificationLowBg; - text_color = Colors.textNotificationLowFg; - break; - default : // GuiActions.ALARM_PRIORITY_NONE - root_color = Colors.textNotificationNoneBg; - text_color = Colors.textNotificationNoneFg; - } - return [root_color, text_color]; - } - - function getAlarmTopBarColors(level) { - let background = ""; - let foreground = ""; - switch (level) { - case GuiActions.ALARM_PRIORITY_HIGH: - background = Colors.alarmTopBarHighBg; - foreground = Colors.alarmTopBarHighFg; - break; - case GuiActions.ALARM_PRIORITY_MEDIUM: - background = Colors.alarmTopBarMedBg; - foreground = Colors.alarmTopBarMedFg; - break; - case GuiActions.ALARM_PRIORITY_LOW: - background = Colors.alarmTopBarLowBg; - foreground = Colors.alarmTopBarLowFg; - break; - default : // GuiActions.ALARM_PRIORITY_NONE - background = Colors.alarmTopBarLowBg; - foreground = Colors.alarmTopBarLowFg; - } - return [background, foreground]; - } - Connections { target: vPowerOff onPoweroffTriggered: { switch (vpoweroff) { @@ -295,21 +283,37 @@ Alert { id: _alert } Connections { target: vAlarmStatus - onRaiseAlarm: { - updateAlarm(); + onAlarm_Flag_noResumeChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_noRinsebackChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_noEndTreatmentChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_UserMustAckChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_AlarmIDChanged : vAlarmStatus.alarm_KeepMinimized = false + onAlarm_Flag_alarmsSilencedChanged : vAlarmStatus.alarm_KeepMinimized = vAlarmStatus.alarm_Flag_alarmsSilenced + onAlarm_PriorityChanged: { + [ + _alarmDialog.titleBarBackground, + _alarmDialog.titleBarForeground, + _alarmDialog.backgroundColor , + _alarmDialog.textColor , + ] = Colors.alarmPriorityColors(vAlarmStatus.alarm_Priority) + } - if (vAlarmStatus.minimizeAlarm) { - _alarm_dialog.visible = false; - _alarm_bar.visible = true; - } else { - _alarm_dialog.visible = true; - _alarm_bar.visible = false; + onDidAlarmRaise: { + let silenceMinimize = false + if (vAlarmStatus.alarm_Flag_alarmsSilenced && silenceMinimize) { + // this is the response to the silence request + // so the dialog should be closed when the request accepted + // if not then if can stay minimized nothing happens + // if can't stay minimized then it has to be shown + alarmMinimize() } + else { + if (! vAlarmStatus.alarm_KeepMinimized) { + alarmMaximize() + } + } } - onNoAlarm: { - _alarm_bar.visible = false; - _alarm_dialog.visible = false; - } + onDidAlarmEmpty: alarmHide() } } Index: sources/gui/qml/pages/treatment/TreatmentBegin.qml =================================================================== diff -u -r679f72813050ba2ca4d9161746ef3a219b562a1c -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/pages/treatment/TreatmentBegin.qml (.../TreatmentBegin.qml) (revision 679f72813050ba2ca4d9161746ef3a219b562a1c) +++ sources/gui/qml/pages/treatment/TreatmentBegin.qml (.../TreatmentBegin.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -20,6 +20,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/components/pretreatment" /*! * \brief ManagerHome is the screen @@ -110,8 +111,8 @@ onPressed: isActive = true } - TouchRect { id: _startButton + objectName: "_treatmentBeginStartButton" width : 515 height : 70 anchors { Index: sources/gui/qml/pages/treatment/TreatmentConfirm.qml =================================================================== diff -u -rccb91da4becded9a7ad409b758bba96784d9feba -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/pages/treatment/TreatmentConfirm.qml (.../TreatmentConfirm.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) +++ sources/gui/qml/pages/treatment/TreatmentConfirm.qml (.../TreatmentConfirm.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -22,6 +22,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/components/pretreatment" /*! * \brief ManagerHome is the screen Index: sources/gui/qml/pages/treatment/TreatmentCreate.qml =================================================================== diff -u -rccb91da4becded9a7ad409b758bba96784d9feba -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/pages/treatment/TreatmentCreate.qml (.../TreatmentCreate.qml) (revision ccb91da4becded9a7ad409b758bba96784d9feba) +++ sources/gui/qml/pages/treatment/TreatmentCreate.qml (.../TreatmentCreate.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -21,6 +21,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/components/pretreatment" /*! * \brief ManagerHome is the screen @@ -45,7 +46,7 @@ } Flickable { id: _flickable - objectName: "TreatmentCreateFlickable" + objectName: "_treatmentCreateFlickable" anchors.top: _topMenuBar.bottom anchors.left: parent.left anchors.bottom: parent.bottom @@ -412,10 +413,12 @@ onPressed: { setInteractive(false) vTreatmentCreate.bloodPressureMeasureInterval = value + vVitals.doUpdateBPMeasureInterval(value) } onReleased: { vTreatmentCreate.bloodPressureMeasureInterval = value - setInteractive(true) + vVitals.doUpdateBPMeasureInterval(value) + _flickable.setInteractive(true) } } Index: sources/gui/qml/pages/treatment/TreatmentPrime.qml =================================================================== diff -u -r2d3e2f93ac34764f46f90b385fda496d0194f8c9 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/pages/treatment/TreatmentPrime.qml (.../TreatmentPrime.qml) (revision 2d3e2f93ac34764f46f90b385fda496d0194f8c9) +++ sources/gui/qml/pages/treatment/TreatmentPrime.qml (.../TreatmentPrime.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -21,7 +21,9 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/components/pretreatment" + /*! * \brief ManagerHome is the screen * which is the default screen in the "Manager" stack Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r679f72813050ba2ca4d9161746ef3a219b562a1c -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 679f72813050ba2ca4d9161746ef3a219b562a1c) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -30,6 +30,7 @@ // Qml imports import "qrc:/globals" import "qrc:/components" +import "qrc:/components/pretreatment" import "qrc:/pages/treatment/adjustments" /*! @@ -129,7 +130,10 @@ TreatmentBegin { id: _treatmentBegin onBackClicked : {vTreatmentCreate.doRequestPop() } - onStartClicked : {vTreatmentAdjustmentUltrafiltrationInit.doAdjustment(_treatmentBegin.volume) } + onStartClicked : { + vTreatmentAdjustmentUltrafiltrationInit.doAdjustment(_treatmentBegin.volume) + vTreatmentBegin.doStartTreatment() + } } //// Treatment Adjustment Dialogs Index: sources/model/MModel.h =================================================================== diff -u -r1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/model/MModel.h (.../MModel.h) (revision 1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3) +++ sources/model/MModel.h (.../MModel.h) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -214,10 +214,9 @@ REGISTER_METATYPE( PrimingData ) \ \ /* Request */ \ - REGISTER_METATYPE( StartTreatmentRequestData ) \ - REGISTER_METATYPE( ConfirmTreatmentRequestData ) \ - REGISTER_METATYPE( EndTreatmentRequestData ) \ - \ + REGISTER_METATYPE( TreatmentStartRequestData ) \ + REGISTER_METATYPE( TreatmentConfirmRequestData ) \ + REGISTER_METATYPE( TreatmentEndRequestData ) \ REGISTER_METATYPE( AlarmSilenceRequestData ) \ REGISTER_METATYPE( AlarmUserActionRequestData ) \ REGISTER_METATYPE( AlarmClearedConditionRequestData ) \ @@ -232,9 +231,10 @@ REGISTER_METATYPE( AdjustHeparinRequestData ) \ REGISTER_METATYPE( AdjustPressuresLimitsRequestData ) \ REGISTER_METATYPE( AdjustTreatmentParametersRequestData ) \ + REGISTER_METATYPE( GuiAlertRequestData ) \ /* Response */ \ - REGISTER_METATYPE( StartTreatmentResponseData ) \ - REGISTER_METATYPE( EndTreatmentResponseData ) \ + REGISTER_METATYPE( TreatmentStartResponseData ) \ + REGISTER_METATYPE( TreatmentEndResponseData ) \ \ REGISTER_METATYPE( AdjustBloodDialysateResponseData ) \ REGISTER_METATYPE( AdjustDurationResponseData ) \ @@ -243,9 +243,10 @@ REGISTER_METATYPE( AdjustUltrafiltrationEditResponseData ) \ REGISTER_METATYPE( AdjustUltrafiltrationConfirmResponseData ) \ REGISTER_METATYPE( AdjustSalineResponseData ) \ + REGISTER_METATYPE( GuiAlertResponseData ) \ REGISTER_METATYPE( AdjustHeparinResponseData ) \ REGISTER_METATYPE( AdjustPressuresLimitsResponseData ) \ - REGISTER_METATYPE( AdjustTreatmentParametersResponseData ) \ + REGISTER_METATYPE( AdjustTreatmentParametersResponseData ) //===============================================================================// /*! @@ -300,8 +301,8 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmResponseData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, StartTreatmentResponseData ) \ - ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, EndTreatmentResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentStartResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentEndResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSalineResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustHeparinResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsResponseData ) \ @@ -316,9 +317,9 @@ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustUltrafiltrationConfirmRequestData ) \ - ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, StartTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, ConfirmTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, EndTreatmentRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, TreatmentStartRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, TreatmentConfirmRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, TreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsRequestData ) \ @@ -384,8 +385,8 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationStateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmResponseData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( StartTreatmentResponseData ) \ - ACTION_RECEIVE_BRIDGE_DEFINITION( EndTreatmentResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentStartResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentEndResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSalineResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustHeparinResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustPressuresLimitsResponseData ) \ @@ -399,9 +400,9 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustUltrafiltrationConfirmRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION( StartTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION( ConfirmTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION( EndTreatmentRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( TreatmentStartRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( TreatmentConfirmRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( TreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustPressuresLimitsRequestData ) \ @@ -419,9 +420,9 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationStateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustUltrafiltrationConfirmRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( StartTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( ConfirmTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( EndTreatmentRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( TreatmentStartRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( TreatmentConfirmRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( TreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustHeparinRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustPressuresLimitsRequestData ) \ @@ -442,9 +443,9 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustPressuresLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSalineRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustHeparinRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( StartTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( ConfirmTreatmentRequestData ) \ - ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( EndTreatmentRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( TreatmentStartRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( TreatmentConfirmRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( TreatmentEndRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustTreatmentParametersRequestData ) \ \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmSilenceRequestData ) \ @@ -486,8 +487,8 @@ ACTION_RECEIVE_SIGNAL( DGDebugTextData ) \ ACTION_RECEIVE_SIGNAL( PrimingData ) \ /* Response */ \ - ACTION_RECEIVE_SIGNAL( StartTreatmentResponseData ) \ - ACTION_RECEIVE_SIGNAL( EndTreatmentResponseData ) \ + ACTION_RECEIVE_SIGNAL( TreatmentStartResponseData ) \ + ACTION_RECEIVE_SIGNAL( TreatmentEndResponseData ) \ \ ACTION_RECEIVE_SIGNAL( AdjustBloodDialysateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDurationResponseData ) \ Index: sources/model/hd/adjustment/MTreatmentAdjustRequests.h =================================================================== diff -u -r1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision 1f36c7f6eb909b9f78b97cc43c4fa24995ae9ef3) +++ sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -448,7 +448,7 @@ }; /*! - * \brief The MStartTreatmentReq class + * \brief The MTreatmentStartReq class * \details The model to request starting a treatment * * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description | @@ -460,7 +460,7 @@ * | #1:(U32) | \ref request | * */ -class MStartTreatmentReq : public MModel { +class MTreatmentStartReq : public MModel { public: enum Options { eSelectParams = 0, @@ -480,19 +480,19 @@ }; /*! - * \brief The MConfirmTreatmentReq class + * \brief The MTreatmentConfirmReq class * \details The model to tell HD treatment parameters have been confirmed * - * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description | - * |:---:|:------:|:-----:|:----:|:---:|:---:|:----:|:-------------------------:| - * | 56 | 0x100 | 9 | Req | Y | UI | HD | Confirm Treatment Request | + * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description | + * |:-----:|:------:|:-----:|:----:|:---:|:---:|:----:|:-------------------------:| + * | 0x3B00| 0x100 | 9 | Req | Y | UI | HD | Confirm Treatment Request | * * | Payload || * | || * | #1:(U32) | \ref request | * */ -class MConfirmTreatmentReq : public MModel { +class MTreatmentConfirmReq : public MModel { public: enum Options { eCancel = 0, @@ -511,7 +511,7 @@ }; /*! - * \brief The MEndTreatmentReq class + * \brief The MTreatmentEndReq class * \details The model to request an end to treatment * * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description | @@ -523,7 +523,7 @@ * | N/A || * */ -class MEndTreatmentReq : public MModel { +class MTreatmentEndReq : public MModel { public: // coco begin validated : Has been validated manually. @@ -615,7 +615,6 @@ return MModel::toString("AdjustTreatmentParametersRequest", vParameters); } }; - } typedef Model:: MAdjustPowerOffReq AdjustPowerOffRequestData; @@ -628,9 +627,9 @@ typedef Model:: MAdjustSalineReq AdjustSalineRequestData; typedef Model:: MAdjustHeparinReq AdjustHeparinRequestData; typedef Model:: MAdjustPressuresLimitsReq AdjustPressuresLimitsRequestData; -typedef Model:: MStartTreatmentReq StartTreatmentRequestData; -typedef Model:: MConfirmTreatmentReq ConfirmTreatmentRequestData; -typedef Model:: MEndTreatmentReq EndTreatmentRequestData; +typedef Model:: MTreatmentStartReq TreatmentStartRequestData; +typedef Model:: MTreatmentConfirmReq TreatmentConfirmRequestData; +typedef Model:: MTreatmentEndReq TreatmentEndRequestData; typedef Model:: MAdjustTreatmentParametersReq AdjustTreatmentParametersRequestData; typedef Model:: MAlarmSilenceReq AlarmSilenceRequestData; typedef Model:: MAlarmClearedConditionReq AlarmClearedConditionRequestData; Index: sources/model/hd/alarm/MAlarmStatusData.cpp =================================================================== diff -u -r45ce6e781782be5de1480a1e7acecd1d272bcc84 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/model/hd/alarm/MAlarmStatusData.cpp (.../MAlarmStatusData.cpp) (revision 45ce6e781782be5de1480a1e7acecd1d272bcc84) +++ sources/model/hd/alarm/MAlarmStatusData.cpp (.../MAlarmStatusData.cpp) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -69,59 +69,60 @@ QString MAlarmStatus::toText(GuiAlarmID vAlarmID) { QString result; switch (vAlarmID) { - case GuiAlarmID::ALARM_ID_NO_ALARM : { result = QObject::tr("" ); break; } - case GuiAlarmID::ALARM_ID_HD_SOFTWARE_FAULT : { result = QObject::tr("Software Error." ); break; } - case GuiAlarmID::ALARM_ID_STUCK_BUTTON_TEST_FAILED : { result = QObject::tr("Indication for when no alarms is a possible situation." ); break; } - case GuiAlarmID::ALARM_ID_FPGA_POST_TEST_FAILED : { result = QObject::tr("FPGA POST failure." ); break; } - case GuiAlarmID::ALARM_ID_WATCHDOG_POST_TEST_FAILED : { result = QObject::tr("Watchdog POST failure." ); break; } - case GuiAlarmID::ALARM_ID_UI_COMM_POST_FAILED : { result = QObject::tr("UI communication POST failure." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Blood pump failed motor controller current check." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_OFF_CHECK : { result = QObject::tr("Blood pump failed motor off check. \nMeasured speed while commanded off." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_DIRECTION_CHECK : { result = QObject::tr("Blood pump failed motor controller direction check." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Blood pump failed rotor speed check." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Dialysis inlet pump failed motor controller current check." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_OFF_CHECK : { result = QObject::tr("Dialysis inlet pump failed motor off check. \nMeasured speed while commanded off." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK : { result = QObject::tr("Dialysis inlet pump failed motor controller direction check." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Dialysis inlet pump failed rotor speed check." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor controller current check." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor off check. \nMeasured speed while commanded off." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor controller direction check." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Dialysis outlet pump failed rotor speed check." ); break; } - case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED : { result = QObject::tr("Watchdog expired error." ); break; } - case GuiAlarmID::ALARM_ID_RTC_COMM_ERROR : { result = QObject::tr("Real-time clock communication error." ); break; } - case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR : { result = QObject::tr("Real-time clock configuration error." ); break; } - case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT : { result = QObject::tr("Dialysate generator communication timeout." ); break; } - case GuiAlarmID::ALARM_ID_UI_COMM_TIMEOUT : { result = QObject::tr("User interface communication timeout." ); break; } - case GuiAlarmID::ALARM_ID_COMM_TOO_MANY_BAD_CRCS : { result = QObject::tr("Too many bad CRCs detected on received system messages." ); break; } - case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_BY_USER : { result = QObject::tr("Treatment stopped by user action - pressed stop button." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING : { result = QObject::tr("Blood sitting too long warning (>4 min)." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME : { result = QObject::tr("Blood sitting too long alarm (>5 min)." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK : { result = QObject::tr("Blood sitting too long alarm (>10 min)." ); break; } - case GuiAlarmID::ALARM_ID_CAN_MESSAGE_NOT_ACKED : { result = QObject::tr("System message needing acknowledgment was not acknowledged." ); break; } - case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP : { result = QObject::tr("Blood pump occlusion detected." ); break; } - case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_IN_PUMP : { result = QObject::tr("Dialysate inlet pump occlusion detected." ); break; } - case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_OUT_PUMP : { result = QObject::tr("Dialysate outlet pump occlusion detected." ); break; } - case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_LOW : { result = QObject::tr("Arterial pressure too low during treatment." ); break; } - case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_HIGH : { result = QObject::tr("Arterial pressure too high during treatment." ); break; } - case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_LOW : { result = QObject::tr("Venous pressure too low during treatment." ); break; } - case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_HIGH : { result = QObject::tr("Venous pressure too high during treatment." ); break; } - case GuiAlarmID::ALARM_ID_UF_RATE_TOO_HIGH_ERROR : { result = QObject::tr("Ultrafiltration rate is too high error during treatment." ); break; } - case GuiAlarmID::ALARM_ID_UF_VOLUME_ACCURACY_ERROR : { result = QObject::tr("Ultrafiltration volume accuracy error during treatment." ); break; } - case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW : { result = QObject::tr("RTC battery low." ); break; } - case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE : { result = QObject::tr("RTC or MCU timer inaccurate." ); break; } - case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR : { result = QObject::tr("RTC or RAM operations failure (read or write)." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE : { result = QObject::tr("EEPRON operations (read, write, erase) failure." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR : { result = QObject::tr("Manufacturing record CRC failure." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR : { result = QObject::tr("Service record CRC failure." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR : { result = QObject::tr("Calibration record CRC failure." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR : { result = QObject::tr("HW usage data failure." ); break; } - case GuiAlarmID::AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR : { result = QObject::tr("Last disinfection date CRC error." ); break; } - case GuiAlarmID::ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE : { result = QObject::tr("Pressure at outlet of RO pump is out of range." ); break; } - case GuiAlarmID::ALARM_ID_TEMPERATURE_SENSORS_FAULT : { result = QObject::tr("DG temperature sensors fault." ); break; } - case GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT : { result = QObject::tr("HD communication timeout." ); break; } - case GuiAlarmID::ALARM_ID_VALVE_CONTROL_FAILURE : { result = QObject::tr("FPGA not accepting commanded valve states." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK : { result = QObject::tr("Blood pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK : { result = QObject::tr("Dialysate inlet pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed." ); break; } + case GuiAlarmID::ALARM_ID_NO_ALARM: { result = QObject::tr("" ); break; } + case GuiAlarmID::ALARM_ID_HD_SOFTWARE_FAULT: { result = QObject::tr("Software Error." ); break; } + case GuiAlarmID::ALARM_ID_STUCK_BUTTON_TEST_FAILED: { result = QObject::tr("Indication for when no alarms is a possible situation." ); break; } + case GuiAlarmID::ALARM_ID_FPGA_POST_TEST_FAILED: { result = QObject::tr("FPGA POST failure." ); break; } + case GuiAlarmID::ALARM_ID_WATCHDOG_POST_TEST_FAILED: { result = QObject::tr("Watchdog POST failure." ); break; } + case GuiAlarmID::ALARM_ID_UI_COMM_POST_FAILED: { result = QObject::tr("UI communication POST failure." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Blood pump failed motor controller current check." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_OFF_CHECK: { result = QObject::tr("Blood pump failed motor off check. \nMeasured speed while commanded off." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Blood pump failed motor controller direction check." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Blood pump failed rotor speed check." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor controller current check." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_OFF_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor off check. \nMeasured speed while commanded off." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor controller direction check." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis inlet pump failed rotor speed check." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller current check." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor off check. \nMeasured speed while commanded off." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller direction check." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis outlet pump failed rotor speed check." ); break; } + case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED: { result = QObject::tr("Watchdog expired error." ); break; } + case GuiAlarmID::ALARM_ID_RTC_COMM_ERROR: { result = QObject::tr("Real-time clock communication error." ); break; } + case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR: { result = QObject::tr("Real-time clock configuration error." ); break; } + case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT: { result = QObject::tr("Dialysate generator communication timeout." ); break; } + case GuiAlarmID::ALARM_ID_UI_COMM_TIMEOUT: { result = QObject::tr("User interface communication timeout." ); break; } + case GuiAlarmID::ALARM_ID_COMM_TOO_MANY_BAD_CRCS: { result = QObject::tr("Too many bad CRCs detected on received system messages." ); break; } + case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_BY_USER: { result = QObject::tr("Treatment stopped by user action - pressed stop button." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING: { result = QObject::tr("Blood sitting too long warning (>4 min)." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME: { result = QObject::tr("Blood sitting too long alarm (>5 min)." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK: { result = QObject::tr("Blood sitting too long alarm (>10 min)." ); break; } + case GuiAlarmID::ALARM_ID_CAN_MESSAGE_NOT_ACKED: { result = QObject::tr("System message needing acknowledgment was not acknowledged." ); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP: { result = QObject::tr("Blood pump occlusion detected." ); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_IN_PUMP: { result = QObject::tr("Dialysate inlet pump occlusion detected." ); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_OUT_PUMP: { result = QObject::tr("Dialysate outlet pump occlusion detected." ); break; } + case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_LOW: { result = QObject::tr("Arterial pressure too low during treatment." ); break; } + case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_HIGH: { result = QObject::tr("Arterial pressure too high during treatment." ); break; } + case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_LOW: { result = QObject::tr("Venous pressure too low during treatment." ); break; } + case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_HIGH: { result = QObject::tr("Venous pressure too high during treatment." ); break; } + case GuiAlarmID::ALARM_ID_UF_RATE_TOO_HIGH_ERROR: { result = QObject::tr("Ultrafiltration rate is too high error during treatment." ); break; } + case GuiAlarmID::ALARM_ID_UF_VOLUME_ACCURACY_ERROR: { result = QObject::tr("Ultrafiltration volume accuracy error during treatment." ); break; } + case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW: { result = QObject::tr("RTC battery low." ); break; } + case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE: { result = QObject::tr("RTC or MCU timer inaccurate." ); break; } + case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR: { result = QObject::tr("RTC or RAM operations failure (read or write)." ); break; } + case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE: { result = QObject::tr("EEPRON operations (read, write, erase) failure." ); break; } + case GuiAlarmID::ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR: { result = QObject::tr("Manufacturing record CRC failure." ); break; } + case GuiAlarmID::ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR: { result = QObject::tr("Service record CRC failure." ); break; } + case GuiAlarmID::ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR: { result = QObject::tr("Calibration record CRC failure." ); break; } + case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR: { result = QObject::tr("HW usage data failure." ); break; } + case GuiAlarmID::AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR: { result = QObject::tr("Last disinfection date CRC error." ); break; } + case GuiAlarmID::ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE: { result = QObject::tr("Pressure at outlet of RO pump is out of range." ); break; } + case GuiAlarmID::ALARM_ID_TEMPERATURE_SENSORS_FAULT: { result = QObject::tr("DG temperature sensors fault." ); break; } + case GuiAlarmID::ALARM_ID_FPGA_COMM_TIMEOUT: { result = QObject::tr("FPGA communication down for too long." ); break; } + case GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT: { result = QObject::tr("HD communication timeout." ); break; } + case GuiAlarmID::ALARM_ID_VALVE_CONTROL_FAILURE: { result = QObject::tr("FPGA not accepting commanded valve states." ); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK: { result = QObject::tr("Blood pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed." ); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK: { result = QObject::tr("Dialysate inlet pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed." ); break; } case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_FLOW_VS_MOTOR_SPEED_CHECK: { result = QObject::tr("Dialysate outlet pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed." ); break; } case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Blood pump failed motor speed check. Measured vs. commanded." ); break; } case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Dialysate inlet pump failed motor speed check. Measured vs. commanded." ); break; } Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -36,14 +36,14 @@ connect(&_GuiController, SIGNAL(didActionReceive(AdjustTreatmentParametersResponseData)), this, SLOT(doActionReceive(AdjustTreatmentParametersResponseData))); - connect(this, SIGNAL(requestSelectParameters(StartTreatmentRequestData)), - &_GuiController, SLOT(doAdjustment(StartTreatmentRequestData))); + connect(this, SIGNAL(requestSelectParameters(TreatmentStartRequestData)), + &_GuiController, SLOT(doAdjustment(TreatmentStartRequestData))); - connect(this, SIGNAL(requestConfirm(ConfirmTreatmentRequestData)), - &_GuiController, SLOT(doAdjustment(ConfirmTreatmentRequestData))); + connect(this, SIGNAL(requestConfirm(TreatmentConfirmRequestData)), + &_GuiController, SLOT(doAdjustment(TreatmentConfirmRequestData))); - connect(&_GuiController, SIGNAL(didActionReceive(StartTreatmentResponseData)), - this, SLOT(doActionReceive(StartTreatmentResponseData))); + connect(&_GuiController, SIGNAL(didActionReceive(TreatmentStartResponseData)), + this, SLOT(doActionReceive(TreatmentStartResponseData))); connect(this, SIGNAL(requestConcurrentSave(QString,QString,bool)), &_FileSaver, SLOT(onConcurrentSave(QString,QString,bool))); @@ -328,7 +328,7 @@ emit fwValidationFailed(enumToString(static_cast(data.requestValid))); } - qDebug() << "fw validation success = " << success; + LOG_DEBUG(QString("FW Validation Success? %1").arg(success)); if (success) { @@ -345,13 +345,15 @@ * to start selecting treatment parameters, cancel, or start the treatment * @param messageData */ -void VTreatmentCreate::doActionReceive(const StartTreatmentResponseData &messageData) +void VTreatmentCreate::doActionReceive(const TreatmentStartResponseData &messageData) { - qDebug() << "Received response after start treatment request: " << messageData.startTreatmentResponse; + LOG_DEBUG(QString("Received response after start treatment request: %1, Reason: %2") + .arg(messageData.startTreatmentResponse) + .arg(messageData.startTreatmentRejectReason)); if (messageData.startTreatmentResponse != 1) return; - if (startTreatmentRequest.request == StartTreatmentRequestData::eCancel) + if (startTreatmentRequest.request == TreatmentStartRequestData::eCancel) goToNextPage(false); else goToNextPage(true); @@ -365,7 +367,7 @@ */ void VTreatmentCreate::goToNextPage(bool forward) { - qDebug() << __FUNCTION__ << pageToShow; + LOG_DEBUG(QString("Create treatment: go to page #%1").arg(pageToShow)); switch (pageToShow) { @@ -435,9 +437,8 @@ * application controller will save the data to disk. */ void VTreatmentCreate::doFinishedConfirm() { - qDebug() << "Finished create treatment confirm..."; + LOG_DEBUG(QString("Finished create treatment confirm...")); - QJsonObject obj { {"bloodFlowRate", QString::number(treatmentData.bloodFlowRate)}, {"dialysateFlowRate", QString::number(treatmentData.dialysateFlowRate)}, @@ -463,7 +464,7 @@ saveNewTreatment(obj); // Tell FW we confirm - confirmTreatmentRequest.request = ConfirmTreatmentRequestData::eConfirm; + confirmTreatmentRequest.request = TreatmentConfirmRequestData::eConfirm; emit requestConfirm(confirmTreatmentRequest); // no FW response required @@ -569,16 +570,6 @@ } /** - * \brief VCreateTreatment::start - * Called when user is ready to begin a new treatment. - */ -void VTreatmentCreate::doStartTreatment() { - qDebug() << "Requesting to start a treatment..."; - startTreatmentRequest.request = StartTreatmentRequestData::eStartTreatment; - emit requestSelectParameters(startTreatmentRequest); -} - -/** * \brief VCreateTreatment::validate * Validates the create new treatment input. * \param vData - the selected TreatmentParametersData @@ -869,7 +860,7 @@ void VTreatmentCreate::doSelectParameters() { qDebug() << "Sending request to FW to select parameters..."; - startTreatmentRequest.request = StartTreatmentRequestData::eSelectParams; + startTreatmentRequest.request = TreatmentStartRequestData::eSelectParams; emit requestSelectParameters(startTreatmentRequest); } @@ -880,7 +871,7 @@ void VTreatmentCreate::doCancelSelectingParameters() { qDebug() << "Sending request to FW to cancel selecting parameters..."; - startTreatmentRequest.request = StartTreatmentRequestData::eCancel; + startTreatmentRequest.request = TreatmentStartRequestData::eCancel; emit requestSelectParameters(startTreatmentRequest); } @@ -891,8 +882,8 @@ void VTreatmentCreate::doCancelConfirmParameters() { // Tell FW we cancel confirm - qDebug() << "Telling FW user is canceling confirm treatment parameters..."; - confirmTreatmentRequest.request = ConfirmTreatmentRequestData::eCancel; + qDebug() << "Telling FW user is cancelling confirm treatment parameters..."; + confirmTreatmentRequest.request = TreatmentConfirmRequestData::eCancel; emit requestConfirm(confirmTreatmentRequest); goToNextPage(false); } Index: sources/view/VTreatmentEnd.cpp =================================================================== diff -u -rccb91da4becded9a7ad409b758bba96784d9feba -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/view/VTreatmentEnd.cpp (.../VTreatmentEnd.cpp) (revision ccb91da4becded9a7ad409b758bba96784d9feba) +++ sources/view/VTreatmentEnd.cpp (.../VTreatmentEnd.cpp) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -11,19 +11,19 @@ VTreatmentEnd::VTreatmentEnd(QObject *parent) : QObject(parent) { - connect(this, SIGNAL(didEndTreatmentRequest(EndTreatmentRequestData)), - &_GuiController, SLOT(doAdjustment(EndTreatmentRequestData))); + connect(this, SIGNAL(didEndTreatmentRequest(TreatmentEndRequestData)), + &_GuiController, SLOT(doAdjustment(TreatmentEndRequestData))); - connect(&_GuiController, SIGNAL(didActionReceive(EndTreatmentResponseData)), - this, SLOT(onEndTreatmentResponse(EndTreatmentResponseData))); + connect(&_GuiController, SIGNAL(didActionReceive(TreatmentEndResponseData)), + this, SLOT(onEndTreatmentResponse(TreatmentEndResponseData))); } /*! * \brief VTreatmentEnd::onEndTreatmentResponse * Receives the end treatment response * \param response The end treatment response */ -void VTreatmentEnd::onEndTreatmentResponse(EndTreatmentResponseData response) +void VTreatmentEnd::onEndTreatmentResponse(TreatmentEndResponseData response) { LOG_DEBUG(tr("End Treatment Response: %1").arg(response.endTreatmentResponse)); } @@ -35,6 +35,6 @@ void VTreatmentEnd::doEndTreatmentRequest() { LOG_DEBUG(tr("End Treatment Request.")); - EndTreatmentRequestData endTreatmentRequest; + TreatmentEndRequestData endTreatmentRequest; emit didEndTreatmentRequest(endTreatmentRequest); } Index: sources/view/VView.h =================================================================== diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -rdf74454a7a75eb63ac577739c1fd0f179e479f44 --- sources/view/VView.h (.../VView.h) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4) +++ sources/view/VView.h (.../VView.h) (revision df74454a7a75eb63ac577739c1fd0f179e479f44) @@ -136,8 +136,12 @@ REGISTER_TYPE( VTreatmentAdjustmentHeparin ) \ REGISTER_TYPE( VTreatmentAdjustmentPressuresLimits ) \ REGISTER_TYPE( VTreatmentCreate ) \ + REGISTER_TYPE( VBluetooth ) \ REGISTER_TYPE( VPriming ) \ REGISTER_TYPE( VTreatmentBegin ) \ REGISTER_TYPE( VTreatmentEnd ) \ - + REGISTER_TYPE( VTreatmentAdjustmentSaline ) \ + REGISTER_TYPE( VVitals ) \ + REGISTER_TYPE( VAlert ) + //--------------------------------------------------------------------------------//