Index: dialin/common/__init__.py =================================================================== diff -u -r86be1988d90d18b66a746d76eb144c778be0b6b5 -r1dcdd74a0515845ccde2be8271d3576b9ca80033 --- dialin/common/__init__.py (.../__init__.py) (revision 86be1988d90d18b66a746d76eb144c778be0b6b5) +++ dialin/common/__init__.py (.../__init__.py) (revision 1dcdd74a0515845ccde2be8271d3576b9ca80033) @@ -1,3 +1,10 @@ from .alarm_defs import AlarmList, AlarmPriorities from .msg_defs import MsgIds -from .prs_defs import Ranges \ No newline at end of file +from .prs_defs import Ranges +from .hd_defs import (PreTreatmentSubModes, + PreTreatmentSampleWaterStates, + PreTreatmentConsumableSelfTestStates, + PreTreatmentRecircStates, + PreTreatmentNoCartSelfTestStates, + PreTreatmentDrySelfTestStates, + PreTreatmentPrimeStates) Index: dialin/common/hd_defs.py =================================================================== diff -u -rc61eff081973c9fb186c353e9ff0360549b57a78 -r1dcdd74a0515845ccde2be8271d3576b9ca80033 --- dialin/common/hd_defs.py (.../hd_defs.py) (revision c61eff081973c9fb186c353e9ff0360549b57a78) +++ dialin/common/hd_defs.py (.../hd_defs.py) (revision 1dcdd74a0515845ccde2be8271d3576b9ca80033) @@ -27,4 +27,79 @@ MODE_TREA = 6 # Treatment mode MODE_POST = 7 # Post-Treatment mode MODE_NLEG = 8 # Not legal - an illegale mode transition occurred - NUM_OF_MODES = 9 # Number of HD operation modes \ No newline at end of file + NUM_OF_MODES = 9 # Number of HD operation modes + +@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 + +@unique +class PreTreatmentSampleWaterStates(DialinEnum): + SAMPLE_WATER_SETUP_STATE = 0 + SAMPLE_WATER_STATE = 1 + +@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 + +@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 + +@unique +class PreTreatmentDrySelfTestStates(DialinEnum): + DRY_SELF_TESTS_START_STATE = 0 + DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 + DRY_SELF_TESTS_BUBBLE_DETECTOR_STATE = 2 + DRY_SELF_TESTS_AIR_TRAP_STATE = 3 + DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE = 4 + DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE = 5 + DRY_SELF_TESTS_PRESSURE_SENSORS_STATE = 6 + DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE = 7 + DRY_SELF_TESTS_STOPPED_STATE = 8 + DRY_SELF_TESTS_COMPLETE_STATE = 9 + +@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 + +@unique +class PreTreatmentRecircStates(DialinEnum): + PRE_TREATMENT_RECIRC_STATE = 0 + PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 Index: dialin/hd/pretreatment.py =================================================================== diff -u -r300390c34a81a42b5eb606e4f4499a1439bfc432 -r1dcdd74a0515845ccde2be8271d3576b9ca80033 --- dialin/hd/pretreatment.py (.../pretreatment.py) (revision 300390c34a81a42b5eb606e4f4499a1439bfc432) +++ dialin/hd/pretreatment.py (.../pretreatment.py) (revision 1dcdd74a0515845ccde2be8271d3576b9ca80033) @@ -15,94 +15,18 @@ ############################################################################ import struct from ..protocols.CAN import DenaliChannels -from ..utils.base import _AbstractSubSystem, _publish, DialinEnum +from ..utils.base import _AbstractSubSystem, _publish from ..common.msg_defs import MsgIds, MsgFieldPositions +from ..common import (PreTreatmentSubModes, + PreTreatmentSampleWaterStates, + PreTreatmentConsumableSelfTestStates, + PreTreatmentRecircStates, + PreTreatmentNoCartSelfTestStates, + PreTreatmentDrySelfTestStates, + PreTreatmentPrimeStates) from logging import Logger -from enum import unique -@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 - - -@unique -class PreTreatmentSampleWaterStates(DialinEnum): - SAMPLE_WATER_SETUP_STATE = 0 - SAMPLE_WATER_STATE = 1 - - -@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 - - -@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 - - -@unique -class PreTreatmentDrySelfTestStates(DialinEnum): - DRY_SELF_TESTS_START_STATE = 0 - DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 - DRY_SELF_TESTS_BUBBLE_DETECTOR_STATE = 2 - DRY_SELF_TESTS_AIR_TRAP_STATE = 3 - DRY_SELF_TESTS_OCCLUSION_SENSORS_STATE = 4 - DRY_SELF_TESTS_PRESSURE_SENSORS_SETUP_STATE = 5 - DRY_SELF_TESTS_PRESSURE_SENSORS_STATE = 6 - DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE = 7 - DRY_SELF_TESTS_STOPPED_STATE = 8 - DRY_SELF_TESTS_COMPLETE_STATE = 9 - - -@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 - - -@unique -class PreTreatmentRecircStates(DialinEnum): - PRE_TREATMENT_RECIRC_STATE = 0 - PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 - - class HDPreTreatment(_AbstractSubSystem): """