Index: AlarmDefs.h =================================================================== diff -u -r233843cd5ff63543aaed6c2d5204705d0b0afafa -r2e0e2a06948d7a6fe23f06cd95604eeab994568e --- AlarmDefs.h (.../AlarmDefs.h) (revision 233843cd5ff63543aaed6c2d5204705d0b0afafa) +++ AlarmDefs.h (.../AlarmDefs.h) (revision 2e0e2a06948d7a6fe23f06cd95604eeab994568e) @@ -195,6 +195,9 @@ ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE = 163, ///< FP permeate flow low fault ALARM_ID_FP_INLET_PRESSURE_LOW_RANGE = 164, ///< FP inlet pressure low fault ALARM_ID_TD_AIR_TRAP_LOWER_TIMEOUT = 165, ///< TD air trap lower timeout + ALARM_ID_TD_AUTO_LOAD_EJECT_BP_TIMEOUT = 166, ///< TD blood pump timeout in auto load & eject operation + ALARM_ID_TD_AUTO_EJECT_EJECTOR_TIMEOUT = 167, ///< TD ejector failed to extend or retract during auto-eject operation + ALARM_ID_TD_EJECTOR_POST_TEST_FAILED = 168, ///< TD ejector POST homing failure NUM_OF_ALARM_IDS ///< Number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -505,6 +508,9 @@ { ALARM_PRIORITY_HIGH, 10, ALM_SRC_FP, TRUE , FALSE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE }, { ALARM_PRIORITY_HIGH, 10, ALM_SRC_FP, TRUE , FALSE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, ALARM_ID_FP_INLET_PRESSURE_LOW_RANGE }, { ALARM_PRIORITY_HIGH, 13, ALM_SRC_TD, FALSE, FALSE, TRUE , TRUE , FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, TRUE , ALARM_ID_TD_AIR_TRAP_LOWER_TIMEOUT }, + { ALARM_PRIORITY_HIGH, 110, ALM_SRC_TD, TRUE , FALSE, TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_TD_AUTO_LOAD_EJECT_BP_TIMEOUT }, + { ALARM_PRIORITY_HIGH, 110, ALM_SRC_TD, TRUE , FALSE, TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_TD_AUTO_EJECT_EJECTOR_TIMEOUT }, + { ALARM_PRIORITY_HIGH, 1, ALM_SRC_TD, TRUE , FALSE, TRUE , TRUE , TRUE , TRUE , TRUE , TRUE , FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, ALARM_ID_TD_EJECTOR_POST_TEST_FAILED }, }; // Priority Rank Source Fault DDFault Stops ClrIm NoClr NoRes NoRin NoEnd BlkRB BlkET NoBRcr NoDRcr AutoRes ClrOnly TxLog ID /// Table of alarms and their rank. @@ -534,6 +540,7 @@ { 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 }, + { 1, ALARM_ID_TD_EJECTOR_POST_TEST_FAILED }, { 10, ALARM_ID_TD_SOFTWARE_FAULT }, { 10, ALARM_ID_TD_UI_COMM_TIMEOUT }, { 10, ALARM_ID_TD_COMM_TOO_MANY_BAD_CRCS }, @@ -627,6 +634,8 @@ { 110, ALARM_ID_FP_GEN_PERMEATE_TANK_FILL_TIMEOUT }, { 110, ALARM_ID_TD_BAROMETRIC_SENSOR_COEFFS_BAD_CRC }, { 110, ALARM_ID_TD_BARO_PRESSURE_OUT_OF_RANGE }, + { 110, ALARM_ID_TD_AUTO_LOAD_EJECT_BP_TIMEOUT }, + { 110, ALARM_ID_TD_AUTO_EJECT_EJECTOR_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_FP }, @@ -870,6 +879,9 @@ { 163 , ALARM_ID_FP_PERMEATE_FLOW_OUT_LOW_RANGE , "FP | low Permeate flow | Permeate flow is too low. \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 Fault: Permeate flow Low | Permeate flow is too low from set target flow rate | If the permeate flow is above 25% of set target flow rate for a certain period of time. | "}, { 164 , ALARM_ID_FP_INLET_PRESSURE_LOW_RANGE , "FP | low inlet pressure | Inlet pressure is too low. \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 Fault: Inlet pressure Low | Inlet pressure is too low | If P8 is < 1 PSI | "}, { 165 , ALARM_ID_TD_AIR_TRAP_LOWER_TIMEOUT , "TD | Blood Pump Stopped: Venous Air Detector | A problem was detected with the venous air detector.\n- Confirm arterial access placement and ensure\nconnections are secure.\n- Treatment must be terminated without rinseback. | Blood Stop: Air Trap Lowering | Air trap lowering timeout during treatment | If the air trap lowering timeout during treatment. | "}, + { 166 , ALARM_ID_TD_AUTO_LOAD_EJECT_BP_TIMEOUT , "TD | Service Required: Hemodialysis Device | The blood pump did not complete the required operation within the allowed time.\n- The blood pump rotor may be obstructed, or the Hall sensor may be faulty.\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. | TD Fault: BP Operation Timeout | Blood pump failed to complete homing or one full revolution during auto-load or auto-eject | If the blood pump fails to reach the home position or complete one full revolution within the allowed time during an auto-loading, or auto-eject homing, or auto-eject ejection operation. | "}, + { 167 , ALARM_ID_TD_AUTO_EJECT_EJECTOR_TIMEOUT , "TD | Service Required: Hemodialysis Device | The ejector did not reach the expected position within the allowed time.\n- The ejector motor may be faulty or optical sensors may be obstructed or faulty.\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. | TD Fault: Ejector Timeout | Ejector failed to reach extended or retracted position during auto-eject | If the ejector does not reach the fully extended or fully retracted position within the allowed time during the auto-eject sequence. | "}, + { 168, ALARM_ID_TD_EJECTOR_POST_TEST_FAILED , "TD | 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. | TD POST: Ejector Homing | TD ejector did not reach the fully retracted position within the allowed time during power-on self-test | If the ejector does not reach the fully retracted position within allowed time during the power-on self-test. | "}, | "}, }; #endif // manual alarms Index: MsgDefs.h =================================================================== diff -u -r92b0dd9b1a439644b38c1f77f6e75191764f728a -r2e0e2a06948d7a6fe23f06cd95604eeab994568e --- MsgDefs.h (.../MsgDefs.h) (revision 92b0dd9b1a439644b38c1f77f6e75191764f728a) +++ MsgDefs.h (.../MsgDefs.h) (revision 2e0e2a06948d7a6fe23f06cd95604eeab994568e) @@ -195,6 +195,7 @@ MSG_ID_UI_WATER_SAMPLE_RESULT_REQUEST = 0xA3, ///< UI water sample result request MSG_ID_UI_PRESSURE_LIMIT_WIDEN_REQUEST = 0xA4, ///< UI pressure limit widen request. MSG_ID_TD_PRESSURE_LIMIT_WIDEN_RESPONSE = 0xA5, ///< TD pressure limit widen response. + MSG_ID_UI_CONFIRM_TUBESET_INSTALLATION = 0xA6, ///< UI confirms that tubing set has been installed\not. // service/test CAN messages MSG_ID_FIRST_TD_TESTER_MESSAGE = 0x8000, ///< First TD test message ID Index: TDDefs.h =================================================================== diff -u -r413aa187b32921babc077451fb7c98578707497b -r2e0e2a06948d7a6fe23f06cd95604eeab994568e --- TDDefs.h (.../TDDefs.h) (revision 413aa187b32921babc077451fb7c98578707497b) +++ TDDefs.h (.../TDDefs.h) (revision 2e0e2a06948d7a6fe23f06cd95604eeab994568e) @@ -66,6 +66,7 @@ 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_EJECTOR_HOMING, ///< Run ejector homing POST state POST_STATE_FPGA, ///< Run FPGA test state POST_STATE_COMPLETED, ///< POST self-tests completed state POST_STATE_FAILED, ///< POST self-tests failed state @@ -122,7 +123,7 @@ TD_PRE_TREATMENT_WATER_SAMPLE_STATE = 0, ///< Water sample state TD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE, ///< Consumable self-tests state TD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE, ///< No cartridge self-tests state - TD_PRE_TREATMENT_CART_INSTALL_STATE, ///< Consumable and cartridge installation state + TD_PRE_TREATMENT_TUBING_SET_INSTALL_STATE, ///< Consumable and cartridge installation state TD_PRE_TREATMENT_SELF_TEST_DRY_STATE, ///< Self-tests when the cartridge is dry state TD_PRE_TREATMENT_PRIME_STATE, ///< Prime blood and dialysate circuits and run wet self-tests state TD_PRE_TREATMENT_RECIRCULATE_STATE, ///< Re-circulate blood and dialysate circuits state @@ -313,6 +314,16 @@ /// Type for TD pre-treatment patient connect sub-mode states enumeration typedef enum TD_Pre_Treatment_Pat_Conn_States TD_PRE_TREATMENT_PAT_CONN_STATE_T; +/// Enumeration of pre-treatment tubing-set install sub-states. +enum PreTx_Install_States +{ + PRE_TX_INSTALL_STATE_AWAIT_TUBING_SET_CONFIRMATION = 0, // Awaiting user confirmation that tubeset is placed. + PRE_TX_INSTALL_STATE_AUTO_LOAD, // Auto-Loading the tubeset state + NUM_OF_PRE_TX_INSTALL_SUB_STATES, // Num of install sub-states +}; +/// Type for TD pre-treatment tubing set install sub-mode states enumeration +typedef enum PreTx_Install_States PRE_TX_INSTALL_STATE_T; + /**@}*/ /** @@ -347,14 +358,26 @@ /// Enumeration of post-treatment mode states. enum TD_Post_Treatment_Mode_States { - TD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0, ///< Drain reservoirs state - TD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE, ///< Patient disconnection state + TD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 0, ///< Patient disconnection state + TD_POST_TREATMENT_AUTO_EJECT_STATE, TD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE, ///< Disposable removal state TD_POST_TREATMENT_VERIFY_STATE, ///< Verify cartridge removed, syringe removed, and reservoirs drained state NUM_OF_TD_POST_TREATMENT_STATES ///< Number of post-treatment mode states }; typedef enum TD_Post_Treatment_Mode_States TD_POST_TREATMENT_STATE_T; ///< Type for TD post treatment mode states enumeration +// Enumeration of Auto-Eject subs states. +enum PostTx_AutoEject_States +{ + POST_TX_AUTO_EJECT_STATE_HOMING = 0, // Homing blood pump and ejector state + POST_TX_AUTO_EJECT_STATE_EXTENDING_EJECTOR, // Extending ejector state + POST_TX_AUTO_EJECT_STATE_EJECTING, // Ejecting tubeset state + POST_TX_AUTO_EJECT_STATE_RETRACTING_EJECTOR, // Retracting ejector state + NUM_OF_POST_TX_AUTO_EJECT_SUB_STATES, // Num of auto-eject sub-states +}; +/// Type for TD post-treatment auto-eject sub-mode states enumeration +typedef enum PostTx_AutoEject_States POST_TX_AUTO_EJECT_STATE_T; + /**@}*/ /**