Index: HDDefs.h =================================================================== diff -u -ra000b2f3853b15600868922976d6db1c22970184 -re4dee34da24914019a3cf84bebf762d8c4ebdc50 --- HDDefs.h (.../HDDefs.h) (revision a000b2f3853b15600868922976d6db1c22970184) +++ HDDefs.h (.../HDDefs.h) (revision e4dee34da24914019a3cf84bebf762d8c4ebdc50) @@ -36,7 +36,7 @@ MODE_PRET, ///< Pre-Treatment mode MODE_TREA, ///< Treatment mode MODE_POST, ///< Post-Treatment mode - MODE_NLEG, ///< Not legal - an illegale mode transition occurred + MODE_NLEG, ///< Not legal - an illegal mode transition occurred NUM_OF_MODES ///< Number of HD operation modes }; typedef enum HD_Op_Modes HD_OP_MODE_T; ///< Type for HD operation modes enumeration @@ -58,9 +58,9 @@ POST_STATE_NVDATAMGMT, ///< Run NV Data Mgmt. test mode state POST_STATE_BLOOD_FLOW, ///< Run Blood Flow test mode state POST_STATE_DIALYSATE_FLOW, ///< Run Dialysate Flow test mode state - POST_STATE_ACCELEROMETER, ///< Run Accelerometer test mode state POST_STATE_VALVES, ///< Run Valves test mode state POST_STATE_ALARM_LAMP, ///< Run alarm lamp test mode state + POST_STATE_ACCELEROMETER, ///< Run Accelerometer test mode state POST_STATE_STUCK_BUTTON, ///< Run stuck button test mode state POST_STATE_COMPLETED, ///< POST self-tests completed mode state POST_STATE_FAILED, ///< POST self-tests failed mode state @@ -128,9 +128,10 @@ { HD_PRE_TREATMENT_START_STATE = 0, ///< Start pre-treatment mode state HD_PRE_TREATMENT_WATER_SAMPLE_STATE, ///< Water sample state - HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE, ///< Self tests with no cartridge state + HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE, ///< Consumable self-tests state + HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE, ///< No cartridge self-tests state HD_PRE_TREATMENT_CART_INSTALL_STATE, ///< Consumable and cartridge installation state - HD_PRE_TREATMENT_SELF_TEST_DRY_STATE, ///< Self tests dry state + HD_PRE_TREATMENT_SELF_TEST_DRY_STATE, ///< Self-tests when the cartridge is dry state HD_PRE_TREATMENT_PRIME_STATE, ///< Prime blood and dialysate circuits and run wet self-tests state HD_PRE_TREATMENT_RECIRCULATE_STATE, ///< Re-circulate blood and dialysate circuits state HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE, ///< Patient connection state @@ -148,8 +149,9 @@ /// Enumeration of sample water sub-mode states. enum HD_Pre_Treatment_Sample_Water_States { - SAMPLE_WATER_SETUP_STATE = 0, ///< Sample water setup state of the sample water sub-mode state machine - SAMPLE_WATER_STATE, ///< Sample water state of the sample water sub-mode state machine + SAMPLE_WATER_SETUP_STATE = 0, ///< Sample water setup (flush filter) state + SAMPLE_WATER_STATE, ///< Sample water state, receiving sample water commands from the user + SAMPLE_WATER_COMPLETE_STATE, ///< Sample water complete state NUM_OF_SAMPLE_WATER_STATES ///< Number of sample water sub-mode states }; /// Type for sample water states enumeration. @@ -168,45 +170,66 @@ /**@}*/ /** + * @addtogroup SelfTestConsumable + * @{ + */ + +/// Enumeration of consumable self-tests sub-mode states. +enum HD_Pre_Treatment_Consumable_Self_Test_States +{ + CONSUMABLE_SELF_TESTS_INSTALL_STATE = 0, ///< Consumable self-tests install state + CONSUMABLE_SELF_TESTS_FILL_CMD_STATE, ///< Send command to DG to fill reservoir state + CONSUMABLE_SELF_TESTS_WATER_QUALITY_CHECK_STATE, ///< Consumable self-tests water quality check state + CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE, ///< Consumable self-tests bicarbonate concentrate pump check state + CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE, ///< Consumable self-tests acid concentrate pump check state + CONSUMABLE_SELF_TESTS_COMPLETE_STATE, ///< Consumable self-tests complete state + NUM_OF_CONSUMABLE_SELF_TESTS_STATES ///< Number of consumable install sub-mode states +}; +/// Type for consumable self-tests states enumeration. +typedef enum HD_Pre_Treatment_Consumable_Self_Test_States CONSUMABLE_SELF_TESTS_STATE_T; + +/**@}*/ + +/** * @addtogroup SelfTests * @{ */ /// Enumeration of no cartridge self-tests sub-mode states. enum HD_Pre_Treatment_No_Cart_Self_Tests_States { - NO_CART_SELF_TESTS_START_STATE = 0, ///< No cartridge self-tests starting state. - NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE, ///< Wait for door to be closed before running self-tests. - NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE, ///< No cartridge occlusion sensors self-test state. - NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE, ///< No cartridge blood flow meter self-test state. - NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE, ///< No cartridge dialysate flow meter self-test state. - NO_CART_SELF_TESTS_PUMPS_STATE, ///< No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state. - NO_CART_SELF_TESTS_LEAK_DETECTORS_STATE, ///< No cartridge leak detectors self-test state. - NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE, ///< No cartridge board temperature self-test state. - NO_CART_SELF_TESTS_DOOR_SWITCH_STATE, ///< No cartridge door switch self-test state. - NO_CART_SELF_TESTS_HOME_VALVES_AND_PUMPS_STATE, ///< No cartridge home valves and pumps self-test state. - NO_CART_SELF_TESTS_HOME_IDLE_STATE, ///< Wait for valves and pumps finish homing state. - NO_CART_SELF_TESTS_STOPPED_STATE, ///< No cart self-test stopped state. - NO_CART_SELF_TESTS_COMPLETE_STATE, ///< No cartridge self-test complete state. - NUM_OF_NO_CART_SELF_TESTS_STATES ///< Number of no cartridge self-tests states. + NO_CART_SELF_TESTS_START_STATE = 0, ///< No cartridge self-tests starting state + NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE, ///< Wait for door to be closed before running self-tests + NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE, ///< No cartridge occlusion sensors self-test state + NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE, ///< No cartridge blood flow meter self-test state + NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE, ///< No cartridge dialysate flow meter self-test state + NO_CART_SELF_TESTS_LEAK_DETECTORS_STATE, ///< No cartridge leak detectors self-test state + NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE, ///< No cartridge board temperature self-test state + NO_CART_SELF_TESTS_START_HOMING_STATE, ///< No cartridge start home valves and pumps state + NO_CART_SELF_TESTS_HOME_VALVES_AND_PUMPS_STATE, ///< No cartridge home valves and pumps self-test state + NO_CART_SELF_TESTS_HOME_IDLE_STATE, ///< Wait for valves and pumps finish homing state + NO_CART_SELF_TESTS_PUMPS_STATE, ///< No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state + NO_CART_SELF_TESTS_STOPPED_STATE, ///< No cart self-test stopped state + NO_CART_SELF_TESTS_COMPLETE_STATE, ///< No cartridge self-test complete state + NUM_OF_NO_CART_SELF_TESTS_STATES ///< Number of no cartridge self-tests states }; /// Type for no cartridge self-tests enumeration. typedef enum HD_Pre_Treatment_No_Cart_Self_Tests_States NO_CART_SELF_TESTS_STATE_T; /// Enumeration of dry self-tests sub-mode states. enum HD_Pre_Treatment_Dry_Self_Tests_States { - DRY_SELF_TESTS_START_STATE = 0, ///< Dry self-tests starting state. - DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE, ///< Wait for door to close before executing self-tests. - DRY_SELF_TESTS_BUBBLE_DETECTOR_STATE, ///< Bubble detectors dry self-test state. - DRY_SELF_TESTS_AIR_TRAP_STATE, ///< Air trap fill level ultrasonic sensor dry self-test state. - DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE, ///< Occlusion sensors dry self-test state. - DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE, ///< Pressure sensors dry self-test setup valves and pump state. - DRY_SELF_TESTS_PRESSURE_SENSORS_STATE, ///< Pressure sensors verify pressure readings state. - DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE, ///< Preassure sensors verify normal pressure readings state. - DRY_SELF_TESTS_STOPPED_STATE, ///< Dry self-test stopped state. - DRY_SELF_TESTS_COMPLETE_STATE, ///< Dry self-test complete state. - NUM_OF_DRY_SELF_TESTS_STATES ///< Number of dry self-tests states. + DRY_SELF_TESTS_START_STATE = 0, ///< Dry self-tests starting state + DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE, ///< Wait for door to close before executing self-tests + DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE, ///< Used cartridge check dry self-test state + DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE, ///< Occlusion sensors dry self-test state + DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE, ///< Pressure sensors dry self-test setup valves and pump state + DRY_SELF_TESTS_PRESSURE_SENSORS_STATE, ///< Pressure sensors verify pressure readings state + DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE, ///< Pressure sensors verify normal pressure readings state + DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE, ///< Prime syringe pump state + DRY_SELF_TESTS_STOPPED_STATE, ///< Dry self-test stopped state + DRY_SELF_TESTS_COMPLETE_STATE, ///< Dry self-test complete state + NUM_OF_DRY_SELF_TESTS_STATES ///< Number of dry self-tests states }; /// Type for dry self-tests enumeration. typedef enum HD_Pre_Treatment_Dry_Self_Tests_States DRY_SELF_TESTS_STATE_T; @@ -247,9 +270,9 @@ /// Enumeration of pre-treatment recirculate states. enum HD_Pre_Treatment_Recirc_States { - PRE_TREATMENT_RECIRC_STATE = 0, ///< Pre-treatment recirculate state. - PRE_TREATMENT_RECIRC_STOPPED_STATE, ///< Pre-treatment recirculate stopped state. - NUM_OF_PRE_TREATMENT_RECIRC_STATES ///< Number of pre-treatment recirculate states. + PRE_TREATMENT_RECIRC_STATE = 0, ///< Pre-treatment recirculate state + PRE_TREATMENT_RECIRC_STOPPED_STATE, ///< Pre-treatment recirculate stopped state + NUM_OF_PRE_TREATMENT_RECIRC_STATES ///< Number of pre-treatment recirculate states }; ///< Type for HD pre-treatment recirculate sub-mode states enumeration typedef enum HD_Pre_Treatment_Recirc_States HD_PRE_TREATMENT_RECIRC_STATE_T; @@ -284,8 +307,10 @@ /// Enumeration of post-treatment mode states. enum HD_Post_Treatment_Mode_States -{ - HD_POST_TREATMENT_STATE_START = 0, ///< Start post-treatment mode state +{ + HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 0, ///< Patient disconnection state + HD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE, ///< Drain reservoirs state + HD_POST_TREATMENT_VERIFY_STATE, ///< Verify cartridge removed, syringe removed, and reservoirs drained state NUM_OF_HD_POST_TREATMENT_STATES ///< Number of post-treatment mode states }; typedef enum HD_Post_Treatment_Mode_States HD_POST_TREATMENT_STATE_T; ///< Type for HD post treatment mode states enumeration @@ -328,8 +353,6 @@ UF_START_STATE = 0, ///< Start state of the ultrafiltration state machine UF_PAUSED_STATE, ///< Paused state of the ultrafiltration state machine UF_RUNNING_STATE, ///< Running state of the ultrafiltration state machine - UF_OFF_STATE, ///< Completed/off state of the ultrafiltration state machine - UF_COMPLETED_STATE, ///< Completed state of ultrafiltration state machine NUM_OF_UF_STATES ///< Number of ultrafiltration states }; typedef enum UF_States UF_STATE_T; ///< Type for ultrafiltration states enumeration @@ -348,8 +371,8 @@ /// Enumeration of saline bolus command parameters. enum Saline_Commands { - SALINE_CMD_STOP = 0, ///< Start saline bolus command - SALINE_CMD_START, ///< Stop saline bolus command + SALINE_CMD_STOP = 0, ///< Stop saline bolus command + SALINE_CMD_START, ///< Start saline bolus command NUM_OF_SALINE_CMDS ///< Number of saline bolus command parameters }; typedef enum Saline_Commands SALINE_CMD_T; ///< Type for saline command enum. @@ -375,14 +398,15 @@ /**@}*/ /** - * @addtogroup Heparin + * @addtogroup SyringePump * @{ */ /// Enumeration of heparin states. enum Heparin_States { HEPARIN_STATE_OFF = 0, ///< No heparin delivery is in progress + HEPARIN_STATE_STOPPED, ///< Heparin delivery stopped by alarm or not yet started HEPARIN_STATE_PAUSED, ///< Heparin delivery paused HEPARIN_STATE_INITIAL_BOLUS, ///< Initial heparin bolus delivery in progress HEPARIN_STATE_DISPENSING, ///< Gradual heparin dispensing in progress