Index: leahi-dialin/common/alarm_defs.py =================================================================== diff -u -r12b82879196778f6c83d08751652177ea0fcbf5e -rf75239a6c2792ff98ab4ac0d99bf490dd32a5897 --- leahi-dialin/common/alarm_defs.py (.../alarm_defs.py) (revision 12b82879196778f6c83d08751652177ea0fcbf5e) +++ leahi-dialin/common/alarm_defs.py (.../alarm_defs.py) (revision f75239a6c2792ff98ab4ac0d99bf490dd32a5897) @@ -2,8 +2,8 @@ # # Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. # -# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN -# WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM IN PART OR IN +# WHOLE WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file alarm_defs.py # @@ -72,10 +72,40 @@ ALARM_ID_TD_VENOUS_PRESSURE_OUT_OF_RANGE = 49 ALARM_ID_TD_VENOUS_PRESSURE_SELF_TEST_FAILURE = 50 ALARM_ID_TD_PRE_TREATMENT_DRY_PRESSURE_TEST_FAILURE = 51 - ALARM_ID_TD_AIR_TRAP_FILL_DURING_TREATMENT = 52 - ALARM_ID_TD_AIR_TRAP_ILLEGAL_LEVELS = 53 - ALARM_ID_TD_PINCH_VALVE_FAULT = 54 - ALARM_ID_TD_VALVE_HOMING_FAILED = 55 - ALARM_ID_TD_VALVE_TRANSITION_TIMEOUT = 56 - NUM_OF_ALARM_IDS = 57 + ALARM_ID_DD_CP1_SPEED_CONTROL_ERROR = 52 + ALARM_ID_DD_CP2_SPEED_CONTROL_ERROR = 53 + ALARM_ID_DD_CONC_PUMP_HALL_SENSOR_OUT_OF_RANGE = 54 + ALARM_ID_DD_CONCENTRATE_PUMP_FAULT = 55 + ALARM_ID_DD_TEMPERATURE_SENSOR_OUT_OF_RANGE = 56 + ALARM_ID_DD_RTD_SENSORS_FPGA_FAULT = 57 + ALARM_ID_DD_BARO_SENSOR_FPGA_FAULT = 58 + ALARM_ID_DD_BAROMETRIC_SENSOR_COEFFS_BAD_CRC = 59 + ALARM_ID_DD_FRESH_DIALYSATE_PUMP_RPM_OUT_OF_RANGE = 60 + ALARM_ID_DD_FRESH_DIALYSATE_PUMP_OFF_FAULT = 61 + ALARM_ID_DD_FRESH_DIALYSATE_PUMP_CURRENT_OUT_OF_RANGE = 62 + ALARM_ID_DD_FRESH_DIALYSATE_PUMP_DIRECTION_INVALID = 63 + ALARM_ID_DD_FRESH_DIALYSATE_PUMP_DIRECTION_FPGA_FAULT = 64 + ALARM_ID_DD_SPENT_DIALYSATE_PUMP_RPM_OUT_OF_RANGE = 65 + ALARM_ID_DD_SPENT_DIALYSATE_PUMP_OFF_FAULT = 66 + ALARM_ID_DD_SPENT_DIALYSATE_PUMP_CURRENT_OUT_OF_RANGE = 67 + ALARM_ID_DD_SPENT_DIALYSATE_PUMP_DIRECTION_INVALID = 68 + ALARM_ID_DD_SPENT_DIALYSATE_PUMP_DIRECTION_FPGA_FAULT = 69 + ALARM_ID_DD_FLUID_TOO_LOW_WHILE_PRIMARY_HEATER_IS_ON = 70 + ALARM_ID_DD_FLUID_TOO_LOW_WHILE_TRIMMER_HEATER_IS_ON = 71 + ALARM_ID_DD_WATER_INLET_INPUT_PRES_TIMEOUT_FAULT = 72 + ALARM_ID_DD_WATER_INLET_OUTPUT_PRES_TIMEOUT_FAULT = 73 + ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE = 74 + ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE = 75 + ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_LOW_RANGE = 76 + ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE = 77 + ALARM_ID_TD_AIR_TRAP_FILL_DURING_TREATMENT = 78 + ALARM_ID_TD_AIR_TRAP_ILLEGAL_LEVELS = 79 + ALARM_ID_TD_PINCH_VALVE_FAULT = 80 + ALARM_ID_TD_VALVE_HOMING_FAILED = 81 + ALARM_ID_TD_VALVE_TRANSITION_TIMEOUT = 82 + ALARM_ID_RO_CAN_MESSAGE_NOT_ACKED_BY_DD = 83 + ALARM_ID_RO_FPGA_COMM_TIMEOUT = 84 + ALARM_ID_RO_COMM_TOO_MANY_BAD_CRCS = 85 + + Index: leahi-dialin/common/td_defs.py =================================================================== diff -u -r12b82879196778f6c83d08751652177ea0fcbf5e -rf75239a6c2792ff98ab4ac0d99bf490dd32a5897 --- leahi-dialin/common/td_defs.py (.../td_defs.py) (revision 12b82879196778f6c83d08751652177ea0fcbf5e) +++ leahi-dialin/common/td_defs.py (.../td_defs.py) (revision f75239a6c2792ff98ab4ac0d99bf490dd32a5897) @@ -28,11 +28,11 @@ MODE_TREA = 6 # Treatment mode MODE_POST = 7 # Post-Treatment mode MODE_NLEG = 8 # Not legal - an illegal mode transition occurred - NUM_OF_MODES = 9 # Number of HD operation modes + NUM_OF_MODES = 9 # Number of TD operation modes @unique -class HDStandbyStates(DialinEnum): +class TDStandbyStates(DialinEnum): STANDBY_START_STATE = 0 # Start standby (home actuators). STANDBY_WAIT_FOR_TREATMENT_STATE = 1 # Wait for treatment. STANDBY_WAIT_FOR_DISINFECT_STATE = 2 # Wait for UI to send disinfect option. @@ -42,7 +42,7 @@ NUM_OF_STANDBY_STATES = 6 # Number of standby states (sub-modes). @unique -class HDInitStates(DialinEnum): +class TDInitStates(DialinEnum): POST_STATE_START = 0 # Start initialize & POST mode state POST_STATE_FW_INTEGRITY = 1 # Run firmware integrity test state POST_STATE_RTC = 2 # Run RTC test state @@ -71,15 +71,15 @@ @unique class PreTreatmentSubModes(DialinEnum): - HD_PRE_TREATMENT_WATER_SAMPLE_STATE = 0 # Water sample state - HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE = 1 # Consumable self-tests state - HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 2 # No cartridge self-tests state - HD_PRE_TREATMENT_CART_INSTALL_STATE = 3 # Consumable and cartridge installation state - HD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 4 # Self-tests when the cartridge is dry state - HD_PRE_TREATMENT_PRIME_STATE = 5 # Prime blood and dialysate circuits and run wet self-tests state - HD_PRE_TREATMENT_RECIRCULATE_STATE = 6 # Re-circulate blood and dialysate circuits state - HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 7 # Patient connection state - NUM_OF_HD_PRE_TREATMENT_STATES = 8 # Number of pre-treatment mode states + TD_PRE_TREATMENT_WATER_SAMPLE_STATE = 0 # Water sample state + TD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE = 1 # Consumable self-tests state + TD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 2 # No cartridge self-tests state + TD_PRE_TREATMENT_CART_INSTALL_STATE = 3 # Consumable and cartridge installation state + TD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 4 # Self-tests when the cartridge is dry state + TD_PRE_TREATMENT_PRIME_STATE = 5 # Prime blood and dialysate circuits and run wet self-tests state + TD_PRE_TREATMENT_RECIRCULATE_STATE = 6 # Re-circulate blood and dialysate circuits state + TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 7 # Patient connection state + NUM_OF_TD_PRE_TREATMENT_STATES = 8 # Number of pre-treatment mode states @unique @@ -131,7 +131,7 @@ WET_SELF_TESTS_COMPLETE_STATE = 13 @unique -class HDPreTreatmentReservoirMgmtStates(DialinEnum): +class TDPreTreatmentReservoirMgmtStates(DialinEnum): PRE_TREATMENT_RESERVOIR_MGMT_START_STATE = 0 # Wait for signal to start drain and fill reservoirs PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE = 1 # Command DG to start draining reservoir PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_RESP_STATE = 2 # After sending drain command, process DG drain command response @@ -183,11 +183,11 @@ @unique class PostTreatmentStates(DialinEnum): - 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 + TD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0 # Drain reservoirs state + TD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 1 # Patient disconnection state + TD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE = 2 # Disposable removal state + TD_POST_TREATMENT_VERIFY_STATE = 3 # Verify cartridge removed, syringe removed, and reservoirs drained state + NUM_OF_TD_POST_TREATMENT_STATES = 4 # Number of post-treatment mode states @unique @@ -223,20 +223,20 @@ @unique class PreTreatmentPrimeStates(DialinEnum): - HD_PRIME_WAIT_FOR_USER_START_STATE = 0 # Wait for user to start prime state - HD_PRIME_SALINE_SETUP_STATE = 1 # Saline setup state - HD_PRIME_SALINE_PURGE_AIR_STATE = 2 # Saline purge air state - HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 3 # Circulate blood circuit state - HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 4 # Wait for reservoir 1 fill complete - HD_PRIME_DIALYSATE_DIALYZER_STATE = 5 # Dialysate dialyzer fluid path state - HD_PRIME_SALINE_DIALYZER_SETUP_STATE = 6 # Saline dialyzer setup state - HD_PRIME_SALINE_DIALYZER_STATE = 7 # Saline dialyzer fluid path state - HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 8 # Wait for reservoir 2 fill complete - HD_PRIME_DIALYSATE_BYPASS_STATE = 9 # Dialysate bypass fluid path state - HD_PRIME_WET_SELF_TESTS_STATE = 10 # Perform wet self-tests after priming complete - HD_PRIME_PAUSE = 11 # Prime pause state, waits to be resumed - HD_PRIME_COMPLETE = 12 # Prime complete state - NUM_OF_HD_PRIME_STATES = 13 # Number of prime sub-mode states + TD_PRIME_WAIT_FOR_USER_START_STATE = 0 # Wait for user to start prime state + TD_PRIME_SALINE_SETUP_STATE = 1 # Saline setup state + TD_PRIME_SALINE_PURGE_AIR_STATE = 2 # Saline purge air state + TD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 3 # Circulate blood circuit state + TD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 4 # Wait for reservoir 1 fill complete + TD_PRIME_DIALYSATE_DIALYZER_STATE = 5 # Dialysate dialyzer fluid path state + TD_PRIME_SALINE_DIALYZER_SETUP_STATE = 6 # Saline dialyzer setup state + TD_PRIME_SALINE_DIALYZER_STATE = 7 # Saline dialyzer fluid path state + TD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 8 # Wait for reservoir 2 fill complete + TD_PRIME_DIALYSATE_BYPASS_STATE = 9 # Dialysate bypass fluid path state + TD_PRIME_WET_SELF_TESTS_STATE = 10 # Perform wet self-tests after priming complete + TD_PRIME_PAUSE = 11 # Prime pause state, waits to be resumed + TD_PRIME_COMPLETE = 12 # Prime complete state + NUM_OF_TD_PRIME_STATES = 13 # Number of prime sub-mode states @unique @@ -266,9 +266,9 @@ @unique class TreatmentParametersStates(DialinEnum): - HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND = 0 # Wait for UI to send treatment params mode state - HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM = 1 # Wait for UI to confirm treatment params mode state - NUM_OF_HD_TREATMENT_PARAMS_MODE_STATES = 2 # Number of treatment params mode states + TD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND = 0 # Wait for UI to send treatment params mode state + TD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM = 1 # Wait for UI to confirm treatment params mode state + NUM_OF_TD_TREATMENT_PARAMS_MODE_STATES = 2 # Number of treatment params mode states @unique @@ -327,46 +327,46 @@ NUM_OF_TREATMENT_END_STATES = 2 # Number of treatment end sub-mode states @unique -class HDFaultStates(DialinEnum): - HD_FAULT_STATE_START = 0 # Start fault state - HD_FAULT_STATE_RUN_NV_POSTS = 1 # HD fault run NV posts state - HD_FAULT_STATE_COMPLETE = 2 # HD fault run complete state - NUM_OF_HD_FAULT_STATES = 3 # Number of fault mode states +class TDFaultStates(DialinEnum): + TD_FAULT_STATE_START = 0 # Start fault state + TD_FAULT_STATE_RUN_NV_POSTS = 1 # TD fault run NV posts state + TD_FAULT_STATE_COMPLETE = 2 # TD fault run complete state + NUM_OF_TD_FAULT_STATES = 3 # Number of fault mode states @unique -class HDEventList(DialinEnum): - 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 - HD_EVENT_DRY_SELF_TEST_CARTRIDGE_RESULT = 3 # HD dry self test cartridge result - HD_EVENT_DRY_SELF_TEST_PRESSURE_RESULT = 4 # HD dry self test pressure result - HD_EVENT_WET_SELF_TEST_DISPLACEMENT_RESULT = 5 # HD wet self test displacement result - HD_EVENT_CPU_RAM_ERROR_STATUS = 6 # HD CPU RAM error status - HD_EVENT_CAL_RECORD_UPDATE = 7 # HD new calibration record updated - HD_EVENT_SYSTEM_RECORD_UPDATE = 8 # HD new system record has been updated - HD_EVENT_SERVICE_UPDATE = 9 # HD new service record has been updated - HD_EVENT_USAGE_INFO_UPDATE = 10 # HD new usage information has been updated - HD_EVENT_SW_CONFIG_UPDATE = 11 # HD new software configuration has been updated - HD_EVENT_BUTTON = 12 # HD button pressed/released - HD_EVENT_SAFETY_LINE = 13 # HD safety line pulled/released - HD_EVENT_RSRVR_1_LOAD_CELL_START_VALUES = 14 # HD reservoir 1 load cells start values - HD_EVENT_RSRVR_1_LOAD_CELL_END_VALUES = 15 # HD reservoir 2 load cells end values - HD_EVENT_RSRVR_2_LOAD_CELL_START_VALUES = 16 # HD reservoir 2 load cells start values - HD_EVENT_RSRVR_2_LOAD_CELL_END_VALUES = 17 # HD reservoir 2 load cells end values - HD_EVENT_SUB_STATE_CHANGE = 18 # HD Op sub-state change event - HD_EVENT_SYRINGE_PUMP_STATE = 19 # HD syringe pump state change event - HD_EVENT_OCCLUSION_BASELINE = 20 # HD event occlusion baseline event - HD_EVENT_RSRVR_UF_VOLUME_AND_TIME = 21 # HD ultrafiltration volume and time for a reservoir use - HD_EVENT_RSRVR_UF_RATE = 22 # HD ultrafiltration measured and expected rates - HD_EVENT_OPERATION_STATUS = 23 # HD operation status event. - HD_EVENT_AIR_TRAP_FILL = 24 # HD initiated an air trap fill (opened VBT briefly). - HD_EVENT_AIR_PUMP_ON_OFF = 25 # HD turned air pump on or off. - HD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT = 26 # HD Blood leak self test result. - HD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES = 27 # HD blood leak number of setpoint check failures - HD_EVENT_DRY_SELF_TEST_PRESSURE_DECAY_WAIT_PERIOD = 28 # HD dry self test pressure decay wait period - HD_EVENT_INSTIT_RECORD_UPDATE = 29 # HD new institutional record has been updated. - HD_EVENT_PARTIAL_OCCLUSION_BASELINE = 30 # HD event partial occlusion baseline event - NUM_OF_EVENT_IDS = 31 # Total number of HD events +class TDEventList(DialinEnum): + TD_EVENT_STARTUP = 0 # TD startup event + TD_EVENT_OP_MODE_CHANGE = 1 # TD Op mode change event + TD_EVENT_SUB_MODE_CHANGE = 2 # TD Op sub-mode change event + TD_EVENT_DRY_SELF_TEST_CARTRIDGE_RESULT = 3 # TD dry self test cartridge result + TD_EVENT_DRY_SELF_TEST_PRESSURE_RESULT = 4 # TD dry self test pressure result + TD_EVENT_WET_SELF_TEST_DISPLACEMENT_RESULT = 5 # TD wet self test displacement result + TD_EVENT_CPU_RAM_ERROR_STATUS = 6 # TD CPU RAM error status + TD_EVENT_CAL_RECORD_UPDATE = 7 # TD new calibration record updated + TD_EVENT_SYSTEM_RECORD_UPDATE = 8 # TD new system record has been updated + TD_EVENT_SERVICE_UPDATE = 9 # TD new service record has been updated + TD_EVENT_USAGE_INFO_UPDATE = 10 # TD new usage information has been updated + TD_EVENT_SW_CONFIG_UPDATE = 11 # TD new software configuration has been updated + TD_EVENT_BUTTON = 12 # TD button pressed/released + TD_EVENT_SAFETY_LINE = 13 # TD safety line pulled/released + TD_EVENT_RSRVR_1_LOAD_CELL_START_VALUES = 14 # TD reservoir 1 load cells start values + TD_EVENT_RSRVR_1_LOAD_CELL_END_VALUES = 15 # TD reservoir 2 load cells end values + TD_EVENT_RSRVR_2_LOAD_CELL_START_VALUES = 16 # TD reservoir 2 load cells start values + TD_EVENT_RSRVR_2_LOAD_CELL_END_VALUES = 17 # TD reservoir 2 load cells end values + TD_EVENT_SUB_STATE_CHANGE = 18 # TD Op sub-state change event + TD_EVENT_SYRINGE_PUMP_STATE = 19 # TD syringe pump state change event + TD_EVENT_OCCLUSION_BASELINE = 20 # TD event occlusion baseline event + TD_EVENT_RSRVR_UF_VOLUME_AND_TIME = 21 # TD ultrafiltration volume and time for a reservoir use + TD_EVENT_RSRVR_UF_RATE = 22 # TD ultrafiltration measured and expected rates + TD_EVENT_OPERATION_STATUS = 23 # TD operation status event. + TD_EVENT_AIR_TRAP_FILL = 24 # TD initiated an air trap fill (opened VBT briefly). + TD_EVENT_AIR_PUMP_ON_OFF = 25 # TD turned air pump on or off. + TD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT = 26 # TD Blood leak self test result. + TD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES = 27 # TD blood leak number of setpoint check failures + TD_EVENT_DRY_SELF_TEST_PRESSURE_DECAY_WAIT_PERIOD = 28 # TD dry self test pressure decay wait period + TD_EVENT_INSTIT_RECORD_UPDATE = 29 # TD new institutional record has been updated. + TD_EVENT_PARTIAL_OCCLUSION_BASELINE = 30 # TD event partial occlusion baseline event + NUM_OF_EVENT_IDS = 31 # Total number of TD events @unique class HDEventDataType(DialinEnum):