Index: leahi_dialin/common/alarm_defs.py =================================================================== diff -u -re9dfb2412b14f3d28824cb3e37c364b8194bb24e -r95205b22fbcf8ce097fd7dba0a34156e5f9008a5 --- leahi_dialin/common/alarm_defs.py (.../alarm_defs.py) (revision e9dfb2412b14f3d28824cb3e37c364b8194bb24e) +++ leahi_dialin/common/alarm_defs.py (.../alarm_defs.py) (revision 95205b22fbcf8ce097fd7dba0a34156e5f9008a5) @@ -8,7 +8,7 @@ # @file alarm_defs.py # # @author (last) Enum Updater Script -# @date (last) 11-Aug-2026 +# @date (last) 19-Aug-2026 # @author (original) Zoltan Miskolci # @date (original) 31-Jul-2026 # Index: leahi_dialin/common/msg_defs.py =================================================================== diff -u -re9dfb2412b14f3d28824cb3e37c364b8194bb24e -r95205b22fbcf8ce097fd7dba0a34156e5f9008a5 --- leahi_dialin/common/msg_defs.py (.../msg_defs.py) (revision e9dfb2412b14f3d28824cb3e37c364b8194bb24e) +++ leahi_dialin/common/msg_defs.py (.../msg_defs.py) (revision 95205b22fbcf8ce097fd7dba0a34156e5f9008a5) @@ -8,7 +8,7 @@ # @file msg_defs.py # # @author (last) Enum Updater Script -# @date (last) 11-Aug-2026 +# @date (last) 19-Aug-2026 # @author (original) Zoltan Miskolci # @date (original) 31-Jul-2026 # @@ -88,8 +88,12 @@ REQUEST_REJECT_REASON_NVM_JOB_QUEUE_BUSY = 62 # NVM Job queue is busy sending other records. REQUEST_REJECT_REASON_NVM_INVALID_CRC = 63 # NVM received CRC of the record is invalid REQUEST_REJECT_REASON_NVM_INVALID_OPERATION_MODE = 64 # NVM Operation Mode is not Service mode. - REQUEST_REJECT_REASON_INDEX_OUT_OF_RANGE = 65 # Index is out of range - NUM_OF_REQUEST_REJECT_REASONS = 66 # Number of settings change reject codes + REQUEST_REJECT_REASON_FP_BUSY = 65 # Treatment cannot initiate if FP is busy + REQUEST_REJECT_REASON_FP_SERVICE_IS_DUE = 66 # FP service is due + REQUEST_REJECT_REASON_DD_TEMPERATURE_OUT_OF_RANGE = 67 # DD temperature too high + REQUEST_REJECT_REASON_DD_BUSY = 68 # Treatment cannot initiate if DD is busy + REQUEST_REJECT_REASON_REQUEST_ALREADY_PENDING = 69 # Reject if a treatment start request is already pending. + NUM_OF_REQUEST_REJECT_REASONS = 70 # Number of settings change reject codes RequestRejectReasons._str_list = { } Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -rf1cb03cd999ccce88151a2e6c29c19b00a6e8d54 -r95205b22fbcf8ce097fd7dba0a34156e5f9008a5 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision f1cb03cd999ccce88151a2e6c29c19b00a6e8d54) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 95205b22fbcf8ce097fd7dba0a34156e5f9008a5) @@ -1,6 +1,6 @@ ########################################################################### # -# Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. +# 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. @@ -13,11 +13,14 @@ # @date (original) 31-Jul-2026 # ############################################################################ + +# Module import from enum import unique -from ..utils.enums import DialinEnum +# Project import +from leahi_dialin.utils.enums import DialinEnum -# Branch: staging + @unique class MsgIds(DialinEnum): MSG_ID_UNUSED = 0x0 # Zero is an undefined (un-used) message ID) @@ -409,213 +412,216 @@ MSG_ID_TD_BATTERY_I2C_STATUS_OVERRIDE_REQUEST = 0x8068 # TD battery I2C status override. - MSG_ID_TD_TRAINING_TEST_OVERRIDE_REQUEST = 0x8999 + MSG_ID_TD_TRAINING_TEST_OVERRIDE_REQUEST = 0x8999 # TD training test override request - MSG_ID_DD_TESTER_LOGIN_REQUEST = 0xA000 - MSG_ID_DD_SOFTWARE_RESET_REQUEST = 0xA001 - MSG_ID_DD_SEND_TEST_CONFIGURATION = 0xA002 - MSG_ID_DD_VALVE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA003 - MSG_ID_DD_VALVE_STATE_OVERRIDE_REQUEST = 0xA004 - MSG_ID_DD_VALVE_SENSED_STATE_OVERRIDE_REQUEST = 0xA005 - MSG_ID_DD_PRESSURE_SENSOR_READINGS_OVERRIDE_REQUEST = 0xA006 - MSG_ID_DD_PRESSURE_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xA007 - MSG_ID_DD_PRESSURE_SENSOR_READ_COUNTER_OVERRIDE_REQUEST = 0xA008 - MSG_ID_DD_PRESSURE_SENSOR_ERROR_COUNTER_OVERRIDE_REQUEST = 0xA009 - MSG_ID_DD_PRESSURE_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA00A - MSG_ID_DD_PRESSURE_SENSOR_FILTER_READINGS_OVERRIDE_REQUEST = 0xA00B - MSG_ID_DD_PRESSURE_SENSOR_FILTER_TEMPERATURE_OVERRIDE_REQUEST = 0xA00C - MSG_ID_DD_CONDUCTIVITY_SENSOR_READINGS_OVERRIDE_REQUEST = 0xA00D - MSG_ID_DD_CONDUCTIVITY_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xA00E - MSG_ID_DD_CONDUCTIVITY_SENSOR_READ_COUNTER_OVERRIDE_REQUEST = 0xA00F - MSG_ID_DD_CONDUCTIVITY_SENSOR_ERROR_COUNTER_OVERRIDE_REQUEST = 0xA010 - MSG_ID_DD_CONDUCTIVITY_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA011 - MSG_ID_DD_CONCENTRATE_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA012 - MSG_ID_DD_CONCENTRATE_PUMP_TARGET_SPEED_OVERRIDE_REQUEST = 0xA013 - MSG_ID_DD_CONCENTRATE_PUMP_MEASURED_SPEED_OVERRIDE_REQUEST = 0xA014 - MSG_ID_DD_CONCENTRATE_PUMP_PARKED_OVERRIDE_REQUEST = 0xA015 - MSG_ID_DD_CONCENTRATE_PUMP_PARK_FAULT_OVERRIDE_REQUEST = 0xA016 - MSG_ID_DD_CONCENTRATE_PUMP_PARK_REQUEST_OVERRIDE_REQUEST = 0xA017 - MSG_ID_DD_TEMPERATURE_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA018 - MSG_ID_DD_TEMPERATURE_SENSOR_MEASURED_TEMPERATURE_OVERRIDE_REQUEST = 0xA019 - MSG_ID_DD_TEMPERATURE_SENSOR_READ_COUNTER_OVERRIDE_REQUEST = 0xA01A - MSG_ID_DD_TEMPERATURE_SENSOR_FILTERED_TEMP_OVERRIDE_REQUEST = 0xA01B - MSG_ID_DD_AVAILABLE_3 = 0xA01C - MSG_ID_DD_DIALYSATE_PUMPS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA01D - MSG_ID_DD_DIALYSATE_PUMPS_TARGET_SPEED_OVERRIDE_REQUEST = 0xA01E - MSG_ID_DD_DIALYSATE_PUMPS_MEASURED_SPEED_OVERRIDE_REQUEST = 0xA01F - MSG_ID_DD_DIALYSATE_PUMPS_TARGET_PRESSURE_OVERRIDE_REQUEST = 0xA020 - MSG_ID_DD_DIALYSATE_PUMPS_MEASURED_CURRENT_OVERRIDE_REQUEST = 0xA021 - MSG_ID_DD_DIALYSATE_PUMPS_MEASURED_DIRECTION_OVERRIDE_REQUEST = 0xA022 - MSG_ID_DD_HEATERS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA023 - MSG_ID_DD_HEATERS_DUTY_CYCLE_OVERRIDE_REQUEST = 0xA024 - MSG_ID_DD_LEVELS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA025 - MSG_ID_DD_LEVELS_STATUS_OVERRIDE_REQUEST = 0xA026 - MSD_ID_DD_TD_COMMUNICATION_STATUS_OVERRIDE_REQUEST = 0xA027 - MSG_ID_DD_OP_MODE_STATUS_OVERRIDE_REQUEST = 0xA028 - MSG_ID_DD_SET_OPERATION_MODE_OVERRIDE_REQUEST = 0xA029 - MSG_ID_DD_UF_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA02A - MSG_ID_DD_DIALYSATE_PUMPS_START_STOP_OVERRIDE_REQUEST = 0xA02B - MSG_ID_DD_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA02C - MSG_ID_DD_CONCENTRATE_PUMPS_START_STOP_OVERRIDE_REQUEST = 0xA02D - MSG_ID_DD_HEATERS_START_STOP_OVERRIDE_REQUEST = 0xA02E - MSG_ID_DD_VALVES_OPEN_CLOSE_STATE_OVERRIDE_REQUEST = 0xA02F - MSD_ID_DD_FP_COMMUNICATION_STATUS_OVERRIDE_REQUEST = 0xA030 - MSG_ID_DD_BAL_CHAMBER_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA031 - MSG_ID_DD_BAL_CHAMBER_SWITCH_FREQ_OVERRIDE_REQUEST = 0xA032 - MSG_ID_DD_DIAL_DELIVERY_IN_PROGRESS_OVERRIDE_REQUEST = 0xA033 - MSG_ID_DD_DIAL_DELIVERY_GOOD_TO_DELIVER_OVERRIDE_REQUEST = 0xA034 - MSG_ID_DD_HEATERS_TARGET_TEMPERATURE_OVERRIDE_REQUEST = 0xA035 - MSG_ID_DD_BC_VALVE_STATES_OVERRIDE_REQUEST = 0xA036 - MSG_ID_DD_BC_SWITCH_ONLY_START_STOP_OVERRIDE_REQUEST = 0xA037 - MSG_ID_DD_HYD_CHAMBER_TARGET_TEMP_OVERRIDE_REQUEST = 0xA038 - MSG_ID_DD_ACID_DOSING_VOLUME_OVERRIDE_REQUEST = 0xA039 - MSG_ID_DD_BICARB_DOSING_VOLUME_OVERRIDE_REQUEST = 0xA03A - MSG_ID_DD_GEND_EXEC_STATE_OVERRIDE_REQUEST = 0xA03B - MSG_ID_DD_HEATERS_PWM_PERIOD_OVERRIDE_REQUEST = 0xA03C - MSG_ID_DD_PRE_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03D - MSG_ID_DD_POST_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03E - MSG_ID_DD_SEND_BLOOD_LEAK_EMB_MODE_RESPONSE = 0xA03F - MSG_ID_DD_SPENT_CHAMB_FILL_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA040 - MSG_ID_DD_AVAILABLE_TO_USE_4 = 0xA041 - MSG_ID_DD_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0xA042 - MSG_ID_DD_SET_TEST_CONFIGURATION = 0xA043 - MSG_ID_DD_GET_TEST_CONFIGURATION = 0xA044 - MSG_ID_DD_RESET_ALL_TEST_CONFIGURATIONS = 0xA045 - MSG_ID_DD_BLOOD_LEAK_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA047 - MSG_ID_DD_BLOOD_LEAK_STATUS_OVERRIDE_REQUEST = 0xA048 - MSG_ID_DD_BLOOD_LEAK_SET_TO_EMBEDDED_MODE_REQUEST = 0xA049 - MSG_ID_DD_BLOOD_LEAK_SET_EMBEDDED_MODE_CMD_REQUEST = 0xA04A - MSG_ID_DD_BLOOD_LEAK_EMBEDDED_MODE_INFO_OVERRIDE_REQUEST = 0xA04B - MSG_ID_DD_BLOOD_LEAK_INTENSITY_MOVING_AVERAGE_OVERRIDE_REQUEST = 0xA04C - MSG_ID_DD_BLOOD_LEAK_ZEROING_INTERVAL_IN_MS_OVERRIDE_REQUEST = 0xA04D - MSG_ID_DD_BLOOD_LEAK_ZERO_REQUEST = 0xA04E - MSG_ID_DD_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST = 0xA04F - MSG_ID_DD_FILTERED_COND_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xA050 - MSG_ID_DD_VOLTAGE_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA051 - MSG_ID_DD_MONITORED_VOLTAGE_OVERRIDE_REQUEST = 0xA052 - MSG_ID_DD_RINSE_PUMP_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA053 - MSG_ID_DD_RINSE_PUMP_PWM_PERCENT_OVERRIDE_REQUEST = 0xA054 - MSG_ID_DD_RINSE_PUMP_TURN_ON_OFF_REQUEST = 0xA055 - MSG_ID_DD_DRY_BICART_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA056 - MSG_ID_DD_DRY_BICART_FILL_CYCLE_MAX_OVERRIDE_REQUEST = 0xA057 - MSG_ID_DD_DRY_BICART_FILL_REQUEST_OVERRIDE_REQUEST = 0xA058 - MSG_ID_DD_BICARB_CHAMBER_FILL_REQUEST_OVERRIDE_REQUEST = 0xA059 - MSG_ID_DD_BICART_DRAIN_REQUEST_OVERRIDE_REQUEST = 0xA05A - MSG_ID_DD_BICART_CARTRIDGE_SELECT_OVERRIDE_REQUEST = 0xA05B - MSG_ID_DD_SET_CONDUCTIVITY_MODEL_REQUEST = 0xA05C - MSG_ID_DD_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST = 0xA05D - MSG_ID_DD_CONDUCTIVITY_SENSOR_VERSION_REQUEST = 0xA05E - MSG_ID_DD_CONDUCTIVITY_SENSOR_VERSION_RESPONSE = 0xA05F - MSG_ID_DD_BICARB_MIX_VOL_CONTROL_KP_GAIN_COEFF_OVERRIDE_REQUEST = 0xA060 - MSG_ID_DD_BICARB_MIX_VOL_CONTROL_KI_GAIN_COEFF_OVERRIDE_REQUEST = 0xA061 - MSG_ID_DD_ACID_MIX_VOL_CONTROL_KP_GAIN_COEFF_OVERRIDE_REQUEST = 0xA062 - MSG_ID_DD_ACID_MIX_VOL_CONTROL_KI_GAIN_COEFF_OVERRIDE_REQUEST = 0xA063 - MSG_ID_DD_ACID_MIX_VOL_OVERRIDE_REQUEST = 0xA064 - MSG_ID_DD_BICARB_MIX_VOL_OVERRIDE_REQUEST = 0xA065 - MSG_ID_DD_BICARB_TARGET_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA066 - MSG_ID_DD_BICARB_DELTA_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA067 - MSG_ID_DD_DIALYSATE_TARGET_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA068 - MSG_ID_DD_DIALYSATE_DELTA_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA069 - MSG_ID_DD_BICART_UPPER_PRESSURE_OVERRIDE_REQUEST = 0xA06A - MSG_ID_DD_BICART_LOWER_PRESSURE_OVERRIDE_REQUEST = 0xA06B - MSG_ID_DD_FLOATER_LEVEL_OVERRIDE_REQUEST = 0xA06C - MSG_ID_DD_SUBSTITUTION_PUMP_START_STOP_OVERRIDE_REQUEST = 0xA06D - MSG_ID_DD_SUBSTITUTION_PUMP_BROADCAST_OVERRIDE_REQUEST = 0xA06E - MSG_ID_DD_SUBSTITUTION_PUMP_TARGET_SPEED_OVERRIDE_REQUEST = 0xA06F - MSG_ID_DD_CONDUCTIVITY_SENSOR_CAL_REQUEST = 0xA070 - MSG_ID_DD_CONDUCTIVITY_SENSOR_CAL_RESPONSE = 0xA071 - MSG_ID_DD_MIXING_CONTROL_DATA = 0xA072 - MSG_ID_DD_MIXING_CONTROL_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA073 - MSG_ID_DD_BICART_DEPRESSURISE_REQUEST_OVERRIDE_REQUEST = 0xA074 + MSG_ID_DD_TESTER_LOGIN_REQUEST = 0xA000 # DD tester log-in + MSG_ID_DD_SOFTWARE_RESET_REQUEST = 0xA001 # DD reset request + MSG_ID_DD_SEND_TEST_CONFIGURATION = 0xA002 # DD send test configuration to Dialin + MSG_ID_DD_VALVE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA003 # DD valve publish interval override request + MSG_ID_DD_VALVE_STATE_OVERRIDE_REQUEST = 0xA004 # DD valve state override request + MSG_ID_DD_VALVE_SENSED_STATE_OVERRIDE_REQUEST = 0xA005 # DD valve sensed state override request + MSG_ID_DD_PRESSURE_SENSOR_READINGS_OVERRIDE_REQUEST = 0xA006 # DD pressure sensor override request + MSG_ID_DD_PRESSURE_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xA007 # DD pressure sensor temperature override request + MSG_ID_DD_PRESSURE_SENSOR_READ_COUNTER_OVERRIDE_REQUEST = 0xA008 # DD pressure sensor read counter override request + MSG_ID_DD_PRESSURE_SENSOR_ERROR_COUNTER_OVERRIDE_REQUEST = 0xA009 # DD pressure sensor error counter override request + MSG_ID_DD_PRESSURE_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA00A # DD pressure sensor publish interval override request + MSG_ID_DD_PRESSURE_SENSOR_FILTER_READINGS_OVERRIDE_REQUEST = 0xA00B # DD pressure sensor filter readings override request + MSG_ID_DD_PRESSURE_SENSOR_FILTER_TEMPERATURE_OVERRIDE_REQUEST = 0xA00C # DD pressure sensor filter temperature override request + MSG_ID_DD_CONDUCTIVITY_SENSOR_READINGS_OVERRIDE_REQUEST = 0xA00D # DD conductivity sensor reading override request + MSG_ID_DD_CONDUCTIVITY_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xA00E # DD conductivity sensor temperature override request + MSG_ID_DD_CONDUCTIVITY_SENSOR_CONDUCTIVITY_READ_COUNTER_OVERRIDE_REQUEST = 0xA00F # DD conductivity sensor read counter request + MSG_ID_DD_CONDUCTIVITY_SENSOR_CONDUCTIVITY_ERROR_COUNTER_OVERRIDE_REQUEST = 0xA010 # DD conductivity sensor error counter request + MSG_ID_DD_CONDUCTIVITY_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA011 # DD conductivity sensor publish interval override request + MSG_ID_DD_CONCENTRATE_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA012 # DD concentrate pump publish interval override request + MSG_ID_DD_CONCENTRATE_PUMP_TARGET_SPEED_OVERRIDE_REQUEST = 0xA013 # DD concentrate pump target speed override request + MSG_ID_DD_CONCENTRATE_PUMP_MEASURED_SPEED_OVERRIDE_REQUEST = 0xA014 # DD concentrate pump measured speed override request + MSG_ID_DD_CONCENTRATE_PUMP_PARKED_OVERRIDE_REQUEST = 0xA015 # DD concentrate pump parked override request + MSG_ID_DD_CONCENTRATE_PUMP_PARK_FAULT_OVERRIDE_REQUEST = 0xA016 # DD concentrate pump park fault override request + MSG_ID_DD_CONCENTRATE_PUMP_PARK_REQUEST_OVERRIDE_REQUEST = 0xA017 # DD concentrate pump park request override request + MSG_ID_DD_TEMPERATURE_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA018 # DD temperature sensor publish interval override request + MSG_ID_DD_TEMPERATURE_SENSOR_MEASURED_TEMPERATURE_OVERRIDE_REQUEST = 0xA019 # DD temperature sensor measured temperature override request + MSG_ID_DD_TEMPERATURE_SENSOR_READ_COUNTER_OVERRIDE_REQUEST = 0xA01A # DD temperature sensor read counter override request + MSG_ID_DD_TEMPERATURE_SENSOR_FILTERED_TEMP_OVERRIDE_REQUEST = 0xA01B # DD temperature sensor filtered temperature override request. + MSG_ID_DD_SET_OPERATION_SUB_MODE_OVERRIDE_REQUEST = 0xA01C # DD set new operation sub mode override request + MSG_ID_DD_DIALYSATE_PUMPS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA01D # DD dialysate pumps data publish interval override request + MSG_ID_DD_DIALYSATE_PUMPS_TARGET_SPEED_OVERRIDE_REQUEST = 0xA01E # DD dialysate pumps target speed override request + MSG_ID_DD_DIALYSATE_PUMPS_MEASURED_SPEED_OVERRIDE_REQUEST = 0xA01F # DD dialysate pumps measured speed override request + MSG_ID_DD_DIALYSATE_PUMPS_TARGET_PRESSURE_OVERRIDE_REQUEST = 0xA020 # DD dialysate pumps target pressure override request + MSG_ID_DD_DIALYSATE_PUMPS_MEASURED_CURRENT_OVERRIDE_REQUEST = 0xA021 # DD dialysate pumps measured current override request + MSG_ID_DD_DIALYSATE_PUMPS_MEASURED_DIRECTION_OVERRIDE_REQUEST = 0xA022 # DD dialysate pumps measured direction override request + MSG_ID_DD_HEATERS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA023 # DD heaters data publish interval override request + MSG_ID_DD_HEATERS_DUTY_CYCLE_OVERRIDE_REQUEST = 0xA024 # DD heaters dutycycle override request + MSG_ID_DD_LEVELS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA025 # DD levels data publish interval override request + MSG_ID_DD_LEVELS_STATUS_OVERRIDE_REQUEST = 0xA026 # DD levels status override request + MSD_ID_DD_TD_COMMUNICATION_STATUS_OVERRIDE_REQUEST = 0xA027 # DD TD CAN Communication status override request + MSG_ID_DD_OP_MODE_STATUS_OVERRIDE_REQUEST = 0xA028 # DD operation mode status override request + MSG_ID_DD_SET_OPERATION_MODE_OVERRIDE_REQUEST = 0xA029 # DD set new operation mode override request + MSG_ID_DD_UF_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA02A # DD ultrafiltration data publish interval override request + MSG_ID_DD_DIALYSATE_PUMPS_START_STOP_OVERRIDE_REQUEST = 0xA02B # DD dialysate pumps start/stop override request + MSG_ID_DD_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA02C # DD generate dialysate mode data publish interval override request + MSG_ID_DD_CONCENTRATE_PUMPS_START_STOP_OVERRIDE_REQUEST = 0xA02D # DD Concentrate pumps start/stop override request + MSG_ID_DD_HEATERS_START_STOP_OVERRIDE_REQUEST = 0xA02E # DD Heaters start override request + MSG_ID_DD_VALVES_OPEN_CLOSE_STATE_OVERRIDE_REQUEST = 0xA02F # DD Valves open/close state override request + MSD_ID_DD_FP_COMMUNICATION_STATUS_OVERRIDE_REQUEST = 0xA030 # DD FP CAN Communication status override request + MSG_ID_DD_BAL_CHAMBER_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA031 # DD balance chamber data publish interval override request + MSG_ID_DD_BAL_CHAMBER_SWITCH_FREQ_OVERRIDE_REQUEST = 0xA032 # DD balance chamber switching frequency override request + MSG_ID_DD_DIAL_DELIVERY_IN_PROGRESS_OVERRIDE_REQUEST = 0xA033 # DD dialysate delivery in progress override request + MSG_ID_DD_DIAL_DELIVERY_GOOD_TO_DELIVER_OVERRIDE_REQUEST = 0xA034 # DD dialysate delivery good to deliver override request + MSG_ID_DD_HEATERS_TARGET_TEMPERATURE_OVERRIDE_REQUEST = 0xA035 # DD heaters target temperature override request + MSG_ID_DD_BC_VALVE_STATES_OVERRIDE_REQUEST = 0xA036 # DD balancing chamber valve states override request + MSG_ID_DD_BC_SWITCH_ONLY_START_STOP_OVERRIDE_REQUEST = 0xA037 # DD balancing chamber switch only start/stop override request + MSG_ID_DD_HYD_CHAMBER_TARGET_TEMP_OVERRIDE_REQUEST = 0xA038 # DD Hydraulic chamber target temperature override request + MSG_ID_DD_ACID_DOSING_VOLUME_OVERRIDE_REQUEST = 0xA039 # DD acid dosing volume override request + MSG_ID_DD_BICARB_DOSING_VOLUME_OVERRIDE_REQUEST = 0xA03A # DD bicarb dosing volume override request + MSG_ID_DD_GEND_EXEC_STATE_OVERRIDE_REQUEST = 0xA03B # DD GenD execution state override request + MSG_ID_DD_HEATERS_PWM_PERIOD_OVERIDE_REQUEST = 0xA03C # DD heaters PWM period override request + MSG_ID_DD_PRE_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03D # DD Pre generate dialysate mode data publish interval override request + MSG_ID_DD_POST_GEND_MODE_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA03E # DD Post generate dialysate mode data publish interval override request + MSG_ID_DD_SEND_BLOOD_LEAK_EMB_MODE_RESPONSE = 0xA03F # DD send blood embedded mode response + MSG_ID_DD_SPENT_CHAMB_FILL_DATA_PUBLISH_OVERRIDE_REQUEST = 0xA040 # DD stop pre-gen dialysate mode override request + MSG_ID_DD_AVAILABLE_TO_USE_4 = 0xA041 # DD stop gen dialysate mode override request + MSG_ID_DD_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0xA042 # DD set/reset safety shutdown override request + MSG_ID_DD_SET_TEST_CONFIGURATION = 0xA043 # DD set test configuration + MSG_ID_DD_GET_TEST_CONFIGURATION = 0xA044 # DD get test configuration + MSG_ID_DD_RESET_ALL_TEST_CONFIGURATIONS = 0xA045 # DD reset all the configurations + MSG_ID_AVAILABLE_1 = 0xA046 # Msg ID not used - available for use. + MSG_ID_DD_BLOOD_LEAK_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA047 # DD blood leak data publish interval override request + MSG_ID_DD_BLOOD_LEAK_STATUS_OVERRIDE_REQUEST = 0xA048 # DD blood leak status override request + MSG_ID_DD_BLOOD_LEAK_SET_TO_EMBEDDED_MODE_REQUEST = 0xA049 # DD blood leak set to embedded mode request + MSG_ID_DD_BLOOD_LEAK_SET_EMBEDDED_MODE_CMD_REQUEST = 0xA04A # DD blood leak set embedded more command request + MSG_ID_DD_BLOOD_LEAK_EMBEDDED_MODE_INFO_OVERRIDE_REQUEST = 0xA04B # DD blood leak embedded mode information override request + MSG_ID_DD_BLOOD_LEAK_INTENSITY_MOVING_AVERAGE_OVERRIDE_REQUEST = 0xA04C # DD blood leak intensity moving average override request + MSG_ID_DD_BLOOD_LEAK_ZEROING_INTERVAL_IN_MS_OVERRIDE_REQUEST = 0xA04D # DD blood leak zeroing interval in milliseconds override request + MSG_ID_DD_BLOOD_LEAK_ZERO_REQUEST = 0xA04E # DD blood leak zero request + MSG_ID_DD_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST = 0xA04F # DD filtered conductivity sensor reading override request + MSG_ID_DD_FILTERED_COND_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xA050 # DD filtered conductivity sensor temperature override request + MSG_ID_DD_VOLTAGE_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA051 # DD monitored voltage data publish interval override request + MSG_ID_DD_MONITORED_VOLTAGE_OVERRIDE_REQUEST = 0xA052 # DD monitored voltage override request + MSG_ID_DD_RINSE_PUMP_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA053 # DD rinse pump broadcast data override request + MSG_ID_DD_RINSE_PUMP_PWM_PERCENT_OVERRIDE_REQUEST = 0xA054 # DD rinse pump PWM percent override request + MSG_ID_DD_RINSE_PUMP_TURN_ON_OFF_REQUEST = 0xA055 # DD rinse pump turn on/off request + MSG_ID_DD_DRY_BICART_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA056 # DD dry bicart broadcast data overrride request + MSG_ID_DD_DRY_BICART_FILL_CYCLE_MAX_OVERRIDE_REQUEST = 0xA057 # DD dry bicart fill cycle max count overrride request + MSG_ID_DD_DRY_BICART_FILL_REQUEST_OVERRIDE_REQUEST = 0xA058 # DD dry bicart fill request overrride request + MSG_ID_DD_BICARB_CHAMBER_FILL_REQUEST_OVERRIDE_REQUEST = 0xA059 # DD bicarb chamber fill request overrride request + MSG_ID_DD_BICART_DRAIN_REQUEST_OVERRIDE_REQUEST = 0xA05A # DD bicarb drain request overrride request + MSG_ID_DD_BICART_CARTRIDGE_SELECT_OVERRIDE_REQUEST = 0xA05B # DD bicarb cartridge select(small-0, large-1) overrride request + MSG_ID_DD_SET_CONDUCTIVITY_MODEL_REQUEST = 0xA05C # DD set conductivity model to conductivity sensors ( also applies to FP conductivity sensors ) + MSG_ID_DD_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST = 0xA05D # DD conductivity sensor resistance override request + MSG_ID_DD_CONDUCTIVITY_SENSOR_VERSION_REQUEST = 0xA05E # DD conductivity sensor version request + MSG_ID_DD_CONDUCTIVITY_SENSOR_VERSION_RESPONSE = 0xA05F # DD conductivity sensor version response + MSG_ID_DD_BICARB_MIX_VOL_KP_GAIN_COEFF_OVERRIDE_REQUEST = 0xA060 # DD bicarb mix volume control kp gain + MSG_ID_DD_BICARB_MIX_VOL_KI_GAIN_COEFF_OVERRIDE_REQUEST = 0xA061 # DD bicarb mix volume control ki gain + MSG_ID_DD_ACID_MIX_VOL_KP_GAIN_COEFF_OVERRIDE_REQUEST = 0xA062 # DD acid mix volume control kp gain + MSG_ID_DD_ACID_MIX_VOL_KI_GAIN_COEFF_OVERRIDE_REQUEST = 0xA063 # DD acid mix volume control kp gain + MSG_ID_DD_ACID_MIX_VOL_OVERRIDE_REQUEST = 0xA064 # DD acid mix volume override + MSG_ID_DD_BICARB_MIX_VOL_OVERRIDE_REQUEST = 0xA065 # DD bicarb mix volume override + MSG_ID_DD_BICARB_TARGET_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA066 # DD bicarb target conductivity override + MSG_ID_DD_BICARB_DELTA_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA067 # DD bicarb delta target conductivity override + MSG_ID_DD_DIALYSATE_TARGET_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA068 # DD Dialysate target conductivity override + MSG_ID_DD_DIALYSATE_DELTA_CONDUCTIVITY_OVERRIDE_REQUEST = 0xA069 # DD Dialysate delta target conductivity override + MSG_ID_DD_BICART_UPPER_PRESSURE_OVERRIDE_REQUEST = 0xA06A # DD bicarb cartridge upper threshold pressure override + MSG_ID_DD_BICART_LOWER_PRESSURE_OVERRIDE_REQUEST = 0xA06B # DD bicarb cartridge lower threshold pressure override + MSG_ID_DD_FLOATER_LEVEL_OVERRIDE_REQUEST = 0xA06C # DD override request for D6 floater level override + MSG_ID_DD_SUBSTITUTION_PUMP_START_STOP_OVERRIDE_REQUEST = 0xA06D # DD substitution pump start stop override request + MSG_ID_DD_SUBSTITUTION_PUMP_BROADCAST_INTERVAL_OVERRIDE_REQUEST = 0xA06E # DD substitution pump broadcast override request + MSG_ID_DD_SUBSTITUTION_PUMP_TARGET_RATE_OVERRIDE_REQUEST = 0xA06F # DD substitution pump target speed override request. + MSG_ID_DD_CONDUCTIVITY_SENSOR_CAL_REQUEST = 0xA070 # DD conductivity sensor cal request + MSG_ID_DD_CONDUCTIVITY_SENSOR_CAL_RESPONSE = 0xA071 # DD conductivity sensor cal response + MSG_ID_DD_MIXING_CONTROL_DATA = 0xA072 # DD mixing control publish data + MSG_ID_DD_MIXING_CONTROL_DATA_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA073 # DD DD mixing control broadcast data overrride request + MSG_ID_DD_BICART_DEPRESSURISE_REQUEST_OVERRIDE_REQUEST = 0xA074 # DD dry bicart depressurise overrride request + MSG_ID_DD_TREATMENT_PARAMS_OVERRIDE_REQUEST = 0xA075 # DD Treatment parameters override request + MSG_ID_DD_NVM_RECORD_CRC_OVERRIDE_REQUEST = 0xA076 # DD NVM Record CRC override Request - # Placeholder messages - MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 - MSG_ID_DD_STOP_GEN_DIALYSATE_MODE_OVERRIDE_REQUEST = 0xAF04 + MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 # DD alarm state override request + MSG_ID_DD_STOP_GEN_DIALYSATE_MODE_OVERRIDE_REQUEST = 0xAF04 # DD stop general dialysate mode override request - MSG_ID_FP_TESTER_LOGIN_REQUEST = 0xB000 - MSG_ID_FP_SOFTWARE_RESET_REQUEST = 0xB001 - MSG_ID_FP_SEND_TEST_CONFIGURATION = 0xB002 - MSG_ID_FP_VALVE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB003 - MSG_ID_FP_VALVE_CMD_STATE_OVERRIDE_REQUEST = 0xB004 - MSG_ID_FP_VALVE_SENSED_STATE_OVERRIDE_REQUEST = 0xB005 - MSG_ID_FP_FLUID_PUMP_SET_PWM_REQUEST = 0xB006 - MSG_ID_FP_FLUID_PUMP_READ_PWM_OVERRIDE_REQUEST = 0xB007 - MSG_ID_FP_FLUID_PUMP_SPEED_OVERRIDE_REQUEST = 0xB008 - MSG_ID_FP_RO_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB009 - MSG_ID_FP_PRESSURE_OVERRIDE_REQUEST = 0xB00A - MSG_ID_FP_PRESSURE_TEMP_OVERRIDE_REQUEST = 0xB00B - MSG_ID_FP_PRESSURE_SENSOR_FILTER_READINGS_OVERRIDE_REQUEST = 0xB00C - MSG_ID_FP_PRESSURE_SENSOR_FILTER_TEMPERATURE_OVERRIDE_REQUEST = 0xB00D - MSG_ID_FP_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB00E - MSG_ID_FP_LEVEL_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB00F - MSG_ID_FP_LEVEL_OVERRIDE_REQUEST = 0xB010 - MSG_ID_FP_FLOWS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB011 - MSG_ID_FP_FLOW_RATE_OVERRIDE_REQUEST = 0xB012 - MSG_ID_FP_FLOW_TEMP_OVERRIDE_REQUEST = 0xB013 - MSG_ID_FP_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB014 - MSG_ID_FP_CONDUCTIVITY_OVERRIDE_REQUEST = 0xB015 - MSG_ID_FP_CONDUCTIVITY_TEMP_OVERRIDE_REQUEST = 0xB016 - MSG_ID_FP_CONDUCTIVITY_READ_COUNT_OVERRIDE_REQUEST = 0xB017 - MSG_ID_FP_CONDUCTIVITY_ERROR_COUNT_OVERRIDE_REQUEST = 0xB018 - MSG_ID_FP_TEMPERATURE_OVERRIDE_REQUEST = 0xB019 - MSG_ID_FP_FILTERED_FLOW_RATE_OVERRIDE_REQUEST = 0xB01A - MSG_ID_FP_FILTERED_FLOW_TEMP_OVERRIDE_REQUEST = 0xB01B - MSG_ID_FP_PRE_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB01C - MSG_ID_FP_SET_OP_MODE_REQUEST = 0xB01D - MSG_ID_FP_OPERATION_MODE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB01E - MSG_ID_FP_TEMPERATURE_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB01F - MSG_ID_FP_RO_PUMP_TARGET_PRESSURE_OVERRIDE_REQUEST = 0xB020 - MSG_ID_FP_RO_PUMP_TARGET_FLOW_OVERRIDE_REQUEST = 0xB021 - MSG_ID_FP_RO_PUMP_TARGET_PWM_OVERRIDE_REQUEST = 0xB022 - MSG_ID_FP_BOOST_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB023 - MSG_ID_FP_BOOST_PUMP_TARGET_PRESSURE_OVERRIDE_REQUEST = 0xB024 - MSG_ID_FP_BOOST_PUMP_TARGET_FLOW_OVERRIDE_REQUEST = 0xB025 - MSG_ID_FP_BOOST_PUMP_TARGET_PWM_OVERRIDE_REQUEST = 0xB026 - MSG_ID_FP_BOOST_PUMP_STOP_REQUEST = 0xB027 - MSG_ID_FP_RO_PUMP_STOP_REQUEST = 0xB028 - MSG_ID_FP_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0xB029 - MSG_ID_FP_PERMEATE_TANK_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB02A - MSG_ID_FP_ALARM_STATE_OVERRIDE_REQUEST = 0xB02B - MSG_ID_FP_ALARM_CLEAR_ALL_ALARMS_REQUEST = 0xB02C - MSG_ID_FP_SET_TEST_CONFIGURATION = 0xB02D - MSG_ID_FP_GET_TEST_CONFIGURATION = 0xB02E - MSG_ID_FP_RESET_ALL_TEST_CONFIGURATIONS = 0xB02F - MSG_ID_FP_INLET_PRES_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB030 - MSG_ID_FP_INLET_PRES_CHECK_TIME_OVERRIDE_REQUEST = 0xB031 - MSG_ID_FP_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST = 0xB032 - MSG_ID_FP_FILTERED_COND_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xB033 - MSG_ID_FP_SET_START_STOP_OVERRIDE_REQUEST = 0xB034 - MSG_ID_FP_RO_REJECTION_RATIO_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB035 - MSG_ID_FP_RO_FILTERED_REJECTION_RATIO_OVERRIDE_REQUEST = 0xB036 - MSG_ID_FP_RO_GET_CALCULATED_DUTY_CYCLE_REQUEST = 0xB037 - MSG_ID_FP_RO_CALCULATED_DUTY_CYCLE_RESPONSE = 0xB038 - MSG_ID_FP_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB039 - MSG_ID_FP_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST = 0xB03A - MSG_ID_FP_FLUSH_PERMEATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB03B - MSG_ID_FP_FLUSH_PERMEATE_TIMER_OVERRIDE_REQUEST = 0xB03C - MSG_ID_FP_FLUSH_PERMEATE_ALARM_TIMER_OVERRIDE_REQUEST = 0xB03D - MSG_ID_FP_FLUSH_CONCENTRATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB03E - MSG_ID_FP_FLUSH_CONCENTRATE_TIMER_OVERRIDE_REQUEST = 0xB03F - MSG_ID_FP_DEF_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB040 - MSG_ID_FP_DEF_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST = 0xB041 - MSG_ID_FP_DEF_PRE_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB042 - MSG_ID_FP_DEF_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB043 - MSG_ID_FP_DEF_STATUS_REQUEST = 0xB044 - MSG_ID_FP_DEF_STATUS_RESPONSE = 0xB045 - MSG_ID_FP_SET_OPERATION_SUB_MODE_REQUEST = 0xB046 - MSG_ID_FP_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST = 0xB047 - MSG_ID_FP_SET_RECOVERY_VALVES_REQUEST = 0xB048 - MSG_ID_FP_BOOST_PUMP_INSTALL_STATUS_REQUEST = 0xB049 - MSG_ID_FP_BOOST_PUMP_INSTALL_STATUS_RESPONSE = 0xB04A - MSG_ID_FP_CONDUCTIVITY_SENSOR_VERSION_REQUEST = 0xB04B - MSG_ID_FP_CONDUCTIVITY_SENSOR_VERSION_RESPONSE = 0xB04C - MSG_ID_FP_CONDUCTIVITY_SENSOR_CAL_REQUEST = 0xB04D - MSG_ID_FP_CONDUCTIVITY_SENSOR_CAL_RESPONSE = 0xB04E + MSG_ID_FP_TESTER_LOGIN_REQUEST = 0xB000 # FP tester log-in + MSG_ID_FP_SOFTWARE_RESET_REQUEST = 0xB001 # FP reset request + MSG_ID_FP_SEND_TEST_CONFIGURATION = 0xB002 # FP send test configuration to Dialin + MSG_ID_FP_VALVE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB003 # FP valve data publish interval override request + MSG_ID_FP_VALVE_CMD_STATE_OVERRIDE_REQUEST = 0xB004 # FP valve commanded state override request + MSG_ID_FP_VALVE_SENSED_STATE_OVERRIDE_REQUEST = 0xB005 # FP valve sensed state override request + MSG_ID_FP_FLUID_PUMP_SET_PWM_REQUEST = 0xB006 # FP set boost pump PWM request + MSG_ID_FP_FLUID_PUMP_READ_PWM_OVERRIDE_REQUEST = 0xB007 # FP override request for boost pump read PWM + MSG_ID_FP_FLUID_PUMP_SPEED_OVERRIDE_REQUEST = 0xB008 # FP override request for boost pump speed (RPM) + MSG_ID_FP_RO_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB009 # FP boost pumps data publish interval override request + MSG_ID_FP_PRESSURE_OVERRIDE_REQUEST = 0xB00A # FP override request for pressure (mmHg) + MSG_ID_FP_PRESSURE_TEMP_OVERRIDE_REQUEST = 0xB00B # FP override request for pressure sensor temperature (deg C) + MSG_ID_FP_PRESSURE_SENSOR_FILTER_READINGS_OVERRIDE_REQUEST = 0xB00C # FP pressure sensor filter readings override request + MSG_ID_FP_PRESSURE_SENSOR_FILTER_TEMPERATURE_OVERRIDE_REQUEST = 0xB00D # FP pressure sensor filter temperature override request + MSG_ID_FP_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB00E # FP pressures data publish interval override request + MSG_ID_FP_LEVEL_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB00F # FP level data publish interval override request + MSG_ID_FP_FLOATER_LEVEL_OVERRIDE_REQUEST = 0xB010 # FP override request for P25 floater level sensor. + MSG_ID_FP_FLOWS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB011 # FP flows data publish interval override request + MSG_ID_FP_FLOW_RATE_OVERRIDE_REQUEST = 0xB012 # FP override request for flow rate (mL/min) + MSG_ID_FP_FLOW_TEMP_OVERRIDE_REQUEST = 0xB013 # FP override request for flow temperature (deg C) + MSG_ID_FP_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB014 # FP conductivity data publish interval override request + MSG_ID_FP_CONDUCTIVITY_SENSOR_READINGS_OVERRIDE_REQUEST = 0xB015 # FP conductivity override request + MSG_ID_FP_CONDUCTIVITY_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xB016 # FP conductivity sensor temperature override request + MSG_ID_FP_CONDUCTIVITY_SENSOR_CONDUCTIVITY_READ_COUNT_OVERRIDE_REQUEST = 0xB017 # FP conductivity sensor read count override request + MSG_ID_FP_CONDUCTIVITY_SENSOR_CONDUCTIVITY_ERROR_COUNT_OVERRIDE_REQUEST = 0xB018 # FP conductivity sensor error count override request + MSG_ID_FP_TEMPERATURE_OVERRIDE_REQUEST = 0xB019 # FP temperature override request + MSG_ID_FP_FILTERED_FLOW_RATE_OVERRIDE_REQUEST = 0xB01A # FP override request for filtered flow rate (mL/min) + MSG_ID_FP_FILTERED_FLOW_TEMP_OVERRIDE_REQUEST = 0xB01B # FP override request for filtered flow temperature (deg C) + MSG_ID_FP_PRE_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB01C # FP pre generation data publish interval override request + MSG_ID_FP_SET_OPERATION_MODE_REQUEST = 0xB01D # FP set operation mode request + MSG_ID_FP_OPERATION_MODE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB01E # FP operation mode publish interval override + MSG_ID_FP_TEMPERATURE_SENSOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB01F # FP temperature sensor publish interval override + MSG_ID_FP_RO_PUMP_TARGET_PRESSURE_OVERRIDE_REQUEST = 0xB020 # FP RO Pump Target Pressure override request + MSG_ID_FP_RO_PUMP_TARGET_FLOW_OVERRIDE_REQUEST = 0xB021 # FP RO Pump Target Flow override request + MSG_ID_FP_RO_PUMP_TARGET_PWM_OVERRIDE_REQUEST = 0xB022 # FP RO Pump Target PWM override request + MSG_ID_FP_BOOST_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB023 # FP Boost Pump Target data publish interval override request + MSG_ID_FP_BOOST_PUMP_TARGET_PRESSURE_OVERRIDE_REQUEST = 0xB024 # FP Boost Pump Target Pressure override request + MSG_ID_FP_BOOST_PUMP_TARGET_FLOW_OVERRIDE_REQUEST = 0xB025 # FP Boost Pump Target Flow override request + MSG_ID_FP_BOOST_PUMP_TARGET_PWM_OVERRIDE_REQUEST = 0xB026 # FP RO Pump Target PWM override request + MSG_ID_FP_BOOST_PUMP_STOP_REQUEST = 0xB027 # FP Boost Pump Stop request + MSG_ID_FP_RO_PUMP_STOP_REQUEST = 0xB028 # FP RO Pump Stop request + MSG_ID_FP_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0xB029 # FP Safety Shutdown override request + MSG_ID_FP_PERMEATE_TANK_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB02A # FP Permeate Tank data publish interval override request + MSG_ID_FP_ALARM_STATE_OVERRIDE_REQUEST = 0xB02B # FP Alarm State override request + MSG_ID_FP_ALARM_CLEAR_ALL_ALARMS_REQUEST = 0xB02C # FP alarm clear request + MSG_ID_FP_SET_TEST_CONFIGURATION = 0xB02D # FP set test configuration + MSG_ID_FP_GET_TEST_CONFIGURATION = 0xB02E # FP get test configuration + MSG_ID_FP_RESET_ALL_TEST_CONFIGURATIONS = 0xB02F # FP reset all the configurations + MSG_ID_FP_INLET_PRES_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB030 # FP inlet pressure check data publish interval override request + MSG_ID_FP_INLET_PRES_CHECK_TIME_OVERRIDE_REQUEST = 0xB031 # FP inlet pressure check time override request + MSG_ID_FP_FILTERED_COND_SENSOR_READINGS_OVERRIDE_REQUEST = 0xB032 # FP filtered conductivity sensor reading override request + MSG_ID_FP_FILTERED_COND_SENSOR_TEMPERATURE_OVERRIDE_REQUEST = 0xB033 # FP filtered conductivity sensor temperature override request + MSG_ID_FP_SET_START_STOP_OVERRIDE_REQUEST = 0xB034 # FP set start stop signal for generate permeate + MSG_ID_FP_RO_REJECTION_RATIO_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB035 # FP RO rejection ratio data publish interval override request + MSG_ID_FP_RO_FILTERED_REJECTION_RATIO_OVERRIDE_REQUEST = 0xB036 # FP override request for filtered all time RO rejection value + MSG_ID_FP_RO_GET_CALCULATED_DUTY_CYCLE_REQUEST = 0xB037 # FP Request for calculated RO duty cycle + MSG_ID_FP_RO_CALCULATED_DUTY_CYCLE_RESPONSE = 0xB038 # DD send calculated duty cycle to Dialin + MSG_ID_FP_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB039 # FP filter flush data publish interval override request + MSG_ID_FP_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST = 0xB03A # FP filter flush time override request + MSG_ID_FP_FLUSH_PERMEATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB03B # FP permeate flush data publish interval override request + MSG_ID_FP_FLUSH_PERMEATE_TIMER_OVERRIDE_REQUEST = 0xB03C # FP permeate flush timer override request + MSG_ID_FP_FLUSH_PERMEATE_ALARM_TIMER_OVERRIDE_REQUEST = 0xB03D # FP permeate alarm timer override request + MSG_ID_FP_FLUSH_CONCENTRATE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB03E # FP flush concentrate data publish interval override request + MSG_ID_FP_FLUSH_CONCENTRATE_TIMER_OVERRIDE_REQUEST = 0xB03F # FP flush concentrate timer override request + MSG_ID_FP_DEF_FLUSH_FILTER_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB040 # FP defeatured filter flush data publish interval override request + MSG_ID_FP_DEF_FLUSH_FILTER_TIMER_OVERRIDE_REQUEST = 0xB041 # FP defeatured filter flush time override request + MSG_ID_FP_DEF_PRE_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB042 # FP defeatured pre generation data publish interval override request + MSG_ID_FP_DEF_GEN_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xB043 # FP defeatured generation data publish interval override request + MSG_ID_FP_DEF_STATUS_REQUEST = 0xB044 # FP request for defatured status from Dialin + MSG_ID_FP_DEF_STATUS_RESPONSE = 0xB045 # FP response for defatured status to Dialin + MSG_ID_FP_SET_OPERATION_SUB_MODE_REQUEST = 0xB046 # FP set operation sub mode request + MSG_ID_FP_CONDUCTIVITY_SENSOR_RESISTANCE_OVERRIDE_REQUEST = 0xB047 # FP conductivity sensor resistance override request + MSG_ID_FP_SET_RECOVERY_VALVES_REQUEST = 0xB048 # FP request to set recovery valve setting + MSG_ID_FP_BOOST_PUMP_INSTALL_STATUS_REQUEST = 0xB049 # FP request for boost pump installation status from Dialin + MSG_ID_FP_BOOST_PUMP_INSTALL_STATUS_RESPONSE = 0xB04A # FP response for boost pump installation status to Dialin + MSG_ID_FP_CONDUCTIVITY_SENSOR_VERSION_REQUEST = 0xB04B # FP conductivity sensor version request + MSG_ID_FP_CONDUCTIVITY_SENSOR_VERSION_RESPONSE = 0xB04C # FP conductivity sensor version response + MSG_ID_FP_CONDUCTIVITY_SENSOR_CAL_REQUEST = 0xB04D # FP conductivity sensor cal request + MSG_ID_FP_CONDUCTIVITY_SENSOR_CAL_RESPONSE = 0xB04E # FP conductivity sensor cal response - MSG_ID_TD_DEBUG_EVENT = 0xFFF1 - MSG_ID_DD_DEBUG_EVENT = 0xFFF2 - MSG_ID_FP_DEBUG_EVENT = 0xFFF3 + MSG_ID_TD_DEBUG_EVENT = 0xFFF1 # TD debug event text to be logged in event log + MSG_ID_DD_DEBUG_EVENT = 0xFFF2 # DD debug event text to be logged in event log + MSG_ID_FP_DEBUG_EVENT = 0xFFF3 # FP debug event text to be logged in event log + MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK = 0xFFFF # Acknowledgment of message that requires acknowledgment + END_OF_MSG_IDS = 0x10000 # End of system message IDs - MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK = 0xFFFF -MsgIds._str_list = {} +MsgIds._str_list = { } Index: leahi_dialin/common/td_defs.py =================================================================== diff -u -r67f759670b9e987f698b58bf7c969e0fa8c78fec -r95205b22fbcf8ce097fd7dba0a34156e5f9008a5 --- leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 67f759670b9e987f698b58bf7c969e0fa8c78fec) +++ leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 95205b22fbcf8ce097fd7dba0a34156e5f9008a5) @@ -14,9 +14,13 @@ # ############################################################################ +# Module import from enum import unique -from ..utils.enums import DialinEnum +# Project import +from leahi_dialin.common.dd_defs import DDInstitutionalRecordBasicFields +from leahi_dialin.common.generic_defs import DataTypes, RecordsBaseEnum +from leahi_dialin.utils.enums import DialinEnum # ================================================== Enum Creators: Operations Lvl 1 ================================================== @@ -78,165 +82,161 @@ # TDOpModes.MODE_INIT sub states @unique class TDInitStates(DialinEnum): - POST_STATE_START = 0 # Start initialize & POST mode state - POST_STATE_FW_INTEGRITY = 1 # Run firmware integrity test state - POST_STATE_NVDATAMGMT = 2 # Run NV Data Mgmt. test state - POST_STATE_WATCHDOG = 3 # Run watchdog test state - POST_STATE_SAFETY_SHUTDOWN = 4 # Run safety shutdown test state - POST_STATE_BLOOD_FLOW = 5 # Run blood flow test state - POST_STATE_VALVES = 6 # Run valves test state - POST_STATE_SYRINGE_PUMP = 7 # Run syringe pump test state - POST_STATE_PRES_OCCL = 8 # Run pressure occlusion state - POST_STATE_ALARM_AUDIO = 9 # Run alarm audio test state - POST_STATE_ALARM_LAMP = 10 # Run alarm lamp test state - POST_STATE_TEMPERATURES = 11 # Run temperatures POST state - POST_STATE_FANS = 12 # Run fans POST state - POST_STATE_STUCK_BUTTON = 13 # Run stuck button test state - POST_STATE_UI_POST = 14 # Check whether UI passed its POST tests - POST_STATE_FW_COMPATIBILITY = 15 # Run firmware compatibility test state - POST_STATE_FPGA = 16 # Run FPGA test state - POST_STATE_COMPLETED = 17 # POST self-tests completed state - POST_STATE_FAILED = 18 # POST self-tests failed state - NUM_OF_POST_STATES = 19 # Number of initialize & POST mode states + START = 0 # Start initialize & POST mode state + FW_INTEGRITY = 1 # Run firmware integrity test state + NVDATAMGMT = 2 # Run NV Data Mgmt. test state + WATCHDOG = 3 # Run watchdog test state + SAFETY_SHUTDOWN = 4 # Run safety shutdown test state + BLOOD_FLOW = 5 # Run blood flow test state + VALVES = 6 # Run valves test state + SYRINGE_PUMP = 7 # Run syringe pump test state + PRES_OCCL = 8 # Run pressure occlusion state + ALARM_AUDIO = 9 # Run alarm audio test state + ALARM_LAMP = 10 # Run alarm lamp test state + TEMPERATURES = 11 # Run temperatures POST state + FANS = 12 # Run fans POST state + STUCK_BUTTON = 13 # Run stuck button test state + UI_POST = 14 # Check whether UI passed its POST tests + FW_COMPATIBILITY = 15 # Run firmware compatibility test state + FPGA = 16 # Run FPGA test state + COMPLETED = 17 # POST self-tests completed state + FAILED = 18 # POST self-tests failed state + NUM_OF_POST_STATES = 19 # Number of initialize & POST mode states TDInitStates._str_list = { # Official Name : Accepted strings - 'POST_STATE_START': ['start'], - 'POST_STATE_FW_INTEGRITY': ['fw integrity'], - 'POST_STATE_NVDATAMGMT': ['nv data management', 'data management'], - 'POST_STATE_WATCHDOG': ['watchdog'], - 'POST_STATE_SAFETY_SHUTDOWN': ['safety shutdown'], - 'POST_STATE_BLOOD_FLOW': ['blood flow', 'blood flow test'], - 'POST_STATE_VALVES': ['valves', 'valves test'], - 'POST_STATE_SYRINGE_PUMP': ['syringe pump', 'syringe pump test', 'heparin test'], - 'POST_STATE_PRES_OCCL': ['pressure', 'pressure occlusion', 'pres occl'], - 'POST_STATE_ALARM_AUDIO': ['alarm audio', 'alarm audio test'], - 'POST_STATE_ALARM_LAMP': ['alarm lamp', 'alarm lamp test'], - 'POST_STATE_TEMPERATURES': ['temperatures'], - 'POST_STATE_FANS': ['fans'], - 'POST_STATE_STUCK_BUTTON': ['button', 'button stuck', 'stuck button test'], - 'POST_STATE_UI_POST': ['ui post'], - 'POST_STATE_FW_COMPATIBILITY': ['fw compatibility'], - 'POST_STATE_FPGA': ['fpga'], - 'POST_STATE_COMPLETED': ['completed'], - 'POST_STATE_FAILED': ['failed'], + 'START': ['start'], + 'FW_INTEGRITY': ['fw integrity'], + 'NVDATAMGMT': ['nv data management', 'data management'], + 'WATCHDOG': ['watchdog'], + 'SAFETY_SHUTDOWN': ['safety shutdown'], + 'BLOOD_FLOW': ['blood flow', 'blood flow test'], + 'VALVES': ['valves', 'valves test'], + 'SYRINGE_PUMP': ['syringe pump', 'syringe pump test', 'heparin test'], + 'PRES_OCCL': ['pressure', 'pressure occlusion', 'pres occl'], + 'ALARM_AUDIO': ['alarm audio', 'alarm audio test'], + 'ALARM_LAMP': ['alarm lamp', 'alarm lamp test'], + 'TEMPERATURES': ['temperatures'], + 'FANS': ['fans'], + 'STUCK_BUTTON': ['button', 'button stuck', 'stuck button test'], + 'UI_POST': ['ui post'], + 'FW_COMPATIBILITY': ['fw compatibility'], + 'FPGA': ['fpga'], + 'COMPLETED': ['completed'], + 'FAILED': ['failed'], 'NUM_OF_POST_STATES': [], } # TDOpModes.MODE_STAN sub states @unique 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. - STANDBY_WAIT_FOR_DG_CLEANING_MODE_CMD_RESPONSE_STATE = 3 # Wait for DG cleaning mode command response state. - STANDBY_WAIT_FOR_DG_CLEANING_MODE_TO_START_STATE = 4 # Wait for DG cleaning mode to start state. - STANDBY_CLEANING_MODE_IN_PROGRESS_STATE = 5 # Cleaning mode in progress state. - NUM_OF_STANDBY_STATES = 6 # Number of standby states (sub-modes). + START_STATE = 0 # Start standby (home actuators). + WAIT_FOR_TREATMENT_STATE = 1 # Wait for treatment. + WAIT_FOR_DISINFECT_STATE = 2 # Wait for UI to send disinfect option. + WAIT_FOR_DG_CLEANING_MODE_CMD_RESPONSE_STATE = 3 # Wait for DG cleaning mode command response state. + WAIT_FOR_DG_CLEANING_MODE_TO_START_STATE = 4 # Wait for DG cleaning mode to start state. + CLEANING_MODE_IN_PROGRESS_STATE = 5 # Cleaning mode in progress state. + NUM_OF_STANDBY_STATES = 6 # Number of standby states (sub-modes). TDStandbyStates._str_list = { # Official Name : Accepted strings - 'STANDBY_START_STATE': ['start'], - 'STANDBY_WAIT_FOR_TREATMENT_STATE': ['wait for treatment'], - 'STANDBY_WAIT_FOR_DISINFECT_STATE': ['wait for disinfect', 'wait for heat disinfect'], - 'STANDBY_WAIT_FOR_DG_CLEANING_MODE_CMD_RESPONSE_STATE': ['wait for cleaning command response'], - 'STANDBY_WAIT_FOR_DG_CLEANING_MODE_TO_START_STATE': ['wait for cleaning to start'], - 'STANDBY_CLEANING_MODE_IN_PROGRESS_STATE': ['cleaning mode in progress', 'cleaning in progress'], + 'START_STATE': ['start'], + 'WAIT_FOR_TREATMENT_STATE': ['wait for treatment'], + 'WAIT_FOR_DISINFECT_STATE': ['wait for disinfect', 'wait for heat disinfect'], + 'WAIT_FOR_DG_CLEANING_MODE_CMD_RESPONSE_STATE': ['wait for cleaning command response'], + 'WAIT_FOR_DG_CLEANING_MODE_TO_START_STATE': ['wait for cleaning to start'], + 'CLEANING_MODE_IN_PROGRESS_STATE': ['cleaning mode in progress', 'cleaning in progress'], 'NUM_OF_STANDBY_STATES': [], } # TDOpModes.MODE_TPAR sub states @unique class TDTreatmentParamStates(DialinEnum): - 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 + WAIT_4_UI_2_SEND = 0 # Wait for UI to send 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 TDTreatmentParamStates._str_list = { # Official Name : Accepted strings - 'TD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND': ['send'], - 'TD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM': ['confirm'], + 'WAIT_4_UI_2_SEND': ['send'], + 'WAIT_4_UI_2_CONFIRM': ['confirm'], 'NUM_OF_TD_TREATMENT_PARAMS_MODE_STATES': [], } # TDOpModes.MODE_PRET sub states @unique class TDPreTreatmentModesStates(DialinEnum): - 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_CONFIRM_RX_STATE = 7 # User reviews and confirms prescription ( Confirm Rx ) - TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 8 # Patient connection state - NUM_OF_TD_PRE_TREATMENT_STATES = 9 # Number of pre-treatment mode states + TUBING_SET_INSTALL_STATE = 0 # Tube set install state + SELF_TEST_DRY_STATE = 1 # Self-tests when the cartridge is dry state + PRIME_STATE = 2 # Prime blood and dialysate circuits and run wet self-tests state + RECIRCULATE_STATE = 3 # Re-circulate blood and dialysate circuits state + CONFIRM_RX_STATE = 4 # User reviews and confirms prescription ( Confirm Rx ) + HEPARIN_SETUP_STATE = 5 # Heparin setup state + PATIENT_CONNECTION_STATE = 6 # Patient connection state + NUM_OF_TD_PRE_TREATMENT_STATES = 7 # Number of pre-treatment mode states TDPreTreatmentModesStates._str_list = { # Official Name : Accepted strings - 'TD_PRE_TREATMENT_WATER_SAMPLE_STATE': ['water sample'], - 'TD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE': ['self test consumable'], - 'TD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE': ['self test no cartridge'], - 'TD_PRE_TREATMENT_CART_INSTALL_STATE': ['cartridge install'], - 'TD_PRE_TREATMENT_SELF_TEST_DRY_STATE': ['self test dry', 'dry self test'], - 'TD_PRE_TREATMENT_PRIME_STATE': ['prime', 'blood priming', 'priming'], - 'TD_PRE_TREATMENT_RECIRCULATE_STATE': ['recirculate'], - 'TD_PRE_TREATMENT_CONFIRM_RX_STATE': ['confirm rx', 'rx'], - 'TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE': ['patient connect'], + 'TUBING_SET_INSTALL_STATE': ['tubing set install', 'cartridge install'], + 'SELF_TEST_DRY_STATE': ['self test dry', 'dry self test'], + 'PRIME_STATE': ['prime', 'blood priming', 'priming'], + 'RECIRCULATE_STATE': ['recirculate'], + 'CONFIRM_RX_STATE': ['confirm rx', 'rx'], + 'HEPARIN_SETUP_STATE': ['heparin setup'], + 'PATIENT_CONNECTION_STATE': ['patient connect'], 'NUM_OF_TD_PRE_TREATMENT_STATES': [], } # TDOpModes.MODE_TREA sub states @unique class TDTreatmentStates(DialinEnum): - 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 UF as prescribed. - TREATMENT_PAUSED_STATE = 3 # Treatment paused. 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 - TREATMENT_ISO_UF_STATE = 7 # Isolated ultrafiltration. No dialysate flow. Ultrafiltration only. - TREATMENT_SALINE_BOLUS_STATE = 8 # Deliver a saline bolus. Blood pump draws from saline bag. Dialyzer bypassed. - TREATMENT_DIALYSATE_PAUSED_STATE = 9 # No dialysate flow. Dialyzer bypassed. - NUM_OF_TREATMENT_STATES = 10 # Number of treatment states (sub-modes) + START_STATE = 0 # Start treatment - initialize treatment and go to blood prime state + 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. + DIALYSIS_STATE = 2 # Perform dialysis. Deliver UF as prescribed. + PAUSED_STATE = 3 # Treatment paused. All pumps off. Dializer bypassed + RINSEBACK_STATE = 4 # Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating + RECIRC_STATE = 5 # Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed + END_STATE = 6 # Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback + ISO_UF_STATE = 7 # Isolated ultrafiltration. No dialysate flow. Ultrafiltration only. + SALINE_BOLUS_STATE = 8 # Deliver a saline bolus. Blood pump draws from saline bag. Dialyzer bypassed. + DIALYSATE_PAUSED_STATE = 9 # No dialysate flow. Dialyzer bypassed. + NUM_OF_TREATMENT_STATES = 10 # Number of treatment states (sub-modes) TDTreatmentStates._str_list = { # Official Name : Accepted strings - 'TREATMENT_START_STATE': ['start'], - 'TREATMENT_BLOOD_PRIME_STATE': ['blood prime', 'priming'], - 'TREATMENT_DIALYSIS_STATE': ['dialysis'], - 'TREATMENT_PAUSED_STATE': ['paused'], - 'TREATMENT_RINSEBACK_STATE': ['rinseback'], - 'TREATMENT_RECIRC_STATE': ['recirc', 'recirculate'], - 'TREATMENT_END_STATE': ['end'], - 'TREATMENT_ISO_UF_STATE': ['iso uf', 'isolated uf', 'isolated ultrafiltration'], - 'TREATMENT_SALINE_BOLUS_STATE': ['saline bolus', 'deliver saline bolus'], - 'TREATMENT_DIALYSATE_PAUSED_STATE': ['dialysate paused'], + 'START_STATE': ['start'], + 'BLOOD_PRIME_STATE': ['blood prime', 'priming'], + 'DIALYSIS_STATE': ['dialysis'], + 'PAUSED_STATE': ['paused'], + 'RINSEBACK_STATE': ['rinseback'], + 'RECIRC_STATE': ['recirc', 'recirculate'], + 'END_STATE': ['end'], + 'ISO_UF_STATE': ['iso uf', 'isolated uf', 'isolated ultrafiltration'], + 'SALINE_BOLUS_STATE': ['saline bolus', 'deliver saline bolus'], + 'DIALYSATE_PAUSED_STATE': ['dialysate paused'], 'NUM_OF_TREATMENT_STATES': [], } # TDOpModes.MODE_POST sub states @unique class TDPostTreatmentStates(DialinEnum): - 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 + DRAIN_RESERVOIRS_STATE = 0 # Drain reservoirs state + PATIENT_DISCONNECTION_STATE = 1 # Patient disconnection state + DISPOSABLE_REMOVAL_STATE = 2 # Disposable removal state + 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 TDPostTreatmentStates._str_list = { # Official Name : Accepted strings - 'TD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE': ['drain reservoirs'], - 'TD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE': ['patient disconnect'], - 'TD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE': ['disposable removal'], - 'TD_POST_TREATMENT_VERIFY_STATE': ['verify'], + 'DRAIN_RESERVOIRS_STATE': ['drain reservoirs'], + 'PATIENT_DISCONNECTION_STATE': ['patient disconnect'], + 'DISPOSABLE_REMOVAL_STATE': ['disposable removal'], + 'VERIFY_STATE': ['verify'], 'NUM_OF_TD_POST_TREATMENT_STATES': [], } @@ -254,158 +254,158 @@ # ================================================== Enum Creators: Operations Lvl 3 ================================================== -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_WATER_SAMPLE_STATE sub states +# TDPreTreatmentModesStates.WATER_SAMPLE_STATE sub states @unique class TDPreTreaSampleWaterStates(DialinEnum): - 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 fault mode NV Data management states + SETUP_STATE = 0 # Sample water setup (flush filter) state + STATE = 1 # Sample water state, receiving sample water commands from the user + COMPLETE_STATE = 2 # Sample water complete state + NUM_OF_SAMPLE_WATER_STATES = 3 # Number of fault mode NV Data management states TDPreTreaSampleWaterStates._str_list = { # Official Name : Accepted strings - 'SAMPLE_WATER_SETUP_STATE': ['setup'], - 'SAMPLE_WATER_STATE': ['running', 'sampling'], - 'SAMPLE_WATER_COMPLETE_STATE': ['complete', 'done'], + 'SETUP_STATE': ['setup'], + 'STATE': ['running', 'sampling'], + 'COMPLETE_STATE': ['complete', 'done'], 'NUM_OF_SAMPLE_WATER_STATES': [], } -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE sub states +# TDPreTreatmentModesStates.SELF_TEST_CONSUMABLE_STATE sub states @unique class TDPreTreaConsumableSelfTestStates(DialinEnum): - CONSUMABLE_SELF_TESTS_INSTALL_STATE = 0 # Consumable self-tests install state - CONSUMABLE_SELF_TESTS_PRIME_STATE = 1 # Consumable self-tests prime concentrate lines state - CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE = 2 # Consumable self-tests bicarbonate 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 + INSTALL_STATE = 0 # Consumable self-tests install state + PRIME_STATE = 1 # Consumable self-tests prime concentrate lines state + BICARB_PUMP_CHECK_STATE = 2 # Consumable self-tests bicarbonate concentrate pump check state + ACID_PUMP_CHECK_STATE = 3 # Consumable self-tests acid concentrate pump check state + COMPLETE_STATE = 4 # Consumable self-tests complete state + NUM_OF_CONSUMABLE_SELF_TESTS_STATES = 5 # Number of consumable install sub-mode states TDPreTreaConsumableSelfTestStates._str_list = { # Official Name : Accepted strings - 'CONSUMABLE_SELF_TESTS_INSTALL_STATE': ['install', 'installing'], - 'CONSUMABLE_SELF_TESTS_PRIME_STATE': ['prime', 'priming'], - 'CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE': ['bicarb', 'bicarb pump check'], - 'CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE': ['acid', 'acid pump check'], - 'CONSUMABLE_SELF_TESTS_COMPLETE_STATE': ['complete', 'done'], + 'INSTALL_STATE': ['install', 'installing'], + 'PRIME_STATE': ['prime', 'priming'], + 'BICARB_PUMP_CHECK_STATE': ['bicarb', 'bicarb pump check'], + 'ACID_PUMP_CHECK_STATE': ['acid', 'acid pump check'], + 'COMPLETE_STATE': ['complete', 'done'], 'NUM_OF_CONSUMABLE_SELF_TESTS_STATES': [], } -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE sub states +# TDPreTreatmentModesStates.SELF_TEST_NO_CART_STATE sub states @unique class TDPreTreaNoCartSelfTestStates(DialinEnum): - NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 0 # Wait for door to be closed before running self-tests - NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE = 1 # No cartridge pressure sensors self-test state - NO_CART_SELF_TESTS_HOME_VALVES_STATE = 2 # No cartridge home valves state - NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE = 3 # No cartridge home syringe pump state - NO_CART_SELF_TESTS_PUMPS_STATE = 4 # No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state - NO_CART_SELF_TESTS_HOME_IDLE_STATE = 5 # Wait for valves and pumps finish homing state - NO_CART_SELF_TESTS_STOPPED_STATE = 6 # No cart self-test stopped state - NO_CART_SELF_TESTS_COMPLETE_STATE = 7 # No cartridge self-test complete state - NUM_OF_NO_CART_SELF_TESTS_STATES = 8 # Number of no cartridge self-tests states + WAIT_FOR_DOOR_CLOSE_STATE = 0 # Wait for door to be closed before running self-tests + PRESSURE_CHECKS_STATE = 1 # No cartridge pressure sensors self-test state + HOME_VALVES_STATE = 2 # No cartridge home valves state + HOME_SYRINGE_PUMP_STATE = 3 # No cartridge home syringe pump state + PUMPS_STATE = 4 # No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state + HOME_IDLE_STATE = 5 # Wait for valves and pumps finish homing state + STOPPED_STATE = 6 # No cart self-test stopped state + COMPLETE_STATE = 7 # No cartridge self-test complete state + NUM_OF_NO_CART_SELF_TESTS_STATES = 8 # Number of no cartridge self-tests states TDPreTreaNoCartSelfTestStates._str_list = { # Official Name : Accepted strings - 'NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE': ['wait for front door to close', 'wait for door close'], - 'NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE': ['pressure checks'], - 'NO_CART_SELF_TESTS_HOME_VALVES_STATE': ['home valves'], - 'NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE': ['home srynge pump'], - 'NO_CART_SELF_TESTS_PUMPS_STATE': ['test pumps'], - 'NO_CART_SELF_TESTS_HOME_IDLE_STATE': ['home idle', 'wait for homing'], - 'NO_CART_SELF_TESTS_STOPPED_STATE': ['stop'], - 'NO_CART_SELF_TESTS_PUMPS_STATE': ['test pumps'], - 'NO_CART_SELF_TESTS_COMPLETE_STATE': ['complete', 'done'], + 'WAIT_FOR_DOOR_CLOSE_STATE': ['wait for front door to close', 'wait for door close'], + 'PRESSURE_CHECKS_STATE': ['pressure checks'], + 'HOME_VALVES_STATE': ['home valves'], + 'HOME_SYRINGE_PUMP_STATE': ['home srynge pump'], + 'PUMPS_STATE': ['test pumps'], + 'HOME_IDLE_STATE': ['home idle', 'wait for homing'], + 'STOPPED_STATE': ['stop'], + 'PUMPS_STATE': ['test pumps'], + 'COMPLETE_STATE': ['complete', 'done'], 'NUM_OF_NO_CART_SELF_TESTS_STATES': [], } -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_SELF_TEST_DRY_STATE sub states +# TDPreTreatmentModesStates.SELF_TEST_DRY_STATE sub states @unique class TDPreTreaDrySelfTestStates(DialinEnum): - DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 0 # Wait for door to close before executing self-tests - DRY_SELF_TESTS_USED_TUBING_CHECK_STATE = 1 # Used tubing check dry self-test state - DRY_SELF_TESTS_TUBING_LOADED_CHECK_STATE = 2 # Tubing loaded check dry self-test state - DRY_SELF_TESTS_TUBING_SET_AUTHENTICATION_STATE = 3 # Tubing set authentication state - DRY_SELF_TESTS_SYRINGE_PUMP_SEEK_STATE = 4 # Syringe pump seek state - DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_SETUP_STATE = 5 # Pressure sensor normal setup state - DRY_SELF_TESTS_PRESSURE_VENOUS_SETUP_STATE = 6 # Venous pressure sensor dry self-test setup valves and pump state - DRY_SELF_TESTS_VENOUS_PRESSURE_STABILIZATION_STATE = 7 # Venous pressure verify pressure stability state - DRY_SELF_TESTS_VENOUS_PRESSURE_LEAK_CHECK_STATE = 8 # Venous pressure leak check state - DRY_SELF_TESTS_VENOUS_PRESSURE_RELIEF_STATE = 9 # Venous pressure relief state - DRY_SELF_TESTS_PRESSURE_ARTERIAL_SETUP_STATE = 10 # Arterial pressure sensor dry self-test setup valves and pump state - DRY_SELF_TESTS_ARTERIAL_PRESSURE_STABILIZATION_STATE = 11 # Arterial pressure verify pressure stability state - DRY_SELF_TESTS_ARTERIAL_PRESSURE_LEAK_CHECK_STATE = 12 # Arterial pressure leak check state - DRY_SELF_TESTS_ARTERIAL_PRESSURE_RELIEF_STATE = 13 # Arterial pressure relief state - DRY_SELF_TESTS_SYRINGE_PRIME_STATE = 14 # Prime syringe pump state - DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_CHECK_STATE = 15 # Occlusion detection state - DRY_SELF_TESTS_COMPLETE_STATE = 16 # Dry self-test complete state - DRY_SELF_TESTS_STOPPED_STATE = 17 # Dry self-test stopped state - NUM_OF_DRY_SELF_TESTS_STATES = 18 # Number of dry self-tests states + WAIT_FOR_DOOR_CLOSE_STATE = 0 # Wait for door to close before executing self-tests + USED_TUBING_CHECK_STATE = 1 # Used tubing check dry self-test state + TUBING_LOADED_CHECK_STATE = 2 # Tubing loaded check dry self-test state + TUBING_SET_AUTHENTICATION_STATE = 3 # Tubing set authentication state + SYRINGE_PUMP_SEEK_STATE = 4 # Syringe pump seek state + PRESSURE_SENSORS_NORMAL_SETUP_STATE = 5 # Pressure sensor normal setup state + PRESSURE_VENOUS_SETUP_STATE = 6 # Venous pressure sensor dry self-test setup valves and pump state + VENOUS_PRESSURE_STABILIZATION_STATE = 7 # Venous pressure verify pressure stability state + VENOUS_PRESSURE_LEAK_CHECK_STATE = 8 # Venous pressure leak check state + VENOUS_PRESSURE_RELIEF_STATE = 9 # Venous pressure relief state + PRESSURE_ARTERIAL_SETUP_STATE = 10 # Arterial pressure sensor dry self-test setup valves and pump state + ARTERIAL_PRESSURE_STABILIZATION_STATE = 11 # Arterial pressure verify pressure stability state + ARTERIAL_PRESSURE_LEAK_CHECK_STATE = 12 # Arterial pressure leak check state + ARTERIAL_PRESSURE_RELIEF_STATE = 13 # Arterial pressure relief state + SYRINGE_PRIME_STATE = 14 # Prime syringe pump state + SYRINGE_PUMP_OCCLUSION_CHECK_STATE = 15 # Occlusion detection state + COMPLETE_STATE = 16 # Dry self-test complete state + STOPPED_STATE = 17 # Dry self-test stopped state + NUM_OF_DRY_SELF_TESTS_STATES = 18 # Number of dry self-tests states TDPreTreaDrySelfTestStates._str_list = { # Official Name : Accepted strings - 'DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE': ['wait for front door to close', 'wait for door close'], - 'DRY_SELF_TESTS_USED_TUBING_CHECK_STATE': ['used tubing check'], - 'DRY_SELF_TESTS_TUBING_LOADED_CHECK_STATE': ['tubing loaded check'], - 'DRY_SELF_TESTS_TUBING_SET_AUTHENTICATION_STATE': ['tubing set authentication', 'tubing authentication'], - 'DRY_SELF_TESTS_SYRINGE_PUMP_SEEK_STATE': ['srynge pump seek', 'pump seek'], - 'DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_SETUP_STATE': ['pressure sensors normal setup'], - 'DRY_SELF_TESTS_PRESSURE_VENOUS_SETUP_STATE': ['pressure venous setup', 'venous setup'], - 'DRY_SELF_TESTS_VENOUS_PRESSURE_STABILIZATION_STATE': ['venous pressure stabilization'], - 'DRY_SELF_TESTS_VENOUS_PRESSURE_LEAK_CHECK_STATE': ['venous pressure leak check'], - 'DRY_SELF_TESTS_VENOUS_PRESSURE_RELIEF_STATE': ['venous pressure relief'], - 'DRY_SELF_TESTS_PRESSURE_ARTERIAL_SETUP_STATE': ['pressure arterial setup', 'arterial setup'], - 'DRY_SELF_TESTS_ARTERIAL_PRESSURE_STABILIZATION_STATE': ['arterial pressure stabilization'], - 'DRY_SELF_TESTS_ARTERIAL_PRESSURE_LEAK_CHECK_STATE': ['arterial pressure leak check'], - 'DRY_SELF_TESTS_ARTERIAL_PRESSURE_RELIEF_STATE': ['arterial pressure relief'], - 'DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE': ['presusre normal', 'pressure readings'], - 'DRY_SELF_TESTS_SYRINGE_PRIME_STATE': ['srynge prime'], - 'DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_CHECK_STATE': ['srynge pump occlusion check', 'srynge pump check'], - 'DRY_SELF_TESTS_COMPLETE_STATE': ['complete', 'done'], - 'DRY_SELF_TESTS_STOPPED_STATE': ['stop'], + 'WAIT_FOR_DOOR_CLOSE_STATE': ['wait for front door to close', 'wait for door close'], + 'USED_TUBING_CHECK_STATE': ['used tubing check'], + 'TUBING_LOADED_CHECK_STATE': ['tubing loaded check'], + 'TUBING_SET_AUTHENTICATION_STATE': ['tubing set authentication', 'tubing authentication'], + 'SYRINGE_PUMP_SEEK_STATE': ['srynge pump seek', 'pump seek'], + 'PRESSURE_SENSORS_NORMAL_SETUP_STATE': ['pressure sensors normal setup'], + 'PRESSURE_VENOUS_SETUP_STATE': ['pressure venous setup', 'venous setup'], + 'VENOUS_PRESSURE_STABILIZATION_STATE': ['venous pressure stabilization'], + 'VENOUS_PRESSURE_LEAK_CHECK_STATE': ['venous pressure leak check'], + 'VENOUS_PRESSURE_RELIEF_STATE': ['venous pressure relief'], + 'PRESSURE_ARTERIAL_SETUP_STATE': ['pressure arterial setup', 'arterial setup'], + 'ARTERIAL_PRESSURE_STABILIZATION_STATE': ['arterial pressure stabilization'], + 'ARTERIAL_PRESSURE_LEAK_CHECK_STATE': ['arterial pressure leak check'], + 'ARTERIAL_PRESSURE_RELIEF_STATE': ['arterial pressure relief'], + 'PRESSURE_SENSORS_NORMAL_STATE': ['presusre normal', 'pressure readings'], + 'SYRINGE_PRIME_STATE': ['srynge prime'], + 'SYRINGE_PUMP_OCCLUSION_CHECK_STATE': ['srynge pump occlusion check', 'srynge pump check'], + 'COMPLETE_STATE': ['complete', 'done'], + 'STOPPED_STATE': ['stop'], 'NUM_OF_DRY_SELF_TESTS_STATES': [], } -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_PRIME_STATE sub states +# TDPreTreatmentModesStates.PRIME_STATE sub states unique class TDPreTreaPrimeStates(DialinEnum): - 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 + WAIT_FOR_USER_START_STATE = 0 # Wait for user to start prime state + SALINE_SETUP_STATE = 1 # Saline setup state + SALINE_PURGE_AIR_STATE = 2 # Saline purge air state + SALINE_CIRC_BLOOD_CIRCUIT_STATE = 3 # Circulate blood circuit state + RESERVOIR_ONE_FILL_COMPLETE_STATE = 4 # Wait for reservoir 1 fill complete + DIALYSATE_DIALYZER_STATE = 5 # Dialysate dialyzer fluid path state + SALINE_DIALYZER_SETUP_STATE = 6 # Saline dialyzer setup state + SALINE_DIALYZER_STATE = 7 # Saline dialyzer fluid path state + RESERVOIR_TWO_FILL_COMPLETE_STATE = 8 # Wait for reservoir 2 fill complete + DIALYSATE_BYPASS_STATE = 9 # Dialysate bypass fluid path state + WET_SELF_TESTS_STATE = 10 # Perform wet self-tests after priming complete + PAUSE = 11 # Prime pause state, waits to be resumed + COMPLETE = 12 # Prime complete state + NUM_OF_TD_PRIME_STATES = 13 # Number of prime sub-mode states TDPreTreaPrimeStates._str_list = { # Official Name : Accepted strings - 'TD_PRIME_WAIT_FOR_USER_START_STATE': ['wait for user', 'wait for user to start'], - 'TD_PRIME_SALINE_SETUP_STATE': ['saline setup', 'saline bolus setup'], - 'TD_PRIME_SALINE_PURGE_AIR_STATE': ['saline purge air', 'saline bolus air purge'], - 'TD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE': ['saline circulate blood', 'saline bolus circulate blood'], - 'TD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE': ['reservoir 1 fill complete'], - 'TD_PRIME_DIALYSATE_DIALYZER_STATE': ['dialysate dialyzer', 'dialyzer setup'], - 'TD_PRIME_SALINE_DIALYZER_SETUP_STATE': ['fill dialyzer with saline bolus', 'saline dialyzer setup'], - 'TD_PRIME_SALINE_DIALYZER_STATE': ['saline dialyzer'], - 'TD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE': ['reservoir 2 fill complete'], - 'TD_PRIME_DIALYSATE_BYPASS_STATE': ['dialysate bypass'], - 'TD_PRIME_WET_SELF_TESTS_STATE': ['wet self tests'], - 'TD_PRIME_PAUSE': ['prime paused', 'priming paused'], - 'TD_PRIME_COMPLETE': ['prime completed', 'priming completed'], + 'WAIT_FOR_USER_START_STATE': ['wait for user', 'wait for user to start'], + 'SALINE_SETUP_STATE': ['saline setup', 'saline bolus setup'], + 'SALINE_PURGE_AIR_STATE': ['saline purge air', 'saline bolus air purge'], + 'SALINE_CIRC_BLOOD_CIRCUIT_STATE': ['saline circulate blood', 'saline bolus circulate blood'], + 'RESERVOIR_ONE_FILL_COMPLETE_STATE': ['reservoir 1 fill complete'], + 'DIALYSATE_DIALYZER_STATE': ['dialysate dialyzer', 'dialyzer setup'], + 'SALINE_DIALYZER_SETUP_STATE': ['fill dialyzer with saline bolus', 'saline dialyzer setup'], + 'SALINE_DIALYZER_STATE': ['saline dialyzer'], + 'RESERVOIR_TWO_FILL_COMPLETE_STATE': ['reservoir 2 fill complete'], + 'DIALYSATE_BYPASS_STATE': ['dialysate bypass'], + 'WET_SELF_TESTS_STATE': ['wet self tests'], + 'PAUSE': ['prime paused', 'priming paused'], + 'COMPLETE': ['prime completed', 'priming completed'], 'NUM_OF_TD_PRIME_STATES': [], } -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_RECIRCULATE_STATE sub states +# TDPreTreatmentModesStates.RECIRCULATE_STATE sub states @unique class TDPreTreaRecircStates(DialinEnum): PRE_TREATMENT_RECIRC_STATE = 0 # Pre-treatment recirculate state @@ -420,43 +420,43 @@ } -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE sub states +# TDPreTreatmentModesStates.PATIENT_CONNECTION_STATE sub states @unique class TDPreTreaPatientConnectStates(DialinEnum): - PRE_TREATMENT_PAT_CONN_WAIT_FOR_UF_VOL_STATE = 0 # Pre-treatment patient connect wait for UF volume setting state - PRE_TREATMENT_PAT_CONN_WAIT_FOR_DLZR_INVERT_STATE = 1 # Pre-treatment patient connect wait for dialyzer inverted state - PRE_TREATMENT_PAT_CONN_WAIT_FOR_USER_CONFIRM_STATE = 2 # Pre-treatment patient connect wait for user confirm state - PRE_TREATMENT_PAT_CONN_WAIT_FOR_TREATMENT_START_STATE = 3 # Pre-treatment patient connect wait for treatment start state - NUM_OF_PRE_TREATMENT_PAT_CONN_STATES = 4 # Number of pre-treatment patient connect states + WAIT_FOR_UF_VOL_STATE = 0 # Pre-treatment patient connect wait for UF volume setting state + WAIT_FOR_DLZR_INVERT_STATE = 1 # Pre-treatment patient connect wait for dialyzer inverted state + WAIT_FOR_USER_CONFIRM_STATE = 2 # Pre-treatment patient connect wait for user confirm state + WAIT_FOR_TREATMENT_START_STATE = 3 # Pre-treatment patient connect wait for treatment start state + NUM_OF_PRE_TREATMENT_PAT_CONN_STATES = 4 # Number of pre-treatment patient connect states TDPreTreaPatientConnectStates._str_list = { # Official Name : Accepted strings - 'PRE_TREATMENT_PAT_CONN_WAIT_FOR_UF_VOL_STATE': ['ultrafiltration volume', 'uf volume'], - 'PRE_TREATMENT_PAT_CONN_WAIT_FOR_DLZR_INVERT_STATE': ['dialyzer invert', 'invert'], - 'PRE_TREATMENT_PAT_CONN_WAIT_FOR_USER_CONFIRM_STATE': ['user confirm', 'confirm'], - 'PRE_TREATMENT_PAT_CONN_WAIT_FOR_TREATMENT_START_STATE': ['start'], + 'WAIT_FOR_UF_VOL_STATE': ['ultrafiltration volume', 'uf volume'], + 'WAIT_FOR_DLZR_INVERT_STATE': ['dialyzer invert', 'invert'], + 'WAIT_FOR_USER_CONFIRM_STATE': ['user confirm', 'confirm'], + 'WAIT_FOR_TREATMENT_START_STATE': ['start'], 'NUM_OF_PRE_TREATMENT_PAT_CONN_STATES': [], } -# TDTreatmentStates.TREATMENT_BLOOD_PRIME_STATE sub states +# TDTreatmentStates.BLOOD_PRIME_STATE sub states @unique class TDTreaBloodPrimeStates(DialinEnum): - BLOOD_PRIME_RAMP_STATE = 0 # Ramp state of the blood prime sub-mode state machine - BLOOD_PRIME_RUN_STATE = 1 # Run state of the blood prime sub-mode state machine - BLOOD_PRIME_PAUSED_STATE = 2 # Paused state of the blood prime sub-mode state machine + RAMP_STATE = 0 # Ramp state of the blood prime sub-mode state machine + RUN_STATE = 1 # Run state of the blood prime sub-mode state machine + PAUSED_STATE = 2 # Paused state of the blood prime sub-mode state machine NUM_OF_BLOOD_PRIME_STATES = 3 # Number of blood prime sub-mode states TDTreaBloodPrimeStates._str_list = { # Official Name : Accepted strings - 'BLOOD_PRIME_RAMP_STATE': ['ramp', 'ramping'], - 'BLOOD_PRIME_RUN_STATE': ['running', 'priming'], - 'BLOOD_PRIME_PAUSED_STATE': ['paused'], + 'RAMP_STATE': ['ramp', 'ramping'], + 'RUN_STATE': ['running', 'priming'], + 'PAUSED_STATE': ['paused'], 'NUM_OF_BLOOD_PRIME_STATES': [], } -# TDTreatmentStates.TREATMENT_DIALYSIS_STATE sub states +# TDTreatmentStates.DIALYSIS_STATE sub states @unique class TDTreaDialysisStates(DialinEnum): DIALYSIS_UF_STATE = 0 # Ultrafiltration state of the dialysis sub-mode state machine @@ -471,70 +471,70 @@ } -# TDTreatmentStates.TREATMENT_PAUSED_STATE sub states +# TDTreatmentStates.PAUSED_STATE sub states @unique class TDTreaPausedStates(DialinEnum): - TREATMENT_PAUSED_RECIRC_STATE = 0 # Dialysate and Blood re-circulation state of the treatment paused sub-mode state machine - TREATMENT_PAUSED_RECIRC_DIALYSATE_ONLY_STATE = 1 # Re-circulate Dialysate only state of the treatment paused sub-mode state machine - TREATMENT_PAUSED_RECIRC_BLOOD_ONLY_STATE = 2 # Re-circulate Blood only state of the treatment paused sub-mode state machine - TREATMENT_PAUSED_NO_RECIRC_STATE = 3 # No re-circulation state of the treatment paused sub-mode state machine - TREATMENT_PAUSED_RECOVER_BLOOD_DETECT_STATE = 4 # Treatment paused recover blood detect state - NUM_OF_TREATMENT_PAUSED_STATES = 5 # Number of treatment paused sub-mode states + RECIRC_STATE = 0 # Dialysate and Blood re-circulation state of the treatment paused sub-mode state machine + RECIRC_DIALYSATE_ONLY_STATE = 1 # Re-circulate Dialysate only state of the treatment paused sub-mode state machine + RECIRC_BLOOD_ONLY_STATE = 2 # Re-circulate Blood only state of the treatment paused sub-mode state machine + NO_RECIRC_STATE = 3 # No re-circulation state of the treatment paused sub-mode state machine + RECOVER_BLOOD_DETECT_STATE = 4 # Treatment paused recover blood detect state + NUM_OF_TREATMENT_PAUSED_STATES = 5 # Number of treatment paused sub-mode states TDTreaPausedStates._str_list = { # Official Name : Accepted strings - 'TREATMENT_PAUSED_RECIRC_STATE': ['recirc'], - 'TREATMENT_PAUSED_RECIRC_DIALYSATE_ONLY_STATE': ['recirc dialysate only'], - 'TREATMENT_PAUSED_RECIRC_BLOOD_ONLY_STATE': ['recirc blood only'], - 'TREATMENT_PAUSED_NO_RECIRC_STATE': ['no recirc'], - 'TREATMENT_PAUSED_RECOVER_BLOOD_DETECT_STATE': ['recover blood detect'], + 'RECIRC_STATE': ['recirc'], + 'RECIRC_DIALYSATE_ONLY_STATE': ['recirc dialysate only'], + 'RECIRC_BLOOD_ONLY_STATE': ['recirc blood only'], + 'NO_RECIRC_STATE': ['no recirc'], + 'RECOVER_BLOOD_DETECT_STATE': ['recover blood detect'], 'NUM_OF_TREATMENT_PAUSED_STATES': [], } -# TDTreatmentStates.TREATMENT_RINSEBACK_STATE sub states +# TDTreatmentStates.RINSEBACK_STATE sub states @unique class TDTreaRinsebackStates(DialinEnum): - 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 - RINSEBACK_RECONNECT_PATIENT_STATE = 5 # Rinseback patient reconnect state of the rinseback sub-mode state machine - NUM_OF_RINSEBACK_STATES = 6 # Number of rinseback sub-mode states + STOP_INIT_STATE = 0 # Start state (stopped) of the rinseback sub-mode state machine + RUN_STATE = 1 # Rinseback running state of the rinseback sub-mode state machine + PAUSED_STATE = 2 # Rinseback paused state of the rinseback sub-mode state machine + STOP_STATE = 3 # Rinseback stopped (done) state of the rinseback sub-mode state machine + RUN_ADDITIONAL_STATE = 4 # Additional rinseback volume (10 mL) state of the rinseback sub-mode state machine + RECONNECT_PATIENT_STATE = 5 # Rinseback patient reconnect state of the rinseback sub-mode state machine + NUM_OF_RINSEBACK_STATES = 6 # Number of rinseback sub-mode states TDTreaRinsebackStates._str_list = { # Official Name : Accepted strings - 'RINSEBACK_STOP_INIT_STATE': ['start', 'stop init'], - 'RINSEBACK_RUN_STATE': ['run'], - 'RINSEBACK_PAUSED_STATE': ['paused'], - 'RINSEBACK_STOP_STATE': ['stop'], - 'RINSEBACK_RUN_ADDITIONAL_STATE': ['run additional'], - 'RINSEBACK_RECONNECT_PATIENT_STATE': ['reconnect patient'], + 'STOP_INIT_STATE': ['start', 'stop init'], + 'RUN_STATE': ['run'], + 'PAUSED_STATE': ['paused'], + 'STOP_STATE': ['stop'], + 'RUN_ADDITIONAL_STATE': ['run additional'], + 'RECONNECT_PATIENT_STATE': ['reconnect patient'], 'NUM_OF_RINSEBACK_STATES': [], } -# TDTreatmentStates.TREATMENT_RECIRC_STATE sub states +# TDTreatmentStates.RECIRC_STATE sub states @unique class TDTreaRecircStates(DialinEnum): - TREATMENT_RECIRC_DISCONNECT_PATIENT_STATE = 0 # Disconnect patient state of the treatment re-circulate sub-mode state machine - TREATMENT_RECIRC_RECIRC_STATE = 1 # Re-circulate Dialysate state of the treatment re-circulate sub-mode state machine - TREATMENT_RECIRC_STOPPED_STATE = 2 # Stopped state of the treatment re-circulate sub-mode state machine - TREATMENT_RECIRC_RECONNECT_PATIENT_STATE = 3 # Reconnect patient state of the treatment re-circulate sub-mode state machine - NUM_OF_TREATMENT_RECIRC_STATES = 4 # Number of treatment re-circulate sub-mode states + DISCONNECT_PATIENT_STATE = 0 # Disconnect patient state of the treatment re-circulate sub-mode state machine + RECIRC_STATE = 1 # Re-circulate Dialysate state of the treatment re-circulate sub-mode state machine + STOPPED_STATE = 2 # Stopped state of the treatment re-circulate sub-mode state machine + RECONNECT_PATIENT_STATE = 3 # Reconnect patient state of the treatment re-circulate sub-mode state machine + NUM_OF_TREATMENT_RECIRC_STATES = 4 # Number of treatment re-circulate sub-mode states TDTreaRecircStates._str_list = { # Official Name : Accepted strings - 'TREATMENT_RECIRC_DISCONNECT_PATIENT_STATE': ['disconnect patient'], - 'TREATMENT_RECIRC_RECIRC_STATE': ['run', 'recirc'], - 'TREATMENT_RECIRC_STOPPED_STATE': ['paused', 'stopped'], - 'TREATMENT_RECIRC_RECONNECT_PATIENT_STATE': ['reconnect patient'], + 'DISCONNECT_PATIENT_STATE': ['disconnect patient'], + 'RECIRC_STATE': ['run', 'recirc'], + 'STOPPED_STATE': ['paused', 'stopped'], + 'RECONNECT_PATIENT_STATE': ['reconnect patient'], 'NUM_OF_TREATMENT_RECIRC_STATES': [], } -# TDTreatmentStates.TREATMENT_SALINE_BOLUS_STATE sub states +# TDTreatmentStates.SALINE_BOLUS_STATE sub states @unique class TDTreaBolusStates(DialinEnum): SALINE_BOLUS_STATE_IDLE = 0 # No saline bolus delivery is in progress @@ -554,183 +554,204 @@ # TDTreatmentStates. sub states @unique class TDTreaHeparinStates(DialinEnum): - 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 + OFF = 0 # No heparin delivery is in progress + STOPPED = 1 # Heparin delivery stopped by alarm or not yet started + PAUSED = 2 # Heparin delivery paused + INITIAL_BOLUS = 3 # Initial heparin bolus delivery in progress + DISPENSING = 4 # Gradual heparin dispensing in progress + COMPLETED = 5 # Heparin delivery stopped due to the set stop time before treatment end + EMPTY = 6 # Heparin Syringe empty + NUM_OF_HEPARIN_STATES = 7 # Number of heparin states TDTreaHeparinStates._str_list = { # Official Name : Accepted strings - 'DIALYSIS_UF_STATE': ['ultrafiltration state'], - 'DIALYSIS_UF_PAUSED_STATE': ['paused', 'ultrafiltration paused'], - 'NUM_OF_DIALYSIS_STATES': [], + 'OFF': [], + 'STOPPED': [], + 'PAUSED': [], + 'INITIAL_BOLUS': [], + 'DISPENSING': [], + 'COMPLETED': [], + 'EMPTY': [], + 'NUM_OF_HEPARIN_STATES': [], } + # Syringe pump states @unique class TDTreaSyringePumpStates(DialinEnum): - SYRINGE_PUMP_INIT_STATE = 0 # Syringe pump initialize state - SYRINGE_PUMP_OFF_STATE = 1 # Syringe pump off state - SYRINGE_PUMP_RETRACT_STATE = 2 # Syringe pump retract state - SYRINGE_PUMP_PRELOAD_STATE = 3 # Syringe pump preload state - SYRINGE_PUMP_SEEK_STATE = 4 # Syringe pump seek state - SYRINGE_PUMP_PRIME_STATE = 5 # Syringe pump prime state - SYRINGE_PUMP_HEP_BOLUS_STATE = 6 # Syringe pump bolus state - SYRINGE_PUMP_HEP_CONTINUOUS_STATE = 7 # Syringe pump continuous state - SYRINGE_PUMP_CONFIG_FORCE_SENSOR_STATE = 8 # Syringe pump configure force sensor state + INIT_STATE = 0 # Syringe pump initialize state + OFF_STATE = 1 # Syringe pump off state + RETRACT_STATE = 2 # Syringe pump retract state + PRELOAD_STATE = 3 # Syringe pump preload state + SEEK_STATE = 4 # Syringe pump seek state + PRIME_STATE = 5 # Syringe pump prime state + HEP_BOLUS_STATE = 6 # Syringe pump bolus state + HEP_CONTINUOUS_STATE = 7 # Syringe pump continuous state + CONFIG_FORCE_SENSOR_STATE = 8 # Syringe pump configure force sensor state + NUM_OF_SYRINGE_PUMP_STATES = 9 # Number of syringe pump states +TDTreaSyringePumpStates._str_list = { + # Official Name : Accepted strings + 'INIT_STATE': ['init'], + 'OFF_STATE': ['off'], + 'RETRACT_STATE': ['retract'], + 'PRELOAD_STATE': ['preload'], + 'SEEK_STATE': ['seek'], + 'PRIME_STATE': ['prime'], + 'HEP_BOLUS_STATE': ['hep bolus', 'heparin start', 'heparin bolus'], + 'HEP_CONTINUOUS_STATE': ['hep continuous', 'heparin continuous', 'heparin resume'], + 'CONFIG_FORCE_SENSOR_STATE': ['config force sensor'], + 'NUM_OF_SYRINGE_PUMP_STATES': [], +} -# TDTreatmentStates.TREATMENT_END_STATE sub states + +# TDTreatmentStates.END_STATE sub states @unique class TDTreaEndStates(DialinEnum): - 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 + WAIT_FOR_RINSEBACK_STATE = 0 # Wait for rinseback state of the treatment end sub-mode state machine + 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 TDTreaEndStates._str_list = { # Official Name : Accepted strings - 'TREATMENT_END_WAIT_FOR_RINSEBACK_STATE': ['wait for rinseback'], - 'TREATMENT_END_PAUSED_STATE': ['paused'], + 'WAIT_FOR_RINSEBACK_STATE': ['wait for rinseback'], + 'PAUSED_STATE': ['paused'], 'NUM_OF_TREATMENT_END_STATES': [], } # ================================================== Enum Creators: Operations Lvl 4 ================================================== -# TDPreTreatmentModesStates.TD_PRE_TREATMENT_WATER_SAMPLE_STATE.SAMPLE_WATER_STATE sub states +# TDPreTreatmentModesStates.WATER_SAMPLE_STATE.SAMPLE_WATER_STATE sub states @unique class TDPreTreaSamplWaterUserActionStates(DialinEnum): - REQUESTED_USER_ACTION_SAMPLE_WATER_STOP = 0 # User requests to stop sample water - REQUESTED_USER_ACTION_SAMPLE_WATER_START = 1 # User requests to start sample water + STOP = 0 # User requests to stop sample water + START = 1 # User requests to start sample water NUM_OF_REQUESTED_SAMPLE_WATER_USER_ACTIONS = 2 # Number of requested sample water user actions TDPreTreaSamplWaterUserActionStates._str_list = { # Official Name : Accepted strings - 'REQUESTED_USER_ACTION_SAMPLE_WATER_STOP': ['stop', 'sample water stop'], - 'REQUESTED_USER_ACTION_SAMPLE_WATER_START': ['start', 'sample water start'], + 'STOP': ['stop', 'sample water stop'], + 'START': ['start', 'sample water start'], 'NUM_OF_REQUESTED_SAMPLE_WATER_USER_ACTIONS': [], } -# TDPreTreatmentModesStates.TDPreTreaPrimeStates.TD_PRIME_WET_SELF_TESTS_STATE sub states +# TDPreTreatmentModesStates.TDPreTreaPrimeStates.WET_SELF_TESTS_STATE sub states @unique class TDWetSelfTestsStates(DialinEnum): - WET_SELF_TESTS_START_STATE = 0 # Wet self-tests starting state. - WET_SELF_TESTS_BUBBLE_CHECK_SETUP_STATE = 1 # Setup for wet air bubble self-test state. - WET_SELF_TESTS_BUBBLE_CHECK_STATE = 2 # Wet self-test air bubble detectors state. - WET_SELF_TESTS_PRIME_CHECK_STATE = 3 # Prime check wet self-tests state, checks for primed patient lines. - WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_DEBUBBLE_STATE = 4 # Blood leak detector debubble state. - WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_STATE = 5 # Blood leak detector self-test state. - WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE = 6 # Setup valve and start dialysate pump for first displacement. - WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE = 7 # Fill reservoir 2 with 100 mL of dialysate from reservoir 1 state. - WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE = 8 # After first displacement completed verify state. - WET_SELF_TESTS_SECOND_DISPLACEMENT_SETUP_STATE = 9 # Setup valve and start dialysate pump for second displacement. - WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE = 10 # Fill reservoir 1 with 300 mL of dialysate from reservoir 2 state. - WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE = 11 # After first displacement completed verify state. - WET_SELF_TESTS_STOPPED_STATE = 12 # Wet self-test stopped state. - WET_SELF_TESTS_COMPLETE_STATE = 13 # Wet self-test complete state. - NUM_OF_WET_SELF_TESTS_STATES = 14 # Number of wet self-tests states. + START_STATE = 0 # Wet self-tests starting state. + BUBBLE_CHECK_SETUP_STATE = 1 # Setup for wet air bubble self-test state. + BUBBLE_CHECK_STATE = 2 # Wet self-test air bubble detectors state. + PRIME_CHECK_STATE = 3 # Prime check wet self-tests state, checks for primed patient lines. + BLOOD_LEAK_DETECTOR_DEBUBBLE_STATE = 4 # Blood leak detector debubble state. + BLOOD_LEAK_DETECTOR_STATE = 5 # Blood leak detector self-test state. + FIRST_DISPLACEMENT_SETUP_STATE = 6 # Setup valve and start dialysate pump for first displacement. + FIRST_DISPLACEMENT_STATE = 7 # Fill reservoir 2 with 100 mL of dialysate from reservoir 1 state. + FIRST_DISPLACEMENT_VERIFY_STATE = 8 # After first displacement completed verify state. + SECOND_DISPLACEMENT_SETUP_STATE = 9 # Setup valve and start dialysate pump for second displacement. + SECOND_DISPLACEMENT_STATE = 10 # Fill reservoir 1 with 300 mL of dialysate from reservoir 2 state. + SECOND_DISPLACEMENT_VERIFY_STATE = 11 # After first displacement completed verify state. + STOPPED_STATE = 12 # Wet self-test stopped state. + COMPLETE_STATE = 13 # Wet self-test complete state. + NUM_OF_WET_SELF_TESTS_STATES = 14 # Number of wet self-tests states. TDWetSelfTestsStates._str_list = { # Official Name : Accepted strings - 'WET_SELF_TESTS_START_STATE': ['start'], - 'WET_SELF_TESTS_BUBBLE_CHECK_SETUP_STATE': ['bubble check setup', 'air bubble check setup'], - 'WET_SELF_TESTS_BUBBLE_CHECK_STATE': ['bubble check', 'air bubble check'], - 'WET_SELF_TESTS_PRIME_CHECK_STATE': ['prime check'], - 'WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_DEBUBBLE_STATE': ['blood leak detector debubble'], - 'WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_STATE': ['blood leak detector'], - 'WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE': ['first displacement setup'], - 'WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE': ['first displacement', 'first displacement running'], - 'WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE': ['first displacement verify'], - 'WET_SELF_TESTS_SECOND_DISPLACEMENT_SETUP_STATE': ['second displacement setup'], - 'WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE': ['second displacement', 'second displacement running'], - 'WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE': ['second displacement verify'], - 'WET_SELF_TESTS_STOPPED_STATE': ['stopped', 'paused'], - 'WET_SELF_TESTS_COMPLETE_STATE': ['complete', 'done'], + 'START_STATE': ['start'], + 'BUBBLE_CHECK_SETUP_STATE': ['bubble check setup', 'air bubble check setup'], + 'BUBBLE_CHECK_STATE': ['bubble check', 'air bubble check'], + 'PRIME_CHECK_STATE': ['prime check'], + 'BLOOD_LEAK_DETECTOR_DEBUBBLE_STATE': ['blood leak detector debubble'], + 'BLOOD_LEAK_DETECTOR_STATE': ['blood leak detector'], + 'FIRST_DISPLACEMENT_SETUP_STATE': ['first displacement setup'], + 'FIRST_DISPLACEMENT_STATE': ['first displacement', 'first displacement running'], + 'FIRST_DISPLACEMENT_VERIFY_STATE': ['first displacement verify'], + 'SECOND_DISPLACEMENT_SETUP_STATE': ['second displacement setup'], + 'SECOND_DISPLACEMENT_STATE': ['second displacement', 'second displacement running'], + 'SECOND_DISPLACEMENT_VERIFY_STATE': ['second displacement verify'], + 'STOPPED_STATE': ['stopped', 'paused'], + 'COMPLETE_STATE': ['complete', 'done'], 'NUM_OF_WET_SELF_TESTS_STATES': [], } -# TDTreatmentStates.TREATMENT_BLOOD_PRIME_STATE.BLOOD_PRIME_RUN_STATE sub states +# TDTreatmentStates.BLOOD_PRIME_STATE.BLOOD_PRIME_RUN_STATE sub states @unique class TDTreaBloodPrimeUserActionStates(DialinEnum): - REQUESTED_USER_ACTION_BLOOD_PRIME_PAUSE = 0 # User requests to pause blood prime operation - REQUESTED_USER_ACTION_BLOOD_PRIME_RESUME = 1 # User requests to resume blood prime operation + PAUSE = 0 # User requests to pause blood prime operation + RESUME = 1 # User requests to resume blood prime operation NUM_OF_REQUESTED_BLOOD_PRIME_USER_ACTIONS = 2 # Number of requested blood prime user actions TDTreaBloodPrimeUserActionStates._str_list = { # Official Name : Accepted strings - 'REQUESTED_USER_ACTION_BLOOD_PRIME_PAUSE': ['stop', 'pause'], - 'REQUESTED_USER_ACTION_BLOOD_PRIME_RESUME': ['run', 'resume'], + 'PAUSE': ['stop', 'pause'], + 'RESUME': ['run', 'resume'], 'NUM_OF_REQUESTED_BLOOD_PRIME_USER_ACTIONS': [], } # TDTreatmentStates.TDTreaRinsebackStates.RINSEBACK_RUN_STATE sub states @unique class TDTreaRinsebackUserActionStates(DialinEnum): - REQUESTED_USER_ACTION_RINSEBACK_CONFIRM_START = 0 # User confirms saline bag clamped, connected to end of arterial line, un-clamped, and ready to start rinseback operation - REQUESTED_USER_ACTION_RINSEBACK_INCREASE_RATE = 1 # User requests increase in rinseback flow rate - REQUESTED_USER_ACTION_RINSEBACK_DECREASE_RATE = 2 # User requests decrease in rinseback flow rate - REQUESTED_USER_ACTION_RINSEBACK_PAUSE = 3 # User requests to pause rinseback operation - REQUESTED_USER_ACTION_RINSEBACK_RESUME = 4 # User requests to resume rinseback operation - REQUESTED_USER_ACTION_RINSEBACK_END = 5 # User requests to end the rinseback operation - REQUESTED_USER_ACTION_RINSEBACK_ADDITIONAL = 6 # User requests an additional 10 mL of rinseback volume - REQUESTED_USER_ACTION_RINSEBACK_CONFIRM_DISCONNECT = 7 # User confirms patient disconnected, saline bag clamped, re-connected to VBA, un-clamped, and lines shunted to start re-circulation - REQUESTED_USER_ACTION_RINSEBACK_END_TREATMENT = 8 # User requests to end treatment - REQUESTED_USER_ACTION_RINSEBACK_BACK_TO_TREATMENT = 9 # User requests to return to treatment - NUM_OF_REQUESTED_RINSEBACK_USER_ACTIONS = 10 # Number of requested rinseback user actions + CONFIRM_START = 0 # User confirms saline bag clamped, connected to end of arterial line, un-clamped, and ready to start rinseback operation + INCREASE_RATE = 1 # User requests increase in rinseback flow rate + DECREASE_RATE = 2 # User requests decrease in rinseback flow rate + PAUSE = 3 # User requests to pause rinseback operation + RESUME = 4 # User requests to resume rinseback operation + END = 5 # User requests to end the rinseback operation + ADDITIONAL = 6 # User requests an additional 10 mL of rinseback volume + CONFIRM_DISCONNECT = 7 # User confirms patient disconnected, saline bag clamped, re-connected to VBA, un-clamped, and lines shunted to start re-circulation + END_TREATMENT = 8 # User requests to end treatment + BACK_TO_TREATMENT = 9 # User requests to return to treatment + NUM_OF_REQUESTED_RINSEBACK_USER_ACTIONS = 10 # Number of requested rinseback user actions TDTreaRinsebackUserActionStates._str_list = { # Official Name : Accepted strings - 'REQUESTED_USER_ACTION_RINSEBACK_CONFIRM_START': ['start', 'confirm start'], - 'REQUESTED_USER_ACTION_RINSEBACK_INCREASE_RATE': ['increase rate', 'increase rinseback flow rate'], - 'REQUESTED_USER_ACTION_RINSEBACK_DECREASE_RATE': ['decrease rate', 'decrease rinseback flow rate'], - 'REQUESTED_USER_ACTION_RINSEBACK_PAUSE': ['pause', 'paused'], - 'REQUESTED_USER_ACTION_RINSEBACK_RESUME': ['resume', 'resume rinseback'], - 'REQUESTED_USER_ACTION_RINSEBACK_END': ['end', 'end rinseback'], - 'REQUESTED_USER_ACTION_RINSEBACK_ADDITIONAL': ['additional rinseback', 'additional 10ml', 'extra 10ml'], - 'REQUESTED_USER_ACTION_RINSEBACK_CONFIRM_DISCONNECT': ['confirm disconnect', 'confirm patient disconnect'], - 'REQUESTED_USER_ACTION_RINSEBACK_END_TREATMENT': ['end treatment'], - 'REQUESTED_USER_ACTION_RINSEBACK_BACK_TO_TREATMENT': ['back to treatment'], + 'CONFIRM_START': ['start', 'confirm start'], + 'INCREASE_RATE': ['increase rate', 'increase rinseback flow rate'], + 'DECREASE_RATE': ['decrease rate', 'decrease rinseback flow rate'], + 'PAUSE': ['pause', 'paused'], + 'RESUME': ['resume', 'resume rinseback'], + 'END': ['end', 'end rinseback'], + 'ADDITIONAL': ['additional rinseback', 'additional 10ml', 'extra 10ml'], + 'CONFIRM_DISCONNECT': ['confirm disconnect', 'confirm patient disconnect'], + 'END_TREATMENT': ['end treatment'], + 'BACK_TO_TREATMENT': ['back to treatment'], 'NUM_OF_REQUESTED_RINSEBACK_USER_ACTIONS': [], } # TDTreatmentStates.TDTreaRinsebackStates.RINSEBACK_RUN_STATE sub states @unique class TDTreaRecircUserActionStates(DialinEnum): - REQUESTED_USER_ACTION_TX_RECIRC_RECONNECT = 0 # User requests to re-connect to system (stop re-circulating, clamp arterial and venous lines) - REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_RECONNECT = 1 # User confirms patient connected, lines un-shunted to return to treatment - REQUESTED_USER_ACTION_TX_RECIRC_RESUME_RC = 2 # User requests to resume re-circulation - REQUESTED_USER_ACTION_TX_RECIRC_END_TREATMENT = 3 # User requests to end treatment - REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_DISCONNECT = 4 # User confirms patient disconnected, lines shunted to begin re-circulation - NUM_OF_REQUESTED_TX_RECIRC_USER_ACTIONS = 5 # Number of requested treatment re-circ user actions + RECONNECT = 0 # User requests to re-connect to system (stop re-circulating, clamp arterial and venous lines) + CONFIRM_RECONNECT = 1 # User confirms patient connected, lines un-shunted to return to treatment + RESUME_RC = 2 # User requests to resume re-circulation + END_TREATMENT = 3 # User requests to end treatment + CONFIRM_DISCONNECT = 4 # User confirms patient disconnected, lines shunted to begin re-circulation + NUM_OF_REQUESTED_TX_RECIRC_USER_ACTIONS = 5 # Number of requested treatment re-circ user actions TDTreaRecircUserActionStates._str_list = { # Official Name : Accepted strings - 'REQUESTED_USER_ACTION_TX_RECIRC_RECONNECT': ['reconnect to system'], - 'REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_RECONNECT': ['confirm patient reconnect'], - 'REQUESTED_USER_ACTION_TX_RECIRC_RESUME_RC': ['resume', 'resume recirculation'], - 'REQUESTED_USER_ACTION_TX_RECIRC_END_TREATMENT': ['end treatment', 'request end treatment'], - 'REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_DISCONNECT': ['confirm patient disconnect'], + 'RECONNECT': ['reconnect to system'], + 'CONFIRM_RECONNECT': ['confirm patient reconnect'], + 'RESUME_RC': ['resume', 'resume recirculation'], + 'END_TREATMENT': ['end treatment', 'request end treatment'], + 'CONFIRM_DISCONNECT': ['confirm patient disconnect'], 'NUM_OF_REQUESTED_TX_RECIRC_USER_ACTIONS': [], } # TDTreatmentStates.TDTreaRinsebackStates.RINSEBACK_RUN_STATE sub states @unique class TDTreaEndUserActionStates(DialinEnum): - REQUESTED_USER_ACTION_TX_END_RINSEBACK_START = 0 # User requests to re-connect to system (stop re-circulating, clamp arterial and venous lines) - NUM_OF_REQUESTED_TX_END_USER_ACTIONS = 1 # Number of requested treatment re-circ user actions + RINSEBACK_START = 0 # User requests to re-connect to system (stop re-circulating, clamp arterial and venous lines) + NUM_OF_REQUESTED_TX_END_USER_ACTIONS = 1 # Number of requested treatment re-circ user actions TDTreaEndUserActionStates._str_list = { # Official Name : Accepted strings - 'REQUESTED_USER_ACTION_TX_END_RINSEBACK_START': ['start', 'end rinseback start'], + 'RINSEBACK_START': ['start', 'end rinseback start'], 'NUM_OF_REQUESTED_TX_END_USER_ACTIONS': [], } @@ -739,63 +760,63 @@ # ================================================== Enum Creators: Events ================================================== @unique 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_TUBESET_RESULT = 3 # TD dry self test cartridge result - TD_EVENT_TUBING_SET_BARCODE_SCAN_REQUEST = 4 # TD tubing set barcode scan request - TD_EVENT_TUBING_SET_BARCODE_SCAN_AUTHENTICATED = 5 # TD tubing set barcode scan authenticated - TD_EVENT_DRY_SELF_TEST_PRESSURE_RESULT = 6 # TD dry self test pressure result - TD_EVENT_WET_SELF_TEST_DISPLACEMENT_RESULT = 7 # TD wet self test displacement result - TD_EVENT_CPU_RAM_ERROR_STATUS = 8 # TD CPU RAM error status - TD_EVENT_CAL_RECORD_UPDATE = 9 # TD new calibration record updated - TD_EVENT_SYSTEM_RECORD_UPDATE = 10 # TD new system record has been updated - TD_EVENT_SERVICE_UPDATE = 11 # TD new service record has been updated - TD_EVENT_USAGE_INFO_UPDATE = 12 # TD new usage information has been updated - TD_EVENT_SW_CONFIG_UPDATE = 13 # TD new software configuration has been updated - TD_EVENT_BUTTON = 14 # TD button pressed/released - TD_EVENT_SAFETY_LINE = 15 # TD safety line pulled/released - TD_EVENT_SUB_STATE_CHANGE = 16 # TD Op sub-state change event - TD_EVENT_RSRVR_UF_RATE = 17 # TD ultrafiltration measured and expected rates - TD_EVENT_OPERATION_STATUS = 18 # TD aggregated opmode, submode, and substate event. - TD_EVENT_AIR_TRAP_FILL = 19 # TD started/stopped an air trap fill operation. - TD_EVENT_AIR_TRAP_LOWER = 20 # TD started/stopped an air trap lower level operation. - TD_EVENT_AIR_PUMP_ON_OFF = 21 # TD turned air pump on/off. - TD_EVENT_INSTIT_RECORD_UPDATE = 22 # TD new institutional record has been updated. - TD_EVENT_VALVE_POS_CHANGE = 23 # TD pinch valve position change - TD_EVENT_VALVE_HOMED_POS_SETTING = 24 # TD pinch valve homed encoder positions for A/B/C. - TD_EVENT_SYRINGE_PUMP_STATE = 25 # TD syringe pump state change event - NUM_OF_EVENT_IDS = 26 # Total number of TD events + STARTUP = 0 # TD startup event + OP_MODE_CHANGE = 1 # TD Op mode change event + SUB_MODE_CHANGE = 2 # TD Op sub-mode change event + DRY_SELF_TEST_TUBESET_RESULT = 3 # TD dry self test cartridge result + TUBING_SET_BARCODE_SCAN_REQUEST = 4 # TD tubing set barcode scan request + TUBING_SET_BARCODE_SCAN_AUTHENTICATED = 5 # TD tubing set barcode scan authenticated + DRY_SELF_TEST_PRESSURE_RESULT = 6 # TD dry self test pressure result + WET_SELF_TEST_DISPLACEMENT_RESULT = 7 # TD wet self test displacement result + CPU_RAM_ERROR_STATUS = 8 # TD CPU RAM error status + CAL_RECORD_UPDATE = 9 # TD new calibration record updated + SYSTEM_RECORD_UPDATE = 10 # TD new system record has been updated + SERVICE_UPDATE = 11 # TD new service record has been updated + USAGE_INFO_UPDATE = 12 # TD new usage information has been updated + SW_CONFIG_UPDATE = 13 # TD new software configuration has been updated + BUTTON = 14 # TD button pressed/released + SAFETY_LINE = 15 # TD safety line pulled/released + SUB_STATE_CHANGE = 16 # TD Op sub-state change event + RSRVR_UF_RATE = 17 # TD ultrafiltration measured and expected rates + OPERATION_STATUS = 18 # TD aggregated opmode, submode, and substate event. + AIR_TRAP_FILL = 19 # TD started/stopped an air trap fill operation. + AIR_TRAP_LOWER = 20 # TD started/stopped an air trap lower level operation. + AIR_PUMP_ON_OFF = 21 # TD turned air pump on/off. + INSTIT_RECORD_UPDATE = 22 # TD new institutional record has been updated. + VALVE_POS_CHANGE = 23 # TD pinch valve position change + VALVE_HOMED_POS_SETTING = 24 # TD pinch valve homed encoder positions for A/B/C. + SYRINGE_PUMP_STATE = 25 # TD syringe pump state change event + NUM_OF_EVENT_IDS = 26 # Total number of TD events TDEventList._str_list = { # Official Name : Accepted strings - 'TD_EVENT_STARTUP': ['startup'], - 'TD_EVENT_OP_MODE_CHANGE': ['op mode change', 'operation mode change'], - 'TD_EVENT_SUB_MODE_CHANGE': ['sub mode change'], - 'TD_EVENT_DRY_SELF_TEST_TUBESET_RESULT': ['dry self test tubeset result'], - 'TD_EVENT_TUBING_SET_BARCODE_SCAN_REQUEST': ['barcode authentication request'], - 'TD_EVENT_TUBING_SET_BARCODE_SCAN_AUTHENTICATED': ['barcode authentication result'], - 'TD_EVENT_DRY_SELF_TEST_PRESSURE_RESULT': ['dry self test pressure result'], - 'TD_EVENT_WET_SELF_TEST_DISPLACEMENT_RESULT': ['wet self test displacement result'], - 'TD_EVENT_CPU_RAM_ERROR_STATUS': ['cpu ram error'], - 'TD_EVENT_CAL_RECORD_UPDATE': ['cal record update', 'calibration record update'], - 'TD_EVENT_SYSTEM_RECORD_UPDATE': ['system record update'], - 'TD_EVENT_SERVICE_UPDATE': ['service update', 'service record update'], - 'TD_EVENT_USAGE_INFO_UPDATE': ['usage info update'], - 'TD_EVENT_SW_CONFIG_UPDATE': ['sw config update', 'software config update'], - 'TD_EVENT_BUTTON': ['button', 'button press', 'button release'], - 'TD_EVENT_SAFETY_LINE': ['safety line'], - 'TD_EVENT_SUB_STATE_CHANGE': ['sub state change'], - 'TD_EVENT_RSRVR_UF_RATE': ['rsrvr uf rate', 'ultrafiltration rate change'], - 'TD_EVENT_OPERATION_STATUS': ['operation status'], - 'TD_EVENT_AIR_TRAP_FILL': ['air trap fill'], - 'TD_EVENT_AIR_TRAP_LOWER': ['air trap lower'], - 'TD_EVENT_AIR_PUMP_ON_OFF': ['air pump', 'air pump on', 'air pump off'], - 'TD_EVENT_DRY_SELF_TEST_PRESSURE_DECAY_WAIT_PERIOD': ['dry self test pressure decay wait period'], - 'TD_EVENT_INSTIT_RECORD_UPDATE': ['instit record update', 'institutional record update'], - 'TD_EVENT_VALVE_POS_CHANGE': ['valve position change', 'valve pos change'], - 'TD_EVENT_VALVE_HOMED_POS_SETTING': ['valve homed to positions'], - 'TD_EVENT_SYRINGE_PUMP_STATE': ['syringe pump state'], + 'STARTUP': ['startup'], + 'OP_MODE_CHANGE': ['op mode change', 'operation mode change'], + 'SUB_MODE_CHANGE': ['sub mode change'], + 'DRY_SELF_TEST_TUBESET_RESULT': ['dry self test tubeset result'], + 'TUBING_SET_BARCODE_SCAN_REQUEST': ['barcode authentication request'], + 'TUBING_SET_BARCODE_SCAN_AUTHENTICATED': ['barcode authentication result'], + 'DRY_SELF_TEST_PRESSURE_RESULT': ['dry self test pressure result'], + 'WET_SELF_TEST_DISPLACEMENT_RESULT': ['wet self test displacement result'], + 'CPU_RAM_ERROR_STATUS': ['cpu ram error'], + 'CAL_RECORD_UPDATE': ['cal record update', 'calibration record update'], + 'SYSTEM_RECORD_UPDATE': ['system record update'], + 'SERVICE_UPDATE': ['service update', 'service record update'], + 'USAGE_INFO_UPDATE': ['usage info update'], + 'SW_CONFIG_UPDATE': ['sw config update', 'software config update'], + 'BUTTON': ['button', 'button press', 'button release'], + 'SAFETY_LINE': ['safety line'], + 'SUB_STATE_CHANGE': ['sub state change'], + 'RSRVR_UF_RATE': ['rsrvr uf rate', 'ultrafiltration rate change'], + 'OPERATION_STATUS': ['operation status'], + 'AIR_TRAP_FILL': ['air trap fill'], + 'AIR_TRAP_LOWER': ['air trap lower'], + 'AIR_PUMP_ON_OFF': ['air pump', 'air pump on', 'air pump off'], + 'DRY_SELF_TEST_PRESSURE_DECAY_WAIT_PERIOD': ['dry self test pressure decay wait period'], + 'INSTIT_RECORD_UPDATE': ['instit record update', 'institutional record update'], + 'VALVE_POS_CHANGE': ['valve position change', 'valve pos change'], + 'VALVE_HOMED_POS_SETTING': ['valve homed to positions'], + 'SYRINGE_PUMP_STATE': ['syringe pump state'], 'NUM_OF_EVENT_IDS': [], } @@ -887,6 +908,18 @@ @unique +class TDBloodPumpNames(DialinEnum): + H4_MOTOR = 0 # TD Blood Pump + NUM_OF_BLOOD_PUMPS = 1 # Number of Blood Pumps + +TDBloodPumpNames._str_list = { + # Official Name : Accepted strings + 'H4_MOTOR': ['h4', 'blood pump', 'blood flow motor'], + 'NUM_OF_BLOOD_PUMPS': [], +} + + +@unique class TDEjectorNames(DialinEnum): H5_MOTOR = 0 # TD Ejector Motor NUM_OF_EJECTOR_MOTORS = 1 # Number of Ejector Motors @@ -939,6 +972,18 @@ @unique +class TDSyringePumpNames(DialinEnum): + H10_PUMP = 0 # TD Syringe Pump + NUM_OF_SYRINGE_PUMPS = 1 # Number of Syringe Pumps + +TDSyringePumpNames._str_list = { + # Official Name : Accepted strings + 'H10_PUMP': ['h10', 'syringe pump'], + 'NUM_OF_SYRINGE_PUMPS': [], +} + + +@unique class TDValveNames(DialinEnum): H1_VALV = 0 # H1 Valve for TD H19_VALV = 1 # H19 Valve for TD @@ -1011,15 +1056,15 @@ class TDAirPumpStates(DialinEnum): - AIR_PUMP_STATE_INIT = 0 # Air Pump Initialize state - AIR_PUMP_STATE_OFF = 1 # Air Pump Off state - AIR_PUMP_STATE_ON = 2 # Air Pump On state + INIT = 0 # Air Pump Initialize state + OFF = 1 # Air Pump Off state + ON = 2 # Air Pump On state NUM_OF_AIR_PUMP_STATES = 3 # Number of air pump states TDAirPumpStates._str_list = { - 'AIR_PUMP_STATE_INIT': ['init'], - 'AIR_PUMP_STATE_OFF': ['off'], - 'AIR_PUMP_STATE_ON': ['on'], + 'INIT': ['init'], + 'OFF': ['off'], + 'ON': ['on'], 'NUM_OF_AIR_PUMP_STATES ': [] } @@ -1116,28 +1161,28 @@ @unique class TDEjectorStates(DialinEnum): - EJECTOR_STATE_INIT = 0 # Ejector Initial (un-homed) state - EJECTOR_STATE_HOMING = 1 # Ejector Homing state - EJECTOR_STATE_RETRACTED = 2 # Ejector Retracted state - EJECTOR_STATE_EXTENDED = 3 # Ejector Extended state - EJECTOR_STATE_RETRACTING = 4 # Ejector Retracting state - EJECTOR_STATE_EXTENDING = 5 # Ejector Extending state - EJECTOR_STATE_DIR_CHANGE_STOP = 6 # Ejector Direction Change Stop state - EJECTOR_STATE_RETRACT_BACKOFF = 7 # Ejector Backing Off Retracted state - EJECTOR_STATE_ABORT = 8 # Ejector abort state - NUM_OF_EJECTOR_STATES = 9 # Number of ejector states + INIT = 0 # Ejector Initial (un-homed) state + HOMING = 1 # Ejector Homing state + RETRACTED = 2 # Ejector Retracted state + EXTENDED = 3 # Ejector Extended state + RETRACTING = 4 # Ejector Retracting state + EXTENDING = 5 # Ejector Extending state + DIR_CHANGE_STOP = 6 # Ejector Direction Change Stop state + RETRACT_BACKOFF = 7 # Ejector Backing Off Retracted state + ABORT = 8 # Ejector abort state + NUM_OF_EJECTOR_STATES = 9 # Number of ejector states TDEjectorStates._str_list = { # Official Name : Accepted strings - 'EJECTOR_STATE_INIT': ['init'], - 'EJECTOR_STATE_HOMING': ['homing'], - 'EJECTOR_STATE_RETRACTED': ['retracted'], - 'EJECTOR_STATE_EXTENDED': ['extended'], - 'EJECTOR_STATE_RETRACTING': ['retracting'], - 'EJECTOR_STATE_EXTENDING': ['extending'], - 'EJECTOR_STATE_DIR_CHANGE_STOP': ['dir chage stop', 'direction change stop'], - 'EJECTOR_STATE_RETRACT_BACKOFF': ['retract backoff', 'backing off'], - 'EJECTOR_STATE_ABORT': ['abort'], + 'INIT': ['init'], + 'HOMING': ['homing'], + 'RETRACTED': ['retracted'], + 'EXTENDED': ['extended'], + 'RETRACTING': ['retracting'], + 'EXTENDING': ['extending'], + 'DIR_CHANGE_STOP': ['dir chage stop', 'direction change stop'], + 'RETRACT_BACKOFF': ['retract backoff', 'backing off'], + 'ABORT': ['abort'], 'NUM_OF_EJECTOR_STATES': [], } @@ -1173,6 +1218,7 @@ 'NUM_OF_SWITCH_STATES': [], } + # Syringe pump operations @unique class TDSyringePumpStates(DialinEnum): @@ -1237,56 +1283,56 @@ # ================================================== Enum Creators: Treatment Parameters ================================================== @unique class TDTreatmentParameters(DialinEnum): - TREATMENT_PARAM_TREATMENT_MODALITY = 0 # Treatment modality type (enum) - TREATMENT_PARAM_HDF_DILUTION = 1 # HDF dilution (enum) - TREATMENT_PARAM_BLOOD_FLOW = 2 # Blood flow rate (in mL/min) - TREATMENT_PARAM_DIALYSATE_FLOW = 3 # Dialysate flow rate (in mL/min) - TREATMENT_PARAM_TREATMENT_DURATION = 4 # Treatment duration (in minutes) - TREATMENT_PARAM_HEPARIN_DELIVERY_DURATION = 5 # Heparin delivery duration (in minutes) - TREATMENT_PARAM_HEPARIN_TYPE = 6 # Heparin type (enum) - TREATMENT_PARAM_DRY_BICARB_CART_SIZE = 7 # Dry bicarb cartrideg size (enum) - TREATMENT_PARAM_SODIUM = 8 # Sodium concentrate (mEq/L) - TREATMENT_PARAM_BICARB_CONCENTRATE = 9 # Bicarbonate concentrate (mEq/L) - TREATMENT_PARAM_DIALYZER_TYPE = 10 # Dialysate type (enum) - TREATMENT_PARAM_FLUID_BOLUS_VOLUME = 11 # Fluid bolus volume (in mL) - TREATMENT_PARAM_BP_MEAS_INTERVAL = 12 # Blood pressure measurement interval (in minutes) - TREATMENT_PARAM_PRIME_RINSEBACK_VOLUME = 13 # Prime rinseback volume (in mL) - TREATMENT_PARAM_HEPATITIS_B = 14 # Hepatitis B status (enum) - TREATMENT_PARAM_ACID_CONCENTRATE = 15 # Acid concentrate type (enum) - TREATMENT_PARAM_SUBST_FLUID_VOLUME = 16 # Substitution fluid volume (in liters) - TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME = 17 # Heparin bolus volume (in mL) - TREATMENT_PARAM_HEPARIN_DELIVERY_RATE = 18 # Heparin delivery rate (in mL/hr) - TREATMENT_PARAM_DIALYSATE_TEMPERATURE = 19 # Dialysate temperature (in degC) - TREATMENT_PARAM_ACID_CONCENTRATE_CONV_FACTOR = 20 # Acid concentrate conversion factor - TREATMENT_PARAM_PRE_WEIGHT = 21 # Weight of patient prior to treatment - TREATMENT_PARAM_EST_TARGET_WEIGHT = 22 # Estimated target weight of patient post treatment - TREATMENT_PARAM_UF_VOLUME = 23 # Ultrafiltration volume (in liters) - provided separately by UI - NUM_OF_TREATMENT_PARAMS = 24 # Total number of treatment parameters + TREATMENT_MODALITY = 0 # Treatment modality type (enum) + HDF_DILUTION = 1 # HDF dilution (enum) + BLOOD_FLOW = 2 # Blood flow rate (in mL/min) + DIALYSATE_FLOW = 3 # Dialysate flow rate (in mL/min) + TREATMENT_DURATION = 4 # Treatment duration (in minutes) + HEPARIN_DELIVERY_DURATION = 5 # Heparin delivery duration (in minutes) + HEPARIN_TYPE = 6 # Heparin type (enum) + DRY_BICARB_CART_SIZE = 7 # Dry bicarb cartrideg size (enum) + SODIUM = 8 # Sodium concentrate (mEq/L) + BICARB_CONCENTRATE = 9 # Bicarbonate concentrate (mEq/L) + DIALYZER_TYPE = 10 # Dialysate type (enum) + FLUID_BOLUS_VOLUME = 11 # Fluid bolus volume (in mL) + BP_MEAS_INTERVAL = 12 # Blood pressure measurement interval (in minutes) + PRIME_RINSEBACK_VOLUME = 13 # Prime rinseback volume (in mL) + HEPATITIS_B = 14 # Hepatitis B status (enum) + ACID_CONCENTRATE = 15 # Acid concentrate type (enum) + SUBST_FLUID_VOLUME = 16 # Substitution fluid volume (in liters) + HEPARIN_BOLUS_VOLUME = 17 # Heparin bolus volume (in mL) + HEPARIN_DELIVERY_RATE = 18 # Heparin delivery rate (in mL/hr) + DIALYSATE_TEMPERATURE = 19 # Dialysate temperature (in degC) + ACID_CONCENTRATE_CONV_FACTOR = 20 # Acid concentrate conversion factor + PRE_WEIGHT = 21 # Weight of patient prior to treatment + EST_TARGET_WEIGHT = 22 # Estimated target weight of patient post treatment + UF_VOLUME = 23 # Ultrafiltration volume (in liters) - provided separately by UI + NUM_OF_TREATMENT_PARAMS = 24 # Total number of treatment parameters TDTreatmentParameters._str_list = { # Official Name : Accepted strings - 'TREATMENT_PARAM_TREATMENT_MODALITY': ['treatment modality', 'treatment type'], - 'TREATMENT_PARAM_HDF_DILUTION': ['hdf dilution'], - 'TREATMENT_PARAM_BLOOD_FLOW': ['blood flow', 'blood flow rate'], - 'TREATMENT_PARAM_DIALYSATE_FLOW': ['sialysate flow', 'dialysate flow rate'], - 'TREATMENT_PARAM_TREATMENT_DURATION': ['treatment duration'], - 'TREATMENT_PARAM_HEPARIN_DELIVERY_DURATION': ['heparin delivery duration', 'heparin duration'], - 'TREATMENT_PARAM_HEPARIN_TYPE': ['heparin', 'heparin type'], - 'TREATMENT_PARAM_ACID_CONCENTRATE': ['acid', 'acid concentrate'], - 'TREATMENT_PARAM_BICARB_CONCENTRATE': ['bicarb', 'bicarb concentrate'], - 'TREATMENT_PARAM_DIALYZER_TYPE': ['dialyzer', 'dialyzer type'], - 'TREATMENT_PARAM_FLUID_BOLUS_VOLUME': ['fluid bolus volume', 'fluid bolus'], - 'TREATMENT_PARAM_BP_MEAS_INTERVAL': ['blood pressure measure interval', 'bp measure interval'], - 'TREATMENT_PARAM_PRIME_RINSEBACK_VOLUME': ['rinseback volume', 'prime rinseback volume'], - 'TREATMENT_PARAM_HEPATITIS_B': ['hepatitis', 'hepatitis b'], - 'TREATMENT_PARAM_SUBST_FLUID_VOLUME': ['subst fluid volume', 'substitute fluid volume'], - 'TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME': ['heparin volume'], - 'TREATMENT_PARAM_HEPARIN_DELIVERY_RATE': ['heparin delivery rate'], - 'TREATMENT_PARAM_DIALYSATE_TEMPERATURE': ['dialysate temperature'], - 'TREATMENT_PARAM_ACID_CONCENTRATE_CONV_FACTOR': ['acid concentrate conv factor', 'acid concentrate conversion factor'], - 'TREATMENT_PARAM_PRE_WEIGHT': ['pre weight'], - 'TREATMENT_PARAM_EST_TARGET_WEIGHT': ['est target weight', 'target weight', 'estimated target weight'], - 'TREATMENT_PARAM_UF_VOLUME': ['uf volume', 'ultrafiltration volume'], + 'TREATMENT_MODALITY': ['treatment modality', 'treatment type'], + 'HDF_DILUTION': ['hdf dilution'], + 'BLOOD_FLOW': ['blood flow', 'blood flow rate'], + 'DIALYSATE_FLOW': ['sialysate flow', 'dialysate flow rate'], + 'TREATMENT_DURATION': ['treatment duration'], + 'HEPARIN_DELIVERY_DURATION': ['heparin delivery duration', 'heparin duration'], + 'HEPARIN_TYPE': ['heparin', 'heparin type'], + 'ACID_CONCENTRATE': ['acid', 'acid concentrate'], + 'BICARB_CONCENTRATE': ['bicarb', 'bicarb concentrate'], + 'DIALYZER_TYPE': ['dialyzer', 'dialyzer type'], + 'FLUID_BOLUS_VOLUME': ['fluid bolus volume', 'fluid bolus'], + 'BP_MEAS_INTERVAL': ['blood pressure measure interval', 'bp measure interval'], + 'PRIME_RINSEBACK_VOLUME': ['rinseback volume', 'prime rinseback volume'], + 'HEPATITIS_B': ['hepatitis', 'hepatitis b'], + 'SUBST_FLUID_VOLUME': ['subst fluid volume', 'substitute fluid volume'], + 'HEPARIN_BOLUS_VOLUME': ['heparin volume'], + 'HEPARIN_DELIVERY_RATE': ['heparin delivery rate'], + 'DIALYSATE_TEMPERATURE': ['dialysate temperature'], + 'ACID_CONCENTRATE_CONV_FACTOR': ['acid concentrate conv factor', 'acid concentrate conversion factor'], + 'PRE_WEIGHT': ['pre weight'], + 'EST_TARGET_WEIGHT': ['est target weight', 'target weight', 'estimated target weight'], + 'UF_VOLUME': ['uf volume', 'ultrafiltration volume'], 'NUM_OF_TREATMENT_PARAMS': [], } @@ -1337,3 +1383,109 @@ 'HEPATITIS_B_NEGATIVE': ['negative'], 'NUM_OF_HEPATITIS_B_STATUS': [], } + + +# ================================================== Enum Creators: Record Sub Fields ================================================== + + + +# ================================================== Enum Creators: Record Fields ================================================== +@unique +class TDSystemRecordFields(RecordsBaseEnum): + TOP_LEVEL_PN = (0, DataTypes.U08, 10) # Top level part number + TOP_LEVEL_SN = (1, DataTypes.U08, 20) # Top level serial number + MFG_LOCATION = (2, DataTypes.U08) # Manufacturing Location + MFG_DATE = (3, DataTypes.U32) # Manufacturing Date + NUM_OF_SYSTEM_RECORD_FIELDS = (4, DataTypes.NONE) # Number of System Record Fields + +TDSystemRecordFields._str_list = { + # Official Name : Accepted strings + 'TOP_LEVEL_PN': ['pn', 'part number'], + 'TOP_LEVEL_SN': ['sn', 'serial number'], + 'MFG_LOCATION': ['location', 'manufacturing location'], + 'MFG_DATE': ['date', 'manufacturing date'], + 'NUM_OF_SYSTEM_RECORD_FIELDS': [], +} + + +@unique +class TDServiceRecordFields(RecordsBaseEnum): + SERVICE_LOC = (0, DataTypes.U08) # DD service location + LAST_SERVICE_EPOCH_DATE = (1, DataTypes.U32) # DD last service date in epoch + SERVICE_INTERVAL_SECONDS = (2, DataTypes.U32) # DD service interval in seconds + LAST_RESET_TIME_EPOCH = (3, DataTypes.U32) # Last time the record was reset in epoch + NUM_OF_SERVICE_RECORD_FIELDS = (4, DataTypes.NONE) # Number of Service Record Fields + +TDServiceRecordFields._str_list = { + # Official Name : Accepted strings + 'SERVICE_LOC': [], + 'LAST_SERVICE_EPOCH_DATE': [], + 'SERVICE_INTERVAL_SECONDS': [], + 'LAST_RESET_TIME_EPOCH': [], + 'NUM_OF_SERVICE_RECORD_FIELDS': [], +} + + +def get_calibration_record_fields() -> RecordsBaseEnum: + # Creating the enum members list + i = 0 + members = {} + members[f'NUM_OF_CALIBRATION_RECORD_FIELDS'] = (i, DataTypes.NONE) + + # Enum creation + TDCalibrationRecordFields = RecordsBaseEnum('TDCalibrationRecordFields', members,) + + # Setting the _str_list values for the enum + TDCalibrationRecordFields._str_list = {} + for member in members: + TDCalibrationRecordFields._str_list[member] = [] + + return TDCalibrationRecordFields + + +@unique +class TDInstitutionalRecordBasicFields(RecordsBaseEnum): + CALIBRATION_TIME = (0, DataTypes.U32) # Calibration time in epoch. + NUM_OF_INSTITUTIONAL_RECORD_BASIC_FIELDS = (1, DataTypes.NONE) # Number of Institutional Record Basic Fields + +TDInstitutionalRecordBasicFields._str_list = { + # Official Name : Accepted strings + 'CALIBRATION_TIME': [], + 'NUM_OF_INSTITUTIONAL_RECORD_BASIC_FIELDS': [], +} + + +@unique +class TDInstitutionalRecordAdvancedFields(RecordsBaseEnum): + CALIBRATION_TIME = (0, DataTypes.U32) # Calibration time in epoch. + NUM_OF_INSTITUTIONAL_RECORD_ADVANCED_FIELDS = (1, DataTypes.NONE) # Number of Institutional Record Advanced Fields + +TDInstitutionalRecordAdvancedFields._str_list = { + # Official Name : Accepted strings + 'CALIBRATION_TIME': [], + 'NUM_OF_INSTITUTIONAL_RECORD_ADVANCED_FIELDS': [], +} + + +@unique +class TDInstitutionalRecordAdditionalFields(RecordsBaseEnum): + CALIBRATION_TIME = (0, DataTypes.U32) # Calibration time in epoch. + NUM_OF_INSTITUTIONAL_RECORD_ADDITIONAL_FIELDS = (1, DataTypes.NONE) # Number of Institutional Record Additional Fields + +TDInstitutionalRecordAdditionalFields._str_list = { + # Official Name : Accepted strings + 'CALIBRATION_TIME': [], + 'NUM_OF_INSTITUTIONAL_RECORD_ADDITIONAL_FIELDS': [], +} + + +@unique +class TDUsageInformationRecordFields(RecordsBaseEnum): + LAST_RESET_TIME_EPOCH = (0, DataTypes.U32) # Last time the record was reset in epoch. + NUM_OF_USAGE_INFO_RECORD_FIELDS = (1, DataTypes.NONE) # Number of Usage Information Record Fields + +TDUsageInformationRecordFields._str_list = { + # Official Name : Accepted strings + 'LAST_RESET_TIME_EPOCH': [], + 'NUM_OF_USAGE_INFO_RECORD_FIELDS': [], +} Index: leahi_dialin/dd/dialysate_delivery.py =================================================================== diff -u -r489ce5ef49041b863501b7fecd6e4716e7dcaa9f -r95205b22fbcf8ce097fd7dba0a34156e5f9008a5 --- leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision 489ce5ef49041b863501b7fecd6e4716e7dcaa9f) +++ leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision 95205b22fbcf8ce097fd7dba0a34156e5f9008a5) @@ -325,14 +325,12 @@ if received_message is not None: if received_message['message'][CanMessage.PAYLOAD_START_INDEX] == 1: - self.logger.debug("Success: Logged In") - #self._send_dd_checkin_message() # Timer starts interval first - #self.can_interface.transmit_interval_dictionary[self.callback_id].start() + self.logger.info("Success: Logged In") else: - self.logger.debug("Failure: Log In Failed.") + self.logger.info("Failure: Log In Failed.") return received_message['message'][CanMessage.PAYLOAD_START_INDEX] else: - self.logger.debug("Login Timeout!!!!") + self.logger.info("Login Timeout!!!!") return False Index: leahi_dialin/fp/filtration_purification.py =================================================================== diff -u -rb7d86216a91c9fbf74af7c6233ed0b6eaf74cd75 -r95205b22fbcf8ce097fd7dba0a34156e5f9008a5 --- leahi_dialin/fp/filtration_purification.py (.../filtration_purification.py) (revision b7d86216a91c9fbf74af7c6233ed0b6eaf74cd75) +++ leahi_dialin/fp/filtration_purification.py (.../filtration_purification.py) (revision 95205b22fbcf8ce097fd7dba0a34156e5f9008a5) @@ -424,15 +424,13 @@ if received_message is not None: if received_message['message'][CanMessage.PAYLOAD_START_INDEX] == 1: - self.logger.debug("Success: Logged In") + self.logger.info("Success: Logged In") self.cmd_request_defeatured_status() - #self._send_ro_checkin_message() # Timer starts interval first - #self.can_interface.transmit_interval_dictionary[self.callback_id].start() else: - self.logger.debug("Failure: Log In Failed.") + self.logger.info("Failure: Log In Failed") return received_message['message'][CanMessage.PAYLOAD_START_INDEX] else: - self.logger.debug("Login Timeout!!!!") + self.logger.info("Login Timeout!!!!") return False Index: leahi_dialin/td/treatment_delivery.py =================================================================== diff -u -r272d33ed055f9d107788a17a76f2b9bc5bb510aa -r95205b22fbcf8ce097fd7dba0a34156e5f9008a5 --- leahi_dialin/td/treatment_delivery.py (.../treatment_delivery.py) (revision 272d33ed055f9d107788a17a76f2b9bc5bb510aa) +++ leahi_dialin/td/treatment_delivery.py (.../treatment_delivery.py) (revision 95205b22fbcf8ce097fd7dba0a34156e5f9008a5) @@ -379,14 +379,12 @@ if received_message is not None: if received_message['message'][CanMessage.PAYLOAD_START_INDEX] == 1: - self.logger.debug("Success: Logged In") - #self._send_td_checkin_message() # Timer starts interval first - #self.can_interface.transmit_interval_dictionary[self.callback_id].start() + self.logger.info("Success: Logged In") else: - self.logger.debug("Failure: Log In Failed.") + self.logger.info("Failure: Log In Failed") return received_message['message'][CanMessage.PAYLOAD_START_INDEX] else: - self.logger.debug("Login Timeout!!!!") + self.logger.info("Login Timeout!!!!") return False