Index: AlarmDefs.h =================================================================== diff -u -r90bc35dbb35f6ef05c3f2ea177fe0f75a9d9841f -rb0eae01186e2262b46b949ee8fd5fbb12af6f538 --- AlarmDefs.h (.../AlarmDefs.h) (revision 90bc35dbb35f6ef05c3f2ea177fe0f75a9d9841f) +++ AlarmDefs.h (.../AlarmDefs.h) (revision b0eae01186e2262b46b949ee8fd5fbb12af6f538) @@ -80,6 +80,9 @@ ALARM_ID_TD_VENOUS_PRESSURE_OUT_OF_RANGE = 49, ///< TD venous pressure out of range fault ALARM_ID_TD_VENOUS_PRESSURE_SELF_TEST_FAILURE = 50, ///< TD venous pressure self-test failure ALARM_ID_TD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE = 51, ///< TD set pressure offset is out or range fault + ALARM_ID_RO_CAN_MESSAGE_NOT_ACKED_BY_DD = 52, ///< RO can message not acked by DD fault + ALARM_ID_RO_FPGA_COMM_TIMEOUT = 53, ///< RO FPGA communication timeout + ALARM_ID_RO_COMM_TOO_MANY_BAD_CRCS = 54, ///< RO too many bad crcs NUM_OF_ALARM_IDS ///< Number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -266,6 +269,9 @@ { ALARM_PRIORITY_LOW, 700, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_TD_VENOUS_PRESSURE_SELF_TEST_FAILURE }, // Priority Rank Fault DDFault Stops ClrIm NoClr NoRes NoRin NoEnd BlkRB BlkET NoBRcr NoDRcr ClrOnly TxLog ID { ALARM_PRIORITY_LOW, 710, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_TD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE }, + { ALARM_PRIORITY_HIGH, 111, FALSE, FALSE, TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, ALARM_ID_RO_CAN_MESSAGE_NOT_ACKED_BY_DD }, + { ALARM_PRIORITY_HIGH, 110, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, ALARM_ID_RO_FPGA_COMM_TIMEOUT }, + { ALARM_PRIORITY_HIGH, 10, TRUE , FALSE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, ALARM_ID_RO_COMM_TOO_MANY_BAD_CRCS }, }; // Priority Rank Fault DDFault Stops ClrIm NoClr NoRes NoRin NoEnd BlkRB BlkET NoBRcr NoDRcr ClrOnly TxLog ID /// Table of alarms and their rank. @@ -290,6 +296,7 @@ { 10, ALARM_ID_TD_VOLTAGE_OUT_OF_RANGE }, { 10, ALARM_ID_TD_ARTERIAL_PRESSURE_OUT_OF_RANGE }, { 10, ALARM_ID_TD_VENOUS_PRESSURE_OUT_OF_RANGE }, + { 10, ALARM_ID_RO_COMM_TOO_MANY_BAD_CRCS }, { 12, ALARM_ID_TD_VENOUS_BUBBLE_DETECTED }, { 100, ALARM_ID_TD_AC_POWER_LOST_IN_TREATMENT }, { 110, ALARM_ID_DD_CRITICAL_DATA_ERROR }, @@ -309,10 +316,12 @@ { 110, ALARM_ID_DD_CD2_SENSOR_FPGA_FAULT }, { 110, ALARM_ID_DD_CD3_SENSOR_FPGA_FAULT }, { 110, ALARM_ID_DD_CD4_SENSOR_FPGA_FAULT }, + { 110, ALARM_ID_RO_FPGA_COMM_TIMEOUT }, { 111, ALARM_ID_TD_DD_COMM_TIMEOUT }, { 111, ALARM_ID_TD_CAN_MESSAGE_NOT_ACKED_BY_DD }, { 111, ALARM_ID_DD_CAN_MESSAGE_NOT_ACKED_BY_RO }, { 111, ALARM_ID_DD_CAN_MESSAGE_NOT_ACKED_BY_TD }, + { 111, ALARM_ID_RO_CAN_MESSAGE_NOT_ACKED_BY_DD }, { 200, ALARM_ID_TD_VENOUS_PRESSURE_LOW }, { 201, ALARM_ID_TD_VENOUS_PRESSURE_HIGH }, { 202, ALARM_ID_TD_ARTERIAL_PRESSURE_LOW }, @@ -399,7 +408,10 @@ { 50 , ALARM_ID_TD_VENOUS_PRESSURE_SELF_TEST_FAILURE , "TD | Self Test: Cartridge | A cartridge was detected during self- test.\n- Open door\n- Remove cartridge\n- Close door\n- Press Resume/OK | Process: Pre- Tx Remove Cartridge | TD venous pressure self-test failure alarm | If the venous pressure < -100 or > 600 mmHg | "}, // Num Alarm ID Device Display Title Instructions Alarm List Title Description Trigger Condition { 51 , ALARM_ID_TD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE , "TD | Self Test: Cartridge Check | A problem has been detected during self- test. \n- Confirm cartridge is properly installed without kinks or clamps.\n- Ensure all connections are secure. \n- Press Resume/OK to resume. \n- If problem persists, install a new cartridge. | Process: Pre- Tx Dry Self- Test | TD pre-treatment mode dry self-tests failure | If the following dry self tests have failed: 1. handleDrySelfTestPressureSensorsState 2. handleDrySelfTestPressureSensorsNormalState | "}, - }; + { 52 , ALARM_ID_RO_CAN_MESSAGE_NOT_ACKED_BY_DD , "RO | Communication Error | A communication problem has been detected.\n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | Loss of DD Comm (DD ACK) | HD to DD comm error. | HD message to DD that requires acknowledge was not acknowledged within a certain time. | "}, + { 53 , ALARM_ID_RO_FPGA_COMM_TIMEOUT , "RO | Service Required: Dialysate Device | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | DD Fault: FPGA Com | DD FPGA communication down for too long | If retries for commands exceeds limit or FPGA reports comm error. | "}, + { 54 , ALARM_ID_RO_COMM_TOO_MANY_BAD_CRCS , "RO | Service Required: Hemodialysis Device | A problem was detected with the hemodialysis device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | HD Fault: CAN CRC Com | Too many bad CRCs detected on received system messages | If too many bad messages CRCs are received within a set period of time | "}, +}; #endif // manual alarms Index: MsgDefs.h =================================================================== diff -u -r90bc35dbb35f6ef05c3f2ea177fe0f75a9d9841f -rb0eae01186e2262b46b949ee8fd5fbb12af6f538 --- MsgDefs.h (.../MsgDefs.h) (revision 90bc35dbb35f6ef05c3f2ea177fe0f75a9d9841f) +++ MsgDefs.h (.../MsgDefs.h) (revision b0eae01186e2262b46b949ee8fd5fbb12af6f538) @@ -66,7 +66,9 @@ MSG_ID_POWER_OFF_WARNING = 0x28, ///< TD broadcast for a power off warning MSG_ID_OFF_BUTTON_PRESS_REQUEST = 0x29, ///< TD off button request message to UI for user confirmation MSG_ID_PRESSURE_DATA = 0x2A, ///< TD broadcast pressure data + MSG_ID_RO_EVENT = 0x2B, ///< RO general event + // service/test CAN messages MSG_ID_FIRST_TD_TESTER_MESSAGE = 0x8000, ///< First TD test message ID MSG_ID_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_TD_TESTER_MESSAGE, ///< TD tester log-in Index: RODefs.h =================================================================== diff -u --- RODefs.h (revision 0) +++ RODefs.h (revision b0eae01186e2262b46b949ee8fd5fbb12af6f538) @@ -0,0 +1,80 @@ + +#ifndef COMMON_RODEFS_H_ +#define COMMON_RODEFS_H_ + +// ********** public definitions ********** + +/** + * @addtogroup ROOperationModes + * @{ + */ + +/// Enumeration of operation modes. These are in order of priority (highest to lowest). +enum RO_Op_Modes +{ + MODE_FAUL = 0, ///< Fault mode + MODE_SERV, ///< Service mode + MODE_INIT, ///< Initialization & POST mode + MODE_STAN, ///< Standby mode + MODE_TPAR, ///< Treatment Parameters mode + MODE_PRET, ///< Pre-Treatment mode + MODE_TREA, ///< Treatment mode + MODE_POST, ///< Post-Treatment mode + MODE_NLEG, ///< Not legal - an illegal mode transition occurred + NUM_OF_MODES ///< Number of TD operation modes +}; +typedef enum RO_Op_Modes RO_OP_MODE_T; ///< Type for RO operation modes enumeration + +/**@}*/ + +/** + * @addtogroup HDInitAndPOSTMode + * @{ + */ + +/// Enumeration of init & POST mode states. +enum RO_POST_States +{ + POST_STATE_START = 0, ///< Start initialize & POST mode state + POST_STATE_FW_INTEGRITY, ///< Run firmware integrity test state + POST_STATE_NVDATAMGMT, ///< Run NV Data Mgmt. test state + POST_STATE_WATCHDOG, ///< Run watchdog test state + POST_STATE_SAFETY_SHUTDOWN, ///< Run safety shutdown test state + POST_STATE_BLOOD_FLOW, ///< Run blood flow test state + POST_STATE_VALVES, ///< Run valves test state + POST_STATE_SYRINGE_PUMP, ///< Run syringe pump test state + POST_STATE_PRES_OCCL, ///< Run pressure occlusion state + POST_STATE_ALARM_AUDIO, ///< Run alarm audio test state + POST_STATE_ALARM_LAMP, ///< Run alarm lamp test state + POST_STATE_TEMPERATURES, ///< Run temperatures POST state + POST_STATE_FANS, ///< Run fans POST state + POST_STATE_STUCK_BUTTON, ///< Run stuck button test state + POST_STATE_UI_POST, ///< Check whether UI passed its POST tests + POST_STATE_FW_COMPATIBILITY, ///< Run firmware compatibility test state + POST_STATE_FPGA, ///< Run FPGA test state + POST_STATE_COMPLETED, ///< POST self-tests completed state + POST_STATE_FAILED, ///< POST self-tests failed state + NUM_OF_POST_STATES ///< Number of initialize & POST mode states +}; +typedef enum RO_POST_States RO_POST_STATE_T; ///< Type for RO POST states enumeration + +/**@}*/ + +/** + * @addtogroup CommonHeader + * @{ + */ + +/// Enumeration of RO event IDs. +enum RO_Event_List +{ + RO_EVENT_STARTUP = 0, ///< RO startup event + RO_EVENT_OP_MODE_CHANGE, ///< RO Op mode change event + RO_EVENT_SUB_MODE_CHANGE, ///< RO Op sub-mode change event + NUM_OF_RO_EVENT_IDS ///< Total number of RO events +}; +typedef enum RO_Event_List RO_EVENT_ID_T; ///< Type for RO event list enumeration + +/**@}*/ + +#endif