Index: denali.pro.user =================================================================== diff -u -r3fbbe01bfd05d1d1344caf7bedea98394c04dbbe -r4271457f27788b96d6b166e61e8fe3ecdc0011ba --- denali.pro.user (.../denali.pro.user) (revision 3fbbe01bfd05d1d1344caf7bedea98394c04dbbe) +++ denali.pro.user (.../denali.pro.user) (revision 4271457f27788b96d6b166e61e8fe3ecdc0011ba) @@ -1,6 +1,6 @@ - + EnvironmentId Index: sources/model/malarmstatus.cpp =================================================================== diff -u -r6ea38caaeab5fdedb7ec98714875c32b9d5afe6b -r4271457f27788b96d6b166e61e8fe3ecdc0011ba --- sources/model/malarmstatus.cpp (.../malarmstatus.cpp) (revision 6ea38caaeab5fdedb7ec98714875c32b9d5afe6b) +++ sources/model/malarmstatus.cpp (.../malarmstatus.cpp) (revision 4271457f27788b96d6b166e61e8fe3ecdc0011ba) @@ -78,44 +78,44 @@ case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor controller current check."); break; } case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_OFF_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor off check. Measured speed while commanded off."); break; } case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor controller direction check."); break; } - case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis inlet pump failed rotor speed check. "); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller current check. "); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis inlet pump failed rotor speed check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller current check."); break; } case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor off check. Measured speed while commanded off."); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller direction check. "); break; } - case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis outlet pump failed rotor speed check. "); break; } - case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED: { result = QObject::tr("Watchdog expired error. "); break; } - case GuiAlarmID::ALARM_ID_RTC_COMM_ERROR: { result = QObject::tr("Real-time clock communication error. "); break; } - case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR: { result = QObject::tr("Real-time clock configuration error. "); break; } - case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT: { result = QObject::tr("Dialysate generator communication timeout. "); break; } - case GuiAlarmID::ALARM_ID_UI_COMM_TIMEOUT: { result = QObject::tr("User interface communication timeout. "); break; } - case GuiAlarmID::ALARM_ID_COMM_TOO_MANY_BAD_CRCS: { result = QObject::tr("Too many bad CRCs detected on received system messages. "); break; } - case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_BY_USER: { result = QObject::tr("Treatment stopped by user action - pressed stop button. "); break; } - case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING: { result = QObject::tr("Blood sitting too long warning (>4 min). "); break; } - case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME: { result = QObject::tr("Blood sitting too long alarm (>5 min). "); break; } - case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK: { result = QObject::tr("Blood sitting too long alarm (>10 min). "); break; } - case GuiAlarmID::ALARM_ID_CAN_MESSAGE_NOT_ACKED: { result = QObject::tr("System message needing acknowledgment was not acknowledged. "); break; } - case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP: { result = QObject::tr("Blood pump occlusion detected. "); break; } - case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_IN_PUMP: { result = QObject::tr("Dialysate inlet pump occlusion detected. "); break; } - case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_OUT_PUMP: { result = QObject::tr("Dialysate outlet pump occlusion detected. "); break; } - case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_LOW: { result = QObject::tr("Arterial pressure too low during treatment. "); break; } - case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_HIGH: { result = QObject::tr("Arterial pressure too high during treatment. "); break; } - case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_LOW: { result = QObject::tr("Venous pressure too low during treatment. "); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller direction check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis outlet pump failed rotor speed check."); break; } + case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED: { result = QObject::tr("Watchdog expired error."); break; } + case GuiAlarmID::ALARM_ID_RTC_COMM_ERROR: { result = QObject::tr("Real-time clock communication error."); break; } + case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR: { result = QObject::tr("Real-time clock configuration error."); break; } + case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT: { result = QObject::tr("Dialysate generator communication timeout."); break; } + case GuiAlarmID::ALARM_ID_UI_COMM_TIMEOUT: { result = QObject::tr("User interface communication timeout."); break; } + case GuiAlarmID::ALARM_ID_COMM_TOO_MANY_BAD_CRCS: { result = QObject::tr("Too many bad CRCs detected on received system messages."); break; } + case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_BY_USER: { result = QObject::tr("Treatment stopped by user action - pressed stop button."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING: { result = QObject::tr("Blood sitting too long warning (>4 min)."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME: { result = QObject::tr("Blood sitting too long alarm (>5 min)."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK: { result = QObject::tr("Blood sitting too long alarm (>10 min)."); break; } + case GuiAlarmID::ALARM_ID_CAN_MESSAGE_NOT_ACKED: { result = QObject::tr("System message needing acknowledgment was not acknowledged."); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP: { result = QObject::tr("Blood pump occlusion detected."); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_IN_PUMP: { result = QObject::tr("Dialysate inlet pump occlusion detected."); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_OUT_PUMP: { result = QObject::tr("Dialysate outlet pump occlusion detected."); break; } + case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_LOW: { result = QObject::tr("Arterial pressure too low during treatment."); break; } + case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_HIGH: { result = QObject::tr("Arterial pressure too high during treatment."); break; } + case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_LOW: { result = QObject::tr("Venous pressure too low during treatment."); break; } case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_HIGH: { result = QObject::tr("Venous pressure too high during treatment."); break; } - case GuiAlarmID::ALARM_ID_UF_RATE_TOO_HIGH_ERROR: { result = QObject::tr("Ultrafiltration rate is too high error during treatment. "); break; } - case GuiAlarmID::ALARM_ID_UF_VOLUME_ACCURACY_ERROR: { result = QObject::tr("Ultrafiltration volume accuracy error during treatment. "); break; } - case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW: { result = QObject::tr("RTC battery low. "); break; } - case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE: { result = QObject::tr("RTC or MCU timer inaccurate. "); break; } - case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR: { result = QObject::tr("RTC or RAM operations failure (read or write). "); break; } - case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE: { result = QObject::tr("EEPRON operations (read, write, erase) failure. "); break; } - case GuiAlarmID::ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR: { result = QObject::tr("Manufacturing record CRC failure. "); break; } - case GuiAlarmID::ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR: { result = QObject::tr("Service record CRC failure. "); break; } - case GuiAlarmID::ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR: { result = QObject::tr("Calibration record CRC failure. "); break; } - case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR: { result = QObject::tr("HW usage data failure. "); break; } - case GuiAlarmID::AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR: { result = QObject::tr("Last disinfection date CRC error "); break; } - case GuiAlarmID::ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE: { result = QObject::tr("Pressure at outlet of RO pump is out of range. "); break; } - case GuiAlarmID::ALARM_ID_TEMPERATURE_SENSORS_OUT_OF_RANGE: { result = QObject::tr("DG temperature sensors ADC read out of range. "); break; } - case GuiAlarmID::ALARM_ID_TEMPERATURE_SENSORS_INCONSISTENT: { result = QObject::tr("DG temperature sensors values are inconsistent "); break; } - case GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT: { result = QObject::tr("HD communication timeout. "); break; } + case GuiAlarmID::ALARM_ID_UF_RATE_TOO_HIGH_ERROR: { result = QObject::tr("Ultrafiltration rate is too high error during treatment."); break; } + case GuiAlarmID::ALARM_ID_UF_VOLUME_ACCURACY_ERROR: { result = QObject::tr("Ultrafiltration volume accuracy error during treatment."); break; } + case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW: { result = QObject::tr("RTC battery low."); break; } + case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE: { result = QObject::tr("RTC or MCU timer inaccurate."); break; } + case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR: { result = QObject::tr("RTC or RAM operations failure (read or write)."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE: { result = QObject::tr("EEPRON operations (read, write, erase) failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR: { result = QObject::tr("Manufacturing record CRC failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR: { result = QObject::tr("Service record CRC failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR: { result = QObject::tr("Calibration record CRC failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR: { result = QObject::tr("HW usage data failure."); break; } + case GuiAlarmID::AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR: { result = QObject::tr("Last disinfection date CRC erro."); break; } + case GuiAlarmID::ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE: { result = QObject::tr("Pressure at outlet of RO pump is out of range."); break; } + case GuiAlarmID::ALARM_ID_TEMPERATURE_SENSORS_OUT_OF_RANGE: { result = QObject::tr("DG temperature sensors ADC read out of range."); break; } + case GuiAlarmID::ALARM_ID_TEMPERATURE_SENSORS_INCONSISTENT: { result = QObject::tr("DG temperature sensors values are inconsisten."); break; } + case GuiAlarmID::ALARM_ID_HD_COMM_TIMEOUT: { result = QObject::tr("HD communication timeout."); break; } case GuiAlarmID::ALARM_ID_VALVE_CONTROL_FAILURE: { result = QObject::tr("FPGA not accepting commanded valve states."); break; } case GuiAlarmID::ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK: { result = QObject::tr("Blood pump failed flow vs. motor speed check. Mismatch 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. Mismatch with flow rate and rate implied by motor speed."); break; } Index: unittests/tst_messaging.cpp =================================================================== diff -u -r3fbbe01bfd05d1d1344caf7bedea98394c04dbbe -r4271457f27788b96d6b166e61e8fe3ecdc0011ba --- unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision 3fbbe01bfd05d1d1344caf7bedea98394c04dbbe) +++ unittests/tst_messaging.cpp (.../tst_messaging.cpp) (revision 4271457f27788b96d6b166e61e8fe3ecdc0011ba) @@ -520,10 +520,11 @@ /*! * \brief tst_MessageInterpreter_Alarms - * \details Tests the message interpreter handling of empty alarm messages. + * \details Tests the message interpreter handling of empty HD messages */ -void tst_messaging::tst_MessageInterpreter_Alarms() +void tst_messaging::tst_MessageInterpreter_HD() { + gDisableHunhandledReport = true; Can::MessageInterpreter interpreter; Can::Message msg; msg.actionId = Gui::GuiActionType::AlarmTriggered; @@ -534,6 +535,7 @@ Gui::GuiActionType::AlarmTriggered, Gui::GuiActionType::AlarmCleared, Gui::GuiActionType::AlarmSilenceRsp, + Gui::GuiActionType::TreatmentState, }; foreach (const Gui::GuiActionType &each, actionTypes) { Index: unittests/tst_messaging.h =================================================================== diff -u -r3fbbe01bfd05d1d1344caf7bedea98394c04dbbe -r4271457f27788b96d6b166e61e8fe3ecdc0011ba --- unittests/tst_messaging.h (.../tst_messaging.h) (revision 3fbbe01bfd05d1d1344caf7bedea98394c04dbbe) +++ unittests/tst_messaging.h (.../tst_messaging.h) (revision 4271457f27788b96d6b166e61e8fe3ecdc0011ba) @@ -71,7 +71,7 @@ void tst_MessageInterpreter_adjustUltrafiltrationConfirmData_isType(); void tst_MessageInterpreter_adjustUltrafiltrationConfirmData_payloadLen(); - void tst_MessageInterpreter_Alarms(); + void tst_MessageInterpreter_HD(); void tst_MessageInterpreter_treatmentRangesData_isType(); void tst_MessageInterpreter_treatmentRangesData_payloadLen(); Index: unittests/tst_models.cpp =================================================================== diff -u -r4578edcba291c0ffe718f31fb3077a1c931aaa46 -r4271457f27788b96d6b166e61e8fe3ecdc0011ba --- unittests/tst_models.cpp (.../tst_models.cpp) (revision 4578edcba291c0ffe718f31fb3077a1c931aaa46) +++ unittests/tst_models.cpp (.../tst_models.cpp) (revision 4271457f27788b96d6b166e61e8fe3ecdc0011ba) @@ -24,6 +24,7 @@ #include "mtreatmentadjustultrafiltrationstateresponse.h" #include "mtreatmentadjustultrafiltrationeditresponse.h" #include "mtreatmentadjustultrafiltrationconfirmresponse.h" +#include "malarmstatus.h" // #define CONSOLEOUT @@ -497,3 +498,17 @@ break; } } + +void tst_models::tst_MAlarmStatus() +{ + + for (int i = 1; i < GuiAlarmID::NUM_OF_ALARM_IDS; ++i) { + QVERIFY(!Model::MAlarmStatus::toText(GuiAlarmID(i)).isEmpty()); + } + + QCOMPARE(Model::MAlarmStatus::toText(GuiAlarmID(0)), tr("")); + QCOMPARE(Model::MAlarmStatus::toText(GuiAlarmID(-1)), tr("Alarm Not Recognized")); + QCOMPARE(Model::MAlarmStatus::toText(GuiAlarmID(599)), tr("Alarm Not Recognized")); + + +} Index: unittests/tst_models.h =================================================================== diff -u -r7d3062c841b788ced31d939dec990afe0de1442d -r4271457f27788b96d6b166e61e8fe3ecdc0011ba --- unittests/tst_models.h (.../tst_models.h) (revision 7d3062c841b788ced31d939dec990afe0de1442d) +++ unittests/tst_models.h (.../tst_models.h) (revision 4271457f27788b96d6b166e61e8fe3ecdc0011ba) @@ -52,5 +52,7 @@ void tst_MAdjustUltrafiltrationConfirmResponse_data (); void tst_MAdjustUltrafiltrationConfirmResponse (); + void tst_MAlarmStatus(); + };