Index: denali.pro
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- denali.pro (.../denali.pro) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ denali.pro (.../denali.pro) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -67,9 +67,10 @@
sources/model/MDGDebugText.h \
sources/model/MHDDebugText.h \
\ # ---------- Models - Alarm
- sources/model/hd/alarm/MAlarmCleared.h \
- sources/model/hd/alarm/MAlarmTriggered.h \
sources/model/hd/alarm/MAlarmStatusData.h \
+ sources/model/hd/alarm/MAlarmTriggered.h \
+ sources/model/hd/alarm/MAlarmCleared.h \
+ sources/model/hd/alarm/MAlarmClearedCondition.h \
\ # ---------- Models - HD - Adjustment - In-Treatment
sources/model/hd/adjustment/MTreatmentAdjustRequests.h \
sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.h \
@@ -189,9 +190,10 @@
sources/model/MTreatmentParametersResp.cpp \
sources/model/MDGDebugText.cpp \
\ # ---------- Models - Alarm
- sources/model/hd/alarm/MAlarmCleared.cpp \
- sources/model/hd/alarm/MAlarmTriggered.cpp \
sources/model/hd/alarm/MAlarmStatusData.cpp \
+ sources/model/hd/alarm/MAlarmTriggered.cpp \
+ sources/model/hd/alarm/MAlarmCleared.cpp \
+ sources/model/hd/alarm/MAlarmClearedCondition.cpp \
\ # ---------- Models - HD - Adjustment - In-Treatment
sources/model/hd/adjustment/MTreatmentAdjustDurationResponse.cpp \
sources/model/hd/adjustment/MTreatmentAdjustBloodDialysateResponse.cpp \
Index: denali.pro.user
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- denali.pro.user (.../denali.pro.user) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ denali.pro.user (.../denali.pro.user) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -100,11 +100,11 @@
qmake
QtProjectManager.QMakeBuildStep
- false
+ true
false
false
- false
+ true
true
@@ -1182,8 +1182,8 @@
true
true
false
- false
- true
+ true
+ false
/home/denali/Projects/tmp/build/denali-Desktop_Qt_5_12_5_GCC_64bit-Debug
Index: sources/canbus/MessageDispatcher.cpp
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -321,21 +321,33 @@
void MessageDispatcher::onAdjustment(const AlarmSilenceRequestData &vData)
{
QVariantList mData;
- mData += vData.state;
+ mData += vData.silence;
onActionTransmit(GuiActionType::ID_AlarmSilenceReq, mData);
}
+/**
+ * \details This method transmits the User Action Denali message.
+ * \param vData - Data model contains User Action on the alarm dialog.
+ * \return void
+ */
+void MessageDispatcher::onAdjustment(const AlarmUserActionRequestData &vData)
+{
+ QVariantList mData;
+ mData += vData.action;
+ onActionTransmit(GuiActionType::ID_AlarmUserActionReq, mData);
+}
+
/*!
* \brief MessageDispatcher::onAdjustment
* \details This method transmits the Alarm Acknowledge Request message.
* \param vData - Data model contains the user acknowledge request information.
* \return void
*/
-void MessageDispatcher::onAdjustment(const AlarmAcknowledgeRequestData &vData)
+void MessageDispatcher::onAdjustment(const AlarmClearedConditionRequestData &vData)
{
QVariantList mData;
mData += vData.alarmID;
- onActionTransmit(GuiActionType::ID_AlarmUserAckReq, mData);
+ onActionTransmit(GuiActionType::ID_AlarmClearedConditionReq, mData);
}
/*!
Index: sources/canbus/MessageDispatcher.h
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -115,7 +115,9 @@
GuiActionType::ID_AdjustSalineReq ,
GuiActionType::ID_AdjustHeparinReq ,
GuiActionType::ID_AdjustPressuresLimitsReq ,
+ GuiActionType::ID_AlarmUserActionReq ,
GuiActionType::ID_AlarmSilenceReq ,
+ GuiActionType::ID_AlarmClearedConditionReq ,
};
public slots:
Index: sources/canbus/MessageGlobals.h
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -75,8 +75,10 @@
{Gui::GuiActionType::ID_AlarmStatus , 4 * 4 + 2 }, // 4 parameters each 4bytes + 1 parameter 2bytes
{Gui::GuiActionType::ID_AlarmTriggered , 1 * 4 }, // 1 parameter each 4bytes
{Gui::GuiActionType::ID_AlarmCleared , 1 * 4 }, // 1 parameter each 4bytes
- {Gui::GuiActionType::ID_AlarmSilenceReq , 1 * 4 }, // 1 parameter each 4bytes
- {Gui::GuiActionType::ID_AlarmUserAckReq , 1 * 4 }, // 1 parameter each 4bytes
+ {Gui::GuiActionType::ID_AlarmClearedConditionReq , 1 * 4 }, // 1 parameter each 4bytes // the same message 63:0x3F00
+ {Gui::GuiActionType::ID_AlarmClearedConditionRsp , 1 * 4 }, // 1 parameter each 4bytes // the same message 63:0x3F00
+ {Gui::GuiActionType::ID_AlarmSilenceReq , 1 * 1 }, // 1 parameter each 1bytes
+ {Gui::GuiActionType::ID_AlarmUserActionReq , 1 * 4 }, // 1 parameter each 4bytes
// ----
{Gui::GuiActionType::ID_StartTreatmentReq , 1 * 4 }, // 1 parameters each 4bytes
Index: sources/canbus/MessageInterpreter.cpp
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -217,21 +217,28 @@
break;
case Gui::GuiActionType::ID_PowerOff : INTERPRET_RECEIVED_MESSAGE(AdjustPowerOffRequestData ); break;
+ // in-treatment
+ case Gui::GuiActionType::ID_AdjustDurationReq : INTERPRET_RECEIVED_MESSAGE(AdjustDurationRequestData ); break;
case Gui::GuiActionType::ID_AdjustBloodDialysateReq : INTERPRET_RECEIVED_MESSAGE(AdjustBloodDialysateRequestData ); break;
+ case Gui::GuiActionType::ID_AdjustPressuresLimitsReq : INTERPRET_RECEIVED_MESSAGE(AdjustPressuresLimitsRequestData ); break;
+ case Gui::GuiActionType::ID_AdjustSalineReq : INTERPRET_RECEIVED_MESSAGE(AdjustSalineRequestData ); break;
+ case Gui::GuiActionType::ID_AdjustHeparinReq : INTERPRET_RECEIVED_MESSAGE(AdjustHeparinRequestData ); break;
+ // in-treatment - ultrafiltration
case Gui::GuiActionType::ID_AdjustDurationReq : INTERPRET_RECEIVED_MESSAGE(AdjustDurationRequestData ); break;
case Gui::GuiActionType::ID_AdjustUltrafiltrationInitReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationInitRequestData ); break;
case Gui::GuiActionType::ID_AdjustUltrafiltrationStateReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationStateRequestData ); break;
case Gui::GuiActionType::ID_AdjustUltrafiltrationEditReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationEditRequestData ); break;
case Gui::GuiActionType::ID_AdjustUltrafiltrationConfirmReq : INTERPRET_RECEIVED_MESSAGE(AdjustUltrafiltrationConfirmRequestData); 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;
- case Gui::GuiActionType::ID_AlarmSilenceReq : INTERPRET_RECEIVED_MESSAGE(AlarmSilenceRequestData ); break;
- case Gui::GuiActionType::ID_AlarmUserAckReq : INTERPRET_RECEIVED_MESSAGE(AlarmAcknowledgeRequestData ); 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;
+ // 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;
+
default:
QString mActionIdHexString = Format::toHexString(vActionId);
LOG_DEBUG(mSenderID + tr("Unknown transmit Message with ID '%1'").arg(mActionIdHexString));
@@ -314,20 +321,15 @@
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_AlarmTriggered : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmTriggered ); break;
- case Gui::GuiActionType::ID_AlarmCleared : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmCleared ); break;
- case Gui::GuiActionType::ID_AlarmStatus : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmStatus ); break;
-
case Gui::GuiActionType::ID_CreateTreatmentRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_CreateTreatmentRsp ); break;
// Adjustment Response Messages
case Gui::GuiActionType::ID_AdjustDurationRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationRsp ); break;
case Gui::GuiActionType::ID_AdjustBloodDialysateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustBloodDialysateRsp ); break;
+ case Gui::GuiActionType::ID_AdjustPressuresLimitsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustPressuresLimitsRsp ); break;
case Gui::GuiActionType::ID_AdjustSalineRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSalineRsp ); break;
case Gui::GuiActionType::ID_AdjustUltrafiltrationInitRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustUltrafiltrationInitRsp ); break;
case Gui::GuiActionType::ID_AdjustUltrafiltrationStateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustUltrafiltrationStateRsp ); break;
- case Gui::GuiActionType::ID_AdjustPressuresLimitsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustPressuresLimitsRsp ); break;
case Gui::GuiActionType::ID_AdjustHeparinRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustHeparinRsp ); break;
// these need to be standard and use notify as well
@@ -337,6 +339,13 @@
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;
+ // Alarms
+ case Gui::GuiActionType::ID_AlarmStatus : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmStatus ); break;
+ case Gui::GuiActionType::ID_AlarmTriggered : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmTriggered ); break;
+ case Gui::GuiActionType::ID_AlarmCleared : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmCleared ); break;
+ case Gui::GuiActionType::ID_AlarmClearedConditionRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AlarmClearedConditionRsp); break;
+
+
// unhandles messages: these will only be logged as received message
// there has nothing been defined for these messages.
default : printUnhandled (vMessage ); break;
Index: sources/gui/GuiGlobals.h
===================================================================
diff -u -r3e5cdca5de3ac46619325bf1e37c572d729d5fa9 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 3e5cdca5de3ac46619325bf1e37c572d729d5fa9)
+++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -75,18 +75,21 @@
ID_DGCheckIn = 0x0600,
ID_KeepAlive = 0x0700,
+ // HD Data Messages
ID_PowerOff = 0x0100,
ID_ShuttingDown = 0x0E00,
ID_TreatmentTime = 0x0D00,
ID_BloodFlow = 0x0500,
ID_DialysateInletFlow = 0x0800,
ID_DialysateOutletFlow = 0x0B00,
ID_TreatmentRanges = 0x1A00, // 26
- ID_PressureOcclusion = 0x0900,
ID_TreatmentStates = 0x0F00, // 15
+ ID_HDOperationModeData = 0x2500, // 37
+ ID_PressureOcclusion = 0x0900,
ID_Saline = 0x2F00, // 47
ID_Heparin = 0x4D00, // 77
+ // Alarm Messages
ID_AlarmStatus = 0x0200,
ID_AlarmTriggered = 0x0300,
ID_AlarmCleared = 0x0400,
@@ -95,18 +98,18 @@
ID_AlarmSilenceReq = 0x3200, // 50
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 = 0x3A00, // 58
+ ID_ConfirmTreatmentReq = 0x3B00, // 59
ID_EndTreatmentReq = 0x3C00, // 60
ID_EndTreatmentRsp = 0x3D00, // 61
-
ID_PrimingData = 0x4300, // 67
- ID_HDOperationModeData = 0x2500, // 37
+ // DG Data Messages
ID_DGROPumpData = 0x1F00, // 31
ID_DGPressuresData = 0x2000, // 32
ID_DGDrainPumpData = 0x2400, // 36
@@ -117,9 +120,27 @@
ID_DGLoadCellReadingsData = 0x0C00, // 12
ID_DGTemperaturesData = 0x2D00, // 45
+ // In-Treatment Adjustables
+ ID_AdjustDurationReq = 0x1600, // 22
+ ID_AdjustDurationRsp = 0x1B00, // 27
+
ID_AdjustBloodDialysateReq = 0x1700, // 23
ID_AdjustBloodDialysateRsp = 0x1800, // 24
+ ID_AdjustPressuresLimitsReq = 0x4600, // 70
+ ID_AdjustPressuresLimitsRsp = 0x4700, // 71
+
+ ID_AdjustSalineReq = 0x1200, // 18
+ ID_AdjustSalineRsp = 0x1400, // 20
+
+ ID_AdjustHeparinReq = 0x4B00, // 75
+ ID_AdjustHeparinRsp = 0x4C00, // 76
+
+
+ // Ultrafiltration: has also In-Treatment Adjustables but kept together
+ ID_AdjustUltrafiltrationInitReq = 0x4F00, // 79
+ ID_AdjustUltrafiltrationInitRsp = 0x5000, // 80
+
ID_AdjustUltrafiltrationStateReq = 0x1000, // 16
ID_AdjustUltrafiltrationStateRsp = 0x4100, // 65
@@ -128,18 +149,6 @@
ID_AdjustUltrafiltrationConfirmReq = 0x1500, // 21
ID_AdjustUltrafiltrationConfirmRsp = 0x2E00, // 46
-
- ID_AdjustDurationReq = 0x1600, // 22
- ID_AdjustDurationRsp = 0x1B00, // 27
-
- ID_AdjustSalineReq = 0x1200, // 18
- ID_AdjustSalineRsp = 0x1400, // 20
-
- ID_AdjustPressuresLimitsReq = 0x4600, // 70
- ID_AdjustPressuresLimitsRsp = 0x4700, // 71
-
- ID_AdjustHeparinReq = 0x4B00, // 75
- ID_AdjustHeparinRsp = 0x4C00, // 76
};
enum class GuiActionsData_Enum /*: quint8 QML doesn't support*/ {
Index: sources/gui/qml/main.qml
===================================================================
diff -u -rd92f6ff5bc93e7043b1a57bb74bc78a959c63f22 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/gui/qml/main.qml (.../main.qml) (revision d92f6ff5bc93e7043b1a57bb74bc78a959c63f22)
+++ sources/gui/qml/main.qml (.../main.qml) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -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
@@ -143,73 +143,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
@@ -221,52 +253,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) {
@@ -289,21 +275,37 @@
}
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/model/MModel.h
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/model/MModel.h (.../MModel.h) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ sources/model/MModel.h (.../MModel.h) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -21,6 +21,7 @@
#include "MAlarmStatusData.h"
#include "MAlarmTriggered.h"
#include "MAlarmCleared.h"
+#include "MAlarmClearedCondition.h"
#include "MTreatmentTimeData.h"
#include "MTreatmentFlowsData.h"
@@ -186,17 +187,18 @@
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( TreatmentStatesData ) \
REGISTER_METATYPE( TreatmentSalineData ) \
REGISTER_METATYPE( TreatmentHeparinData ) \
REGISTER_METATYPE( HDOperationModeData ) \
\
+ REGISTER_METATYPE( AlarmStatusData ) \
+ REGISTER_METATYPE( AlarmTriggeredData ) \
+ REGISTER_METATYPE( AlarmClearedData ) \
+ REGISTER_METATYPE( AlarmClearedConditionData ) \
+ \
REGISTER_METATYPE( DGROPumpData ) \
REGISTER_METATYPE( DGPressuresData ) \
REGISTER_METATYPE( DGDrainPumpData ) \
@@ -215,8 +217,10 @@
REGISTER_METATYPE( StartTreatmentRequestData ) \
REGISTER_METATYPE( ConfirmTreatmentRequestData ) \
REGISTER_METATYPE( EndTreatmentRequestData ) \
- REGISTER_METATYPE( AlarmAcknowledgeRequestData ) \
+ \
REGISTER_METATYPE( AlarmSilenceRequestData ) \
+ REGISTER_METATYPE( AlarmUserActionRequestData ) \
+ REGISTER_METATYPE( AlarmClearedConditionRequestData ) \
\
REGISTER_METATYPE( AdjustBloodDialysateRequestData ) \
REGISTER_METATYPE( AdjustDurationRequestData ) \
@@ -264,16 +268,18 @@
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, TreatmentStatesData ) \
ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentSalineData ) \
ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, TreatmentHeparinData ) \
ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, HDOperationModeData ) \
\
+ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmStatusData ) \
+ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmTriggeredData ) \
+ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmClearedData ) \
+ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AlarmClearedConditionData ) \
+ \
ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGROPumpData ) \
ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGPressuresData ) \
ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, DGDrainPumpData ) \
@@ -317,8 +323,10 @@
ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustHeparinRequestData ) \
ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustPressuresLimitsRequestData ) \
ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustTreatmentParametersRequestData ) \
- ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmAcknowledgeRequestData ) \
+ \
ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmSilenceRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmUserActionRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AlarmClearedConditionRequestData ) \
//===============================================================================//
/*!
@@ -344,16 +352,18 @@
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( TreatmentStatesData ) \
ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentSalineData ) \
ACTION_RECEIVE_BRIDGE_DEFINITION( TreatmentHeparinData ) \
ACTION_RECEIVE_BRIDGE_DEFINITION( HDOperationModeData ) \
\
+ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmStatusData ) \
+ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmTriggeredData ) \
+ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmClearedData ) \
+ ACTION_RECEIVE_BRIDGE_DEFINITION( AlarmClearedConditionData ) \
+ \
ACTION_RECEIVE_BRIDGE_DEFINITION( DGROPumpData ) \
ACTION_RECEIVE_BRIDGE_DEFINITION( DGPressuresData ) \
ACTION_RECEIVE_BRIDGE_DEFINITION( DGDrainPumpData ) \
@@ -396,8 +406,10 @@
ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustHeparinRequestData ) \
ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustPressuresLimitsRequestData ) \
ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustTreatmentParametersRequestData ) \
- ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmAcknowledgeRequestData ) \
+ \
ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmSilenceRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmUserActionRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_DEFINITION( AlarmClearedConditionRequestData ) \
#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_NOEMIT \
/* Request ----------------------- NoEmit -------------------------- */ \
@@ -414,8 +426,10 @@
ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustHeparinRequestData ) \
ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustPressuresLimitsRequestData ) \
ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustTreatmentParametersRequestData ) \
+ \
ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmSilenceRequestData ) \
- ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmAcknowledgeRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmUserActionRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AlarmClearedConditionRequestData ) \
#define ADJUST_TRANSMT_MODEL_BRIDGE_DEFINITIONS_PUBLIC \
/* Request ----------------------- public -------------------------- */ \
@@ -432,27 +446,32 @@
ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( ConfirmTreatmentRequestData ) \
ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( EndTreatmentRequestData ) \
ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustTreatmentParametersRequestData ) \
- ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmAcknowledgeRequestData ) \
+ \
ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmSilenceRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmUserActionRequestData ) \
+ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AlarmClearedConditionRequestData ) \
//===============================================================================//
#define ACTION_RECEIVE_SIGNALS \
- /* Received signals */ \
+ /* Received signals */ \
+ /* NO RESPONSE message model here */ \
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( TreatmentStatesData ) \
ACTION_RECEIVE_SIGNAL( TreatmentSalineData ) \
ACTION_RECEIVE_SIGNAL( TreatmentHeparinData ) \
ACTION_RECEIVE_SIGNAL( HDOperationModeData ) \
\
+ ACTION_RECEIVE_SIGNAL( AlarmStatusData ) \
+ ACTION_RECEIVE_SIGNAL( AlarmTriggeredData ) \
+ ACTION_RECEIVE_SIGNAL( AlarmClearedData ) \
+ ACTION_RECEIVE_SIGNAL( AlarmClearedConditionData ) \
+ \
ACTION_RECEIVE_SIGNAL( DGROPumpData ) \
ACTION_RECEIVE_SIGNAL( DGPressuresData ) \
ACTION_RECEIVE_SIGNAL( DGDrainPumpData ) \
Index: sources/model/hd/adjustment/MTreatmentAdjustRequests.h
===================================================================
diff -u -r28f3f8dd18981262995386d29d3c2ab31418bfc4 -re1821621effaef81c8d70f70c9524c024383f289
--- sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision 28f3f8dd18981262995386d29d3c2ab31418bfc4)
+++ sources/model/hd/adjustment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision e1821621effaef81c8d70f70c9524c024383f289)
@@ -369,22 +369,22 @@
* \brief The MAlarmSilenceReq class
* \details The model to request alarm silent
*
- * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description |
- * |:---:|:------:|:-----:|:----:|:---:|:---:|:----:|:--------------------:|
- * | | | | Req | Y | UI | HD | Alarm Silent Request |
+ * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description |
+ * |:----:|:------:|:-----:|:----:|:---:|:---:|:----:|:-----------------------:|
+ * |0x3200| 0x100 | 9 | Req | Y | UI | HD | Alarm (de)Silent Request |
*
* | Payload ||
* | ||
- * | #1:(U32) | TBD |
+ * | #1:(U08) | silence |
*
*/
class MAlarmSilenceReq : public MModel {
public:
- quint8 state;
+ quint8 silence = 1;
// coco begin validated : Has been validated manually.
// This object is used statically for now, kept the logic for later usage.
QString toString() {
- return toString({state});
+ return toString({silence});
}
// coco end
static QString toString(const QVariantList &vParameters) {
@@ -393,33 +393,61 @@
};
/*!
- * \brief The MAlarmAcknowledgeReq class
+ * \brief The MAlarmClearedConditionReq class
* \details The model to tell HD an alarm has been acknowledged
*
- * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description |
- * |:---:|:------:|:-----:|:----:|:---:|:---:|:----:|:-------------------------:|
- * | 63 | 0x100 | N/A | Cmd | Y | UI | HD | Alarm Acknolwedge Request |
+ * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description |
+ * |:----:|:----------:|:-----:|:----:|:---:|:---:|:----:|:------------------------:|
+ * |0x3F00| 0x001,2,4 | N/A | Cmd | Y | UI | HD | Alarm Condition Cleared |
*
* | Payload ||
* | ||
* | #1:(U32) | \ref alarmID |
*
*/
-class MAlarmAcknowledgeReq : public MModel {
+// MAlarmAcknowledgeReq
+class MAlarmClearedConditionReq : public MModel {
public:
- quint32 alarmID;
+ GuiAlarmID alarmID = GuiAlarmID::ALARM_ID_NO_ALARM;
// coco begin validated : Has been validated manually.
// This object is used statically for now, kept the logic for later usage.
QString toString() {
return toString({alarmID});
}
// coco end
static QString toString(const QVariantList &vParameters) {
- return MModel::toString("AlarmAcknowledgeRequest", vParameters);
+ return MModel::toString("AlarmCondition", vParameters);
}
};
/*!
+ * \brief The MAlarmUserActionReq class
+ * \details The model to tell HD an alarm action has been made by user
+ *
+ * | MSG | CAN ID | M.Box | Type | Ack | Src | Dest | Description |
+ * |:----:|:------:|:-----:|:----:|:---:|:---:|:----:|:------------------:|
+ * |0x4000| 0x100 | N/A | Cmd | Y | UI | HD | Alarm User Action |
+ *
+ * | Payload ||
+ * | ||
+ * | #1:(U32) | \ref action |
+ *
+ */
+class MAlarmUserActionReq : public MModel {
+public:
+ GuiAlarmUserActions action;
+ // coco begin validated : Has been validated manually.
+ // This object is used statically for now, kept the logic for later usage.
+ QString toString() {
+ return toString({action});
+ }
+ // coco end
+ static QString toString(const QVariantList &vParameters) {
+ return MModel::toString("AlarmUserAction", vParameters);
+ }
+};
+
+/*!
* \brief The MStartTreatmentReq class
* \details The model to request starting a treatment
*
@@ -605,4 +633,5 @@
typedef Model:: MEndTreatmentReq EndTreatmentRequestData;
typedef Model:: MAdjustTreatmentParametersReq AdjustTreatmentParametersRequestData;
typedef Model:: MAlarmSilenceReq AlarmSilenceRequestData;
-typedef Model:: MAlarmAcknowledgeReq AlarmAcknowledgeRequestData;
+typedef Model:: MAlarmClearedConditionReq AlarmClearedConditionRequestData;
+typedef Model:: MAlarmUserActionReq AlarmUserActionRequestData;