Index: sources/model/malarmstatus.cpp =================================================================== diff -u -rb798668f16ad0967ab97e96f5f9a2cdd821e899f -rfa741b52e6d141179314a9d385dcde0e7680b542 --- sources/model/malarmstatus.cpp (.../malarmstatus.cpp) (revision b798668f16ad0967ab97e96f5f9a2cdd821e899f) +++ sources/model/malarmstatus.cpp (.../malarmstatus.cpp) (revision fa741b52e6d141179314a9d385dcde0e7680b542) @@ -13,7 +13,6 @@ */ #include "malarmstatus.h" - using namespace Model; MAlarmStatus::MAlarmStatus() { } @@ -55,3 +54,79 @@ data.mFlags = _data.mFlags ; return data; } + +/** + * @brief MAlarmStatus::toText + * Looks up the alarm description using the alarm enum + * @param val - the alarm enum (int) + * @return The alarm description (QString) + */ +QString MAlarmStatus::toText(GuiAlarmID id) { + + QString result; + switch (id) { + case GuiAlarmID::ALARM_ID_NO_ALARM: { result = QObject::tr(""); break; } + case GuiAlarmID::ALARM_ID_SOFTWARE_FAULT: { result = QObject::tr("Software Error."); break; } + case GuiAlarmID::ALARM_ID_STUCK_BUTTON_TEST_FAILED: { result = QObject::tr("Indication for when no alarms is a possible situation."); break; } + case GuiAlarmID::ALARM_ID_FPGA_POST_TEST_FAILED: { result = QObject::tr("FPGA POST failure."); break; } + case GuiAlarmID::ALARM_ID_WATCHDOG_POST_TEST_FAILED: { result = QObject::tr("Watchdog POST failure."); break; } + case GuiAlarmID::ALARM_ID_UI_COMM_POST_FAILED: { result = QObject::tr("UI communication POST failure."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Blood pump failed motor controller current check."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_OFF_CHECK: { result = QObject::tr("Blood pump failed motor off check. \nMeasured speed while commanded off."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Blood pump failed motor controller direction check."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Blood pump failed rotor speed check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor controller current check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_OFF_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor off check. \nMeasured speed while commanded off."); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Dialysis inlet pump failed motor controller direction check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis inlet pump failed rotor speed check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_CURRENT_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller current check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_OFF_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor off check. \nMeasured speed while commanded off."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MC_DIRECTION_CHECK: { result = QObject::tr("Dialysis outlet pump failed motor controller direction check."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_ROTOR_SPEED_CHECK: { result = QObject::tr("Dialysis outlet pump failed rotor speed check."); break; } + case GuiAlarmID::ALARM_ID_WATCHDOG_EXPIRED: { result = QObject::tr("Watchdog expired error."); break; } + case GuiAlarmID::ALARM_ID_RTC_COMM_ERROR: { result = QObject::tr("Real-time clock communication error."); break; } + case GuiAlarmID::ALARM_ID_RTC_CONFIG_ERROR: { result = QObject::tr("Real-time clock configuration error."); break; } + case GuiAlarmID::ALARM_ID_DG_COMM_TIMEOUT: { result = QObject::tr("Dialysate generator communication timeout."); break; } + case GuiAlarmID::ALARM_ID_UI_COMM_TIMEOUT: { result = QObject::tr("User interface communication timeout."); break; } + case GuiAlarmID::ALARM_ID_COMM_TOO_MANY_BAD_CRCS: { result = QObject::tr("Too many bad CRCs detected on received system messages."); break; } + case GuiAlarmID::ALARM_ID_TREATMENT_STOPPED_BY_USER: { result = QObject::tr("Treatment stopped by user action - pressed stop button."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_WARNING: { result = QObject::tr("Blood sitting too long warning (>4 min)."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RESUME: { result = QObject::tr("Blood sitting too long alarm (>5 min)."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_SITTING_TOO_LONG_NO_RINSEBACK: { result = QObject::tr("Blood sitting too long alarm (>10 min)."); break; } + case GuiAlarmID::ALARM_ID_CAN_MESSAGE_NOT_ACKED: { result = QObject::tr("System message needing acknowledgment was not acknowledged."); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_BLOOD_PUMP: { result = QObject::tr("Blood pump occlusion detected."); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_IN_PUMP: { result = QObject::tr("Dialysate inlet pump occlusion detected."); break; } + case GuiAlarmID::ALARM_ID_OCCLUSION_DIAL_OUT_PUMP: { result = QObject::tr("Dialysate outlet pump occlusion detected."); break; } + case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_LOW: { result = QObject::tr("Arterial pressure too low during treatment."); break; } + case GuiAlarmID::ALARM_ID_ARTERIAL_PRESSURE_HIGH: { result = QObject::tr("Arterial pressure too high during treatment."); break; } + case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_LOW: { result = QObject::tr("Venous pressure too low during treatment."); break; } + case GuiAlarmID::ALARM_ID_VENOUS_PRESSURE_HIGH: { result = QObject::tr("Venous pressure too high during treatment."); break; } + case GuiAlarmID::ALARM_ID_UF_RATE_TOO_HIGH_ERROR: { result = QObject::tr("Ultrafiltration rate is too high error during treatment."); break; } + case GuiAlarmID::ALARM_ID_UF_VOLUME_ACCURACY_ERROR: { result = QObject::tr("Ultrafiltration volume accuracy error during treatment."); break; } + case GuiAlarmID::ALARM_ID_RTC_BATTERY_LOW: { result = QObject::tr("RTC battery low."); break; } + case GuiAlarmID::ALARM_ID_RTC_OR_TIMER_ACCURACY_FAILURE: { result = QObject::tr("RTC or MCU timer inaccurate."); break; } + case GuiAlarmID::ALARM_ID_RTC_RAM_OPS_ERROR: { result = QObject::tr("RTC or RAM operations failure (read or write)."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_EEPROM_OPS_FAILURE: { result = QObject::tr("EEPRON operations (read, write, erase) failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_MFG_RECORD_CRC_ERROR: { result = QObject::tr("Manufacturing record CRC failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_SRVC_RECORD_CRC_ERROR: { result = QObject::tr("Service record CRC failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_CAL_RECORD_CRC_ERROR: { result = QObject::tr("Calibration record CRC failure."); break; } + case GuiAlarmID::ALARM_ID_NVDATA_HW_USAGE_DATA_CRC_ERROR: { result = QObject::tr("HW usage data failure."); break; } + case GuiAlarmID::AlARM_ID_NVDATA_DISINFECTION_DATE_CRC_ERROR: { result = QObject::tr("Last disinfection date CRC error."); break; } + case GuiAlarmID::ALARM_ID_RO_PUMP_OUT_PRESSURE_OUT_OF_RANGE: { result = QObject::tr("Pressure at outlet of RO pump is out of range."); break; } + case GuiAlarmID::ALARM_ID_TEMPERATURE_SENSORS_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_VALVE_CONTROL_FAILURE: { result = QObject::tr("FPGA not accepting commanded valve states."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_FLOW_VS_MOTOR_SPEED_CHECK: { result = QObject::tr("Blood pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed."); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_FLOW_VS_MOTOR_SPEED_CHECK: { result = QObject::tr("Dialysate inlet pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_FLOW_VS_MOTOR_SPEED_CHECK: { result = QObject::tr("Dialysate outlet pump failed flow vs. motor speed check. \nMismatch with flow rate and rate implied by motor speed."); break; } + case GuiAlarmID::ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK: { result = QObject::tr("Blood pump failed motor speed check. Measured vs. commanded."); break; } + case GuiAlarmID::ALARM_ID_DIAL_IN_PUMP_MOTOR_SPEED_CHECK: { result = QObject::tr("Dialysate inlet pump failed motor speed check. Measured vs. commanded."); break; } + case GuiAlarmID::ALARM_ID_DIAL_OUT_PUMP_MOTOR_SPEED_CHECK: { result = QObject::tr("Dialysate outlet pump failed motor speed check. Measured vs. commanded."); 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_INLET_WATER_TEMPERATURE_OUT_OF_RANGE: { result = QObject::tr("Intel water temperature out of range."); break; } + default: { result = QObject::tr("Alarm Not Recognized."); break; } + } + return result; + +}