Index: AlarmDefs.h =================================================================== diff -u -r5878b3835ef52c57f3c8bd08c5bcc395a0e4d0d7 -r1fd4d31c01b66269e3b77d3a39a5bb6ac2f2d81e --- AlarmDefs.h (.../AlarmDefs.h) (revision 5878b3835ef52c57f3c8bd08c5bcc395a0e4d0d7) +++ AlarmDefs.h (.../AlarmDefs.h) (revision 1fd4d31c01b66269e3b77d3a39a5bb6ac2f2d81e) @@ -184,6 +184,11 @@ ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE = 152, ///< FP membrane flush integrated out of range ALARM_ID_FP_GEN_PERMEATE_TANK_FULL_TIMEOUT = 153, ///< FP tank full time out alarm ALARM_ID_DD_DIALYSATE_TEMPERATURE_SENSORS_OUT_OF_RANGE = 154, ///< DD dialysate temperature sensors out of range + ALARM_ID_DD_BLOOD_LEAK_DETECTED = 155, ///< DD blood leak detected + ALARM_ID_DD_BLOOD_LEAK_INVALID_CAL_RECORD = 156, ///< DD blood leak invalid calibration record + ALARM_ID_DD_BLOOD_LEAK_SENSOR_EMBEDDED_MODE_FAILURE = 157, ///< DD blood leak sensor embedded mode failure + ALARM_ID_DD_BLOOD_LEAK_SENSOR_SET_POINT_SET_FAILURE = 158, ///< DD blood leak sensor set point failure + ALARM_ID_DD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT = 159, ///< DD blood leak sensor recovering please wait NUM_OF_ALARM_IDS ///< Number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -482,6 +487,11 @@ { ALARM_PRIORITY_HIGH, 110, TRUE , FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE }, { ALARM_PRIORITY_HIGH, 110, TRUE, FALSE, TRUE , FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, ALARM_ID_FP_GEN_PERMEATE_TANK_FULL_TIMEOUT }, { ALARM_PRIORITY_HIGH, 110, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, TRUE, FALSE, TRUE , FALSE, FALSE, FALSE, ALARM_ID_DD_DIALYSATE_TEMPERATURE_SENSORS_OUT_OF_RANGE }, + { ALARM_PRIORITY_HIGH, 150, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, TRUE , FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, TRUE , TRUE , ALARM_ID_DD_BLOOD_LEAK_DETECTED }, + { ALARM_PRIORITY_HIGH, 1, TRUE , FALSE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_BLOOD_LEAK_INVALID_CAL_RECORD }, + { ALARM_PRIORITY_HIGH, 1, TRUE , FALSE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_BLOOD_LEAK_SENSOR_EMBEDDED_MODE_FAILURE }, + { ALARM_PRIORITY_HIGH, 1, TRUE , FALSE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_BLOOD_LEAK_SENSOR_SET_POINT_SET_FAILURE }, + { ALARM_PRIORITY_MEDIUM, 698, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT, }, }; // Priority Rank Fault DDFault Stops ClrIm NoClr NoRes NoRin NoEnd BlkRB BlkET NoBRcr NoDRcr AutoRes ClrOnly TxLog ID /// Table of alarms and their rank. @@ -508,6 +518,9 @@ { 1, ALARM_ID_TD_UI_COMM_POST_FAILED }, { 1, ALARM_ID_TD_ALARM_AUDIO_SELF_TEST_FAILURE }, { 1, ALARM_ID_TD_STUCK_BUTTON_TEST_FAILED }, + { 1, ALARM_ID_DD_BLOOD_LEAK_INVALID_CAL_RECORD }, + { 1, ALARM_ID_DD_BLOOD_LEAK_SENSOR_EMBEDDED_MODE_FAILURE }, + { 1, ALARM_ID_DD_BLOOD_LEAK_SENSOR_SET_POINT_SET_FAILURE }, { 10, ALARM_ID_TD_SOFTWARE_FAULT }, { 10, ALARM_ID_TD_UI_COMM_TIMEOUT }, { 10, ALARM_ID_TD_COMM_TOO_MANY_BAD_CRCS }, @@ -604,6 +617,7 @@ { 111, ALARM_ID_DD_CAN_MESSAGE_NOT_ACKED_BY_FP }, { 111, ALARM_ID_DD_CAN_MESSAGE_NOT_ACKED_BY_TD }, { 111, ALARM_ID_FP_CAN_MESSAGE_NOT_ACKED_BY_DD }, + { 150, ALARM_ID_DD_BLOOD_LEAK_DETECTED }, { 200, ALARM_ID_TD_VENOUS_PRESSURE_LOW }, { 201, ALARM_ID_TD_VENOUS_PRESSURE_HIGH }, { 202, ALARM_ID_TD_ARTERIAL_PRESSURE_LOW }, @@ -620,6 +634,7 @@ { 435, ALARM_ID_FP_INLET_PRESSURE_OUT_HIGH_RANGE }, { 436, ALARM_ID_FP_INLET_CONDUCTIVITY_OUT_HIGH_RANGE }, { 437, ALARM_ID_FP_INLET_CONDUCTIVITY_OUT_LOW_RANGE }, + { 698, ALARM_ID_DD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT }, { 700, ALARM_ID_TD_ARTERIAL_PRESSURE_SELF_TEST_FAILURE }, { 700, ALARM_ID_TD_VENOUS_PRESSURE_SELF_TEST_FAILURE }, { 710, ALARM_ID_TD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE }, @@ -825,6 +840,11 @@ { 152 , ALARM_ID_FP_CONCENTRATE_FLUSH_VOLUME_OUT_OF_RANGE , "FP | FP: Filter Health | 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. | FP Filters: Volume difference too high | FP volume difference between integrated flow and expected volume | If P7 is <90% of the target integrated volume ( 1L ) after 30 seconds ± 150ms of flushing. | "}, { 153 , ALARM_ID_FP_GEN_PERMEATE_TANK_FULL_TIMEOUT , "FP | FP: Permeate Overfill | 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. | FP Tank: Tank is too full | FP tank level is too high | If the float sensor reads high for at least 60 seconds | "}, { 154 , ALARM_ID_DD_DIALYSATE_TEMPERATURE_SENSORS_OUT_OF_RANGE , "DD | 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: D28 and D30 Delta | DD dialysate temperature sensors drift timeout. | If D28 and D30 have drifted for more 1 C for a certain period of time. | "}, + { 155 , ALARM_ID_DD_BLOOD_LEAK_DETECTED , "DD | Blood Leak | A blood leak has been detected. \n- Visually inspect dialysate return line for blood.\n- Press Resume/OK to proceed to the next step. Dialysate will\n remain in bypass. | Blood Stop: Dialyzer Blood Leak | DD blood leak detected alarm | If the blood leak is detected based on the blood leak status reported by the sensor. | "}, + { 156 , ALARM_ID_DD_BLOOD_LEAK_INVALID_CAL_RECORD , "DD | Service Required: Hemodialysis Device | A problem was detected with the hemodialysis device.\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 POST: BLD Cal | DD blood leak sensor invalid calibration record | If the BLD data that was received from NVDataMgmt is NOT legitimate. | "}, + { 157 , ALARM_ID_DD_BLOOD_LEAK_SENSOR_EMBEDDED_MODE_FAILURE , "DD | Service Required: Hemodialysis Device | A problem was detected with the hemodialysis device.\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 POST: BLD Config Emb Mode | DD blood leak sensor embedded mode communication failed | If the blood leak sensor embedded mode is unresponsive. | "}, + { 158 , ALARM_ID_DD_BLOOD_LEAK_SENSOR_SET_POINT_SET_FAILURE , "DD | Service Required: Hemodialysis Device | A problem was detected with the hemodialysis device.\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 POST: BLD Config Set Point | DD blood leak sensor set point set failure | If the set point of the blood leak sensor does not match the set point in the calibration record. | "}, + { 159 , ALARM_ID_DD_BLOOD_LEAK_RECOVERING_PLEASE_WAIT , "DD | Blood Leak: Bypass | The device is currently in bypass due to a potential blood leak.\n- If blood is present upon visual inspection, press\n END TREATMENT to terminate treatment without rinseback.\n- If blood is not visualized, check dialysate for blood using\n test strip.\n- Follow facility policy to Resume/OK or END TREATMENT. | Blood Stop: Dialyzer Blood Leak Bypass | DD blood leak detected and it is in the process of attempting to remove the bubbles/foam | If the blood leak is detected in treatment, the HD device transitions to treatment stop and runs in bypass until there is no blood detected. The user can hit end treatment anytime. | "}, }; #endif // manual alarms Index: DDDefs.h =================================================================== diff -u -rdf0b360f1a0f5a23ac46b4baaddf7103791cc920 -r1fd4d31c01b66269e3b77d3a39a5bb6ac2f2d81e --- DDDefs.h (.../DDDefs.h) (revision df0b360f1a0f5a23ac46b4baaddf7103791cc920) +++ DDDefs.h (.../DDDefs.h) (revision 1fd4d31c01b66269e3b77d3a39a5bb6ac2f2d81e) @@ -173,8 +173,10 @@ DD_GEND_STATE_START = 0, ///< Gen dialysate start state DD_GEND_DIALYSATE_BYPASS_STATE, ///< Gen dialysate - Bypass dialysate state DD_GEND_DIALYSATE_DELIVERY_STATE, ///< Gen dialysate - deliver dialysate state - DD_GEND_DIALYSATE_DELIVERY_PAUSE, ///< Gen dialysate - dialysate delivery pause state DD_GEND_ISOLATED_UF_STATE, ///< Gen dialysate - Isolated ultrafiltration state + DD_GEND_SPENT_CHAMBER_FILL_STATE, ///< Gen dialysate - spent chamber fill state + DD_GEND_BICARB_CHAMBER_FILL_STATE, ///< Gen dialysate - bicarb chamber fill state + DD_GEND_DIALYSATE_DELIVERY_PAUSE, ///< Gen dialysate - dialysate delivery pause state NUM_OF_DD_GEND_MODE_STATES ///< Number of gen dialysate states }; typedef enum DD_GenD_Mode_States DD_GEND_MODE_STATE_T; ///< Type for DD gen dialysate mode states enumeration @@ -373,15 +375,9 @@ D3_VALV, ///< Valve Hydraulics Inlet (D3) // For standalone DD system, may need to control IO valve. DD_M4_VALV, ///< Valve Water Inlet (M4) -#ifdef __PUMPTEST__ - UF1, ///< UF1 valve - UF2, ///< UF2 valve - LAST_HYD_VALVE = UF2, ///< End of Hydraulics valve of group -#else LAST_HYD_VALVE = DD_M4_VALV, ///< End of Hydraulics valve of group RSRVD_SPACE1, ///< This space has been reserved RSRVD_SPACE2, ///< This space has been reserved -#endif FIRST_BC_VALVE, ///< Start of Balancing Chamber valve group D23_VALV = FIRST_BC_VALVE, ///< Balancing chamber Valve 1 (D23) D19_VALV, ///< Balancing chamber Valve 2 (D19) @@ -415,9 +411,11 @@ BAL_CHAMBER_STATE_START = 0, ///< Initial state of balancing chamber BAL_CHAMBER_STATE1_FILL_START, ///< Balancing chamber state 1 fill start state BAL_CHAMBER_STATE1_BICARB_ACID_DOSING_CNTRL, ///< Balancing Chamber state 1 Bicarb and acid dosing control state + BAL_CHAMBER_STATE1_VALVES_CLOSE, ///< Balancing Chamber state 1 valves close state BAL_CHAMBER_STATE1_FILL_END, ///< Balancing Chamber state 1 fill end state BAL_CHAMBER_STATE2_FILL_START, ///< Balancing chamber state 2 fill start state BAL_CHAMBER_STATE2_BICARB_ACID_DOSING_CNTRL, ///< Balancing Chamber state 2 Bicarb and acid dosing control state + BAL_CHAMBER_STATE2_VALVES_CLOSE, ///< Balancing Chamber state 2 valves close state BAL_CHAMBER_STATE2_FILL_END, ///< Balancing Chamber state 2 fill end state NUM_OF_BAL_CHAMBER_EXEC_STATES ///< Number of balancing chamber states }; @@ -450,4 +448,25 @@ /**@}*/ +/** + * @addtogroup SpentChamberFill + * @{ + */ + +/// Enumeration of Spent chamber fill exec states. +enum Spent_Chamber_Fill_Exec_States +{ + SPENT_CHAMBER_FILL_STATE_START = 0, ///< Initial state of spent chamber fill + SPENT_CHAMBER_FILL_STATE1_FILL_START, ///< Spent chamber fill state 1 fill start state + SPENT_CHAMBER_FILL_STATE1_DOSING_CNTRL, ///< Spent chamber fill state 1 dosing control + SPENT_CHAMBER_FILL_STATE1_FILL_END, ///< Spent chamber fill state 1 fill end state + SPENT_CHAMBER_FILL_STATE2_FILL_START, ///< Spent chamber fill state 2 fill start state + SPENT_CHAMBER_FILL_STATE2_DOSING_CNTRL, ///< Spent chamber fill state 2 dosing control + SPENT_CHAMBER_FILL_STATE2_FILL_END, ///< Spent chamber fill state 2 fill end state + NUM_OF_SPENT_CHAMBER_FILL_EXEC_STATES ///< Number of spent chamber fill states +}; +typedef enum Spent_Chamber_Fill_Exec_States SPENT_CHAMBER_FILL_EXEC_STATE_T; ///< Type for spent chamber fill exec state enumeration + +/**@}*/ + #endif Index: MsgDefs.h =================================================================== diff -u -rbfdf1fb5beb20010983457ab4588684c25f50c13 -r1fd4d31c01b66269e3b77d3a39a5bb6ac2f2d81e --- MsgDefs.h (.../MsgDefs.h) (revision bfdf1fb5beb20010983457ab4588684c25f50c13) +++ MsgDefs.h (.../MsgDefs.h) (revision 1fd4d31c01b66269e3b77d3a39a5bb6ac2f2d81e) @@ -124,7 +124,11 @@ MSG_ID_DD_UF_DATA = 0x5C, ///< DD ultrafiltration data MSG_ID_FP_PERMEATE_TANK_DATA = 0x5D, ///< FP Permeate tank broadcast data MSG_ID_DD_SPENT_CHAMBER_FILL_DATA = 0x5E, ///< DD spent chamber fill broadcast data -#ifdef __PUMPTEST__ + MSG_ID_UI_SOLUTION_INFUSION_REQUEST = 0x5F, ///< UI solution infusion request + MSG_ID_TD_SOLUTION_INFUSION_RESPONSE = 0x60, ///< TD solution infusion response + MSG_ID_DD_BLOOD_LEAK_DATA = 0x61, ///< DD blood leak data + + #ifdef __PUMPTEST__ MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0, ///< DD piston pump data #endif @@ -256,13 +260,21 @@ MSG_ID_DD_HEATERS_PWM_PERIOD_OVERIDE_REQUEST = 0xA03C, ///< DD heaters PWM period override request MSG_ID_DD_PRE_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03D, ///< DD Pre generate dialysate mode data publish interval override request MSG_ID_DD_POST_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03E, ///< DD Post generate dialysate mode data publish interval override request - MSG_ID_DD_AVAILABLE_TO_USE_3 = 0xA03F, ///< DD start pre-gen dialysate mode override request + MSG_ID_DD_SEND_BLOOD_LEAK_EMB_MODE_RESPONSE = 0xA03F, ///< DD send blood embedded mode response MSG_ID_DD_SPENT_CHAMB_FILL_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA040, ///< DD stop pre-gen dialysate mode override request MSG_ID_DD_AVAILABLE_TO_USE_4 = 0xA041, ///< DD stop gen dialysate mode override request MSG_ID_DD_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0xA042, ///< DD set/reset safety shutdown override request MSG_ID_DD_SET_TEST_CONFIGURATION = 0xA043, ///< DD set test configuration MSG_ID_DD_GET_TEST_CONFIGURATION = 0xA044, ///< DD get test configuration MSG_ID_DD_RESET_ALL_TEST_CONFIGURATIONS = 0xA045, ///< DD reset all the configurations + MSG_ID_DD_BLOOD_LEAK_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA047, ///< DD blood leak data publish interval override request + MSG_ID_DD_BLOOD_LEAK_STATUS_OVERRIDE_REQUEST = 0xA048, ///< DD blood leak status override request + MSG_ID_DD_BLOOD_LEAK_SET_TO_EMBEDDED_MODE_REQUEST = 0xA049, ///< DD blood leak set to embedded mode request + MSG_ID_DD_BLOOD_LEAK_SET_EMBEDDED_MODE_CMD_REQUEST = 0xA04A, ///< DD blood leak set embedded more command request + MSG_ID_DD_BLOOD_LEAK_EMBEDDED_MODE_INFO_OVERRIDE_REQUEST = 0xA04B, ///< DD blood leak embedded mode information override request + MSG_ID_DD_BLOOD_LEAK_INTENSITY_MOVING_AVERAGE_OVERRIDE_REQUEST = 0xA04C, ///< DD blood leak intensity moving average override request + MSG_ID_DD_BLOOD_LEAK_ZEROING_INTERVAL_IN_MS_OVERRIDE_REQUEST = 0xA04D, ///< DD blood leak zeroing interval in milliseconds override request + MSG_ID_DD_BLOOD_LEAK_ZERO_REQUEST = 0xA04E, ///< DD blood leak zero request MSG_ID_FIRST_FP_TESTER_MESSAGE = 0xB000, ///< First FP test message ID MSG_ID_FP_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_FP_TESTER_MESSAGE, ///< FP tester log-in