Index: alarmMapping =================================================================== diff -u -r4de0319b91678211dd1a78f4e95ac43fcdfb4b75 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc Binary files differ Index: denali.pro.user =================================================================== diff -u -rf38edd22f7b63694c21b83d6f4b69ea618390126 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- denali.pro.user (.../denali.pro.user) (revision f38edd22f7b63694c21b83d6f4b69ea618390126) +++ denali.pro.user (.../denali.pro.user) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -1,6 +1,6 @@ - + EnvironmentId Index: en_US.udic =================================================================== diff -u -rf38edd22f7b63694c21b83d6f4b69ea618390126 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- en_US.udic (.../en_US.udic) (revision f38edd22f7b63694c21b83d6f4b69ea618390126) +++ en_US.udic (.../en_US.udic) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -126,3 +126,5 @@ acknow Gui hd +RECIRCULATION +recirculation Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -ra89b5249df072be403141463d7d88728b66a848e -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision a89b5249df072be403141463d7d88728b66a848e) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -68,6 +68,7 @@ {Gui::GuiActionType::ID_PreTreatmentStates , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_TreatmentStates , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_TreatmentStates , 1 * 4 }, // 1 parameter each 4bytes + {Gui::GuiActionType::ID_PostTreatmentStates , 1 * 4 }, // 1 parameter each 4bytes {Gui::GuiActionType::ID_DisinfectStates , 3 * 4 }, // 3 parameter each 4bytes // ---- Index: sources/gui/GuiGlobals.h =================================================================== diff -u -rf38edd22f7b63694c21b83d6f4b69ea618390126 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision f38edd22f7b63694c21b83d6f4b69ea618390126) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -309,6 +309,7 @@ #include "DGDefs.h" Q_ENUM(DG_Op_Modes) + Q_ENUM(DG_Flush_UI_States) Q_ENUM(DG_Heat_UI_States) Q_ENUM(DG_Chem_UI_States) @@ -386,6 +387,7 @@ // Disinfection Heat States typedef GuiActions::DG_Disinfect_States GuiDisinfectDGStates; + typedef GuiActions::DG_Flush_UI_States GuiDisinfectDGFlushStates; typedef GuiActions::DG_Heat_UI_States GuiDisinfectDGHeatStates; typedef GuiActions::DG_Chem_UI_States GuiDisinfectDGChemicalStates; Index: sources/gui/qml/pages/disinfect/DisinfectStack.qml =================================================================== diff -u -rf38edd22f7b63694c21b83d6f4b69ea618390126 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- sources/gui/qml/pages/disinfect/DisinfectStack.qml (.../DisinfectStack.qml) (revision f38edd22f7b63694c21b83d6f4b69ea618390126) +++ sources/gui/qml/pages/disinfect/DisinfectStack.qml (.../DisinfectStack.qml) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -83,6 +83,17 @@ timeCircleMaximum : vDisinfectDGData.flushTimeTotal timeCircleProgressValue : vDisinfectDGData.flushTimeElapsed timeCircleTimeTextValue : vDisinfectDGData.flushTimeRemaining * 60 + + hasCheckList : true + isComplete : vDisinfectStates.flushComplete + completeText : qsTr("Water Flush Complete!") + checkListStepNames : [ + qsTr("Pre-Flush Drain" ), + qsTr("Flush Reservoirs" ), + qsTr("Drain Reservoirs" ), + qsTr("Flush Recirculating Path" ), + ] + } DisinfectBase { id : _disinfectHeat @@ -140,6 +151,14 @@ // ----- Checkmarks Connections { target: vDisinfectStates + onFlushNotRunningEntered : { } + onFlushDrainBeforeFlushEntered : { _disinfectFlush .checkList.setItem(0, vflushDrainBeforeFlush )} + onFlushFlushReservoirsEntered : { _disinfectFlush .checkList.setItem(1, vflushFlushReservoirs )} + onFlushDrainReservoirsEntered : { _disinfectFlush .checkList.setItem(2, vflushDrainReservoirs )} + onFlushRecirculatePathEntered : { _disinfectFlush .checkList.setItem(3, vflushRecirculatePath )} + onFlushCancelEntered : { } + onFlushCompleteEntered : { } + onHeatNotRunningEntered : { } onHeatFlushBeforeDisinfectEntered : { _disinfectHeat .checkList.setItem(0, vheatFlushBeforeDisinfect )} onHeatWaterHeatUpEntered : { _disinfectHeat .checkList.setItem(1, vheatWaterHeatUp )} Index: sources/model/hd/alarm/MAlarmActiveList.cpp =================================================================== diff -u -ra5be04172757fa469d85fb83a6998a4404214f19 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- sources/model/hd/alarm/MAlarmActiveList.cpp (.../MAlarmActiveList.cpp) (revision a5be04172757fa469d85fb83a6998a4404214f19) +++ sources/model/hd/alarm/MAlarmActiveList.cpp (.../MAlarmActiveList.cpp) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -5,7 +5,7 @@ * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * - * \file MPostTreatmentStatesData.cpp + * \file MAlarmActiveList.cpp * \author (last) Behrouz NematiPour * \date (last) 15-May-2021 * \author (original) Behrouz NematiPour Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -r9ccddeaf605a0d7ff14b8166f8b46d07f5979c9e -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 9ccddeaf605a0d7ff14b8166f8b46d07f5979c9e) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 07-Jun-2021 + * \date (last) 08-Jun-2021 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 * @@ -27,234 +27,234 @@ QString result; if ( vAlarmID == 0 ) return result; switch (vAlarmID) { - case GuiAlarmID::ALARM_ID_NO_ALARM : { result = QObject::tr("Indication for when no alarms is a possible situation." ); break; } - case GuiAlarmID::ALARM_ID_STUCK_BUTTON_TEST_FAILED : { result = QObject::tr("Stuck button POST failure.\nStop or Off button detected to be pressed for at least 1 second during test shortly after power up." ); break; } - case GuiAlarmID::ALARM_ID_HD_FPGA_POST_TEST_FAILED : { result = QObject::tr("HD FPGA POST failure." ); break; } - case GuiAlarmID::ALARM_ID_DG_FPGA_POST_TEST_FAILED : { result = QObject::tr("DG 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.\nUI failed to communicate within a reasonable time after power up." ); break; } - case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR : { result = QObject::tr("Real-time clock configuration error." ); break; } - case GuiAlarmID::ALARM_ID_HD_ACCELEROMETER_SELF_TEST_FAILURE : { result = QObject::tr("HD accelerometer failed POST." ); break; } - case GuiAlarmID::ALARM_ID_DG_ACCELEROMETER_SELF_TEST_FAILURE : { result = QObject::tr("DG accelerometer failed POST." ); break; } - case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE : { result = QObject::tr("RTC or MCU timer inaccurate." ); break; } - case GuiAlarmID::ALARM_ID_DG_HEATERS_SELF_TEST_FAILURE : { result = QObject::tr("DG heaters failed POST." ); break; } - case GuiAlarmID::ALARM_ID_HD_INTEGRITY_POST_TEST_FAILED : { result = QObject::tr("HD firmware image integrity POST test failed." ); break; } - case GuiAlarmID::ALARM_ID_DG_INTEGRITY_POST_TEST_FAILED : { result = QObject::tr("DG firmware image integrity POST test failed." ); break; } - case GuiAlarmID::ALARM_ID_HD_BLOOD_FLOW_INVALID_CALIBRATION : { result = QObject::tr("HD blood flow invalid calibration." ); break; } - case GuiAlarmID::ALARM_ID_HD_DIALYSATE_FLOW_INVALID_CALIBRATION : { result = QObject::tr("HD dialysate flow invalid calibration." ); break; } - case GuiAlarmID::ALARM_ID_HD_ALARM_AUDIO_SELF_TEST_FAILURE : { result = QObject::tr("HD alarm audio failed POST." ); break; } - case GuiAlarmID::ALARM_ID_HD_SOFTWARE_FAULT : { result = QObject::tr("HD Software fault.\nSoftware found itself in an unexpected state." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Blood pump failed motor controller current check.\nToo high when pump should be off or out of range when pump should be running." ); 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 direction check.\nMeasured vs commanded." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Blood pump failed rotor speed check.\nMismatch with rotor and motor speeds." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Dialysis inlet pump failed motor controller current check.\nToo high when pump should be off or out of range when pump should be running." ); 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 direction check.\nMeasured vs commanded." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Dialysis inlet pump failed rotor speed check.\nMismatch with rotor and motor speeds." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor controller current check.\nToo high when pump should be off or out of range when pump should be running." ); 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 direction check.\nMeasured vs commanded." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Dialysis outlet pump failed rotor speed check.\nMismatch with rotor and motor speeds." ); break; } - case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED : { result = QObject::tr("Watchdog expired error.\nWatchdog was not \"pet\" within the appropriate time." ); 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_CAN_MESSAGE_NOT_ACKED : { result = QObject::tr("System message that required acknowledgment was not acknowledged." ); 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_HD_FPGA_COMM_TIMEOUT : { result = QObject::tr("HD FPGA communication down for too long." ); break; } - case GuiAlarmID::ALARM_ID_VALVE_CONTROL_FAILURE : { result = QObject::tr("FPGA not accepting commanded valve states." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Blood pump failed motor speed check.\nMeasured vs commanded." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Dialysate inlet pump failed motor speed check.\nMeasured vs commanded." ); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Dialysate outlet pump failed motor speed check.\nMeasured vs commanded." ); break; } - case GuiAlarmID::ALARM_ID_HD_CRITICAL_DATA_ERROR : { result = QObject::tr("HD critical data integrity check failed." ); break; } - case GuiAlarmID::ALARM_ID_DG_CRITICAL_DATA_ERROR : { result = QObject::tr("DG critical data integrity check failed." ); break; } - case GuiAlarmID::ALARM_ID_HD_ACCELEROMETER_FAILURE : { result = QObject::tr("HD accelerometer error (no readings or FPGA reports error)." ); break; } - case GuiAlarmID::ALARM_ID_DG_ACCELEROMETER_FAILURE : { result = QObject::tr("DG accelerometer error (no readings or FPGA reports error)." ); break; } - case GuiAlarmID::ALARM_ID_HD_VALVE_HOMING_FAILED : { result = QObject::tr("HD valve homing failed." ); break; } - case GuiAlarmID::ALARM_ID_HD_VALVE_TRANSITION_TIMEOUT : { result = QObject::tr("HD valve transition time out." ); break; } - case GuiAlarmID::ALARM_ID_HD_VALVE_NOT_FUNCTIONAL : { result = QObject::tr("HD valve not functional." ); break; } - case GuiAlarmID::ALARM_ID_HD_VALVE_CURRENT_OUT_OF_RANGE : { result = QObject::tr("HD valve current out of range." ); break; } - case GuiAlarmID::ALARM_ID_HD_VALVE_POSITION_OUT_OF_RANGE : { result = QObject::tr("HD valve position out of target." ); break; } - case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT : { result = QObject::tr("FPGA reports failure reading arterial pressure sensor." ); break; } - case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT : { result = QObject::tr("FPGA reports failure reading venous pressure sensor." ); break; } - case GuiAlarmID::ALARM_ID_DG_COMMAND_INVALID_PARAMETER_FAULT : { result = QObject::tr("HD requests DG command with invalid parameter fault." ); break; } - case GuiAlarmID::ALARM_ID_NVDATAMGMT_GROUP_RECORD_CRC_INVALID : { result = QObject::tr("DG/HD NV data management overall group record CRC invalid." ); break; } - case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_SELF_TEST_FAILURE : { result = QObject::tr("HD blood pump occlusion self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_DIP_OCCLUSION_SELF_TEST_FAILURE : { result = QObject::tr("HD dialysate inlet pump occlusion self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_DOP_OCCLUSION_SELF_TEST_FAILURE : { result = QObject::tr("HD dialysate outlet pump occlusion self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_ARTERIAL_PRESSURE_SELF_TEST_FAILURE : { result = QObject::tr("HD arterial pressure self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_SELF_TEST_FAILURE : { result = QObject::tr("HD venous pressure self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_BLOOD_FLOW_STATUS_SELF_TEST_FAILURE : { result = QObject::tr("HD blood flow meter status check self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_DIALYSATE_FLOW_STATUS_SELF_TEST_FAILURE : { result = QObject::tr("HD dialysate flow meter status check self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_SELF_TEST_FAILURE : { result = QObject::tr("HD blood leak detector self-test failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_VOLTAGE_OUT_OF_RANGE : { result = QObject::tr("HD monitored voltage is out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_VOLTAGE_OUT_OF_RANGE : { result = QObject::tr("DG monitored voltage is out of range." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_ENCODER_DIRECTION_ERROR : { result = QObject::tr("HD syringe pump direction (from encoder) error." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_CONTROLLER_DIRECTION_ERROR : { result = QObject::tr("HD syringe pump direction (from controller) error." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_FAULT : { result = QObject::tr("HD syringe pump fault reported by FPGA." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_OVER_TRAVEL_ERROR : { result = QObject::tr("HD syringe pump over travel error." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_DAC_WRITE_ERROR : { result = QObject::tr("HD syringe pump DAC write failure." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_RUNNING_WHILE_BP_OFF_ERROR : { result = QObject::tr("HD syringe pump is running while the BP is off." ); break; } - case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_READ_TIMEOUT_ERROR : { result = QObject::tr("HD venous pressure sensor not being read." ); break; } - case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_SENSOR_TEMP_OUT_OF_RANGE : { result = QObject::tr("HD venous pressure sensor temperature out of range error." ); break; } - case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_READ_TIMEOUT_ERROR : { result = QObject::tr("HD BP occlusion sensor not being read." ); break; } - case GuiAlarmID::ALARM_ID_HD_DPI_OCCLUSON_READ_TIMEOUT_ERROR : { result = QObject::tr("HD DPi occlusion sensor not being read." ); break; } - case GuiAlarmID::ALARM_ID_HD_DPO_OCCLUSION_READ_TIMEOUT_ERROR : { result = QObject::tr("HD DPo occlusion sensor not being read." ); break; } - case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_SENSOR_ERROR : { result = QObject::tr("HD BP occlusion sensor error." ); break; } - case GuiAlarmID::ALARM_ID_HD_DPI_OCCLUSION_SENSOR_ERROR : { result = QObject::tr("HD DPi occlusion sensor error." ); break; } - case GuiAlarmID::ALARM_ID_HD_DPO_OCCLUSION_SENSOR_ERROR : { result = QObject::tr("HD DPo occlusion sensor error." ); break; } - case GuiAlarmID::ALARM_ID_HD_BP_FLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD blood flow sensor not being read." ); break; } - case GuiAlarmID::ALARM_ID_HD_BP_FLOW_SENSOR_ERROR : { result = QObject::tr("HD blood flow sensor error." ); break; } - case GuiAlarmID::ALARM_ID_HD_DP_FLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD dialysate flow sensor not being read." ); break; } - case GuiAlarmID::ALARM_ID_HD_DP_FLOW_SENSOR_ERROR : { result = QObject::tr("HD dialysate flow sensor error." ); break; } - case GuiAlarmID::ALARM_ID_HD_BP_FLOW_SLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD blood flow sensor not being read - slow packet." ); break; } - case GuiAlarmID::ALARM_ID_HD_DP_FLOW_SLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD dialysate flow sensor not being read - slow packet." ); break; } - case GuiAlarmID::ALARM_ID_HD_BATTERY_COMM_FAULT : { result = QObject::tr("HD battery communication fault." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_STALL : { result = QObject::tr("HD syringe pump stall alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_NO_CART_SELF_TEST_TIMEOUT : { result = QObject::tr("HD no cartridge self-test timeout." ); break; } - case GuiAlarmID::ALARM_ID_HD_DRY_SELF_TEST_TIMEOUT : { result = QObject::tr("HD dry self-test timeout." ); break; } - case GuiAlarmID::ALARM_ID_RTC_COMM_ERROR : { result = QObject::tr("Real-time clock communication error." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR : { result = QObject::tr("Manufacturing record CRC failure." ); break; } - case GuiAlarmID::ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS : { result = QObject::tr("Air trap level sensors reporting illegal combination of air/fluid." ); break; } - case GuiAlarmID::ALARM_ID_NVDATAMGMT_INDIVIDUAL_RECORD_CRC_INVALID : { result = QObject::tr("DG/HD NV data management individual record CRC invalid." ); break; } - case GuiAlarmID::ALARM_ID_NVDATAMGMT_INDIVIDUAL_RECORD_TIME_INVALID : { result = QObject::tr("DG/HD NV data management individual record time invalid." ); break; } - case GuiAlarmID::ALARM_ID_DG_RESTARTED_FAULT : { result = QObject::tr("HD reports DG restarted fault." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_ADC_ERROR : { result = QObject::tr("HD syringe pump ADC error." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_VOLUME_ERROR : { result = QObject::tr("HD syringe pump volume check error." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SPEED_ERROR : { result = QObject::tr("HD syringe pump speed check error." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_NOT_STOPPED_ERROR : { result = QObject::tr("HD syringe pump not stopped in off state error." ); break; } - case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_FAULT : { result = QObject::tr("HD blood leak detector fault." ); break; } - case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_SELF_TEST_FAILURE : { result = QObject::tr("HD arterial air bubble detector self-test failure." ); break; } - case GuiAlarmID::ALARM_ID_HD_VENOUS_BUBBLE_SELF_TEST_FAILURE : { result = QObject::tr("HD venous air bubble detector self-test failure." ); break; } - case GuiAlarmID::ALARM_ID_END_OF_TREATMENT_HIGH : { result = QObject::tr("HD end of treatment alarm (high priority - user still not acting to end treatment)." ); break; } - case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_NO_RINSEBACK : { result = QObject::tr("Blood sitting too long after treatment stopped by user alarm (>10 min)." ); break; } - case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_DETECTED : { result = QObject::tr("HD blood leak detected alarm." ); break; } - case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_LOW : { result = QObject::tr("Venous pressure too low during treatment." ); break; } - case GuiAlarmID::ALARM_ID_HD_VENOUS_BUBBLE_DETECTED : { result = QObject::tr("HD venous air bubble detected alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_VENOUS_BUBBLE_DETECTED_RINSEBACK : { result = QObject::tr("HD venous air bubble detected rinseback alarm." ); break; } - case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_HIGH : { result = QObject::tr("Venous pressure too high during treatment." ); 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_DG_FLUID_LEAK_DETECTED : { result = QObject::tr("DG fluid leak detected alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_FLUID_LEAK_DETECTED : { result = QObject::tr("HD fluid leak detected alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_SHOCK : { result = QObject::tr("HD experienced large acceleration." ); break; } - case GuiAlarmID::ALARM_ID_DG_SHOCK : { result = QObject::tr("DG experienced large acceleration." ); break; } - case GuiAlarmID::ALARM_ID_HD_EXCESSIVE_TILT : { result = QObject::tr("HD tilt exceeds maximum." ); break; } - case GuiAlarmID::ALARM_ID_DG_EXCESSIVE_TILT : { result = QObject::tr("DG tilt exceeds maximum." ); break; } - case GuiAlarmID::ALARM_ID_HD_AC_POWER_LOST : { result = QObject::tr("HD AC power lost alarm." ); break; } - case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT : { result = QObject::tr("Dialysate generator communication timeout." ); break; } - case GuiAlarmID::ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT : { result = QObject::tr("Air trap fill timeout during treatment." ); 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_ACID_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Concentrate conductivity after adding acid out of range alarm." ); break; } - case GuiAlarmID::ALARM_ID_DIALYSATE_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Dialysate conductivity out of range." ); break; } - case GuiAlarmID::ALARM_ID_DIALYSATE_CONDUCTIVITY_FAULT : { result = QObject::tr("DG dialysate generation conductivity fault alarm." ); break; } - case GuiAlarmID::ALARM_ID_INLET_WATER_HIGH_TEMPERATURE : { result = QObject::tr("Inlet water temperature too high." ); break; } - case GuiAlarmID::ALARM_ID_INLET_WATER_LOW_TEMPERATURE : { result = QObject::tr("Inlet water temperature too low." ); break; } - case GuiAlarmID::ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY : { result = QObject::tr("Inlet water conductivity too high." ); break; } - case GuiAlarmID::ALARM_ID_INLET_WATER_LOW_CONDUCTIVITY : { result = QObject::tr("Inlet water conductivity too low." ); break; } - case GuiAlarmID::ALARM_ID_INLET_WATER_LOW_PRESSURE : { result = QObject::tr("Inlet water pressure too low." ); break; } - case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_HIGH : { result = QObject::tr("HD prime completed high priority alarm." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE : { result = QObject::tr("EEPROM operations (read, write, erase) failure." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR : { result = QObject::tr("Service record CRC failure." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR : { result = QObject::tr("HW usage data (treatment time in HD and total consumed water in DG) failure." ); break; } - case GuiAlarmID::ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR : { result = QObject::tr("Calibration record CRC failure." ); 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_BLOOD_PUMP_ROTOR_SPEED_TOO_HIGH : { result = QObject::tr("Blood pump rotor speed too high." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW : { result = QObject::tr("Blood flow sensor signal strength too low." ); break; } - case GuiAlarmID::ALARM_ID_DIALYSATE_FLOW_SIGNAL_STRENGTH_TOO_LOW : { result = QObject::tr("Dialysate flow sensor signal strength too low." ); break; } - case GuiAlarmID::ALARM_ID_HD_LOAD_CELL_ACCELERATION_RES_1_ALARM : { result = QObject::tr("HD sees primary load cell for reservoir 1 change too much too fast." ); break; } - case GuiAlarmID::ALARM_ID_HD_LOAD_CELL_ACCELERATION_RES_2_ALARM : { result = QObject::tr("HD sees primary load cell for reservoir 1 change too much too fast." ); break; } - case GuiAlarmID::ALARM_ID_TREATMENT_RINSEBACK_TIMEOUT_ALARM : { result = QObject::tr("HD in treatment rinseback operation timeout." ); break; } - case GuiAlarmID::ALARM_ID_TREATMENT_RECIRC_TIMEOUT_ALARM : { result = QObject::tr("HD in treatment re-circ sub-mode for too long." ); break; } - case GuiAlarmID::ALARM_ID_CARTRIDGE_DOOR_OPENED : { result = QObject::tr("HD cartridge door opened alarm." ); break; } - case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_TOO_HIGH : { result = QObject::tr("HD dialysate temperature too high alarm." ); break; } - case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_TOO_LOW : { result = QObject::tr("HD dialysate temperature too low alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_EMPTY : { result = QObject::tr("HD syringe empty alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION : { result = QObject::tr("HD syringe pump occlusion alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_NOT_ENOUGH_HEPARIN_ALARM : { result = QObject::tr("HD syringe pump not enough Heparin alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED : { result = QObject::tr("HD arterial air bubble detected alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED_RINSEBACK : { result = QObject::tr("HD arterial air bubble detected rinseback alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR : { result = QObject::tr("HD pump direction status error." ); break; } - case GuiAlarmID::ALARM_ID_HD_RESERVOIR_FULL_AND_DG_NOT_READY_TO_SWITCH : { result = QObject::tr("HD active reservoir is full during treatment and DG not ready to switch reservoirs." ); break; } - case GuiAlarmID::ALARM_ID_DG_SOFTWARE_FAULT : { result = QObject::tr("DG software fault.\nSoftware found itself in an unexpected state." ); break; } - case GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT : { result = QObject::tr("HD communication timeout." ); break; } - case GuiAlarmID::ALARM_ID_DG_FPGA_COMM_TIMEOUT : { result = QObject::tr("DG FPGA communication down for too long." ); break; } - case GuiAlarmID::ALARM_ID_DG_LOAD_CELL_ADC_ERROR : { result = QObject::tr("DG load cell ADC error." ); break; } - case GuiAlarmID::ALARM_ID_DG_LOAD_CELLS_TARE_WEIGHT_OUT_OF_RANGE : { result = QObject::tr("DG load cells weight out of range before tare." ); break; } - case GuiAlarmID::ALARM_ID_DG_LOAD_CELLS_INVALID_CALIBRATION : { result = QObject::tr("DG load cells invalid calibration." ); break; } - case GuiAlarmID::ALARM_ID_DG_INVALID_LOAD_CELL_VALUE : { result = QObject::tr("DG invalid load cell value." ); break; } - case GuiAlarmID::ALARM_ID_UV_REACTOR_NOT_HEALTHY : { result = QObject::tr("Inlet or Outlet UV reactor not healthy." ); break; } - case GuiAlarmID::ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE : { result = QObject::tr("DG fan RPM out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_CONCENTRATE_PUMP_FAULT : { result = QObject::tr("DG concentrate pump fault." ); break; } - case GuiAlarmID::ALARM_ID_CP1_SPEED_CONTROL_ERROR : { result = QObject::tr("DG concentrate pump CP1 speed control error." ); break; } - case GuiAlarmID::ALARM_ID_CP2_SPEED_CONTROL_ERROR : { result = QObject::tr("DG concentrate pump CP2 speed control error." ); break; } - case GuiAlarmID::ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE : { result = QObject::tr("DG drain pump RPM out of range." ); break; } - case GuiAlarmID::ALARM_ID_DRAIN_PUMP_OFF_FAULT : { result = QObject::tr("DG drain pump off fault." ); break; } - case GuiAlarmID::ALARM_ID_FLOW_RATE_OUT_OF_UPPER_RANGE : { result = QObject::tr("DG flow rate out of upper range." ); break; } - case GuiAlarmID::ALARM_ID_FLOW_RATE_OUT_OF_LOWER_RANGE : { result = QObject::tr("DG flow rate out of lower range." ); break; } - case GuiAlarmID::ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE : { result = QObject::tr("RO pump flow rate out of range." ); break; } - case GuiAlarmID::ALARM_ID_RO_PUMP_OFF_FAULT : { result = QObject::tr("DG RO pump off fault." ); break; } - case GuiAlarmID::ALARM_ID_RO_PUMP_PRESSURE_OUT_OF_RANGE : { result = QObject::tr("DG RO pump pressure out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_TEMPERATURE_SENSOR_FAULT : { result = QObject::tr("DG temperature sensor error flag fault." ); break; } - case GuiAlarmID::ALARM_ID_DG_TEMPERATURE_SENSORS_ADC_FAULT : { result = QObject::tr("DG temperature sensors ADC fault." ); break; } - case GuiAlarmID::ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE : { result = QObject::tr("DG heaters cold junction temperature out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_HEATERS_FAULT : { result = QObject::tr("DG heaters fault." ); break; } - case GuiAlarmID::ALARM_ID_DG_THERMISTORS_TEMPERATURE_OUT_OF_RANGE : { result = QObject::tr("DG thermistors/sensors temperature out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_BAD_INLET_WATER_QUALITY : { result = QObject::tr("Inlet water quality is bad (temperature, conductivity, pressure)." ); break; } - case GuiAlarmID::ALARM_ID_INLET_WATER_PRESSURE_FAULT : { result = QObject::tr("Inlet water pressure fault." ); break; } - case GuiAlarmID::ALARM_ID_PRESSURE_SENSOR_FAULT : { result = QObject::tr("Pressure sensor fault." ); break; } - case GuiAlarmID::ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE : { result = QObject::tr("RO rejection ratio out of range." ); break; } - case GuiAlarmID::ALARM_ID_CONDUCTIVITY_SENSOR_FAULT : { result = QObject::tr("Conductivity sensor fault." ); break; } - case GuiAlarmID::ALARM_ID_DG_DIALYSATE_FILL_OUT_OF_TIME : { result = QObject::tr("DG dialysate fill runs out of time." ); break; } - case GuiAlarmID::ALARM_ID_DG_FLOW_METER_CHECK_FAILURE : { result = QObject::tr("DG flow meter check failure alarm." ); break; } - case GuiAlarmID::ALARM_ID_DG_PRIMARY_HEATERS_INTERNAL_TEMP_OUT_OF_RANGE : { result = QObject::tr("DG primary heaters internal temperature out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_TRIMMER_HEATER_INTERNAL_TEMP_OUT_OF_RANGE : { result = QObject::tr("DG trimmer heater internal temperature out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_HEATERS_ON_WITH_NO_FLOW_TIMEOUT : { result = QObject::tr("DG heaters on with no flow time out." ); break; } - case GuiAlarmID::ALARM_ID_DG_DRAIN_CIRCULATION_LINE_TIMEOUT : { result = QObject::tr("DG drain circulation line timeout." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING : { result = QObject::tr("Blood sitting too long warning (>4 min)." ); break; } - case GuiAlarmID::ALARM_ID_END_OF_TREATMENT_ALARM : { result = QObject::tr("HD end of treatment alarm (user not acting to end treatment)." ); break; } - case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_MEDIUM : { result = QObject::tr("HD prime completed medium priority alarm." ); break; } - case GuiAlarmID::ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE : { result = QObject::tr("HD Saline bolus volume check failure." ); break; } - case GuiAlarmID::ALARM_ID_RINSEBACK_VOLUME_CHECK_FAILURE : { result = QObject::tr("HD rinseback volume check failure." ); break; } - case GuiAlarmID::ALARM_ID_END_TREATMENT_TIMEOUT_ALARM : { result = QObject::tr("HD end treatment sub-mode timeout alarm." ); break; } - case GuiAlarmID::ALARM_ID_BLOOD_PRIME_VOLUME_CHECK_FAILURE : { result = QObject::tr("HD blood prime volume check failure." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_DETECTED : { result = QObject::tr("HD syringe detected alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_REMOVED : { result = QObject::tr("HD syringe pump syringe removed alarm." ); break; } - case GuiAlarmID::ALARM_ID_EMPTY_SALINE_BAG : { result = QObject::tr("HD Saline bag is empty." ); break; } - case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_HIGH : { result = QObject::tr("HD dialysate temperature too high alarm." ); break; } - case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_LOW : { result = QObject::tr("HD dialysate temperature too low alarm." ); 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_END_OF_TREATMENT_WARNING : { result = QObject::tr("HD end of treatment warning." ); break; } - case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_LOW_PRIORITY : { result = QObject::tr("HD prime completed low priority alarm." ); break; } - case GuiAlarmID::ALARM_ID_PRIME_OUT_OF_TIME : { result = QObject::tr("HD prime out of time alarm." ); break; } - case GuiAlarmID::ALARM_ID_HD_PRIME_PURGE_AIR_TIME_OUT : { result = QObject::tr("HD time out on prime sub-mode purge air state." ); break; } - case GuiAlarmID::ALARM_ID_PRIME_DIALYSATE_DIALYZER_TIME_OUT : { result = QObject::tr("HD prime dialysate dialyzer time out alarm." ); break; } - case GuiAlarmID::ALARM_ID_PRIME_DIALYSATE_BYPASS_TIME_OUT : { result = QObject::tr("HD prime dialysate bypass time out alarm." ); break; } - case GuiAlarmID::ALARM_ID_PRE_TREATMENT_DRY_SELF_TEST_FAILURE : { result = QObject::tr("HD pre-treatment mode dry self-tests failure." ); break; } - case GuiAlarmID::ALARM_ID_PRE_TREATMENT_WET_SELF_TEST_FAILURE : { result = QObject::tr("HD pre-treatment mode wet self-tests failure." ); break; } - case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW : { result = QObject::tr("RTC battery low." ); break; } - case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR : { result = QObject::tr("RTC (i.e read time) or RAM operations failure (read or write)." ); break; } - case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_AFTER_RINSEBACK : { result = QObject::tr("HD in treatment stopped sub-mode after rinseback completed (no escalation)." ); break; } - case GuiAlarmID::ALARM_ID_INSTALL_NEW_CARTRIDGE : { result = QObject::tr("HD needs new cartridge to be installed." ); break; } - case GuiAlarmID::ALARM_ID_CARTRIDGE_INSTALLED_IMPROPERLY : { result = QObject::tr("HD cartridge installed improperly alarm." ); break; } - case GuiAlarmID::ALARM_ID_NO_CARTRIDGE_LOADED : { result = QObject::tr("HD no cartridge loaded alarm." ); break; } - case GuiAlarmID::ALARM_ID_CARTRIDGE_REMOVAL_FAILURE : { result = QObject::tr("HD fail to remove cartridge alarm." ); break; } - case GuiAlarmID::ALARM_ID_BICARB_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Bicarb conductivity out of range during bicarb pump check alarm." ); break; } - case GuiAlarmID::ALARM_ID_DG_RESERVOIR_DRAIN_TIMEOUT : { result = QObject::tr("DG reservoir drain time out." ); break; } - case GuiAlarmID::ALARM_ID_DG_RESERVOIR_FILL_TIMEOUT : { result = QObject::tr("DG reservoir fill time out." ); break; } - case GuiAlarmID::ALARM_ID_DG_RESERVOIR_LEAK_TIMEOUT : { result = QObject::tr("DG reservoir leak time out." ); break; } - case GuiAlarmID::ALARM_ID_DG_TEMP_SENSORS_DIFF_OUT_OF_RANGE : { result = QObject::tr("DG temperature sensors difference out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_HEAT_DISINFECT_TARGET_TEMP_TIMEOUT : { result = QObject::tr("DG heat disinfect target temperature time out (could not reach to temperature)." ); break; } - case GuiAlarmID::ALARM_ID_DG_HEAT_DISINFECT_INLET_PRES_AND_TEMP_SNSRS_OUT: { result = QObject::tr("DG heat disinfect inlet pressure and temperature sensors out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_HEAT_DISINFECT_INLET_COND_AND_TEMP_OUT : { result = QObject::tr("DG heat disinfect inlet conductivity and temperature out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_CHEM_DISINFECT_TARGET_TEMP_TIMEOUT : { result = QObject::tr("DG chemical disinfect could not reach to target temperature." ); break; } - case GuiAlarmID::ALARM_ID_DG_CHEM_DISINFECT_INLET_PRES_AND_TEMP_SNSRS_OUT: { result = QObject::tr("DG chemical disinfect inlet pressure and temperature sensors out of range." ); break; } - case GuiAlarmID::ALARM_ID_DG_CHEM_DISINFECT_INLET_COND_AND_TEMP_OUT : { result = QObject::tr("DG chemical disinfect inlet conductivity and temperature out of range." ); break; } - case GuiAlarmID::NUM_OF_ALARM_IDS : { result = QObject::tr("Total number of alarms." ); break; } +/*0000*/case GuiAlarmID::ALARM_ID_NO_ALARM : { result = QObject::tr("Indication for when no alarms is a possible situation." ); break; } +/*0001*/case GuiAlarmID::ALARM_ID_STUCK_BUTTON_TEST_FAILED : { result = QObject::tr("Stuck button POST failure.\nStop or Off button detected to be pressed for at least 1 second during test shortly after power up." ); break; } +/*0002*/case GuiAlarmID::ALARM_ID_HD_FPGA_POST_TEST_FAILED : { result = QObject::tr("HD FPGA POST failure." ); break; } +/*0003*/case GuiAlarmID::ALARM_ID_DG_FPGA_POST_TEST_FAILED : { result = QObject::tr("DG FPGA POST failure." ); break; } +/*0004*/case GuiAlarmID::ALARM_ID_WATCHDOG_POST_TEST_FAILED : { result = QObject::tr("Watchdog POST failure." ); break; } +/*0005*/case GuiAlarmID::ALARM_ID_UI_COMM_POST_FAILED : { result = QObject::tr("UI communication POST failure.\nUI failed to communicate within a reasonable time after power up." ); break; } +/*0006*/case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR : { result = QObject::tr("Real-time clock configuration error." ); break; } +/*0007*/case GuiAlarmID::ALARM_ID_HD_ACCELEROMETER_SELF_TEST_FAILURE : { result = QObject::tr("HD accelerometer failed POST." ); break; } +/*0008*/case GuiAlarmID::ALARM_ID_DG_ACCELEROMETER_SELF_TEST_FAILURE : { result = QObject::tr("DG accelerometer failed POST." ); break; } +/*0009*/case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE : { result = QObject::tr("RTC or MCU timer inaccurate." ); break; } +/*0010*/case GuiAlarmID::ALARM_ID_DG_HEATERS_SELF_TEST_FAILURE : { result = QObject::tr("DG heaters failed POST." ); break; } +/*0011*/case GuiAlarmID::ALARM_ID_HD_INTEGRITY_POST_TEST_FAILED : { result = QObject::tr("HD firmware image integrity POST test failed." ); break; } +/*0012*/case GuiAlarmID::ALARM_ID_DG_INTEGRITY_POST_TEST_FAILED : { result = QObject::tr("DG firmware image integrity POST test failed." ); break; } +/*0013*/case GuiAlarmID::ALARM_ID_HD_BLOOD_FLOW_INVALID_CALIBRATION : { result = QObject::tr("HD blood flow invalid calibration." ); break; } +/*0014*/case GuiAlarmID::ALARM_ID_HD_DIALYSATE_FLOW_INVALID_CALIBRATION : { result = QObject::tr("HD dialysate flow invalid calibration." ); break; } +/*0015*/case GuiAlarmID::ALARM_ID_HD_ALARM_AUDIO_SELF_TEST_FAILURE : { result = QObject::tr("HD alarm audio failed POST." ); break; } +/*0016*/case GuiAlarmID::ALARM_ID_HD_SOFTWARE_FAULT : { result = QObject::tr("HD Software fault.\nSoftware found itself in an unexpected state." ); break; } +/*0017*/case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Blood pump failed motor controller current check.\nToo high when pump should be off or out of range when pump should be running." ); break; } +/*0018*/case GuiAlarmID::ALARM_ID_BLOOD_PUMP_OFF_CHECK : { result = QObject::tr("Blood pump failed motor off check.\nMeasured speed while commanded off." ); break; } +/*0019*/case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_DIRECTION_CHECK : { result = QObject::tr("Blood pump failed motor direction check.\nMeasured vs commanded." ); break; } +/*0020*/case GuiAlarmID::ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Blood pump failed rotor speed check.\nMismatch with rotor and motor speeds." ); break; } +/*0021*/case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Dialysis inlet pump failed motor controller current check.\nToo high when pump should be off or out of range when pump should be running." ); break; } +/*0022*/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; } +/*0023*/case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK : { result = QObject::tr("Dialysis inlet pump failed motor direction check.\nMeasured vs commanded." ); break; } +/*0024*/case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Dialysis inlet pump failed rotor speed check.\nMismatch with rotor and motor speeds." ); break; } +/*0025*/case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor controller current check.\nToo high when pump should be off or out of range when pump should be running." ); break; } +/*0026*/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; } +/*0027*/case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK : { result = QObject::tr("Dialysis outlet pump failed motor direction check.\nMeasured vs commanded." ); break; } +/*0028*/case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK : { result = QObject::tr("Dialysis outlet pump failed rotor speed check.\nMismatch with rotor and motor speeds." ); break; } +/*0029*/case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED : { result = QObject::tr("Watchdog expired error.\nWatchdog was not \"pet\" within the appropriate time." ); break; } +/*0030*/case GuiAlarmID::ALARM_ID_UI_COMM_TIMEOUT : { result = QObject::tr("User interface communication timeout." ); break; } +/*0031*/case GuiAlarmID::ALARM_ID_COMM_TOO_MANY_BAD_CRCS : { result = QObject::tr("Too many bad CRCs detected on received system messages." ); break; } +/*0032*/case GuiAlarmID::ALARM_ID_CAN_MESSAGE_NOT_ACKED : { result = QObject::tr("System message that required acknowledgment was not acknowledged." ); break; } +/*0033*/case GuiAlarmID::ALARM_ID_UF_RATE_TOO_HIGH_ERROR : { result = QObject::tr("Ultrafiltration rate is too high error during treatment." ); break; } +/*0034*/case GuiAlarmID::ALARM_ID_UF_VOLUME_ACCURACY_ERROR : { result = QObject::tr("Ultrafiltration volume accuracy error during treatment." ); break; } +/*0035*/case GuiAlarmID::ALARM_ID_HD_FPGA_COMM_TIMEOUT : { result = QObject::tr("HD FPGA communication down for too long." ); break; } +/*0036*/case GuiAlarmID::ALARM_ID_VALVE_CONTROL_FAILURE : { result = QObject::tr("FPGA not accepting commanded valve states." ); break; } +/*0037*/case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Blood pump failed motor speed check.\nMeasured vs commanded." ); break; } +/*0038*/case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Dialysate inlet pump failed motor speed check.\nMeasured vs commanded." ); break; } +/*0039*/case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MOTOR_SPEED_CHECK : { result = QObject::tr("Dialysate outlet pump failed motor speed check.\nMeasured vs commanded." ); break; } +/*0040*/case GuiAlarmID::ALARM_ID_HD_CRITICAL_DATA_ERROR : { result = QObject::tr("HD critical data integrity check failed." ); break; } +/*0041*/case GuiAlarmID::ALARM_ID_DG_CRITICAL_DATA_ERROR : { result = QObject::tr("DG critical data integrity check failed." ); break; } +/*0042*/case GuiAlarmID::ALARM_ID_HD_ACCELEROMETER_FAILURE : { result = QObject::tr("HD accelerometer error (no readings or FPGA reports error)." ); break; } +/*0043*/case GuiAlarmID::ALARM_ID_DG_ACCELEROMETER_FAILURE : { result = QObject::tr("DG accelerometer error (no readings or FPGA reports error)." ); break; } +/*0044*/case GuiAlarmID::ALARM_ID_HD_VALVE_HOMING_FAILED : { result = QObject::tr("HD valve homing failed." ); break; } +/*0045*/case GuiAlarmID::ALARM_ID_HD_VALVE_TRANSITION_TIMEOUT : { result = QObject::tr("HD valve transition time out." ); break; } +/*0046*/case GuiAlarmID::ALARM_ID_HD_VALVE_NOT_FUNCTIONAL : { result = QObject::tr("HD valve not functional." ); break; } +/*0047*/case GuiAlarmID::ALARM_ID_HD_VALVE_CURRENT_OUT_OF_RANGE : { result = QObject::tr("HD valve current out of range." ); break; } +/*0048*/case GuiAlarmID::ALARM_ID_HD_VALVE_POSITION_OUT_OF_RANGE : { result = QObject::tr("HD valve position out of target." ); break; } +/*0049*/case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_SENSOR_FAULT : { result = QObject::tr("FPGA reports failure reading arterial pressure sensor." ); break; } +/*0050*/case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_SENSOR_FAULT : { result = QObject::tr("FPGA reports failure reading venous pressure sensor." ); break; } +/*0051*/case GuiAlarmID::ALARM_ID_DG_COMMAND_INVALID_PARAMETER_FAULT : { result = QObject::tr("HD requests DG command with invalid parameter fault." ); break; } +/*0052*/case GuiAlarmID::ALARM_ID_NVDATAMGMT_GROUP_RECORD_CRC_INVALID : { result = QObject::tr("DG/HD NV data management overall group record CRC invalid." ); break; } +/*0053*/case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_SELF_TEST_FAILURE : { result = QObject::tr("HD blood pump occlusion self-test failure alarm." ); break; } +/*0054*/case GuiAlarmID::ALARM_ID_HD_DIP_OCCLUSION_SELF_TEST_FAILURE : { result = QObject::tr("HD dialysate inlet pump occlusion self-test failure alarm." ); break; } +/*0055*/case GuiAlarmID::ALARM_ID_HD_DOP_OCCLUSION_SELF_TEST_FAILURE : { result = QObject::tr("HD dialysate outlet pump occlusion self-test failure alarm." ); break; } +/*0056*/case GuiAlarmID::ALARM_ID_HD_ARTERIAL_PRESSURE_SELF_TEST_FAILURE : { result = QObject::tr("HD arterial pressure self-test failure alarm." ); break; } +/*0057*/case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_SELF_TEST_FAILURE : { result = QObject::tr("HD venous pressure self-test failure alarm." ); break; } +/*0058*/case GuiAlarmID::ALARM_ID_HD_BLOOD_FLOW_STATUS_SELF_TEST_FAILURE : { result = QObject::tr("HD blood flow meter status check self-test failure alarm." ); break; } +/*0059*/case GuiAlarmID::ALARM_ID_HD_DIALYSATE_FLOW_STATUS_SELF_TEST_FAILURE : { result = QObject::tr("HD dialysate flow meter status check self-test failure alarm." ); break; } +/*0060*/case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_SELF_TEST_FAILURE : { result = QObject::tr("HD blood leak detector self-test failure alarm." ); break; } +/*0061*/case GuiAlarmID::ALARM_ID_HD_VOLTAGE_OUT_OF_RANGE : { result = QObject::tr("HD monitored voltage is out of range." ); break; } +/*0062*/case GuiAlarmID::ALARM_ID_DG_VOLTAGE_OUT_OF_RANGE : { result = QObject::tr("DG monitored voltage is out of range." ); break; } +/*0063*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_ENCODER_DIRECTION_ERROR : { result = QObject::tr("HD syringe pump direction (from encoder) error." ); break; } +/*0064*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_CONTROLLER_DIRECTION_ERROR : { result = QObject::tr("HD syringe pump direction (from controller) error." ); break; } +/*0065*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_FAULT : { result = QObject::tr("HD syringe pump fault reported by FPGA." ); break; } +/*0066*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_OVER_TRAVEL_ERROR : { result = QObject::tr("HD syringe pump over travel error." ); break; } +/*0067*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_DAC_WRITE_ERROR : { result = QObject::tr("HD syringe pump DAC write failure." ); break; } +/*0068*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_RUNNING_WHILE_BP_OFF_ERROR : { result = QObject::tr("HD syringe pump is running while the BP is off." ); break; } +/*0069*/case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_READ_TIMEOUT_ERROR : { result = QObject::tr("HD venous pressure sensor not being read." ); break; } +/*0070*/case GuiAlarmID::ALARM_ID_HD_VENOUS_PRESSURE_SENSOR_TEMP_OUT_OF_RANGE : { result = QObject::tr("HD venous pressure sensor temperature out of range error." ); break; } +/*0071*/case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_READ_TIMEOUT_ERROR : { result = QObject::tr("HD BP occlusion sensor not being read." ); break; } +/*0072*/case GuiAlarmID::ALARM_ID_HD_DPI_OCCLUSON_READ_TIMEOUT_ERROR : { result = QObject::tr("HD DPi occlusion sensor not being read." ); break; } +/*0073*/case GuiAlarmID::ALARM_ID_HD_DPO_OCCLUSION_READ_TIMEOUT_ERROR : { result = QObject::tr("HD DPo occlusion sensor not being read." ); break; } +/*0074*/case GuiAlarmID::ALARM_ID_HD_BP_OCCLUSION_SENSOR_ERROR : { result = QObject::tr("HD BP occlusion sensor error." ); break; } +/*0075*/case GuiAlarmID::ALARM_ID_HD_DPI_OCCLUSION_SENSOR_ERROR : { result = QObject::tr("HD DPi occlusion sensor error." ); break; } +/*0076*/case GuiAlarmID::ALARM_ID_HD_DPO_OCCLUSION_SENSOR_ERROR : { result = QObject::tr("HD DPo occlusion sensor error." ); break; } +/*0077*/case GuiAlarmID::ALARM_ID_HD_BP_FLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD blood flow sensor not being read." ); break; } +/*0078*/case GuiAlarmID::ALARM_ID_HD_BP_FLOW_SENSOR_ERROR : { result = QObject::tr("HD blood flow sensor error." ); break; } +/*0079*/case GuiAlarmID::ALARM_ID_HD_DP_FLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD dialysate flow sensor not being read." ); break; } +/*0080*/case GuiAlarmID::ALARM_ID_HD_DP_FLOW_SENSOR_ERROR : { result = QObject::tr("HD dialysate flow sensor error." ); break; } +/*0081*/case GuiAlarmID::ALARM_ID_HD_BP_FLOW_SLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD blood flow sensor not being read - slow packet." ); break; } +/*0082*/case GuiAlarmID::ALARM_ID_HD_DP_FLOW_SLOW_READ_TIMEOUT_ERROR : { result = QObject::tr("HD dialysate flow sensor not being read - slow packet." ); break; } +/*0083*/case GuiAlarmID::ALARM_ID_HD_BATTERY_COMM_FAULT : { result = QObject::tr("HD battery communication fault." ); break; } +/*0084*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_STALL : { result = QObject::tr("HD syringe pump stall alarm." ); break; } +/*0085*/case GuiAlarmID::ALARM_ID_HD_NO_CART_SELF_TEST_TIMEOUT : { result = QObject::tr("HD no cartridge self-test timeout." ); break; } +/*0086*/case GuiAlarmID::ALARM_ID_HD_DRY_SELF_TEST_TIMEOUT : { result = QObject::tr("HD dry self-test timeout." ); break; } +/*0087*/case GuiAlarmID::ALARM_ID_RTC_COMM_ERROR : { result = QObject::tr("Real-time clock communication error." ); break; } +/*0088*/case GuiAlarmID::ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR : { result = QObject::tr("Manufacturing record CRC failure." ); break; } +/*0089*/case GuiAlarmID::ALARM_ID_AIR_TRAP_ILLEGAL_LEVELS : { result = QObject::tr("Air trap level sensors reporting illegal combination of air/fluid." ); break; } +/*0090*/case GuiAlarmID::ALARM_ID_NVDATAMGMT_INDIVIDUAL_RECORD_CRC_INVALID : { result = QObject::tr("DG/HD NV data management individual record CRC invalid." ); break; } +/*0091*/case GuiAlarmID::ALARM_ID_NVDATAMGMT_INDIVIDUAL_RECORD_TIME_INVALID : { result = QObject::tr("DG/HD NV data management individual record time invalid." ); break; } +/*0092*/case GuiAlarmID::ALARM_ID_DG_RESTARTED_FAULT : { result = QObject::tr("HD reports DG restarted fault." ); break; } +/*0093*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_ADC_ERROR : { result = QObject::tr("HD syringe pump ADC error." ); break; } +/*0094*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_VOLUME_ERROR : { result = QObject::tr("HD syringe pump volume check error." ); break; } +/*0095*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SPEED_ERROR : { result = QObject::tr("HD syringe pump speed check error." ); break; } +/*0096*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_NOT_STOPPED_ERROR : { result = QObject::tr("HD syringe pump not stopped in off state error." ); break; } +/*0097*/case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_FAULT : { result = QObject::tr("HD blood leak detector fault." ); break; } +/*0098*/case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_SELF_TEST_FAILURE : { result = QObject::tr("HD arterial air bubble detector self-test failure." ); break; } +/*0099*/case GuiAlarmID::ALARM_ID_HD_VENOUS_BUBBLE_SELF_TEST_FAILURE : { result = QObject::tr("HD venous air bubble detector self-test failure." ); break; } +/*0100*/case GuiAlarmID::ALARM_ID_END_OF_TREATMENT_HIGH : { result = QObject::tr("HD end of treatment alarm (high priority - user still not acting to end treatment)." ); break; } +/*0101*/case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_NO_RINSEBACK : { result = QObject::tr("Blood sitting too long after treatment stopped by user alarm (>10 min)." ); break; } +/*0102*/case GuiAlarmID::ALARM_ID_HD_BLOOD_LEAK_DETECTED : { result = QObject::tr("HD blood leak detected alarm." ); break; } +/*0103*/case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_LOW : { result = QObject::tr("Venous pressure too low during treatment." ); break; } +/*0104*/case GuiAlarmID::ALARM_ID_HD_VENOUS_BUBBLE_DETECTED : { result = QObject::tr("HD venous air bubble detected alarm." ); break; } +/*0105*/case GuiAlarmID::ALARM_ID_HD_VENOUS_BUBBLE_DETECTED_RINSEBACK : { result = QObject::tr("HD venous air bubble detected rinseback alarm." ); break; } +/*0106*/case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_HIGH : { result = QObject::tr("Venous pressure too high during treatment." ); break; } +/*0107*/case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_LOW : { result = QObject::tr("Arterial pressure too low during treatment." ); break; } +/*0108*/case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_HIGH : { result = QObject::tr("Arterial pressure too high during treatment." ); break; } +/*0109*/case GuiAlarmID::ALARM_ID_DG_FLUID_LEAK_DETECTED : { result = QObject::tr("DG fluid leak detected alarm." ); break; } +/*0110*/case GuiAlarmID::ALARM_ID_HD_FLUID_LEAK_DETECTED : { result = QObject::tr("HD fluid leak detected alarm." ); break; } +/*0111*/case GuiAlarmID::ALARM_ID_HD_SHOCK : { result = QObject::tr("HD experienced large acceleration." ); break; } +/*0112*/case GuiAlarmID::ALARM_ID_DG_SHOCK : { result = QObject::tr("DG experienced large acceleration." ); break; } +/*0113*/case GuiAlarmID::ALARM_ID_HD_EXCESSIVE_TILT : { result = QObject::tr("HD tilt exceeds maximum." ); break; } +/*0114*/case GuiAlarmID::ALARM_ID_DG_EXCESSIVE_TILT : { result = QObject::tr("DG tilt exceeds maximum." ); break; } +/*0115*/case GuiAlarmID::ALARM_ID_HD_AC_POWER_LOST : { result = QObject::tr("HD AC power lost alarm." ); break; } +/*0116*/case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT : { result = QObject::tr("Dialysate generator communication timeout." ); break; } +/*0117*/case GuiAlarmID::ALARM_ID_AIR_TRAP_FILL_DURING_TREATMENT : { result = QObject::tr("Air trap fill timeout during treatment." ); break; } +/*0118*/case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP : { result = QObject::tr("Blood pump occlusion detected." ); break; } +/*0119*/case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_IN_PUMP : { result = QObject::tr("Dialysate inlet pump occlusion detected." ); break; } +/*0120*/case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_OUT_PUMP : { result = QObject::tr("Dialysate outlet pump occlusion detected." ); break; } +/*0121*/case GuiAlarmID::ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Concentrate conductivity after adding acid out of range alarm." ); break; } +/*0122*/case GuiAlarmID::ALARM_ID_DIALYSATE_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Dialysate conductivity out of range." ); break; } +/*0123*/case GuiAlarmID::ALARM_ID_DIALYSATE_CONDUCTIVITY_FAULT : { result = QObject::tr("DG dialysate generation conductivity fault alarm." ); break; } +/*0124*/case GuiAlarmID::ALARM_ID_INLET_WATER_HIGH_TEMPERATURE : { result = QObject::tr("Inlet water temperature too high." ); break; } +/*0125*/case GuiAlarmID::ALARM_ID_INLET_WATER_LOW_TEMPERATURE : { result = QObject::tr("Inlet water temperature too low." ); break; } +/*0126*/case GuiAlarmID::ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY : { result = QObject::tr("Inlet water conductivity too high." ); break; } +/*0127*/case GuiAlarmID::ALARM_ID_INLET_WATER_LOW_CONDUCTIVITY : { result = QObject::tr("Inlet water conductivity too low." ); break; } +/*0128*/case GuiAlarmID::ALARM_ID_INLET_WATER_LOW_PRESSURE : { result = QObject::tr("Inlet water pressure too low." ); break; } +/*0129*/case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_HIGH : { result = QObject::tr("HD prime completed high priority alarm." ); break; } +/*0130*/case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE : { result = QObject::tr("EEPROM operations (read, write, erase) failure." ); break; } +/*0131*/case GuiAlarmID::ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR : { result = QObject::tr("Service record CRC failure." ); break; } +/*0132*/case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR : { result = QObject::tr("HW usage data (treatment time in HD and total consumed water in DG) failure." ); break; } +/*0133*/case GuiAlarmID::ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR : { result = QObject::tr("Calibration record CRC failure." ); break; } +/*0134*/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; } +/*0135*/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; } +/*0136*/case GuiAlarmID::ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_TOO_HIGH : { result = QObject::tr("Blood pump rotor speed too high." ); break; } +/*0137*/case GuiAlarmID::ALARM_ID_BLOOD_FLOW_SIGNAL_STRENGTH_TOO_LOW : { result = QObject::tr("Blood flow sensor signal strength too low." ); break; } +/*0138*/case GuiAlarmID::ALARM_ID_DIALYSATE_FLOW_SIGNAL_STRENGTH_TOO_LOW : { result = QObject::tr("Dialysate flow sensor signal strength too low." ); break; } +/*0139*/case GuiAlarmID::ALARM_ID_HD_LOAD_CELL_ACCELERATION_RES_1_ALARM : { result = QObject::tr("HD sees primary load cell for reservoir 1 change too much too fast." ); break; } +/*0140*/case GuiAlarmID::ALARM_ID_HD_LOAD_CELL_ACCELERATION_RES_2_ALARM : { result = QObject::tr("HD sees primary load cell for reservoir 1 change too much too fast." ); break; } +/*0141*/case GuiAlarmID::ALARM_ID_TREATMENT_RINSEBACK_TIMEOUT_ALARM : { result = QObject::tr("HD in treatment rinseback operation timeout." ); break; } +/*0142*/case GuiAlarmID::ALARM_ID_TREATMENT_RECIRC_TIMEOUT_ALARM : { result = QObject::tr("HD in treatment re-circ sub-mode for too long." ); break; } +/*0143*/case GuiAlarmID::ALARM_ID_CARTRIDGE_DOOR_OPENED : { result = QObject::tr("HD cartridge door opened alarm." ); break; } +/*0144*/case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_TOO_HIGH : { result = QObject::tr("HD dialysate temperature too high alarm." ); break; } +/*0145*/case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_TOO_LOW : { result = QObject::tr("HD dialysate temperature too low alarm." ); break; } +/*0146*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_EMPTY : { result = QObject::tr("HD syringe empty alarm." ); break; } +/*0147*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_OCCLUSION : { result = QObject::tr("HD syringe pump occlusion alarm." ); break; } +/*0148*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_NOT_ENOUGH_HEPARIN_ALARM : { result = QObject::tr("HD syringe pump not enough Heparin alarm." ); break; } +/*0149*/case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED : { result = QObject::tr("HD arterial air bubble detected alarm." ); break; } +/*0150*/case GuiAlarmID::ALARM_ID_HD_ARTERIAL_BUBBLE_DETECTED_RINSEBACK : { result = QObject::tr("HD arterial air bubble detected rinseback alarm." ); break; } +/*0151*/case GuiAlarmID::ALARM_ID_HD_PUMP_DIRECTION_STATUS_ERROR : { result = QObject::tr("HD pump direction status error." ); break; } +/*0152*/case GuiAlarmID::ALARM_ID_HD_RESERVOIR_FULL_AND_DG_NOT_READY_TO_SWITCH : { result = QObject::tr("HD active reservoir is full during treatment and DG not ready to switch reservoirs." ); break; } +/*0153*/case GuiAlarmID::ALARM_ID_DG_SOFTWARE_FAULT : { result = QObject::tr("DG software fault.\nSoftware found itself in an unexpected state." ); break; } +/*0154*/case GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT : { result = QObject::tr("HD communication timeout." ); break; } +/*0155*/case GuiAlarmID::ALARM_ID_DG_FPGA_COMM_TIMEOUT : { result = QObject::tr("DG FPGA communication down for too long." ); break; } +/*0156*/case GuiAlarmID::ALARM_ID_DG_LOAD_CELL_ADC_ERROR : { result = QObject::tr("DG load cell ADC error." ); break; } +/*0157*/case GuiAlarmID::ALARM_ID_DG_LOAD_CELLS_TARE_WEIGHT_OUT_OF_RANGE : { result = QObject::tr("DG load cells weight out of range before tare." ); break; } +/*0158*/case GuiAlarmID::ALARM_ID_DG_LOAD_CELLS_INVALID_CALIBRATION : { result = QObject::tr("DG load cells invalid calibration." ); break; } +/*0159*/case GuiAlarmID::ALARM_ID_DG_INVALID_LOAD_CELL_VALUE : { result = QObject::tr("DG invalid load cell value." ); break; } +/*0160*/case GuiAlarmID::ALARM_ID_UV_REACTOR_NOT_HEALTHY : { result = QObject::tr("Inlet or Outlet UV reactor not healthy." ); break; } +/*0161*/case GuiAlarmID::ALARM_ID_DG_FAN_RPM_OUT_OF_RANGE : { result = QObject::tr("DG fan RPM out of range." ); break; } +/*0162*/case GuiAlarmID::ALARM_ID_DG_CONCENTRATE_PUMP_FAULT : { result = QObject::tr("DG concentrate pump fault." ); break; } +/*0163*/case GuiAlarmID::ALARM_ID_CP1_SPEED_CONTROL_ERROR : { result = QObject::tr("DG concentrate pump CP1 speed control error." ); break; } +/*0164*/case GuiAlarmID::ALARM_ID_CP2_SPEED_CONTROL_ERROR : { result = QObject::tr("DG concentrate pump CP2 speed control error." ); break; } +/*0165*/case GuiAlarmID::ALARM_ID_DRAIN_PUMP_RPM_OUT_OF_RANGE : { result = QObject::tr("DG drain pump RPM out of range." ); break; } +/*0166*/case GuiAlarmID::ALARM_ID_DRAIN_PUMP_OFF_FAULT : { result = QObject::tr("DG drain pump off fault." ); break; } +/*0167*/case GuiAlarmID::ALARM_ID_FLOW_RATE_OUT_OF_UPPER_RANGE : { result = QObject::tr("DG flow rate out of upper range." ); break; } +/*0168*/case GuiAlarmID::ALARM_ID_FLOW_RATE_OUT_OF_LOWER_RANGE : { result = QObject::tr("DG flow rate out of lower range." ); break; } +/*0169*/case GuiAlarmID::ALARM_ID_RO_PUMP_FLOW_RATE_OUT_OF_RANGE : { result = QObject::tr("RO pump flow rate out of range." ); break; } +/*0170*/case GuiAlarmID::ALARM_ID_RO_PUMP_OFF_FAULT : { result = QObject::tr("DG RO pump off fault." ); break; } +/*0171*/case GuiAlarmID::ALARM_ID_RO_PUMP_PRESSURE_OUT_OF_RANGE : { result = QObject::tr("DG RO pump pressure out of range." ); break; } +/*0172*/case GuiAlarmID::ALARM_ID_DG_TEMPERATURE_SENSOR_FAULT : { result = QObject::tr("DG temperature sensor error flag fault." ); break; } +/*0173*/case GuiAlarmID::ALARM_ID_DG_TEMPERATURE_SENSORS_ADC_FAULT : { result = QObject::tr("DG temperature sensors ADC fault." ); break; } +/*0174*/case GuiAlarmID::ALARM_ID_DG_HEATERS_NEGATIVE_COLD_JUNCTION_TEMPERATURE : { result = QObject::tr("DG heaters cold junction temperature out of range." ); break; } +/*0175*/case GuiAlarmID::ALARM_ID_DG_HEATERS_FAULT : { result = QObject::tr("DG heaters fault." ); break; } +/*0176*/case GuiAlarmID::ALARM_ID_DG_THERMISTORS_TEMPERATURE_OUT_OF_RANGE : { result = QObject::tr("DG thermistors/sensors temperature out of range." ); break; } +/*0177*/case GuiAlarmID::ALARM_ID_DG_BAD_INLET_WATER_QUALITY : { result = QObject::tr("Inlet water quality is bad (temperature, conductivity, pressure)." ); break; } +/*0178*/case GuiAlarmID::ALARM_ID_INLET_WATER_PRESSURE_FAULT : { result = QObject::tr("Inlet water pressure fault." ); break; } +/*0179*/case GuiAlarmID::ALARM_ID_PRESSURE_SENSOR_FAULT : { result = QObject::tr("Pressure sensor fault." ); break; } +/*0180*/case GuiAlarmID::ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE : { result = QObject::tr("RO rejection ratio out of range." ); break; } +/*0181*/case GuiAlarmID::ALARM_ID_CONDUCTIVITY_SENSOR_FAULT : { result = QObject::tr("Conductivity sensor fault." ); break; } +/*0182*/case GuiAlarmID::ALARM_ID_DG_DIALYSATE_FILL_OUT_OF_TIME : { result = QObject::tr("DG dialysate fill runs out of time." ); break; } +/*0183*/case GuiAlarmID::ALARM_ID_DG_FLOW_METER_CHECK_FAILURE : { result = QObject::tr("DG flow meter check failure alarm." ); break; } +/*0184*/case GuiAlarmID::ALARM_ID_DG_PRIMARY_HEATERS_INTERNAL_TEMP_OUT_OF_RANGE : { result = QObject::tr("DG primary heaters internal temperature out of range." ); break; } +/*0185*/case GuiAlarmID::ALARM_ID_DG_TRIMMER_HEATER_INTERNAL_TEMP_OUT_OF_RANGE : { result = QObject::tr("DG trimmer heater internal temperature out of range." ); break; } +/*0186*/case GuiAlarmID::ALARM_ID_DG_HEATERS_ON_WITH_NO_FLOW_TIMEOUT : { result = QObject::tr("DG heaters on with no flow time out." ); break; } +/*0187*/case GuiAlarmID::ALARM_ID_DG_DRAIN_CIRCULATION_LINE_TIMEOUT : { result = QObject::tr("DG drain circulation line timeout." ); break; } +/*0188*/case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING : { result = QObject::tr("Blood sitting too long warning (>4 min)." ); break; } +/*0189*/case GuiAlarmID::ALARM_ID_END_OF_TREATMENT_ALARM : { result = QObject::tr("HD end of treatment alarm (user not acting to end treatment)." ); break; } +/*0190*/case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_MEDIUM : { result = QObject::tr("HD prime completed medium priority alarm." ); break; } +/*0191*/case GuiAlarmID::ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE : { result = QObject::tr("HD Saline bolus volume check failure." ); break; } +/*0192*/case GuiAlarmID::ALARM_ID_RINSEBACK_VOLUME_CHECK_FAILURE : { result = QObject::tr("HD rinseback volume check failure." ); break; } +/*0193*/case GuiAlarmID::ALARM_ID_END_TREATMENT_TIMEOUT_ALARM : { result = QObject::tr("HD end treatment sub-mode timeout alarm." ); break; } +/*0194*/case GuiAlarmID::ALARM_ID_BLOOD_PRIME_VOLUME_CHECK_FAILURE : { result = QObject::tr("HD blood prime volume check failure." ); break; } +/*0195*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_DETECTED : { result = QObject::tr("HD syringe detected alarm." ); break; } +/*0196*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_REMOVED : { result = QObject::tr("HD syringe pump syringe removed alarm." ); break; } +/*0197*/case GuiAlarmID::ALARM_ID_EMPTY_SALINE_BAG : { result = QObject::tr("HD Saline bag is empty." ); break; } +/*0198*/case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_HIGH : { result = QObject::tr("HD dialysate temperature too high alarm." ); break; } +/*0199*/case GuiAlarmID::ALARM_ID_DIALYSATE_TEMPERATURE_LOW : { result = QObject::tr("HD dialysate temperature too low alarm." ); break; } +/*0200*/case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_BY_USER : { result = QObject::tr("Treatment stopped by user action - pressed stop button." ); break; } +/*0201*/case GuiAlarmID::ALARM_ID_END_OF_TREATMENT_WARNING : { result = QObject::tr("HD end of treatment warning." ); break; } +/*0202*/case GuiAlarmID::ALARM_ID_PRIME_COMPLETED_LOW_PRIORITY : { result = QObject::tr("HD prime completed low priority alarm." ); break; } +/*0203*/case GuiAlarmID::ALARM_ID_PRIME_OUT_OF_TIME : { result = QObject::tr("HD prime out of time alarm." ); break; } +/*0204*/case GuiAlarmID::ALARM_ID_HD_PRIME_PURGE_AIR_TIME_OUT : { result = QObject::tr("HD time out on prime sub-mode purge air state." ); break; } +/*0205*/case GuiAlarmID::ALARM_ID_PRIME_DIALYSATE_DIALYZER_TIME_OUT : { result = QObject::tr("HD prime dialysate dialyzer time out alarm." ); break; } +/*0206*/case GuiAlarmID::ALARM_ID_PRIME_DIALYSATE_BYPASS_TIME_OUT : { result = QObject::tr("HD prime dialysate bypass time out alarm." ); break; } +/*0207*/case GuiAlarmID::ALARM_ID_PRE_TREATMENT_DRY_SELF_TEST_FAILURE : { result = QObject::tr("HD pre-treatment mode dry self-tests failure." ); break; } +/*0208*/case GuiAlarmID::ALARM_ID_PRE_TREATMENT_WET_SELF_TEST_FAILURE : { result = QObject::tr("HD pre-treatment mode wet self-tests failure." ); break; } +/*0209*/case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW : { result = QObject::tr("RTC battery low." ); break; } +/*0210*/case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR : { result = QObject::tr("RTC (i.e read time) or RAM operations failure (read or write)." ); break; } +/*0211*/case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_AFTER_RINSEBACK : { result = QObject::tr("HD in treatment stopped sub-mode after rinseback completed (no escalation)." ); break; } +/*0212*/case GuiAlarmID::ALARM_ID_INSTALL_NEW_CARTRIDGE : { result = QObject::tr("HD needs new cartridge to be installed." ); break; } +/*0213*/case GuiAlarmID::ALARM_ID_CARTRIDGE_INSTALLED_IMPROPERLY : { result = QObject::tr("HD cartridge installed improperly alarm." ); break; } +/*0214*/case GuiAlarmID::ALARM_ID_NO_CARTRIDGE_LOADED : { result = QObject::tr("HD no cartridge loaded alarm." ); break; } +/*0215*/case GuiAlarmID::ALARM_ID_CARTRIDGE_REMOVAL_FAILURE : { result = QObject::tr("HD fail to remove cartridge alarm." ); break; } +/*0216*/case GuiAlarmID::ALARM_ID_BICARB_CONDUCTIVITY_OUT_OF_RANGE : { result = QObject::tr("Bicarb conductivity out of range during bicarb pump check alarm." ); break; } +/*0217*/case GuiAlarmID::ALARM_ID_DG_RESERVOIR_DRAIN_TIMEOUT : { result = QObject::tr("DG reservoir drain time out." ); break; } +/*0218*/case GuiAlarmID::ALARM_ID_DG_RESERVOIR_FILL_TIMEOUT : { result = QObject::tr("DG reservoir fill time out." ); break; } +/*0219*/case GuiAlarmID::ALARM_ID_DG_RESERVOIR_LEAK_TIMEOUT : { result = QObject::tr("DG reservoir leak time out." ); break; } +/*0220*/case GuiAlarmID::ALARM_ID_DG_TEMP_SENSORS_DIFF_OUT_OF_RANGE : { result = QObject::tr("DG temperature sensors difference out of range." ); break; } +/*0221*/case GuiAlarmID::ALARM_ID_DG_HEAT_DISINFECT_TARGET_TEMP_TIMEOUT : { result = QObject::tr("DG heat disinfect target temperature time out (could not reach to temperature)." ); break; } +/*0222*/case GuiAlarmID::ALARM_ID_DG_HEAT_DISINFECT_INLET_PRES_AND_TEMP_SNSRS_OUT: { result = QObject::tr("DG heat disinfect inlet pressure and temperature sensors out of range." ); break; } +/*0223*/case GuiAlarmID::ALARM_ID_DG_HEAT_DISINFECT_INLET_COND_AND_TEMP_OUT : { result = QObject::tr("DG heat disinfect inlet conductivity and temperature out of range." ); break; } +/*0224*/case GuiAlarmID::ALARM_ID_DG_CHEM_DISINFECT_TARGET_TEMP_TIMEOUT : { result = QObject::tr("DG chemical disinfect could not reach to target temperature." ); break; } +/*0225*/case GuiAlarmID::ALARM_ID_DG_CHEM_DISINFECT_INLET_PRES_AND_TEMP_SNSRS_OUT: { result = QObject::tr("DG chemical disinfect inlet pressure and temperature sensors out of range." ); break; } +/*0226*/case GuiAlarmID::ALARM_ID_DG_CHEM_DISINFECT_INLET_COND_AND_TEMP_OUT : { result = QObject::tr("DG chemical disinfect inlet conductivity and temperature out of range." ); break; } +/*0227*/case GuiAlarmID::NUM_OF_ALARM_IDS : { result = QObject::tr("Total number of alarms." ); break; } default: result = QObject::tr("ALARM_ID_UNDEFINED [%1]").arg(int(vAlarmID)); Index: sources/view/dg/data/disinfect/VDisinfectStatesData.cpp =================================================================== diff -u -rf38edd22f7b63694c21b83d6f4b69ea618390126 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- sources/view/dg/data/disinfect/VDisinfectStatesData.cpp (.../VDisinfectStatesData.cpp) (revision f38edd22f7b63694c21b83d6f4b69ea618390126) +++ sources/view/dg/data/disinfect/VDisinfectStatesData.cpp (.../VDisinfectStatesData.cpp) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -33,9 +33,15 @@ chemicalState ( vData.mChemicalStates ); // Flush Mode - bool mFlush = vData.mSubMode == GuiDisinfectDGStates ::DG_DISINFECT_STATE_FLUSH ; + bool mFlush = vData.mSubMode == GuiDisinfectDGStates ::DG_DISINFECT_STATE_FLUSH ; if ( mFlush ) { - /* No FW implementation yet */ + flushNotRunning ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_NOT_RUNNING ); + flushDrainBeforeFlush ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_DRAIN_DEVICE ); + flushFlushReservoirs ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_FLUSH_RESERVOIRS ); + flushDrainReservoirs ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_DRAIN_RESERVOIRS ); + flushRecirculatePath ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_FLUSH_RECIRCULATION_PATH ); + flushCancel ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_CANCEL_FLUSH ); + flushComplete ( vData.mFlushStates == GuiDisinfectDGFlushStates ::FLUSH_UI_STATE_COMPLETE ); } flush( mFlush ); Index: sources/view/dg/data/disinfect/VDisinfectStatesData.h =================================================================== diff -u -rf38edd22f7b63694c21b83d6f4b69ea618390126 -r98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc --- sources/view/dg/data/disinfect/VDisinfectStatesData.h (.../VDisinfectStatesData.h) (revision f38edd22f7b63694c21b83d6f4b69ea618390126) +++ sources/view/dg/data/disinfect/VDisinfectStatesData.h (.../VDisinfectStatesData.h) (revision 98b945e7afb8a2c61b86bb11427fcae8c3e7e0bc) @@ -50,24 +50,34 @@ PROPERTY( bool , heat , false ) ///< /* No FW enumeration yet */ PROPERTY( bool , chemical , false ) ///< /* No FW enumeration yet */ + // Water Flush state + STATE ( bool , flushNotRunning , false ) ///< FLUSH_UI_STATE_NOT_RUNNING , Flush UI, not running state + STATE ( bool , flushDrainBeforeFlush , false ) ///< FLUSH_UI_STATE_DRAIN_DEVICE , Flush UI, drain device state + STATE ( bool , flushFlushReservoirs , false ) ///< FLUSH_UI_STATE_FLUSH_RESERVOIRS , Flush UI, flush reservoirs + STATE ( bool , flushDrainReservoirs , false ) ///< FLUSH_UI_STATE_DRAIN_RESERVOIRS , Flush UI, drain reservoirs + STATE ( bool , flushRecirculatePath , false ) ///< FLUSH_UI_STATE_FLUSH_RECIRCULATION_PATH , Flush UI, flush recirculation path + STATE ( bool , flushCancel , false ) ///< FLUSH_UI_STATE_CANCEL_FLUSH , Flush UI, cancel flush state + STATE ( bool , flushComplete , false ) ///< FLUSH_UI_STATE_COMPLETE , Flush UI, complete state + // Heat disinfection state - STATE ( bool , heatNotRunning , false ) ///< HEAT_DISINFECT_UI_STATE_NOT_RUNNING , Heat disinfect UI, not running state - STATE ( bool , heatFlushBeforeDisinfect , false ) ///< HEAT_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT , Heat disinfect UI, flush before disinfect state - STATE ( bool , heatWaterHeatUp , false ) ///< HEAT_DISINFECT_UI_STATE_HEAT_UP_WATER , Heat disinfect UI, heat up water state - STATE ( bool , heatDisinfect , false ) ///< HEAT_DISINFECT_UI_STATE_DISINFECT_DEVICE , Heat disinfect UI, disinfect device state - STATE ( bool , heatDeviceCoolDown , false ) ///< HEAT_DISINFECT_UI_STATE_COOL_DOWN_DEVICE , Heat disinfect UI, cool down device state - STATE ( bool , heatFlushAfterDisinfect , false ) ///< HEAT_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT , Heat disinfect UI, flush after disinfect state - STATE ( bool , heatCancel , false ) ///< HEAT_DISINFECT_UI_STATE_CANCEL_DISINFECT , Heat disinfect UI, cancel disinfect state - STATE ( bool , heatComplete , false ) ///< HEAT_DISINFECT_UI_STATE_COMPLETE , Heat disinfect UI, complete state + STATE ( bool , heatNotRunning , false ) ///< HEAT_DISINFECT_UI_STATE_NOT_RUNNING , Heat disinfect UI , not running state + STATE ( bool , heatFlushBeforeDisinfect , false ) ///< HEAT_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT , Heat disinfect UI , flush before disinfect state + STATE ( bool , heatWaterHeatUp , false ) ///< HEAT_DISINFECT_UI_STATE_HEAT_UP_WATER , Heat disinfect UI , heat up water state + STATE ( bool , heatDisinfect , false ) ///< HEAT_DISINFECT_UI_STATE_DISINFECT_DEVICE , Heat disinfect UI , disinfect device state + STATE ( bool , heatDeviceCoolDown , false ) ///< HEAT_DISINFECT_UI_STATE_COOL_DOWN_DEVICE , Heat disinfect UI , cool down device state + STATE ( bool , heatFlushAfterDisinfect , false ) ///< HEAT_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT , Heat disinfect UI , flush after disinfect state + STATE ( bool , heatCancel , false ) ///< HEAT_DISINFECT_UI_STATE_CANCEL_DISINFECT , Heat disinfect UI , cancel disinfect state + STATE ( bool , heatComplete , false ) ///< HEAT_DISINFECT_UI_STATE_COMPLETE , Heat disinfect UI , complete state - STATE ( bool , chemicalNotRunning , false ) ///< CHEM_DISINFECT_UI_STATE_NOT_RUNNING , Chemical disinfect UI, not running state - STATE ( bool , chemicalFlushBeforeDisinfect , false ) ///< CHEM_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT , Chemical disinfect UI, flush before disinfect state - STATE ( bool , chemicalMixWaterAndAcid , false ) ///< CHEM_DISINFECT_UI_STATE_MIX_WATER_AND_ACID , Chemical disinfect UI, mix water and acid state - STATE ( bool , chemicalRemoveAcid , false ) ///< CHEM_DISINFECT_UI_STATE_REMOVE_ACID , Chemical disinfect UI, remove acid state - STATE ( bool , chemicalDisinfect , false ) ///< CHEM_DISINFECT_UI_STATE_DISINFECT_DEVICE , Chemical disinfect UI, disinfect device state - STATE ( bool , chemicalFlushAfterDisinfect , false ) ///< CHEM_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT , Chemical disinfect UI, flush after disinfect state - STATE ( bool , chemicalCancel , false ) ///< CHEM_DISINFECT_UI_STATE_CANCEL_DISINFECT , Chemical disinfect UI, cancel disinfect state - STATE ( bool , chemicalComplete , false ) ///< CHEM_DISINFECT_UI_STATE_COMPLETE , Chemical disinfect UI, complete state + // Chemical disinfection state + STATE ( bool , chemicalNotRunning , false ) ///< CHEM_DISINFECT_UI_STATE_NOT_RUNNING , Chemical disinfect UI , not running state + STATE ( bool , chemicalFlushBeforeDisinfect , false ) ///< CHEM_DISINFECT_UI_STATE_FLUSH_BEFORE_DISINFECT , Chemical disinfect UI , flush before disinfect state + STATE ( bool , chemicalMixWaterAndAcid , false ) ///< CHEM_DISINFECT_UI_STATE_MIX_WATER_AND_ACID , Chemical disinfect UI , mix water and acid state + STATE ( bool , chemicalRemoveAcid , false ) ///< CHEM_DISINFECT_UI_STATE_REMOVE_ACID , Chemical disinfect UI , remove acid state + STATE ( bool , chemicalDisinfect , false ) ///< CHEM_DISINFECT_UI_STATE_DISINFECT_DEVICE , Chemical disinfect UI , disinfect device state + STATE ( bool , chemicalFlushAfterDisinfect , false ) ///< CHEM_DISINFECT_UI_STATE_FLUSH_AFTER_DISINFECT , Chemical disinfect UI , flush after disinfect state + STATE ( bool , chemicalCancel , false ) ///< CHEM_DISINFECT_UI_STATE_CANCEL_DISINFECT , Chemical disinfect UI , cancel disinfect state + STATE ( bool , chemicalComplete , false ) ///< CHEM_DISINFECT_UI_STATE_COMPLETE , Chemical disinfect UI , complete state VIEW_DEC(VDisinfectStates, DisinfectStatesData) };