Index: dialin/common/hd_defs.py =================================================================== diff -u -r06c15853c3ffd7dae9b0e7fe889fcc23ccb5b821 -r2cd826ff1f83d36140d2515d64fa38a7c66ed1e6 --- dialin/common/hd_defs.py (.../hd_defs.py) (revision 06c15853c3ffd7dae9b0e7fe889fcc23ccb5b821) +++ dialin/common/hd_defs.py (.../hd_defs.py) (revision 2cd826ff1f83d36140d2515d64fa38a7c66ed1e6) @@ -19,97 +19,110 @@ @unique class HDOpModes(DialinEnum): - MODE_FAUL = 0 # Fault mode - MODE_SERV = 1 # Service mode - MODE_INIT = 2 # Initialization & POST mode - MODE_STAN = 3 # Standby mode - MODE_TPAR = 4 # Treatment Parameters mode - MODE_PRET = 5 # Pre-Treatment mode - MODE_TREA = 6 # Treatment mode - MODE_POST = 7 # Post-Treatment mode - NUM_OF_MODES = 8 # Number of HD operation modes + MODE_FAUL = 0 # Fault mode + MODE_SERV = 1 # Service mode + MODE_INIT = 2 # Initialization & POST mode + MODE_STAN = 3 # Standby mode + MODE_TPAR = 4 # Treatment Parameters mode + MODE_PRET = 5 # Pre-Treatment mode + MODE_TREA = 6 # Treatment mode + MODE_POST = 8 # Post-Treatment mode + MODE_NLEG = 9 # Not legal - an illegal mode transition occurred + NUM_OF_MODES = 10 # Number of HD operation modes @unique class HDOpSubModes(DialinEnum): - SUBMODE_START = 0 - SUBMODE_WAIT_FOR_TREATMENT = 1 - SUBMODE_WAIT_FOR_DISINFECT = 2 - SUBMODE_DG_FLUSH_IN_PROGRESS = 3 - SUBMODE_DG_HEAT_DISINFECT_IN_PROGRESS = 4 - SUBMODE_DG_CHEMICAL_DISINFECT_IN_PROGRESS = 5 - NUM_OF_MODES = 6 + STANDBY_START_STATE = 0 # Start standby. + STANDBY_WAIT_FOR_TREATMENT_STATE = 1 # Wait for treatment. + STANDBY_WAIT_FOR_DISINFECT_STATE = 2 # Wait for UI to send disinfect option. + STANDBY_WAIT_FOR_DG_FLUSH_CMD_RESPONSE_STATE = 3 # Wait for DG flush command response. + STANDBY_WAIT_FOR_DG_FLUSH_TO_START_STATE = 4 # Wait for DG flush to start. + STANDBY_DG_FLUSH_IN_PROGRESS_STATE = 5 # DG flush operation is in progress + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_CMD_RESPONSE_STATE = 6 # Wait for DG heat disinfect command response. + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_TO_START_STATE = 7 # Wait for DG heat disinfect to start. + STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE = 8 # DG heat disinfect operation is in progress. + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_CMD_RESPONSE_STATE = 9 # Wait for DG chemical disinfect command response. + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_TO_START_STATE = 10 # Wait for DG chemical disinfect to start. + STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE = 11 # DG chemical disinfect operation is in progress + NUM_OF_STANDBY_STATES = 12 # Number of standby states (sub-modes) @unique class HDInitStates(DialinEnum): - POST_STATE_START = 0 - POST_STATE_FW_INTEGRITY = 1 - POST_STATE_AC = 2 - POST_STATE_WATCHDOG = 3 - POST_STATE_SAFETY_SHUTDOWN = 4 - POST_STATE_RTC = 5 - POST_STATE_NVDATAMGMT = 6 - POST_STATE_BLOOD_FLOW = 7 - POST_STATE_DIALYSATE_FLOW = 8 - POST_STATE_VALVES = 9 - POST_STATE_SYRINGE_PUMP = 10 - POST_STATE_ALARM_AUDIO = 11 - POST_STATE_ALARM_LAMP = 12 - POST_STATE_ACCELEROMETER = 13 - POST_STATE_STUCK_BUTTON = 14 - POST_STATE_UI_POST = 15 - POST_STATE_FW_COMPATIBILITY = 16 - POST_STATE_FPGA = 17 - POST_STATE_COMPLETED = 18 - POST_STATE_FAILED = 19 - NUM_OF_POST_STATES = 20 + POST_STATE_START = 0 # Start initialize & POST mode state + POST_STATE_FW_INTEGRITY = 1 # Run firmware integrity test state + POST_STATE_AC = 2 # Check HD has AC power - power off if not + POST_STATE_WATCHDOG = 3 # Run watchdog test state + POST_STATE_SAFETY_SHUTDOWN = 4 # Run safety shutdown test state + POST_STATE_RTC = 5 # Run RTC test state + POST_STATE_NVDATAMGMT = 6 # Run NV Data Mgmt. test state + POST_STATE_BLOOD_FLOW = 7 # Run blood flow test state + POST_STATE_DIALYSATE_INLET_FLOW = 8 # Run dialysate inlet flow test state + POST_STATE_DIALYSATE_OUTLET_FLOW = 9 # Run dialysate outlet flow test state + POST_STATE_BLOOD_LEAK = 10 # Run blood leak sensor test state + POST_STATE_VALVES = 11 # Run valves test state + POST_STATE_SYRINGE_PUMP = 12 # Run syringe pump test state + POST_STATE_PRES_OCCL = 13 # Run pressure occlusion state + POST_STATE_ALARM_AUDIO = 14 # Run alarm audio test state + POST_STATE_ALARM_LAMP = 15 # Run alarm lamp test state + POST_STATE_ACCELEROMETER = 16 # Run Accelerometer test state + POST_STATE_TEMPERATURES = 17 # Run temperatures POST state + POST_STATE_FANS = 18 # Run fans POST state + POST_STATE_STUCK_BUTTON = 19 # Run stuck button test state + POST_STATE_UI_POST = 20 # Check whether UI passed its POST tests + POST_STATE_FW_COMPATIBILITY = 21 # Run firmware compatibility test state + POST_STATE_FPGA = 22 # Run FPGA test state + POST_STATE_COMPLETED = 23 # POST self-tests completed state + POST_STATE_FAILED = 24 # POST self-tests failed state + NUM_OF_POST_STATES = 25 # Number of initialize & POST mode states @unique class PreTreatmentSubModes(DialinEnum): - HD_PRE_TREATMENT_START_STATE = 0 - HD_PRE_TREATMENT_WATER_SAMPLE_STATE = 1 - HD_PRE_TREATMENT_CONSUMABLE_SELF_TEST_STATE = 2 - HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 3 - HD_PRE_TREATMENT_CART_INSTALL_STATE = 4 - HD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 5 - HD_PRE_TREATMENT_PRIME_STATE = 6 - HD_PRE_TREATMENT_RECIRCULATE_STATE = 7 - HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 8 + HD_PRE_TREATMENT_START_STATE = 0 # Start pre-treatment mode state + HD_PRE_TREATMENT_WATER_SAMPLE_STATE = 1 # Water sample state + HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE = 2 # Consumable self-tests state + HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 3 # No cartridge self-tests state + HD_PRE_TREATMENT_CART_INSTALL_STATE = 4 # Consumable and cartridge installation state + HD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 5 # Self-tests when the cartridge is dry state + HD_PRE_TREATMENT_PRIME_STATE = 6 # Prime blood and dialysate circuits and run wet self-tests state + HD_PRE_TREATMENT_RECIRCULATE_STATE = 7 # Re-circulate blood and dialysate circuits state + HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 8 # Patient connection state + NUM_OF_HD_PRE_TREATMENT_STATES = 9 # Number of pre-treatment mode states @unique class PreTreatmentSampleWaterStates(DialinEnum): - SAMPLE_WATER_SETUP_STATE = 0 - SAMPLE_WATER_STATE = 1 + SAMPLE_WATER_SETUP_STATE = 0 # Sample water setup (flush filter) state + SAMPLE_WATER_STATE = 1 # Sample water state, receiving sample water commands from the user + SAMPLE_WATER_COMPLETE_STATE = 2 # Sample water complete state + NUM_OF_SAMPLE_WATER_STATES = 3 # Number of sample water sub-mode states @unique class PreTreatmentConsumableSelfTestStates(DialinEnum): - CONSUMABLE_SELF_TESTS_INSTALL = 0 - CONSUMABLE_SELF_TESTS_FILL_CMD_STATE = 1 - CONSUMABLE_SELF_TESTS_WATER_QUALITY_CHECK_STATE = 2 - CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE = 3 - CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE = 4 - CONSUMABLE_SELF_TESTS_COMPLETE_STATE = 5 + CONSUMABLE_SELF_TESTS_INSTALL_STATE = 0 # Consumable self-tests install state + CONSUMABLE_SELF_TESTS_FILL_CMD_STATE = 1 # Send command to DG to fill reservoir state + CONSUMABLE_SELF_TESTS_WATER_QUALITY_CHECK_STATE = 2 # Consumable self-tests water quality check state + CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE = 3 # Consumable self-tests bicarbonate concentrate pump check state + CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE = 4 # Consumable self-tests acid concentrate pump check state + CONSUMABLE_SELF_TESTS_COMPLETE_STATE = 5 # Consumable self-tests complete state + NUM_OF_CONSUMABLE_SELF_TESTS_STATES = 6 # Number of consumable install sub-mode states @unique class PreTreatmentNoCartSelfTestStates(DialinEnum): - NO_CART_SELF_TESTS_START_STATE = 0 - NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 - NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE = 2 - NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE = 3 - NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE = 4 - NO_CART_SELF_TESTS_PUMPS_STATE = 5 - NO_CART_SELF_TESTS_LEAK_DETECTORS_STATE = 6 - NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE = 7 - NO_CART_SELF_TESTS_DOOR_SWITCH_STATE = 8 - NO_CART_SELF_TESTS_HOME_VALVES_AND_PUMPS_STATE = 9 - NO_CART_SELF_TESTS_HOME_IDLE_STATE = 10 - NO_CART_SELF_TESTS_STOPPED_STATE = 11 - NO_CART_SELF_TESTS_COMPLETE_STATE = 12 + NO_CART_SELF_TESTS_START_STATE = 0 # No cartridge self-tests starting state + NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 # Wait for door to be closed before running self-tests + NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE = 2 # No cartridge pressure sensors self-test state + NO_CART_SELF_TESTS_HOME_VALVES_STATE = 3 # No cartridge home valves state + NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE = 4 # No cartridge home syringe pump state + NO_CART_SELF_TESTS_PUMPS_STATE = 5 # No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state + NO_CART_SELF_TESTS_HOME_IDLE_STATE = 6 # Wait for valves and pumps finish homing state + NO_CART_SELF_TESTS_STOPPED_STATE = 7 # No cart self-test stopped state + NO_CART_SELF_TESTS_COMPLETE_STATE = 8 # No cartridge self-test complete state + NUM_OF_NO_CART_SELF_TESTS_STATES = 9 # Number of no cartridge self-tests states @unique @@ -128,39 +141,59 @@ WET_SELF_TESTS_STOPPED_STATE = 11 WET_SELF_TESTS_COMPLETE_STATE = 12 +@unique +class PreTreatmentDrySelfTestStates(DialinEnum): + DRY_SELF_TESTS_START_STATE = 0 # Dry self-tests starting state + DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 # Wait for door to close before executing self-tests + DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE = 2 # Used cartridge check dry self-test state + DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE = 3 # Occlusion sensors dry self-test state + DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE = 4 # Pressure sensors dry self-test setup valves and pump state + DRY_SELF_TESTS_PRESSURE_SENSORS_STATE = 5 # Pressure sensors verify pressure readings state + DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE = 6 # Pressure sensors verify normal pressure readings state + DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE = 7 # Prime syringe pump state + DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE = 8 # Occlusion detection state + DRY_SELF_TESTS_STOPPED_STATE = 9 # Dry self-test stopped state + DRY_SELF_TESTS_COMPLETE_STATE = 10 # Dry self-test complete state + NUM_OF_DRY_SELF_TESTS_STATES = 11 # Number of dry self-tests states + @unique class PreTreatmentPrimeStates(DialinEnum): - HD_PRIME_START_STATE = 0 - HD_PRIME_WAIT_FOR_USER_START_STATE = 1 - HD_PRIME_SALINE_SETUP_STATE = 2 - HD_PRIME_SALINE_PURGE_AIR_STATE = 3 - HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 4 - HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 5 - HD_PRIME_DIALYSATE_DIALYZER_STATE = 6 - HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 7 - HD_PRIME_DIALYSATE_BYPASS_STATE = 8 - HD_PRIME_WET_SELF_TESTS_STATE = 9 - HD_PRIME_PAUSE = 10 - HD_PRIME_COMPLETE = 11 + HD_PRIME_START_STATE = 0 # Prime start state + HD_PRIME_WAIT_FOR_USER_START_STATE = 1 # Wait for user to start prime state + HD_PRIME_SALINE_SETUP_STATE = 2 # Saline setup state + HD_PRIME_SALINE_PURGE_AIR_STATE = 3 # Saline purge air state + HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 4 # Circulate blood circuit state + HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 5 # Wait for reservoir 1 fill complete + HD_PRIME_DIALYSATE_DIALYZER_STATE = 6 # Dialysate dialyzer fluid path state + HD_PRIME_SALINE_DIALYZER_SETUP_STATE = 7 # Saline dialyzer setup state + HD_PRIME_SALINE_DIALYZER_STATE = 8 # Saline dialyzer fluid path state + HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 9 # Wait for reservoir 2 fill complete + HD_PRIME_DIALYSATE_BYPASS_STATE = 10 # Dialysate bypass fluid path state + HD_PRIME_WET_SELF_TESTS_STATE = 11 # Perform wet self-tests after priming complete + HD_PRIME_PAUSE = 12 # Prime pause state, waits to be resumed + HD_PRIME_COMPLETE = 13 # Prime complete state + NUM_OF_HD_PRIME_STATES = 14 # Number of prime sub-mode states @unique class PreTreatmentRecircStates(DialinEnum): - PRE_TREATMENT_RECIRC_STATE = 0 - PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 + PRE_TREATMENT_RECIRC_STATE = 0 # Pre-treatment recirculate state + PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 # Pre-treatment recirculate stopped state + NUM_OF_PRE_TREATMENT_RECIRC_STATES = 2 # Number of pre-treatment recirculate states # Heparin states @unique class HeparinStates(DialinEnum): - HEPARIN_STATE_OFF = 0 # Heparin treatment parameters set to zero or not yet set - HEPARIN_STATE_STOPPED = 1 # Heparin delivery is stopped because treatment paused or not yet started - HEPARIN_STATE_PAUSED = 2 # Heparin delivery is paused by user - HEPARIN_STATE_INITIAL_BOLUS = 3 # Heparin bolus is currently being delivered - HEPARIN_STATE_DISPENSING = 4 # Heparin continuous delivery is in progress - HEPARIN_STATE_COMPLETED = 5 # Heparin delivery is completed - HEPARIN_STATE_EMPTY = 6 # Heparin syringe is empty + HEPARIN_STATE_OFF = 0 # No heparin delivery is in progress + HEPARIN_STATE_STOPPED = 1 # Heparin delivery stopped by alarm or not yet started + HEPARIN_STATE_PAUSED = 2 # Heparin delivery paused + HEPARIN_STATE_INITIAL_BOLUS = 3 # Initial heparin bolus delivery in progress + HEPARIN_STATE_DISPENSING = 4 # Gradual heparin dispensing in progress + HEPARIN_STATE_COMPLETED = 5 # Heparin delivery stopped due to the set stop time before treatment end + HEPARIN_STATE_EMPTY = 6 # Heparin Syringe empty + NUM_OF_HEPARIN_STATES = 7 # Number of saline bolus states # Syringe pump states @@ -189,59 +222,58 @@ @unique class PostTreatmentStates(DialinEnum): - HD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0 - HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 1 - HD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE = 2 - HD_POST_TREATMENT_VERIFY_STATE = 3 + HD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0 # Drain reservoirs state + HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 1 # Patient disconnection state + HD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE = 2 # Disposable removal state + HD_POST_TREATMENT_VERIFY_STATE = 3 # Verify cartridge removed, syringe removed, and reservoirs drained state + NUM_OF_HD_POST_TREATMENT_STATES = 4 # Number of post-treatment mode states @unique class PreTreatmentModeStates(DialinEnum): - HD_PRE_TREATMENT_START_STATE = 0 # Start pre-treatment mode state - HD_PRE_TREATMENT_WATER_SAMPLE_STATE = 1 # Water sample state - HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE = 2 # Consumable self-tests state - HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 3 # Self tests with no cartridge state - HD_PRE_TREATMENT_CART_INSTALL_STATE = 4 # Consumable and cartridge installation state - HD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 5 # Self tests dry state - HD_PRE_TREATMENT_PRIME_STATE = 6 # Prime blood and dialysate circuits and run wet self-tests state - HD_PRE_TREATMENT_RECIRCULATE_STATE = 7 # Re-circulate blood and dialysate circuits state - HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 8 # Patient connection state - NUM_OF_HD_PRE_TREATMENT_STATES = 9 # Number of pre-treatment mode states + HD_PRE_TREATMENT_START_STATE = 0 # Start pre-treatment mode state + HD_PRE_TREATMENT_WATER_SAMPLE_STATE = 1 # Water sample state + HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE = 2 # Consumable self-tests state + HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 3 # No cartridge self-tests state + HD_PRE_TREATMENT_CART_INSTALL_STATE = 4 # Consumable and cartridge installation state + HD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 5 # Self-tests when the cartridge is dry state + HD_PRE_TREATMENT_PRIME_STATE = 6 # Prime blood and dialysate circuits and run wet self-tests state + HD_PRE_TREATMENT_RECIRCULATE_STATE = 7 # Re-circulate blood and dialysate circuits state + HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 8 # Patient connection state + NUM_OF_HD_PRE_TREATMENT_STATES = 9 # Number of pre-treatment mode states @unique class PreTreatmentSampleWaterStates(DialinEnum): - SAMPLE_WATER_SETUP_STATE = 0 # Sample water setup state of the sample water sub-mode state machine - SAMPLE_WATER_STATE = 1 # Sample water state of the sample water sub-mode state machine - SAMPLE_WATER_COMPLETE_STATE = 2 # Sample water complete state - NUM_OF_SAMPLE_WATER_STATES = 3 # Number of sample water sub-mode states + SAMPLE_WATER_SETUP_STATE = 0 # Sample water setup (flush filter) state + SAMPLE_WATER_STATE = 1 # Sample water state, receiving sample water commands from the user + SAMPLE_WATER_COMPLETE_STATE = 2 # Sample water complete state + NUM_OF_SAMPLE_WATER_STATES = 3 # Number of sample water sub-mode states @unique class PreTreatmentConsumableSelfTestStates(DialinEnum): - CONSUMABLE_SELF_TESTS_INSTALL_STATE = 0 # Consumable self-tests install state - CONSUMABLE_SELF_TESTS_WATER_QUALITY_CHECK_STATE = 1 # Consumable self-tests water quality check state - CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE = 2 # Consumable self-tests bicarb concentrate pump check state - CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE = 3 # Consumable self-tests acid concentrate pump check state - CONSUMABLE_SELF_TESTS_COMPLETE_STATE = 4 # Consumable self-tests complete state - NUM_OF_CONSUMABLE_SELF_TESTS_STATES = 5 # Number of consumable install sub-mode states + CONSUMABLE_SELF_TESTS_INSTALL_STATE = 0 # Consumable self-tests install state + CONSUMABLE_SELF_TESTS_FILL_CMD_STATE = 1 # Send command to DG to fill reservoir state + CONSUMABLE_SELF_TESTS_WATER_QUALITY_CHECK_STATE = 2 # Consumable self-tests water quality check state + CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE = 3 # Consumable self-tests bicarbonate concentrate pump check state + CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE = 4 # Consumable self-tests acid concentrate pump check state + CONSUMABLE_SELF_TESTS_COMPLETE_STATE = 5 # Consumable self-tests complete state + NUM_OF_CONSUMABLE_SELF_TESTS_STATES = 6 # Number of consumable install sub-mode states @unique class PreTreatmentNoCartSelfTestsStates(DialinEnum): - NO_CART_SELF_TESTS_START_STATE = 0 # No cartridge self-tests starting state - NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 # Wait for door to be closed before running self-tests - NO_CART_SELF_TESTS_OCCLUSION_SENSORS_STATE = 2 # No cartridge occlusion sensors self-test state - NO_CART_SELF_TESTS_BLOOD_FLOW_METERS_STATE = 3 # No cartridge blood flow meter self-test state - NO_CART_SELF_TESTS_DIALYSATE_FLOW_METERS_STATE = 4 # No cartridge dialysate flow meter self-test state - NO_CART_SELF_TESTS_BOARD_TEMPERATURE_STATE = 5 # No cartridge board temperature self-test state - NO_CART_SELF_TESTS_HOME_VALVES_STATE = 6 # No cartridge home valves state - NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE = 7 # No cartridge home syringe pump state - NO_CART_SELF_TESTS_PUMPS_STATE = 8 # No cartridge self-test for pumps state - NO_CART_SELF_TESTS_HOME_IDLE_STATE = 9 # Wait for valves and pumps finish homing state - NO_CART_SELF_TESTS_STOPPED_STATE = 10 # No cart self-test stopped state - NO_CART_SELF_TESTS_COMPLETE_STATE = 11 # No cartridge self-test complete state - NUM_OF_NO_CART_SELF_TESTS_STATES = 12 # 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 = 1 # Wait for door to be closed before running self-tests + NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE = 2 # No cartridge pressure sensors self-test state + NO_CART_SELF_TESTS_HOME_VALVES_STATE = 3 # No cartridge home valves state + NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE = 4 # No cartridge home syringe pump state + NO_CART_SELF_TESTS_PUMPS_STATE = 5 # No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state + NO_CART_SELF_TESTS_HOME_IDLE_STATE = 6 # Wait for valves and pumps finish homing state + NO_CART_SELF_TESTS_STOPPED_STATE = 7 # No cart self-test stopped state + NO_CART_SELF_TESTS_COMPLETE_STATE = 8 # No cartridge self-test complete state + NUM_OF_NO_CART_SELF_TESTS_STATES = 9 # Number of no cartridge self-tests states @unique @@ -252,44 +284,44 @@ @unique class PreTreatmentDrySelfTestsStates(DialinEnum): - DRY_SELF_TESTS_START_STATE = 0 # Dry self-tests starting state - DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 # Wait for door to close before executing self-tests - DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE = 2 # Used cartridge check dry self-test state - DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE = 3 # Occlusion sensors dry self-test state - DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE = 4 # Pressure sensors dry self-test setup valves and pump state - DRY_SELF_TESTS_PRESSURE_SENSORS_STATE = 5 # Pressure sensors verify pressure readings state - DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE = 6 # Pressure sensors verify normal pressure readings state - DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE = 7 # Prime syringe pump state - DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE = 8 # Occlusion detection state - DRY_SELF_TESTS_STOPPED_STATE = 9 # Dry self-test stopped state - DRY_SELF_TESTS_COMPLETE_STATE = 10 # Dry self-test complete state - NUM_OF_DRY_SELF_TESTS_STATES = 11 # 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 = 1 # Wait for door to close before executing self-tests + DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE = 2 # Used cartridge check dry self-test state + DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE = 3 # Occlusion sensors dry self-test state + DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE = 4 # Pressure sensors dry self-test setup valves and pump state + DRY_SELF_TESTS_PRESSURE_SENSORS_STATE = 5 # Pressure sensors verify pressure readings state + DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE = 6 # Pressure sensors verify normal pressure readings state + DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE = 7 # Prime syringe pump state + DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE = 8 # Occlusion detection state + DRY_SELF_TESTS_STOPPED_STATE = 9 # Dry self-test stopped state + DRY_SELF_TESTS_COMPLETE_STATE = 10 # Dry self-test complete state + NUM_OF_DRY_SELF_TESTS_STATES = 11 # Number of dry self-tests states @unique class PreTreatmentPrimeStates(DialinEnum): - HD_PRIME_START_STATE = 0 # Prime start state - HD_PRIME_WAIT_FOR_USER_START_STATE = 1 # Wait for user to start prime state - HD_PRIME_SALINE_SETUP_STATE = 2 # Saline setup state - HD_PRIME_SALINE_PURGE_AIR_STATE = 3 # Saline purge air state - HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 4 # Circulate blood circuit state - HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 5 # Wait for reservoir 1 fill complete - HD_PRIME_DIALYSATE_DIALYZER_STATE = 6 # Dialysate dialyzer fluid path state - HD_PRIME_SALINE_DIALYZER_SETUP_STATE = 7 # Saline dialyzer setup state - HD_PRIME_SALINE_DIALYZER_STATE = 8 # Saline dialyzer fluid path state - HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 9 # Wait for reservoir 2 fill complete - HD_PRIME_DIALYSATE_BYPASS_STATE = 10 # Dialysate bypass fluid path state - HD_PRIME_WET_SELF_TESTS_STATE = 11 # Perform wet self-tests after priming complete - HD_PRIME_PAUSE_STATE = 12 # Prime pause state = waits to be resumed - HD_PRIME_COMPLETE_STATE = 13 # Prime complete state - NUM_OF_HD_PRIME_STATES = 14 # Number of prime sub-mode states + HD_PRIME_START_STATE = 0 # Prime start state + HD_PRIME_WAIT_FOR_USER_START_STATE = 1 # Wait for user to start prime state + HD_PRIME_SALINE_SETUP_STATE = 2 # Saline setup state + HD_PRIME_SALINE_PURGE_AIR_STATE = 3 # Saline purge air state + HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 4 # Circulate blood circuit state + HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 5 # Wait for reservoir 1 fill complete + HD_PRIME_DIALYSATE_DIALYZER_STATE = 6 # Dialysate dialyzer fluid path state + HD_PRIME_SALINE_DIALYZER_SETUP_STATE = 7 # Saline dialyzer setup state + HD_PRIME_SALINE_DIALYZER_STATE = 8 # Saline dialyzer fluid path state + HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 9 # Wait for reservoir 2 fill complete + HD_PRIME_DIALYSATE_BYPASS_STATE = 10 # Dialysate bypass fluid path state + HD_PRIME_WET_SELF_TESTS_STATE = 11 # Perform wet self-tests after priming complete + HD_PRIME_PAUSE = 12 # Prime pause state, waits to be resumed + HD_PRIME_COMPLETE = 13 # Prime complete state + NUM_OF_HD_PRIME_STATES = 14 # Number of prime sub-mode states @unique class PreTreatmentRecircStates(DialinEnum): - PRE_TREATMENT_RECIRC_STATE = 0 # Pre-treatment recirculate state. - PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 # Pre-treatment recirculate stopped state. - NUM_OF_PRE_TREATMENT_RECIRC_STATES = 2 # Number of pre-treatment recirculate states. + PRE_TREATMENT_RECIRC_STATE = 0 # Pre-treatment recirculate state + PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 # Pre-treatment recirculate stopped state + NUM_OF_PRE_TREATMENT_RECIRC_STATES = 2 # Number of pre-treatment recirculate states @unique @@ -300,94 +332,100 @@ @unique class TreatmentParametersStates(DialinEnum): - HD_TREATMENT_PARAMS_MODE_STATE_START = 0 - HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND = 1 - HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM = 2 - NUM_OF_HD_TREATMENT_PARAMS_MODE_STATES = 3 + HD_TREATMENT_PARAMS_MODE_STATE_START = 0 # Start treatment params mode state + HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND = 1 # Wait for UI to send treatment params mode state + HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM = 2 # Wait for UI to confirm treatment params mode state + NUM_OF_HD_TREATMENT_PARAMS_MODE_STATES = 3 # Number of treatment params mode states @unique class StandbyStates(DialinEnum): - STANDBY_START_STATE = 0 # Start standby - STANDBY_WAIT_FOR_TREATMENT_STATE = 1 # Wait for treatment - STANDBY_WAIT_FOR_DISINFECT_STATE = 2 # Wait for disinfection - STANDBY_DG_FLUSH_IN_PROGRESS_STATE = 3 # DG flush operation is in progress - STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE = 4 # DG heat disinfection operation is in progress - STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE = 5 # DG chemical disinfection operation is in progress - NUM_OF_STANDBY_STATES = 6 # Number of standby states (sub-modes) + STANDBY_START_STATE = 0 # Start standby. + STANDBY_WAIT_FOR_TREATMENT_STATE = 1 # Wait for treatment. + STANDBY_WAIT_FOR_DISINFECT_STATE = 2 # Wait for UI to send disinfect option. + STANDBY_WAIT_FOR_DG_FLUSH_CMD_RESPONSE_STATE = 3 # Wait for DG flush command response. + STANDBY_WAIT_FOR_DG_FLUSH_TO_START_STATE = 4 # Wait for DG flush to start. + STANDBY_DG_FLUSH_IN_PROGRESS_STATE = 5 # DG flush operation is in progress + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_CMD_RESPONSE_STATE = 6 # Wait for DG heat disinfect command response. + STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_TO_START_STATE = 7 # Wait for DG heat disinfect to start. + STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE = 8 # DG heat disinfect operation is in progress. + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_CMD_RESPONSE_STATE = 9 # Wait for DG chemical disinfect command response. + STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_TO_START_STATE = 10 # Wait for DG chemical disinfect to start. + STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE = 11 # DG chemical disinfect operation is in progress + NUM_OF_STANDBY_STATES = 12 # Number of standby states (sub-modes) @unique class TreatmentStates(DialinEnum): - TREATMENT_START_STATE = 0 - TREATMENT_BLOOD_PRIME_STATE = 1 - TREATMENT_DIALYSIS_STATE = 2 - TREATMENT_STOP_STATE = 3 - TREATMENT_RINSEBACK_STATE = 4 - TREATMENT_RECIRC_STATE = 5 - TREATMENT_END_STATE = 6 - NUM_OF_TREATMENT_STATES = 7 + TREATMENT_START_STATE = 0 # Start treatment - initialize treatment and go to blood prime state + TREATMENT_BLOOD_PRIME_STATE = 1 # Prime blood-side of dialyzer with gradual ramp for 1 min. while dialyzer is bypassed. No dialysis or UF taking place. No treatment time. + TREATMENT_DIALYSIS_STATE = 2 # Perform dialysis. Deliver Heparin as prescribed. Deliver UF as prescribed. Handle saline boluses as requested + TREATMENT_STOP_STATE = 3 # Treatment stopped. All pumps off. Dializer bypassed + TREATMENT_RINSEBACK_STATE = 4 # Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating + TREATMENT_RECIRC_STATE = 5 # Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed + TREATMENT_END_STATE = 6 # Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback + NUM_OF_TREATMENT_STATES = 7 # Number of treatment states (sub-modes) @unique class TreatmentBloodPrimeStates(DialinEnum): - BLOOD_PRIME_RAMP_STATE = 0 - NUM_OF_BLOOD_PRIME_STATES = 1 + BLOOD_PRIME_RAMP_STATE = 0 # Ramp state of the blood prime sub-mode state machine + NUM_OF_BLOOD_PRIME_STATES = 1 # Number of blood prime sub-mode states @unique class TreatmentDialysisStates(DialinEnum): - DIALYSIS_START_STATE = 0 - DIALYSIS_UF_STATE = 1 - DIALYSIS_SALINE_BOLUS_STATE = 2 - NUM_OF_DIALYSIS_STATES = 3 + DIALYSIS_START_STATE = 0 # Start state of the dialysis sub-mode state machine + DIALYSIS_UF_STATE = 1 # Ultrafiltration state of the dialysis sub-mode state machine + DIALYSIS_SALINE_BOLUS_STATE = 2 # Saline bolus state of the dialysis sub-mode state machine + NUM_OF_DIALYSIS_STATES = 3 # Number of dialysis sub-mode states @unique class TreatmentStopStates(DialinEnum): - TREATMENT_STOP_RECIRC_STATE = 0 - TREATMENT_STOP_RECIRC_DIALYSATE_ONLY_STATE = 1 - TREATMENT_STOP_RECIRC_BLOOD_ONLY_STATE = 2 - TREATMENT_STOP_NO_RECIRC_STATE = 3 - NUM_OF_TREATMENT_STOP_STATES = 4 + TREATMENT_STOP_RECIRC_STATE = 0 # Dialysate and Blood re-circulation state of the treatment stop sub-mode state machine + TREATMENT_STOP_RECIRC_DIALYSATE_ONLY_STATE = 1 # Re-circulate Dialysate only state of the treatment re-circulate sub-mode state machine + TREATMENT_STOP_RECIRC_BLOOD_ONLY_STATE = 2 # Re-circulate Blood only state of the treatment re-circulate sub-mode state machine + TREATMENT_STOP_NO_RECIRC_STATE = 3 # No re-circulation state of the treatment stop sub-mode state machine + NUM_OF_TREATMENT_STOP_STATES = 4 # Number of treatment stop sub-mode states @unique class TreatmentRinsebackStates(DialinEnum): - RINSEBACK_STOP_INIT_STATE = 0 - RINSEBACK_RUN_STATE = 1 - RINSEBACK_PAUSED_STATE = 2 - RINSEBACK_STOP_STATE = 3 - RINSEBACK_RUN_ADDITIONAL_STATE = 4 - NUM_OF_RINSEBACK_STATES = 5 + RINSEBACK_STOP_INIT_STATE = 0 # Start state (stopped) of the rinseback sub-mode state machine + RINSEBACK_RUN_STATE = 1 # Rinseback running state of the rinseback sub-mode state machine + RINSEBACK_PAUSED_STATE = 2 # Rinseback paused state of the rinseback sub-mode state machine + RINSEBACK_STOP_STATE = 3 # Rinseback stopped (done) state of the rinseback sub-mode state machine + RINSEBACK_RUN_ADDITIONAL_STATE = 4 # Additional rinseback volume (10 mL) state of the rinseback sub-mode state machine + NUM_OF_RINSEBACK_STATES = 5 # Number of rinseback sub-mode states @unique class TreatmentRecircStates(DialinEnum): - TREATMENT_RECIRC_RECIRC_STATE = 0 - TREATMENT_RECIRC_STOPPED_STATE = 1 - NUM_OF_TREATMENT_RECIRC_STATES = 2 + TREATMENT_RECIRC_RECIRC_STATE = 0 # Re-circulate Dialysate state of the treatment re-circulate sub-mode state machine + TREATMENT_RECIRC_STOPPED_STATE = 1 # Stopped state of the treatment re-circulate sub-mode state machine + NUM_OF_TREATMENT_RECIRC_STATES = 2 # Number of treatment re-circulate sub-mode states @unique class TreatmentEndStates(DialinEnum): - TREATMENT_END_WAIT_FOR_RINSEBACK_STATE = 0 - TREATMENT_END_PAUSED_STATE = 1 - NUM_OF_TREATMENT_END_STATES = 2 + TREATMENT_END_WAIT_FOR_RINSEBACK_STATE = 0 # Wait for rinseback state of the treatment end sub-mode state machine + TREATMENT_END_PAUSED_STATE = 1 # Paused state of the treatment end sub-mode state machine + NUM_OF_TREATMENT_END_STATES = 2 # Number of treatment end sub-mode states @unique class HDFaultStates(DialinEnum): - HD_FAULT_STATE_START = 0 - NUM_OF_HD_FAULT_STATES = 1 + HD_FAULT_STATE_START = 0 # Start fault state + NUM_OF_HD_FAULT_STATES = 1 # Number of fault mode states @unique class HDEventList(DialinEnum): - HD_EVENT_STARTUP = 0 - HD_EVENT_OP_MODE_CHANGE = 1 - HD_EVENT_SUB_MODE_CHANGE = 2 - NUM_OF_HD_EVENT_IDS = 3 + HD_EVENT_STARTUP = 0 # HD startup event + HD_EVENT_OP_MODE_CHANGE = 1 # HD Op mode change event + HD_EVENT_SUB_MODE_CHANGE = 2 # HD Op sub-mode change event + NUM_OF_EVENT_IDS = 3 # Total number of HD events @unique @@ -401,18 +439,18 @@ @unique class UFStates(DialinEnum): - UF_START_STATE = 0 - UF_PAUSED_STATE = 1 - UF_RUNNING_STATE = 2 - NUM_OF_UF_STATES = 3 + UF_START_STATE = 0 # Start state of the ultrafiltration state machine + UF_PAUSED_STATE = 1 # Paused state of the ultrafiltration state machine + UF_RUNNING_STATE = 2 # Running state of the ultrafiltration state machine + NUM_OF_UF_STATES = 3 # Number of ultrafiltration states @unique class SalineBolusStates(DialinEnum): - SALINE_BOLUS_STATE_IDLE = 0 - SALINE_BOLUS_STATE_WAIT_FOR_PUMPS_STOP = 1 - SALINE_BOLUS_STATE_IN_PROGRESS = 2 - SALINE_BOLUS_STATE_MAX_DELIVERED = 3 - NUM_OF_SALINE_BOLUS_STATES = 4 + SALINE_BOLUS_STATE_IDLE = 0 # No saline bolus delivery is in progress + SALINE_BOLUS_STATE_WAIT_FOR_PUMPS_STOP = 1 # Wait for pumps to stop before starting bolus + SALINE_BOLUS_STATE_IN_PROGRESS = 2 # A saline bolus delivery is in progress + SALINE_BOLUS_STATE_MAX_DELIVERED = 3 # Maximum saline bolus volume reached - no more saline bolus deliveries allowed + NUM_OF_SALINE_BOLUS_STATES = 4 # Number of saline bolus states @unique class TreatmentParameters(DialinEnum):