Index: leahi_dialin/common/dd_defs.py =================================================================== diff -u -r5f16af73fb80a76c6dc767661f11a8f3508770a1 -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 5f16af73fb80a76c6dc767661f11a8f3508770a1) +++ leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -319,47 +319,47 @@ # ================================================== Enum Creators: Events ================================================== @unique class DDEventList(DialinEnum): - DD_EVENT_STARTUP = 0 # DD startup event - DD_EVENT_OP_MODE_CHANGE = 1 # DD Op mode change event - DD_EVENT_SUB_MODE_CHANGE = 2 # DD Op sub-mode change event - DD_EVENT_OPERATION_STATUS = 3 # DD operation status event - DD_EVENT_D6_LEVL_CHANGE = 4 # DD floater level change event - DD_EVENT_D63_LEVL_CHANGE = 5 # DD bicarb upper level change event - DD_EVENT_D98_LEVL_CHANGE = 6 # DD bicarb lower level change event - DD_EVENT_D46_LEVL_CHANGE = 7 # DD spent dialysate air seperation level change event - DD_EVENT_TD_COMMUNICATION_LOSS = 8 # DD TD communication loss - DD_EVENT_TEMPERATURE_DRIFT = 9 # DD dialysate temperature drift - DD_EVENT_BLOOD_LEAK_ZEROING_REQUEST = 10 # DD blood leak zeroing request - DD_EVENT_BLOOD_LEAK_ZEROING_REQUIRED = 11 # DD blood leak zeroing required - DD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES = 12 # DD blood leak number of setpoint check failures - DD_EVENT_CPU_RAM_ERROR_STATUS = 13 # DD CPU RAM error - DD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT = 14 # DD blood leak self test result - DD_EVENT_BC_SWITCH_ONLY_MODE_CHANGE = 15 # DD Balancing Chamber Switching Only status event - DD_EVENT_BC_FILL_STATE_CHANGE = 16 # Balancing chamber state switch event - DD_EVENT_HEATER_STATE_CHANGE = 17 # DD heater state change event - DD_EVENT_DRY_BICART_STATE_CHANGE = 18 # DD Dry Bicart State change event - NUM_OF_DD_EVENT_IDS = 19 # Total number of DD events + STARTUP = 0 # DD startup event + OP_MODE_CHANGE = 1 # DD Op mode change event + SUB_MODE_CHANGE = 2 # DD Op sub-mode change event + OPERATION_STATUS = 3 # DD operation status event + D6_LEVL_CHANGE = 4 # DD floater level change event + D63_LEVL_CHANGE = 5 # DD bicarb upper level change event + D98_LEVL_CHANGE = 6 # DD bicarb lower level change event + D46_LEVL_CHANGE = 7 # DD spent dialysate air seperation level change event + TD_COMMUNICATION_LOSS = 8 # DD TD communication loss + TEMPERATURE_DRIFT = 9 # DD dialysate temperature drift + BLOOD_LEAK_ZEROING_REQUEST = 10 # DD blood leak zeroing request + BLOOD_LEAK_ZEROING_REQUIRED = 11 # DD blood leak zeroing required + BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES = 12 # DD blood leak number of setpoint check failures + CPU_RAM_ERROR_STATUS = 13 # DD CPU RAM error + BLOOD_LEAK_SELF_TEST_RESULT = 14 # DD blood leak self test result + BC_SWITCH_ONLY_MODE_CHANGE = 15 # DD Balancing Chamber Switching Only status event + BC_FILL_STATE_CHANGE = 16 # Balancing chamber state switch event + HEATER_STATE_CHANGE = 17 # DD heater state change event + DRY_BICART_STATE_CHANGE = 18 # DD Dry Bicart State change event + NUM_OF_DD_EVENT_IDS = 19 # Total number of DD events DDEventList._str_list = { # Official Name : Accepted strings - 'DD_EVENT_STARTUP': ['startup'], - 'DD_EVENT_OP_MODE_CHANGE': ['op mode change', 'operation mode change'], - 'DD_EVENT_SUB_MODE_CHANGE': ['sub mode change'], - 'DD_EVENT_OPERATION_STATUS': ['status', 'operation status'], - 'DD_EVENT_D6_LEVL_CHANGE': ['d6 level change'], - 'DD_EVENT_D63_LEVL_CHANGE': ['d63 level change'], - 'DD_EVENT_D46_LEVL_CHANGE': ['d46 level change'], - 'DD_EVENT_TD_COMMUNICATION_LOSS': ['td communication loss'], - 'DD_EVENT_TEMPERATURE_DRIFT': ['temperature drift'], - 'DD_EVENT_BLOOD_LEAK_ZEROING_REQUEST': ['blood leak zeroing request'], - 'DD_EVENT_BLOOD_LEAK_ZEROING_REQUIRED': ['blood leak zeroing required'], - 'DD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES': ['blood leak check failed'], - 'DD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT': ['blood leak self test'], - 'DD_EVENT_CPU_RAM_ERROR_STATUS': ['cpu ram error status', 'cpu error status', 'ram error status', 'memory error status'], - 'DD_EVENT_BC_SWITCH_ONLY_MODE_CHANGE': ['bc switch only change'], - 'DD_EVENT_BC_FILL_STATE_CHANGE': ['bc state change'], - 'DD_EVENT_HEATER_STATE_CHANGE': ['heater state change'], - 'DD_EVENT_DRY_BICART_STATE_CHANGE': ['dry bicart state change'], + 'STARTUP': ['startup'], + 'OP_MODE_CHANGE': ['op mode change', 'operation mode change'], + 'SUB_MODE_CHANGE': ['sub mode change'], + 'OPERATION_STATUS': ['status', 'operation status'], + 'D6_LEVL_CHANGE': ['d6 level change'], + 'D63_LEVL_CHANGE': ['d63 level change'], + 'D46_LEVL_CHANGE': ['d46 level change'], + 'TD_COMMUNICATION_LOSS': ['td communication loss'], + 'TEMPERATURE_DRIFT': ['temperature drift'], + 'BLOOD_LEAK_ZEROING_REQUEST': ['blood leak zeroing request'], + 'BLOOD_LEAK_ZEROING_REQUIRED': ['blood leak zeroing required'], + 'BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES': ['blood leak check failed'], + 'BLOOD_LEAK_SELF_TEST_RESULT': ['blood leak self test'], + 'CPU_RAM_ERROR_STATUS': ['cpu ram error status', 'cpu error status', 'ram error status', 'memory error status'], + 'BC_SWITCH_ONLY_MODE_CHANGE': ['bc switch only change'], + 'BC_FILL_STATE_CHANGE': ['bc state change'], + 'HEATER_STATE_CHANGE': ['heater state change'], + 'DRY_BICART_STATE_CHANGE': ['dry bicart state change'], 'NUM_OF_DD_EVENT_IDS': [], } @@ -737,24 +737,24 @@ @unique class DDBloodLeakStates(DialinEnum): - BLOOD_LEAK_WAIT_FOR_POST_STATE = 0 # - BLOOD_LEAK_CHECK_SET_POINT_STATE = 1 # - BLOOD_LEAK_INIT_STATE = 2 # - BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE = 3 # - BLOOD_LEAK_VERIFY_INTENSITY_AFTER_ZEROING_STATE = 4 # - BLOOD_LEAK_NORMAL_STATE = 5 # - BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE = 6 # - NUM_OF_BLOOD_LEAK_STATES = 7 # Number of blood leak states + WAIT_FOR_POST_STATE = 0 # + CHECK_SET_POINT_STATE = 1 # + INIT_STATE = 2 # + CHECK_ZERO_AND_SELF_TEST_STATE = 3 # + VERIFY_INTENSITY_AFTER_ZEROING_STATE = 4 # + NORMAL_STATE = 5 # + RECOVER_BLOOD_DETECT_STATE = 6 # + NUM_OF_BLOOD_LEAK_STATES = 7 # Number of blood leak states DDBloodLeakStates._str_list = { # Official Name : Accepted strings - 'BLOOD_LEAK_WAIT_FOR_POST_STATE': ['wait for post', 'wait'], - 'BLOOD_LEAK_CHECK_SET_POINT_STATE': ['check set point'], - 'BLOOD_LEAK_INIT_STATE': ['init'], - 'BLOOD_LEAK_CHECK_ZERO_AND_SELF_TEST_STATE': ['check zero and self test'], - 'BLOOD_LEAK_VERIFY_INTENSITY_AFTER_ZEROING_STATE': ['verify', 'verify intensity after zeroing'], - 'BLOOD_LEAK_NORMAL_STATE': ['normal'], - 'BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE': ['recover blood', 'recover blood detect'], + 'WAIT_FOR_POST_STATE': ['wait for post', 'wait'], + 'CHECK_SET_POINT_STATE': ['check set point'], + 'INIT_STATE': ['init'], + 'CHECK_ZERO_AND_SELF_TEST_STATE': ['check zero and self test'], + 'VERIFY_INTENSITY_AFTER_ZEROING_STATE': ['verify', 'verify intensity after zeroing'], + 'NORMAL_STATE': ['normal'], + 'RECOVER_BLOOD_DETECT_STATE': ['recover blood', 'recover blood detect'], 'NUM_OF_BLOOD_LEAK_STATES': [], } Index: leahi_dialin/common/fp_defs.py =================================================================== diff -u -r5f16af73fb80a76c6dc767661f11a8f3508770a1 -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 5f16af73fb80a76c6dc767661f11a8f3508770a1) +++ leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -236,76 +236,76 @@ # FPPreGenPermeateStates.FP_PRE_GENP_INLET_PRES_CHECK sub states @unique class FPInletPresCheckStates(DialinEnum): - INLET_PRES_CHECK_IN_PROGRESS = 0 # Inlet Pressure Check in progress state - INLET_PRES_CHECK_PAUSED = 1 # Inlet Pressure Check paused state + IN_PROGRESS = 0 # Inlet Pressure Check in progress state + PAUSED = 1 # Inlet Pressure Check paused state NUM_OF_INLET_PRES_CHECK_STATES = 2 # Number of Inlet Pressure Check states FPInletPresCheckStates._str_list = { # Official Name : Accepted strings - 'INLET_PRES_CHECK_IN_PROGRESS': ['start', 'in progress', 'running'], - 'INLET_PRES_CHECK_PAUSED': ['paused'], + 'IN_PROGRESS': ['start', 'in progress', 'running'], + 'PAUSED': ['paused'], 'NUM_OF_INLET_PRES_CHECK_STATES': [], } # FPPreGenPermeateStates.FP_PRE_GENP_FILTER_FLUSH sub states @unique class FPFilterFlushStates(DialinEnum): - FILTER_FLUSH_IN_PROGRESS = 0 # Filter Flush in progress state - FILTER_FLUSH_PAUSED = 1 # Filter Flush paused state + IN_PROGRESS = 0 # Filter Flush in progress state + PAUSED = 1 # Filter Flush paused state NUM_OF_FILTER_FLUSH_STATES = 2 # Number of filter flush states FPFilterFlushStates._str_list = { # Official Name : Accepted strings - 'FILTER_FLUSH_IN_PROGRESS': ['start', 'in progress', 'running'], - 'FILTER_FLUSH_PAUSED': ['paused'], + 'IN_PROGRESS': ['start', 'in progress', 'running'], + 'PAUSED': ['paused'], 'NUM_OF_FILTER_FLUSH_STATES': [], } # FPPreGenPermeateStates.FP_PRE_GENP_PERMEATE_FLUSH sub states @unique class FPPermeateFlushStates(DialinEnum): - PERM_FLUSH_IN_PROGRESS = 0 # Permeate Flush in progress state - PERM_FLUSH_PAUSED = 1 # Permeate Flush paused state + IN_PROGRESS = 0 # Permeate Flush in progress state + PAUSED = 1 # Permeate Flush paused state NUM_OF_PERM_FLUSH_STATES = 2 # Number of permeate flush states FPPermeateFlushStates._str_list = { # Official Name : Accepted strings - 'PERM_FLUSH_IN_PROGRESS': ['start', 'in progress', 'running'], - 'PERM_FLUSH_PAUSED': ['paused'], + 'IN_PROGRESS': ['start', 'in progress', 'running'], + 'PAUSED': ['paused'], 'NUM_OF_PERM_FLUSH_STATES': [], } # FPPreGenPermeateStates.FP_PRE_GENP_CONCENTRATE_FLUSH sub states @unique class FPConcentrateFlushStates(DialinEnum): - CONC_FLUSH_IN_PROGRESS = 0 # Concentrate Flush in progress state - CONC_FLUSH_PAUSED = 1 # Concentrate Flush paused state + IN_PROGRESS = 0 # Concentrate Flush in progress state + PAUSED = 1 # Concentrate Flush paused state NUM_OF_CONC_FLUSH_STATES = 2 # Number of Concentrate flush states FPConcentrateFlushStates._str_list = { # Official Name : Accepted strings - 'CONC_FLUSH_IN_PROGRESS': ['start', 'in progress', 'running'], - 'CONC_FLUSH_PAUSED': ['paused'], + 'IN_PROGRESS': ['start', 'in progress', 'running'], + 'PAUSED': ['paused'], 'NUM_OF_CONC_FLUSH_STATES': [], } # FPPreGenPDefStates.FP_PRE_GENP_DEF_FLUSH sub states @unique class FPDefFlushStates(DialinEnum): - FILTER_FLUSH_DEF_DYNAMIC_PRESSURE_CHECK = 0 # Filter Flush in dynamic pressure state - FILTER_FLUSH_DEF_STATIC_PRESSURE_CHECK = 1 # Filter flush in sttaic pressure check - FILTER_FLUSH_DEF_PAUSED = 2 # Filter Flush paused state - NUM_OF_FILTER_FLUSH_DEF_STATES = 3 # Number of filter flush states + DYNAMIC_PRESSURE_CHECK = 0 # Filter Flush in dynamic pressure state + STATIC_PRESSURE_CHECK = 1 # Filter flush in sttaic pressure check + PAUSED = 2 # Filter Flush paused state + NUM_OF_FILTER_FLUSH_DEF_STATES = 3 # Number of filter flush states FPDefFlushStates._str_list = { # Official Name : Accepted strings - 'FILTER_FLUSH_DEF_DYNAMIC_PRESSURE_CHECK': ['dynamic', 'dynamic pressure check'], - 'FILTER_FLUSH_DEF_STATIC_PRESSURE_CHECK': ['static', 'static pressure check'], - 'FILTER_FLUSH_DEF_PAUSED': ['paused'], + 'DYNAMIC_PRESSURE_CHECK': ['dynamic', 'dynamic pressure check'], + 'STATIC_PRESSURE_CHECK': ['static', 'static pressure check'], + 'PAUSED': ['paused'], 'NUM_OF_PERM_FLUSH_STATES': [], } @@ -314,33 +314,34 @@ # ================================================== Enum Creators: Events ================================================== @unique class FPEventList(DialinEnum): - FP_EVENT_STARTUP = 0 # FP startup event - FP_EVENT_OP_MODE_CHANGE = 1 # FP Op mode change event - FP_EVENT_SUB_MODE_CHANGE = 2 # FP Op sub-mode change event - FP_EVENT_PRE_GEN_RO_SET_PWM = 3 # FP gen permeate ro set pwm event - FP_EVENT_GENP_BOOST_SET_PWM = 4 # FP gen permeate boost set pwm event - FP_EVENT_GENP_CHANGE = 5 # FP gen permeate state change - FP_EVENT_PRE_GEN_CHANGE = 6 # FP pre gen state change - FP_EVENT_PRE_GEN_DEF_CHANGE = 7 # FP defeatured pre gen state change - FP_EVENT_GENP_DEF_CHANGE = 8 # FP defeatured gen permeate state change - FP_EVENT_FAULT_ALARM_TRIGGER = 9 # FP event for alarms that would trigger - FP_EVENT_P25_LEVL_CHANGE = 10 # FP floater level change event - FP_EVENT_OPERATION_STATUS = 11 # FP operation status event - NUM_OF_FP_EVENT_IDS = 12 # Number of FP events + STARTUP = 0 # FP startup event + OP_MODE_CHANGE = 1 # FP Op mode change event + SUB_MODE_CHANGE = 2 # FP Op sub-mode change event + PRE_GEN_RO_SET_PWM = 3 # FP gen permeate ro set pwm event + GENP_BOOST_SET_PWM = 4 # FP gen permeate boost set pwm event + GENP_CHANGE = 5 # FP gen permeate state change + PRE_GEN_CHANGE = 6 # FP pre gen state change + PRE_GEN_DEF_CHANGE = 7 # FP defeatured pre gen state change + GENP_DEF_CHANGE = 8 # FP defeatured gen permeate state change + FAULT_ALARM_TRIGGER = 9 # FP event for alarms that would trigger + P25_LEVL_CHANGE = 10 # FP floater level change event + OPERATION_STATUS = 11 # FP operation status event + NUM_OF_FP_EVENT_IDS = 12 # Number of FP events FPEventList._str_list = { # Official Name : Accepted strings - 'FP_EVENT_STARTUP': ['startup'], - 'FP_EVENT_OP_MODE_CHANGE': ['op mode change'], - 'FP_EVENT_SUB_MODE_CHANGE': ['sub mode change'], - 'FP_EVENT_PRE_GEN_RO_SET_PWM': ['ro pump set pwm'], - 'FP_EVENT_GENP_BOOST_SET_PWM': ['boost pump set pwm'], - 'FP_EVENT_GENP_CHANGE': ['generate permeate change', 'genp change'], - 'FP_EVENT_PRE_GEN_CHANGE': ['pre-generate permeate change', 'pre-genp change'], - 'FP_EVENT_PRE_GEN_DEF_CHANGE': ['defeatured pre-generate permeate change', 'def pre-genp change'], - 'FP_EVENT_GENP_DEF_CHANGE': ['defeatured generate permeate change', 'def genp change'], - 'FP_EVENT_FAULT_ALARM_TRIGGER': ['alarm', 'alarm trigger', 'fault alarm trigger'], - 'FP_EVENT_OPERATION_STATUS': ['operation status', 'status', 'op status', 'operation status change', 'status change', 'op status change'], + 'STARTUP': ['startup'], + 'OP_MODE_CHANGE': ['op mode change'], + 'SUB_MODE_CHANGE': ['sub mode change'], + 'PRE_GEN_RO_SET_PWM': ['ro pump set pwm'], + 'GENP_BOOST_SET_PWM': ['boost pump set pwm'], + 'GENP_CHANGE': ['generate permeate change', 'genp change'], + 'PRE_GEN_CHANGE': ['pre-generate permeate change', 'pre-genp change'], + 'PRE_GEN_DEF_CHANGE': ['defeatured pre-generate permeate change', 'def pre-genp change'], + 'GENP_DEF_CHANGE': ['defeatured generate permeate change', 'def genp change'], + 'FAULT_ALARM_TRIGGER': ['alarm', 'alarm trigger', 'fault alarm trigger'], + 'P25_LEVL_CHANGE': ['p25', 'level change'], + 'OPERATION_STATUS': ['operation status', 'status', 'op status', 'operation status change', 'status change', 'op status change'], 'NUM_OF_FP_EVENT_IDS': [], } @@ -557,20 +558,20 @@ @unique class FPFloaterLevels(DialinEnum): - LEVEL_STATE_EMPTY = 0 # Empty level for the FP Floater Level Sensors - LEVEL_STATE_LOW = 1 # Low level for the FP Floater Level Sensors - LEVEL_STATE_MEDIUM = 2 # Medium level for the FP Floater Level Sensors - LEVEL_STATE_HIGH = 3 # High level for the FP Floater Level Sensors - LEVEL_STATE_ILLEGAL = 4 # Illegal level for FP Floater Level Sensor (indicates investigation) - NUM_OF_LEVEL_STATES = 5 # Number of Level States + EMPTY = 0 # Empty level for the FP Floater Level Sensors + LOW = 1 # Low level for the FP Floater Level Sensors + MEDIUM = 2 # Medium level for the FP Floater Level Sensors + HIGH = 3 # High level for the FP Floater Level Sensors + ILLEGAL = 4 # Illegal level for FP Floater Level Sensor (indicates investigation) + NUM_OF_LEVEL_STATES = 5 # Number of Level States FPFloaterLevels._str_list = { # Official Name : Accepted strings - 'LEVEL_STATE_EMPTY': ['empty'], - 'LEVEL_STATE_LOW': ['low'], - 'LEVEL_STATE_MEDIUM': ['medium'], - 'LEVEL_STATE_HIGH': ['high'], - 'LEVEL_STATE_ILLEGAL': ['illegal'], + 'EMPTY': ['empty'], + 'LOW': ['low'], + 'MEDIUM': ['medium'], + 'HIGH': ['high'], + 'ILLEGAL': ['illegal'], 'NUM_OF_LEVEL_STATES': [], } @@ -623,32 +624,32 @@ @unique class FPROPumpStates(DialinEnum): - PUMP_OFF_STATE = 0 # Pump Offline State - PUMP_CONTROL_TO_TARGET_FLOW_STATE = 1 # RO pump control to target flow state - PUMP_CONTROL_TO_TARGET_PRESSURE_STATE = 2 # RO pump control to max pressure state. - PUMP_OPEN_LOOP_STATE = 3 # RO pump open loop state. - NUM_OF_RO_PUMP_STATES = 4 # Number of RO pump states + OFF_STATE = 0 # Pump Offline State + CONTROL_TO_TARGET_FLOW_STATE = 1 # RO pump control to target flow state + CONTROL_TO_TARGET_PRESSURE_STATE = 2 # RO pump control to max pressure state. + OPEN_LOOP_STATE = 3 # RO pump open loop state. + NUM_OF_RO_PUMP_STATES = 4 # Number of RO pump states FPROPumpStates._str_list = { # Official Name : Accepted strings - 'PUMP_OFF_STATE': ['closed', 'off', 'inactive', 'offline'], - 'PUMP_CONTROL_TO_TARGET_FLOW_STATE': ['flow', 'target to flow', 'to flow'], - 'PUMP_CONTROL_TO_TARGET_PRESSURE_STATE': ['pressure', 'target to pressure', 'to pressure', 'pres'], - 'PUMP_OPEN_LOOP_STATE': ['open', 'open loop', 'on'], + 'OFF_STATE': ['closed', 'off', 'inactive', 'offline'], + 'CONTROL_TO_TARGET_FLOW_STATE': ['flow', 'target to flow', 'to flow'], + 'CONTROL_TO_TARGET_PRESSURE_STATE': ['pressure', 'target to pressure', 'to pressure', 'pres'], + 'OPEN_LOOP_STATE': ['open', 'open loop', 'on'], 'NUM_OF_RO_PUMP_STATES': [], } @unique class FPValveStates(DialinEnum): - VALVE_STATE_CLOSED = 0 # Valve Closed State - VALVE_STATE_OPEN = 1 # Valve Open State + CLOSED = 0 # Valve Closed State + OPEN = 1 # Valve Open State NUM_OF_VALVE_STATES = 2 # Number of valve states FPValveStates._str_list = { # Official Name : Accepted strings - 'VALVE_STATE_CLOSED': ['closed', 'off'], - 'VALVE_STATE_OPEN': ['open', 'on'], + 'CLOSED': ['closed', 'off'], + 'OPEN': ['open', 'on'], 'NUM_OF_VALVE_STATES': [], } Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -re1ae66e77d235a2726783b4e9560320da4c1a172 -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision e1ae66e77d235a2726783b4e9560320da4c1a172) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -1,580 +1,625 @@ ########################################################################### # -# 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. # # @file msg_ids.py # -# @author (last) Dara Navaei -# @date (last) 10-May-2024 -# @author (original) Peter Lucia -# @date (original) 06-Apr-2021 +# @author (last) Enum Updater Script +# @date (last) 11-Aug-2026 +# @author (original) Zoltan Miskolci +# @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 - MSG_ID_ALARM_STATUS_DATA = 0x1 - MSG_ID_ALARM_TRIGGERED = 0x2 - MSG_ID_ALARM_CLEARED = 0x3 - MSG_ID_ALARM_CONDITION_CLEARED = 0x4 - MSG_ID_USER_ALARM_SILENCE_REQUEST = 0x5 - MSG_ID_UI_ALARM_USER_ACTION_REQUEST = 0x6 - MSG_ID_TD_ALARM_INFORMATION_DATA = 0x7 - MSG_ID_DD_ALARM_INFO_DATA = 0x8 - MSG_ID_UI_ACTIVE_ALARMS_LIST_REQUEST = 0x9 - MSG_ID_TD_ACTIVE_ALARMS_LIST_REQUEST_RESPONSE = 0xA - MSG_ID_UI_SET_ALARM_AUDIO_VOLUME_LEVEL_CMD_REQUEST = 0xB - MSG_ID_TD_ALARM_AUDIO_VOLUME_SET_RESPONSE = 0xC - MSG_ID_FW_VERSIONS_REQUEST = 0xD - MSG_ID_TD_VERSION_RESPONSE = 0xE - MSG_ID_DD_VERSION_RESPONSE = 0xF - MSG_ID_UI_CHECK_IN = 0x10 - MSG_ID_TD_BLOOD_PUMP_DATA = 0x11 - MSG_ID_TD_OP_MODE_DATA = 0x12 - MSG_ID_DD_OP_MODE_DATA = 0x13 - MSG_ID_DD_COMMAND_RESPONSE = 0x14 - MSG_ID_TD_UI_VERSION_INFO_REQUEST = 0x15 - MSG_ID_UI_VERSION_INFO_RESPONSE = 0x16 - MSG_ID_TD_EVENT = 0x17 - MSG_ID_DD_EVENT = 0x18 - MSG_ID_TD_DD_ALARMS_REQUEST = 0x19 - MSG_ID_UI_TD_RESET_IN_SERVICE_MODE_REQUEST = 0x1A - MSG_ID_DD_VALVES_STATES_DATA = 0x1B - MSG_ID_DD_PRESSURES_DATA = 0x1C - MSG_ID_TD_VOLTAGES_DATA = 0x1D - MSG_ID_TD_BUBBLES_DATA = 0x1E - MSG_ID_DD_CONDUCTIVITY_DATA = 0x1F - MSG_ID_TD_AIR_PUMP_DATA = 0x20 - MSG_ID_TD_SWITCHES_DATA = 0x21 - MSG_ID_POWER_OFF_WARNING = 0x22 - MSG_ID_OFF_BUTTON_PRESS_REQUEST = 0x23 - MSG_ID_TD_PRESSURE_DATA = 0x24 - MSG_ID_DD_CONCENTRATE_PUMP_DATA = 0x25 - MSG_ID_DD_TEMPERATURE_DATA = 0x26 - MSG_ID_DIALYSATE_PUMPS_DATA = 0x27 - MSG_ID_DD_HEATERS_DATA = 0x28 - MSG_ID_DD_LEVEL_DATA = 0x29 - MSG_ID_TD_AIR_TRAP_DATA = 0x2A - MSG_ID_TD_VALVES_DATA = 0x2B - MSG_ID_FP_EVENT = 0x2C - MSG_ID_FP_ALARM_INFO_DATA= 0x2D - MSG_ID_DD_BAL_CHAMBER_DATA = 0x2E - MSG_ID_DD_GEN_DIALYSATE_MODE_DATA = 0x2F - MSG_ID_DD_GEN_DIALYSATE_REQUEST_DATA = 0x30 - MSG_ID_FP_VALVES_STATES_DATA = 0x31 - MSG_ID_FP_RO_PUMP_DATA = 0x32 - MSG_ID_FP_OP_MODE_DATA = 0x33 - MSG_ID_FP_PRESSURES_DATA = 0x34 - MSG_ID_FP_LEVEL_DATA = 0x35 - MSG_ID_FP_FLOW_DATA = 0x36 - MSG_ID_FP_CONDUCTIVITY_DATA = 0x37 - MSG_ID_DD_FP_START_STOP_CMD_REQUEST = 0x38 - MSG_ID_FP_TEMPERATURE_DATA = 0x39 - MSG_ID_FP_HEATER_DATA = 0x3A - MSG_ID_TD_TREATMENT_TIME_DATA = 0x3B - MSG_ID_TD_TREATMENT_STATE_DATA = 0x3C - MSG_ID_TD_SALINE_BOLUS_DATA = 0x3D - MSG_ID_TD_ULTRAFILTRATION_DATA = 0x3E - MSG_ID_UI_TREATMENT_PARAMS_TO_VALIDATE = 0x3F - MSG_ID_TD_RESP_TREATMENT_PARAMS_TO_VALIDATE = 0x40 - MSG_ID_UI_ULTRAFILTRATION_VOLUME_TO_VALIDATE = 0x41 - MSG_ID_TD_RESP_ULTRAFILTRATION_VOLUME_TO_VALIDATE = 0x42 - MSG_ID_TD_TREATMENT_PARAM_RANGES = 0x43 - MSG_ID_UI_TREATMENT_PARAMS_CONFIRMED = 0x44 - MSG_ID_UI_INITIATE_TREATMENT_WORKFLOW = 0x45 - MSG_ID_TD_RESP_INITIATE_TREATMENT_WORKFLOW = 0x46 - MSG_ID_UI_UF_PAUSE_RESUME_REQUEST = 0x47 - MSG_ID_TD_UF_PAUSE_RESUME_RESPONSE = 0x48 - MSG_ID_FP_GEN_PERMEATE_MODE_DATA = 0x49 - MSG_ID_DD_PRE_GEN_DIALYSATE_STATE_DATA = 0x4A - MSG_ID_DD_POST_GEN_DIALYSATE_STATE_DATA = 0x4B - MSG_ID_DD_PRE_GEN_DIALYSATE_REQUEST_DATA = 0x4C - MSG_ID_FP_PRE_GEN_WATER_MODE_DATA = 0x4D - MSG_ID_TD_EJECTOR_DATA = 0x4E - MSG_ID_TD_TREATMENT_SET_POINTS = 0x4F - MSG_ID_FP_BOOST_PUMP_DATA = 0x50 - MSG_ID_TD_SERIAL_RESPONSE = 0x51 - MSG_ID_DD_SERIAL_RESPONSE = 0x52 - MSG_ID_TD_TEMPERATURE_DATA = 0x53 - MSG_ID_TD_BATTERY_DATA = 0x54 - MSG_ID_UI_ADJUST_PATIENT_DISCONNECT_CONFIRM_REQUEST = 0x55 - MSG_ID_TD_ADJUST_PATIENT_DISCONNECT_CONFIRM_RESPONSE = 0x56 - MSG_ID_FP_CONCENTRATE_FLUSH_DATA = 0x57 - MSG_ID_FP_GENP_DEF_DATA = 0x58 - MSG_ID_FP_PRE_GEN_DEF_DATA = 0x59 - MSG_ID_FP_VERSION_RESPONSE = 0x5A - MSG_ID_TD_TREATMENT_PAUSED_TIMER_DATA = 0x5B - MSG_ID_DD_UF_DATA = 0x5C - MSG_ID_FP_PERMEATE_TANK_DATA = 0x5D - MSG_ID_DD_SPENT_CHAMBER_FILL_DATA = 0x5E - MSG_ID_UI_SOLUTION_INFUSION_REQUEST = 0x5F - MSG_ID_TD_SOLUTION_INFUSION_RESPONSE = 0x60 - MSG_ID_DD_BLOOD_LEAK_DATA = 0x61 - MSG_ID_DD_FP_INLET_PRESSURE_CHECK_DATA = 0x62 - MSG_ID_UI_BLOOD_PRESSURE_REQUEST = 0x63 - MSG_ID_TD_BLOOD_PRESSURE_RESPONSE = 0x64 - MSG_ID_TD_BLOOD_PRESSURE_DATA = 0x65 - MSG_ID_USER_CONFIRM_UF_SETTINGS_CHANGE_REQUEST = 0x66 - MSG_ID_USER_UF_SETTINGS_CHANGE_CONFIRMATION_RESPONSE = 0x67 - MSG_ID_DD_VOLTAGES_DATA = 0x68 - MSG_ID_DD_RINSE_PUMP_DATA = 0x69 - MSG_ID_TD_TREATMENT_LOG_ALARM_EVENT = 0x6A - MSG_ID_TD_TREATMENT_LOG_EVENT = 0x6B - MSG_ID_TD_DATE_AND_TIME_REQUEST = 0x6C - MSG_ID_TD_DATE_AND_TIME_RESPONSE = 0x6D - MSG_ID_DD_DATE_AND_TIME_REQUEST = 0x6E - MSG_ID_DD_DATE_AND_TIME_RESPONSE = 0x6F - MSG_ID_DD_DRY_BICART_DATA = 0x70 - MSG_ID_FP_RO_REJECTION_RATIO_DATA = 0x71 - MSG_ID_UI_PRESSURE_LIMITS_CHANGE_REQUEST = 0x72 - MSG_ID_TD_PRESSURE_LIMITS_CHANGE_RESPONSE = 0x73 - MSG_ID_UI_BOLUS_VOLUME_CHANGE_REQUEST = 0x74 - MSG_ID_TD_BOLUS_VOLUME_CHANGE_RESPONSE = 0x75 - MSG_ID_UI_DURATION_VALIDATE_REQUEST = 0x76 - MSG_ID_TD_DURATION_VALIDATE_RESPONSE = 0x77 - MSG_ID_UI_DURATION_CONFIRM_REQUEST = 0x78 - MSG_ID_TD_DURATION_CONFIRM_RESPONSE = 0x79 - MSG_ID_UI_TREATMENT_SET_POINTS_CHANGE_REQUEST = 0x7A - MSG_ID_TD_TREATMENT_SET_POINTS_CHANGE_RESPONSE = 0x7B - MSG_ID_UI_TREATMENT_SET_POINT_BLOOD_FLOW_CHANGE_REQUEST = 0x7C - MSG_ID_TD_TREATMENT_SET_POINT_BLOOD_FLOW_CHANGE_RESPONSE = 0x7D - MSG_ID_UI_TREATMENT_SET_POINT_DIALYSATE_FLOW_CHANGE_REQUEST = 0x7E - MSG_ID_TD_TREATMENT_SET_POINT_DIALYSATE_FLOW_CHANGE_RESPONSE = 0x7F - MSG_ID_UI_TREATMENT_SET_POINT_DIALYSATE_TEMPERATURE_CHANGE_REQUEST = 0x80 - MSG_ID_TD_TREATMENT_SET_POINT_DIALYSATE_TEMPERATURE_CHANGE_RESPONSE = 0x81 - MSG_ID_TD_INSTITUTIONAL_RECORD_REQUEST = 0x82 - MSG_ID_TD_INSTITUTIONAL_RECORD_RESPONSE = 0x83 - MSG_ID_TD_ADJUST_INSTITUTIONAL_RECORD_REQUEST = 0x84 - MSG_ID_TD_ADJUST_INSTITUTIONAL_RECORD_RESPONSE = 0x85 - MSG_ID_TD_ADVANCED_INSTITUTIONAL_RECORD_REQUEST = 0x86 - MSG_ID_TD_ADVANCED_INSTITUTIONAL_RECORD_RESPONSE = 0x87 - MSG_ID_TD_ADVANCED_ADJUST_INSTITUTIONAL_RECORD_REQUEST = 0x88 - MSG_ID_TD_ADVANCED_ADJUST_INSTITUTIONAL_RECORD_RESPONSE = 0x89 - MSG_ID_TD_HEPARIN_REQUEST = 0x8A - MSG_ID_TD_HEPARIN_RESPONSE = 0x8B - MSG_ID_TD_HEPARIN_DATA = 0x8C - MSG_ID_TD_END_TREATMENT_REQUEST = 0x8D - MSG_ID_TD_END_TREATMENT_RESPONSE = 0x8E - MSG_ID_TD_RINSEBACK_PROGRESS = 0x8F - MSG_ID_UI_RINSEBACK_CMD_REQUEST = 0x90 - MSG_ID_TD_RINSEBACK_CMD_RESPONSE = 0x91 - MSG_ID_UI_ADJUST_DISPOSABLES_CONFIRM_REQUEST = 0x92 - MSG_ID_TD_ADJUST_DISPOSABLES_CONFIRM_RESPONSE = 0x93 - MSG_ID_UI_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_REQUEST = 0x94 - MSG_ID_TD_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_RESPONSE = 0x95 - TBD_96 = 0x96 - MSG_ID_TD_BLOOD_PRIME_PROGRESS_DATA = 0x97 - MSG_ID_UI_BLOOD_PRIME_CMD_REQUEST = 0x98 - MSG_ID_TD_BLOOD_PRIME_CMD_RESPONSE = 0x99 - MSG_ID_TD_ISOLATED_UF_DATA = 0x9A - MSG_ID_UI_ISOLATED_UF_DURATION_CHANGE_REQUEST = 0x9B - MSG_ID_TD_ISOLATED_UF_DURATION_CHANGE_RESPONSE = 0x9C - MSG_ID_UI_ISOLATED_UF_VOLUME_GOAL_CHANGE_REQUEST = 0x9D - MSG_ID_TD_ISOLATED_UF_VOLUME_GOAL_CHANGE_RESPONSE = 0x9E - MSG_ID_UI_ISOLATED_UF_CONFIRM_REQUEST = 0x9F - MSG_ID_TD_ISOLATED_UF_CONFIRM_RESPONSE = 0xA0 - MSG_ID_UI_ADJUST_START_TREATMENT_REQUEST = 0xA1 - MSG_ID_TD_ADJUST_START_TREATMENT_RESPONSE = 0xA2 - MSG_ID_UI_WATER_SAMPLE_RESULT_REQUEST = 0XA3 - MSG_ID_UI_PRESSURE_LIMIT_WIDEN_REQUEST = 0xA4 - MSG_ID_TD_PRESSURE_LIMIT_WIDEN_RESPONSE = 0xA5 - MSG_ID_UI_RECIRCULATE_REQUEST = 0xA6 - MSG_ID_TD_RECIRCULATE_RESPONSE = 0xA7 - MSG_ID_TD_RECIRCULATE_DATA = 0xA8 - MSG_ID_UI_ADJUST_TREATMENT_LOGS_REQUEST = 0xA9 - MSG_ID_TD_ADJUST_TREATMENT_LOGS_RESPONSE = 0xAA - MSG_ID_TD_WATER_SAMPLE_RESULT_RESPONSE = 0xAB - MSG_ID_TD_WATER_SAMPLE_DATA = 0xAC - MSG_ID_TD_TREATMENT_LOG_AVERAGE_DATA = 0xAD - MSG_ID_TD_DRY_SELF_TEST_PROGRESS_DATA = 0xAE - MSG_ID_TD_TUBE_SET_AUTHENTICATION_REQUEST = 0xAF - MSG_ID_UI_TUBE_SET_AUTHENTICATION_ACK_RESPONSE = 0xB0 - MSG_ID_TD_SYRINGE_PUMP_DATA = 0xB1 - MSG_ID_TD_HEPARIN_PAUSE_RESUME_RESPONSE= 0xB2 - MSG_ID_FFU_SIGNAL_TD_UPDATE_AVAILABLE = 0xB3 - MSG_ID_FFU_SIGNAL_DD_UPDATE_AVAILABLE = 0xB4 - MSG_ID_TD_UI_CONFIRMATION_REQUEST = 0xB5 - MSG_ID_UI_CONFIRMATION_RESULT_RESPONSE = 0xB6 - MSG_ID_TD_PRE_TREATMENT_STATE_DATA = 0xB7 - MSG_ID_UI_VITALS_ADJUSTMENT_REQUEST = 0xB8 - MSG_ID_TD_VITALS_ADJUSTMENT_RESPONSE = 0xB9 - MSG_ID_UI_ISO_UF_STATE_REQUEST = 0xBA - MSG_ID_TD_ISO_UF_STATE_RESPONSE = 0xBB - MSG_ID_TD_HEMODIAFILTRATION_DATA = 0xBC - MSG_ID_UI_PAUSE_SUB_FLOW_REQUEST = 0xBD - MSG_ID_TD_PAUSE_SUB_FLOW_RESPONSE = 0xBE - MSG_ID_UI_AUTO_SUBSTITUTION_REQUEST = 0xBF - MSG_ID_TD_AUTO_SUBSTITUTION_REPONSE = 0xC0 - MSG_ID_UI_HDF_ADJUSTMENT_REQUEST = 0xC1 - MSG_ID_TD_HDF_ADJUSTMENT_RESPONSE = 0xC2 - MSG_ID_DD_NVM_CAL_PRESSURE_SENSOR_RESPONSE = 0xC3 - MSG_ID_TD_DRY_BICARD_DISCONNECT_DATA = 0xC4 - MSG_ID_UI_DRY_BICARD_DISCONNECT_REQUEST = 0xC5 - MSG_ID_TD_DRY_BICARD_DISCONNECT_RESPONSE = 0xC6 - MSG_ID_TD_PRIME_PROGRESS_DATA = 0xC7 - MSG_ID_UI_DD_NVM_SET_CAL_CONC_PUMP_REQUEST = 0xC8 - MSG_ID_DD_NVM_CAL_D12_PUMP_RESPONSE = 0xC9 - MSG_ID_UI_DD_NVM_SET_CAL_D12_PUMP_REQUEST = 0xCA - MSG_ID_DD_NVM_CAL_D48_PUMP_RESPONSE = 0xCB - MSG_ID_UI_DD_NVM_SET_CAL_D48_PUMP_REQUEST = 0xCC - MSG_ID_DD_NVM_CAL_ACID_CONCENTRATE_RESPONSE = 0xCD - MSG_ID_UI_DD_NVM_SET_CAL_ACID_CONCENTRATE_REQUEST = 0xCE - MSG_ID_DD_NVM_CAL_BICARB_CONCENTRATE_RESPONSE = 0xCF - MSG_ID_UI_DD_NVM_SET_CAL_BICARB_CONCENTRATE_REQUEST = 0xD0 - MSG_ID_DD_NVM_CAL_ACCEL_SENSOR_RESPONSE = 0xD1 - MSG_ID_UI_DD_NVM_SET_CAL_ACCEL_SENSOR_REQUEST = 0xD2 - MSG_ID_DD_NVM_CAL_BLOOD_LEAK_SENSOR_RESPONSE = 0xD3 - MSG_ID_UI_DD_NVM_SET_CAL_BLOOD_LEAK_SENSOR_REQUEST = 0xD4 - MSG_ID_DD_NVM_RECORD_CRC_OVERRIDE_REQUEST = 0xD5 - MSG_ID_UI_SETUP_CONNECTION_CONFIRM_REQUEST = 0xD6 - MSG_ID_TD_SETUP_CONNECTION_CONFIRM_RESPONSE = 0xD7 - MSG_ID_TD_POST_FINAL_TEST_RESULT = 0xD8 - MSG_ID_TD_POST_SINGLE_TEST_RESULT = 0xD9 - MSG_ID_TD_UI_CANCEL_REQUEST = 0xDA - MSG_ID_DD_SUBSTITUTION_PUMP_DATA = 0xDB - MSG_ID_DD_CONDUCTIVITY_SENSOR_RESISTANCE_DATA = 0xDC - MSG_ID_FP_FILTER_FLUSH_DATA = 0xDD - MSG_ID_FP_PERMEATE_FLUSH_DATA = 0xDE - MSG_ID_DD_NVM_GET_RECORD_RESPONSE = 0xDF - MSG_ID_DD_NVM_SET_SYSTEM_RECORD_RESPONSE = 0xE0 - MSG_ID_DD_NVM_SET_SERVICE_RECORD_RESPONSE = 0xE1 - MSG_ID_DD_NVM_SET_INSTITUTIONAL_RECORD_RESPONSE = 0xE2 - MSG_ID_DD_NVM_SET_USAGE_INFO_RECORD_RESPONSE = 0xE3 - MSG_ID_DD_NVM_SET_CAL_PRESSURE_SENSOR_RESPONSE = 0xE4 - MSG_ID_DD_NVM_SET_CAL_TEMP_SENSOR_RESPONSE = 0xE5 - MSG_ID_DD_NVM_SET_CAL_CONC_PUMP_RESPONSE = 0xE6 - MSG_ID_DD_NVM_SET_CAL_D12_PUMP_RESPONSE = 0xE7 - MSG_ID_DD_NVM_SET_CAL_D48_PUMP_RESPONSE = 0xE8 - MSG_ID_DD_NVM_SET_CAL_ACID_CONCENTRATE_RESPONSE = 0xE9 - MSG_ID_DD_NVM_SET_CAL_BICARB_CONCENTRATE_RESPONSE = 0xEA - MSG_ID_UI_RO_WATER_MODE_REQUEST = 0xEB - MSG_ID_DD_RO_WATER_MODE_RESPONSE = 0xEC - MSG_ID_UI_ADJUST_RO_WATER_MODE_REQUEST = 0xED - MSG_ID_DD_ADJUST_RO_WATER_MODE_RESPONSE = 0xEE - TBD_EF = 0xEF - MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0 + MSG_ID_UNUSED = 0x0 # Zero is an undefined (un-used) message ID) + MSG_ID_ALARM_STATUS_DATA = 0x1 # HD broadcast of system alarm state information + MSG_ID_ALARM_TRIGGERED = 0x2 # Alarm triggered event + MSG_ID_ALARM_CLEARED = 0x3 # Alarm cleared event + MSG_ID_ALARM_CONDITION_CLEARED = 0x4 # Alarm condition cleared event + MSG_ID_USER_ALARM_SILENCE_REQUEST = 0x5 # UI request alarm silence (or cancel) + MSG_ID_UI_ALARM_USER_ACTION_REQUEST = 0x6 # UI user has requested an alarm action + MSG_ID_TD_ALARM_INFORMATION_DATA = 0x7 # TD alarm information broadcast message + MSG_ID_DD_ALARM_INFO_DATA = 0x8 # DD alarm information data publish + MSG_ID_UI_ACTIVE_ALARMS_LIST_REQUEST = 0x9 # UI active alarms list request + MSG_ID_TD_ACTIVE_ALARMS_LIST_REQUEST_RESPONSE = 0xA # TD active alarms list request response + MSG_ID_UI_SET_ALARM_AUDIO_VOLUME_LEVEL_CMD_REQUEST = 0xB # UI command to set alarm audio volume level + MSG_ID_TD_ALARM_AUDIO_VOLUME_SET_RESPONSE = 0xC # TD response to UI set alarm audio volume request + MSG_ID_FW_VERSIONS_REQUEST = 0xD # UI request for f/w versions + MSG_ID_TD_VERSION_RESPONSE = 0xE # TD f/w version response + MSG_ID_DD_VERSION_RESPONSE = 0xF # DD f/w version response + MSG_ID_UI_CHECK_IN = 0x10 # UI check-in with TD + MSG_ID_TD_BLOOD_PUMP_DATA = 0x11 # TD broadcast blood pump data + MSG_ID_TD_OP_MODE_DATA = 0x12 # TD broadcast current operating mode + MSG_ID_DD_OP_MODE_DATA = 0x13 # DD broadcast current operating mode + MSG_ID_DD_COMMAND_RESPONSE = 0x14 # DD response to command from TD + MSG_ID_TD_UI_VERSION_INFO_REQUEST = 0x15 # TD request for UI version information + MSG_ID_UI_VERSION_INFO_RESPONSE = 0x16 # UI response to TD request for version information + MSG_ID_TD_EVENT = 0x17 # TD general event + MSG_ID_DD_EVENT = 0x18 # DD general event + MSG_ID_TD_DD_ALARMS_REQUEST = 0x19 # TD request for DD to re-send trigger messages for each active alarm + MSG_ID_UI_TD_RESET_IN_SERVICE_MODE_REQUEST = 0x1A # UI TD reset in service mode request + MSG_ID_DD_VALVES_STATES_DATA = 0x1B # DD broadcast valve states + MSG_ID_DD_PRESSURES_DATA = 0x1C # DD pressure sensor readings + MSG_ID_TD_VOLTAGES_DATA = 0x1D # TD broadcast voltages data + MSG_ID_TD_BUBBLES_DATA = 0x1E # TD broadcast bubbles data + MSG_ID_DD_CONDUCTIVITY_DATA = 0x1F # DD conductivity sensor readings + MSG_ID_TD_AIR_PUMP_DATA = 0x20 # TD broadcast air pump data + MSG_ID_TD_SWITCHES_DATA = 0x21 # TD broadcast switches data + MSG_ID_POWER_OFF_WARNING = 0x22 # TD broadcast for a power off warning + MSG_ID_OFF_BUTTON_PRESS_REQUEST = 0x23 # TD off button request message to UI for user confirmation + MSG_ID_TD_PRESSURE_DATA = 0x24 # TD broadcast pressure data + MSG_ID_DD_CONCENTRATE_PUMP_DATA = 0x25 # DD concentrate pump data + MSG_ID_DD_TEMPERATURE_DATA = 0x26 # DD temperature data + MSG_ID_DIALYSATE_PUMPS_DATA = 0x27 # DD dialysate pumps data + MSG_ID_DD_HEATERS_DATA = 0x28 # DD heaters data + MSG_ID_DD_LEVEL_DATA = 0x29 # DD level data + MSG_ID_TD_AIR_TRAP_DATA = 0x2A # TD broadcast air trap data + MSG_ID_TD_VALVES_DATA = 0x2B # TD broadcast valves data + MSG_ID_FP_EVENT = 0x2C # FP general event + MSG_ID_FP_ALARM_INFO_DATA = 0x2D # FP alarm info data + MSG_ID_DD_BAL_CHAMBER_DATA = 0x2E # DD balancing chamber data + MSG_ID_DD_GEN_DIALYSATE_MODE_DATA = 0x2F # DD Generate dialysate mode data + MSG_ID_DD_GEN_DIALYSATE_REQUEST_DATA = 0x30 # DD Generate dialysate request data coming from TD with additional parameters + MSG_ID_FP_VALVES_STATES_DATA = 0x31 # FP valves data + MSG_ID_FP_RO_PUMP_DATA = 0x32 # FP broadcast P12 pump data + MSG_ID_FP_OP_MODE_DATA = 0x33 # FP broadcast operation mode data + MSG_ID_FP_PRESSURES_DATA = 0x34 # FP broadcast pressures data + MSG_ID_FP_LEVEL_DATA = 0x35 # FP broadcast level data + MSG_ID_FP_FLOW_DATA = 0x36 # FP broadcast flow data + MSG_ID_FP_CONDUCTIVITY_DATA = 0x37 # FP broadcast conductivity data + MSG_ID_AVAILABLE_6 = 0x38 # DD requests FP to start/stop delivering the purified water + MSG_ID_FP_TEMPERATURE_DATA = 0x39 # FP temperatures data broadcast + MSG_ID_FP_HEATER_DATA = 0x3A # FP heater data broadcast + MSG_ID_TD_TREATMENT_TIME_DATA = 0x3B # TD treatment time data broadcast + MSG_ID_TD_TREATMENT_STATE_DATA = 0x3C # TD treatment state data broadcast + MSG_ID_TD_FLUID_BOLUS_DATA = 0x3D # TD fluid bolus status data broadcast + MSG_ID_TD_ULTRAFILTRATION_DATA = 0x3E # TD ultrafiltration status data broadcast + MSG_ID_UI_TREATMENT_PARAMS_TO_VALIDATE = 0x3F # UI treatment parameters to be validated by TD + MSG_ID_TD_RESP_TREATMENT_PARAMS_TO_VALIDATE = 0x40 # TD response to treatment parameter validation request + MSG_ID_UI_TREATMENT_UF_VOLUME_VALIDATE_REQUEST = 0x41 # UI ultrafiltration volume parameter to be validated by TD + MSG_ID_TD_TREATMENT_UF_VOLUME_VALIDATE_RESPONSE = 0x42 # TD response to ultrafiltration volume validation request + MSG_ID_TD_TREATMENT_PARAM_RANGES = 0x43 # TD treatment parameter ranges for UI + MSG_ID_TD_VALIDATED_TREATMENT_PARAMS = 0x44 # Treatment parameters validated and confirmed from TD + MSG_ID_UI_INITIATE_TREATMENT_WORKFLOW = 0x45 # UI initiate/cancel treatment workflow request + MSG_ID_TD_RESP_INITIATE_TREATMENT_WORKFLOW = 0x46 # TD response to initiate/cancel treatment workflow request + MSG_ID_UI_UF_PAUSE_RESUME_REQUEST = 0x47 # UI ultrafiltration pause/resume request + MSG_ID_TD_UF_PAUSE_RESUME_RESPONSE = 0x48 # TD response to ultrafiltration pause/resume request + MSG_ID_FP_GEN_WATER_MODE_DATA = 0x49 # FP Gen Permeate data broadcast + MSG_ID_DD_PRE_GEN_DIALYSATE_STATE_DATA = 0x4A # DD Pre-gen dialysate mode data + MSG_ID_DD_POST_GEN_DIALYSATE_STATE_DATA = 0x4B # DD Post-gen dialysate mode data + MSG_ID_DD_PRE_GEN_DIALYSATE_REQUEST_DATA = 0x4C # DD Pre Generate dialysate request data coming from TD. + MSG_ID_FP_PRE_GEN_WATER_MODE_DATA = 0x4D # FP Pre Generate water mode data. + MSG_ID_TD_EJECTOR_DATA = 0x4E # TD ejector data broadcast + MSG_ID_TD_TREATMENT_SET_POINTS = 0x4F # TD treatment user set points. + MSG_ID_FP_BOOST_PUMP_DATA = 0x50 # FP broadcast P40 pump data + MSG_ID_TD_SERIAL_RESPONSE = 0x51 # TD response to UI serial request + MSG_ID_DD_SERIAL_RESPONSE = 0x52 # DD response to UI serial request + MSG_ID_TD_TEMPERATURE_DATA = 0x53 # TD Temperature broadcast data + MSG_ID_TD_BATTERY_DATA = 0x54 # TD Battery broadcast data + MSG_ID_UI_PATIENT_DISCONNECT_CONFIRM_REQUEST = 0x55 # UI requests patient disconnect confirmation. + MSG_ID_TD_PATIENT_DISCONNECT_CONFIRM_RESPONSE = 0x56 # TD response to patient disconnect confirmation request. + MSG_ID_FP_CONCENTRATE_FLUSH_DATA = 0x57 # FP Concentrate Flush broadcast data + MSG_ID_FP_GENP_DEF_DATA = 0x58 # FP Generate Permeate Defeatured broadcast data + MSG_ID_FP_PRE_GEN_DEF_DATA = 0x59 # FP Pre Generate Permeate Defeatured broadcast data + MSG_ID_FP_VERSION_RESPONSE = 0x5A # FP FW Version response + MSG_ID_TD_TREATMENT_PAUSED_TIMER_DATA = 0x5B # TD treatment paused timer data. + MSG_ID_DD_UF_DATA = 0x5C # DD ultrafiltration data + MSG_ID_FP_PERMEATE_TANK_DATA = 0x5D # FP Permeate tank broadcast data + MSG_ID_DD_SPENT_CHAMBER_FILL_DATA = 0x5E # DD spent chamber fill broadcast data + MSG_ID_UI_FLUID_BOLUS_REQUEST = 0x5F # UI Fluid Bolus request + MSG_ID_TD_FLUID_BOLUS_RESPONSE = 0x60 # TD Fluid Bolus response + MSG_ID_DD_BLOOD_LEAK_DATA = 0x61 # DD blood leak data + MSG_ID_FP_INLET_PRESSURE_CHECK_DATA = 0x62 # FP Inlet Pressure Check broadcast data + MSG_ID_UI_BLOOD_PRESSURE_REQUEST = 0x63 # UI request to initiate a blood pressure reading + MSG_ID_TD_BLOOD_PRESSURE_READING = 0x64 # TD blood pressure reading to UI + MSG_ID_TD_BLOOD_PRESSURE_DATA = 0x65 # TD blood pressure broadcast data + MSG_ID_UI_ULTRAFILTRATION_CHANGE_CONFIRM_REQUEST = 0x66 # UI request to validate ultrafiltration volume change + MSG_ID_TD_ULTRAFILTRATION_CHANGE_CONFIRM_RESPONSE = 0x67 # TD response to request to validate ultrafiltration volume change + MSG_ID_DD_VOLTAGES_DATA = 0x68 # DD voltage broadcast data + MSG_ID_DD_RINSE_PUMP_DATA = 0x69 # DD rinse pump data + MSG_ID_TD_TREATMENT_LOG_ALARM_EVENT = 0x6A # TD treatment log alarm event + MSG_ID_TD_TREATMENT_LOG_EVENT = 0x6B # TD treatment log event + MSG_ID_TD_DATE_AND_TIME_REQUEST = 0x6C # TD date and time request + MSG_ID_TD_DATE_AND_TIME_RESPONSE = 0x6D # TD date and time response + MSG_ID_DD_DATE_AND_TIME_REQUEST = 0x6E # DD date and time request + MSG_ID_DD_DATE_AND_TIME_RESPONSE = 0x6F # DD date and time response + MSG_ID_DD_DRY_BICART_DATA = 0x70 # DD dry bicart data + MSG_ID_FP_RO_REJECTION_RATIO_DATA = 0x71 # FP broadcast RO Rejection ratio data + MSG_ID_UI_PRESSURE_LIMITS_CHANGE_REQUEST = 0x72 # UI pressure limits change request + MSG_ID_TD_PRESSURE_LIMITS_CHANGE_RESPONSE = 0x73 # TD pressure limits change response + MSG_ID_UI_BOLUS_VOLUME_CHANGE_REQUEST = 0x74 # UI bolus volume change request + MSG_ID_TD_BOLUS_VOLUME_CHANGE_RESPONSE = 0x75 # TD bolus volume change response + MSG_ID_UI_DURATION_VALIDATE_REQUEST = 0x76 # UI duration validation request + MSG_ID_TD_DURATION_VALIDATE_RESPONSE = 0x77 # TD duration validation response + MSG_ID_UI_DURATION_CONFIRM_REQUEST = 0x78 # UI duration confirm request + MSG_ID_TD_DURATION_CONFIRM_RESPONSE = 0x79 # TD duration confirm response + MSG_ID_UI_TREATMENT_SET_POINTS_CHANGE_REQUEST = 0x7A # UI treatment set points change request + MSG_ID_TD_TREATMENT_SET_POINTS_CHANGE_RESPONSE = 0x7B # TD treatment set points change response + MSG_ID_UI_TREATMENT_SET_POINT_BLOOD_FLOW_CHANGE_REQUEST = 0x7C # UI treatment set point blood flow change request + MSG_ID_TD_TREATMENT_SET_POINT_BLOOD_FLOW_CHANGE_RESPONSE = 0x7D # TD treatment set point blood flow change response + MSG_ID_UI_TREATMENT_SET_POINT_DIALYSATE_FLOW_CHANGE_REQUEST = 0x7E # UI treatment set point dialysate flow change request + MSG_ID_TD_TREATMENT_SET_POINT_DIALYSATE_FLOW_CHANGE_RESPONSE = 0x7F # TD treatment set point dialysate flow change response + MSG_ID_UI_TREATMENT_SET_POINT_DIALYSATE_TEMP_CHANGE_REQUEST = 0x80 # UI treatment set point dialysate temperature change request + MSG_ID_TD_TREATMENT_SET_POINT_DIALYSATE_TEMP_CHANGE_RESPONSE = 0x81 # TD treatment set point dialysate temperature change response + MSG_ID_TD_INSTITUTIONAL_RECORD_REQUEST = 0x82 # TD institutional record request + MSG_ID_TD_INSTITUTIONAL_RECORD_RESPONSE = 0x83 # TD institutional record response + MSG_ID_TD_ADJUST_INSTITUTIONAL_RECORD_REQUEST = 0x84 # TD adjust institutional record request + MSG_ID_TD_ADJUST_INSTITUTIONAL_RECORD_RESPONSE = 0x85 # TD adjust institutional record response + MSG_ID_TD_ADVANCED_INSTITUTIONAL_RECORD_REQUEST = 0x86 # TD advanced institutional record request + MSG_ID_TD_ADVANCED_INSTITUTIONAL_RECORD_RESPONSE = 0x87 # TD advanced institutional record response + MSG_ID_TD_ADVANCED_ADJUST_INSTITUTIONAL_RECORD_REQUEST = 0x88 # TD advanced institutional record request + MSG_ID_TD_ADVANCED_ADJUST_INSTITUTIONAL_RECORD_RESPONSE = 0x89 # TD advanced institutional record response + MSG_ID_TD_HEPARIN_REQUEST = 0x8A # TD heparin request + MSG_ID_TD_HEPARIN_RESPONSE = 0x8B # TD heparin response + MSG_ID_TD_HEPARIN_DATA = 0x8C # TD heparin data + MSG_ID_TD_END_TREATMENT_REQUEST = 0x8D # TD end treatment request + MSG_ID_TD_END_TREATMENT_RESPONSE = 0x8E # TD end treatment response + MSG_ID_TD_RINSEBACK_PROGRESS = 0x8F # TD rinseback progress + MSG_ID_UI_RINSEBACK_CMD_REQUEST = 0x90 # UI rinseback request + MSG_ID_TD_RINSEBACK_CMD_RESPONSE = 0x91 # TD rinseback response + MSG_ID_UI_ADJUST_DISPOSABLES_CONFIRM_REQUEST = 0x92 # UI adjust disposables confirm request + MSG_ID_TD_ADJUST_DISPOSABLES_CONFIRM_RESPONSE = 0x93 # TD adjust disposables confirm response + MSG_ID_UI_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_REQUEST = 0x94 # UI adjust disposables removal confirm request + MSG_ID_TD_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_RESPONSE = 0x95 # TD adjust disposables removal confirm response + MSG_ID_FP_FILTER_FLUSH_DEF_DATA = 0x96 # FP Filter Flush Defeatured broadcast data + MSG_ID_TD_BLOOD_PRIME_PROGRESS_DATA = 0x97 # TD broadcast of blood prime progress + MSG_ID_UI_BLOOD_PRIME_CMD_REQUEST = 0x98 # UI blood prime command request + MSG_ID_TD_BLOOD_PRIME_CMD_RESPONSE = 0x99 # TD blood prime command response + MSG_ID_TD_ISOLATED_UF_DATA = 0x9A # TD isolated UF data + MSG_ID_UI_ISOLATED_UF_DURATION_CHANGE_REQUEST = 0x9B # UI isolated UF duration change request + MSG_ID_TD_ISOLATED_UF_DURATION_CHANGE_RESPONSE = 0x9C # TD isolated UF duration change response + MSG_ID_UI_ISOLATED_UF_VOLUME_GOAL_CHANGE_REQUEST = 0x9D # UI isolated UF volume goal change request + MSG_ID_TD_ISOLATED_UF_VOLUME_GOAL_CHANGE_RESPONSE = 0x9E # TD isolated UF volume goal change response + MSG_ID_UI_ISOLATED_UF_CONFIRM_REQUEST = 0x9F # UI isolated UF confirm request + MSG_ID_TD_ISOLATED_UF_CONFIRM_RESPONSE = 0xA0 # TD isolated UF confirm response + MSG_ID_UI_ADJUST_START_TREATMENT_REQUEST = 0xA1 # UI adjust start treatment request + MSG_ID_TD_ADJUST_START_TREATMENT_RESPONSE = 0xA2 # TD adjust start treatment response + MSG_ID_UI_WATER_SAMPLE_RESULT_REQUEST = 0xA3 # UI water sample result request + MSG_ID_UI_PRESSURE_LIMIT_WIDEN_REQUEST = 0xA4 # UI pressure limit widen request. + MSG_ID_TD_PRESSURE_LIMIT_WIDEN_RESPONSE = 0xA5 # TD pressure limit widen response. + MSG_ID_UI_RECIRCULATE_REQUEST = 0xA6 # UI recirculate request + MSG_ID_TD_RECIRCULATE_RESPONSE = 0xA7 # TD recirculate response + MSG_ID_TD_RECIRCULATE_DATA = 0xA8 # TD recirculate data + MSG_ID_UI_ADJUST_TREATMENT_LOGS_REQUEST = 0xA9 # UI adjust treatment logs request. + MSG_ID_TD_ADJUST_TREATMENT_LOGS_RESPONSE = 0xAA # TD adjust treatment logs response + MSG_ID_TD_WATER_SAMPLE_RESULT_RESPONSE = 0xAB # UI water sample result response + MSG_ID_TD_WATER_SAMPLE_DATA = 0xAC # TD broadcast water sample data + MSG_ID_TD_TREATMENT_LOG_AVERAGE_DATA = 0xAD # TD broadcast of treatment log average data + MSG_ID_TD_DRY_SELF_TEST_PROGRESS_DATA = 0xAE # TD dry self test progress data + MSG_ID_TD_TUBE_SET_AUTHENTICATION_REQUEST = 0xAF # UI tube set authentication acknowledge request + MSG_ID_TD_TUBE_SET_AUTHENTICATION_ACK_RESPONSE = 0xB0 # TD tube set authentication acknowledge response + MSG_ID_TD_SYRINGE_PUMP_DATA = 0xB1 # TD broadcast of syringe pump data + MSG_ID_TD_HEPARIN_PAUSE_RESUME_RESPONSE = 0xB2 # TD response to pause/resume Heparin delivery request + MSG_ID_FFU_SIGNAL_TD_UPDATE_AVAILABLE = 0xB3 # FFU signal TD update is available. + MSG_ID_FFU_SIGNAL_DD_UPDATE_AVAILABLE = 0xB4 # FFU signal DD update is available. + MSG_ID_TD_UI_GENERIC_CONFIRMATION_REQUEST = 0xB5 # TD request for generic UI confirmation. + MSG_ID_UI_GENERIC_CONFIRMATION_RESULT_RESPONSE = 0xB6 # UI generic confirmation result to TD. + MSG_ID_AVAILABLE_B7 = 0xB7 # Msg ID not used - available for use. + MSG_ID_UI_VITALS_ADJUSTMENT_REQUEST = 0xB8 # UI vitals adjustment request + MSG_ID_TD_VITALS_ADJUSTMENT_RESPONSE = 0xB9 # TD vitals adjustment response + MSG_ID_UI_ISO_UF_STATE_REQUEST = 0xBA + MSG_ID_TD_ISO_UF_STATE_RESPONSE = 0xBB + MSG_ID_TD_HEMODIAFILTRATION_DATA = 0xBC + MSG_ID_UI_PAUSE_SUB_FLOW_REQUEST = 0xBD + MSG_ID_TD_PAUSE_SUB_FLOW_RESPONSE = 0xBE + MSG_ID_UI_AUTO_SUBSTITUTION_REQUEST = 0xBF + MSG_ID_TD_AUTO_SUBSTITUTION_REPONSE = 0xC0 + MSG_ID_UI_HDF_ADJUSTMENT_REQUEST = 0xC1 + MSG_ID_TD_HDF_ADJUSTMENT_RESPONSE = 0xC2 + MSG_ID_TD_DRY_BICARD_DISCONNECT_DATA = 0xC4 + MSG_ID_UI_DRY_BICARD_DISCONNECT_REQUEST = 0xC5 + MSG_ID_TD_DRY_BICARD_DISCONNECT_RESPONSE = 0xC6 + MSG_ID_TD_PRIME_PROGRESS_DATA = 0xC7 + MSG_ID_UI_SETUP_TUBING_SET_CONNECTIONS_CONFIRM_REQUEST = 0xD6 # UI setup connection confirmation request + MSG_ID_TD_SETUP_TUBING_SET_CONNECTIONS_CONFIRM_RESPONSE = 0xD7 # TD setup connection confirmation response + MSG_ID_TD_POST_FINAL_TEST_RESULT = 0xD8 + MSG_ID_TD_POST_SINGLE_TEST_RESULT = 0xD9 + MSG_ID_TD_UI_CANCEL_REQUEST = 0xDA + MSG_ID_DD_SUBSTITUTION_PUMP_DATA = 0xDB # DD substitution pump broadcast data. + MSG_ID_DD_CONDUCTIVITY_SENSOR_RESISTANCE_DATA = 0xDC # DD conductivity resistance data broadcast. + MSG_ID_FP_FILTER_FLUSH_DATA = 0xDD # FP Filter Flush broadcast data + MSG_ID_FP_PERMEATE_FLUSH_DATA = 0xDE # FP Permeate Flush broadcast data - MSG_ID_UI_TD_NVM_GET_RECORD_REQUEST = 0x100 - MSG_ID_TD_NVM_SYSTEM_RECORD_RESPONSE = 0x101 - MSG_ID_UI_TD_NVM_SET_SYSTEM_RECORD = 0x102 - MSG_ID_TD_NVM_SERVICE_RECORD_RESPONSE = 0x103 - MSG_ID_UI_TD_NVM_SET_SERVICE_RECORD = 0x104 - MSG_ID_TD_NVM_INSTITUTIONAL_RECORD_RESPONSE = 0x105 - MSG_ID_UI_TD_NVM_SET_INSTITUTIONAL_RECORD = 0x106 - MSG_ID_TD_NVM_USAGE_INFO_RECORD_RESPONSE = 0x107 - MSG_ID_UI_TD_NVM_SET_USAGE_INFO_RECORD = 0x108 - MSG_ID_TD_NVM_CAL_RESPONSE = 0x109 - MSG_ID_UI_TD_NVM_SET_CAL_RECORD = 0x10A - MSG_ID_TD_NVM_RECORD_CRC_OVERRIDE_REQUEST = 0x10B + MSG_ID_UI_RO_WATER_MODE_REQUEST = 0xEB + MSG_ID_DD_RO_WATER_MODE_RESPONSE = 0xEC + MSG_ID_UI_ADJUST_RO_WATER_MODE_REQUEST = 0xED + MSG_ID_DD_ADJUST_RO_WATER_MODE_RESPONSE = 0xEE + TBD_EF = 0xEF + MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0 - MSG_ID_TD_TESTER_LOGIN_REQUEST = 0x8000 - MSG_ID_TD_SOFTWARE_RESET_REQUEST = 0x8001 - MSG_ID_TD_SEND_TEST_CONFIGURATION = 0x8002 - MSG_ID_TD_BUBBLE_OVERRIDE_REQUEST = 0x8003 - MSG_ID_TD_VOLTAGE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8004 - MSG_ID_TD_VOLTAGE_OVERRIDE_REQUEST = 0x8005 - MSG_ID_TD_BUBBLE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8006 - MSG_ID_TD_PRESSURE_OVERRIDE_REQUEST = 0x8007 - MSG_ID_TD_AIR_PUMP_SET_STATE_REQUEST = 0x8008 - MSG_ID_TD_AIR_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8009 - MSG_ID_TD_SWITCHES_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x800A - MSG_ID_TD_SWITCH_STATE_OVERRIDE_REQUEST = 0x800B - MSG_ID_TD_OFF_BUTTON_OVERRIDE_REQUEST = 0x800C - MSG_ID_TD_STOP_BUTTON_OVERRIDE_REQUEST = 0x800D - MSG_ID_TD_ALARM_LAMP_PATTERN_OVERRIDE_REQUEST = 0x800E - MSG_ID_TD_ALARM_AUDIO_LEVEL_OVERRIDE_REQUEST = 0x800F - MSG_ID_TD_ALARM_AUDIO_CURRENT_HG_OVERRIDE_REQUEST = 0x8010 - MSG_ID_TD_ALARM_AUDIO_CURRENT_LG_OVERRIDE_REQUEST = 0x8011 - MSG_ID_TD_BACKUP_ALARM_AUDIO_CURRENT_OVERRIDE_REQUEST = 0x8012 - MSG_ID_TD_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8013 - MSG_ID_TD_AIR_TRAP_LEVEL_OVERRIDE_REQUEST = 0x8014 - MSG_ID_TD_AIR_TRAP_LEVEL_RAW_OVERRIDE_REQUEST = 0x8015 - MSG_ID_TD_AIR_TRAP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8016 - MSG_ID_TD_2_WAY_VALVE_SET_STATE_REQUEST = 0x8017 - MSG_ID_TD_ROTARY_PINCH_VALVE_SET_POS_REQUEST = 0x8018 - MSG_ID_TD_ROTARY_PINCH_VALVE_STATUS_OVERRIDE_REQUEST = 0x8019 - MSG_ID_TD_ROTARY_PINCH_VALVE_POSITION_OVERRIDE_REQUEST = 0x801A - MSG_ID_TD_VALVES_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x801B - MSG_ID_TD_ALARM_STATUS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x801C - MSG_ID_TD_ALARM_INFO_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x801D - MSG_ID_TD_ALARM_START_TIME_OVERRIDE_REQUEST = 0x801E - MSG_ID_TD_ALARM_CLEAR_ALL_ALARMS_REQUEST = 0x801F - MSG_ID_TD_WATCHDOG_OVERRIDE_REQUEST = 0x8020 - MSG_ID_TD_ALARM_STATE_OVERRIDE_REQUEST = 0x8021 - MSG_ID_TD_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0x8022 - MSG_ID_TD_PINCH_VALVE_SET_POSITION_REQUEST = 0x8023 - MSG_ID_TD_PINCH_VALVE_HOME_REQUEST = 0x8024 - MSG_ID_TD_BLOOD_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8025 - MSG_ID_TD_BLOOD_PUMP_SET_FLOW_RATE_REQUEST = 0x8026 - MSG_ID_TD_BLOOD_PUMP_SET_SPEED_REQUEST = 0x8027 - MSG_ID_TD_BLOOD_PUMP_MEASURED_FLOW_RATE_OVERRIDE_REQUEST = 0x8028 - MSG_ID_TD_BLOOD_PUMP_MEASURED_MOTOR_SPEED_OVERRIDE_REQUEST = 0x8029 - MSG_ID_TD_BLOOD_PUMP_MEASURED_ROTOR_SPEED_OVERRIDE_REQUEST = 0x802A - MSG_ID_TD_BLOOD_PUMP_ROTOR_COUNT_OVERRIDE_REQUEST = 0x802B - MSG_ID_TD_TMP_PRESSURE_OVERRIDE_REQUEST = 0x802C - MSG_ID_TD_REQ_CURRENT_TREATMENT_PARAMETERS = 0x802D - MSG_ID_TD_RSP_CURRENT_TREATMENT_PARAMETERS = 0x802E - MSG_ID_TD_SET_TREATMENT_PARAMETER = 0x802F - MSG_ID_TD_OP_MODE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8030 - MSG_ID_TD_OP_MODE_OVERRIDE_REQUEST = 0x8031 - MSG_ID_TD_EJECTOR_MOTOR_SET_SPEED_REQUEST = 0x8032 - MSG_ID_TD_EJECTOR_COMMAND = 0x8033 - MSG_ID_TD_EJECTOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8034 - MSG_ID_TD_SET_AIR_TRAP_CONTROL = 0x8035 - MSG_ID_TD_HOME_BLOOD_PUMP_REQUEST = 0x8036 - MSG_ID_TD_BLOOD_FLOW_STROKE_VOLUME_OVERRIDE_REQUEST = 0x8037 - MSG_ID_TD_BLOOD_FLOW_WEAR_A_TERM_OVERRIDE_REQUEST = 0x8038 - MSG_ID_TD_BLOOD_FLOW_WEAR_B_TERM_OVERRIDE_REQUEST = 0x8039 - MSG_ID_TD_SET_TEST_CONFIGURATION = 0x803A - MSG_ID_TD_GET_TEST_CONFIGURATION = 0x803B - MSG_ID_TD_RESET_ALL_TEST_CONFIGURATIONS = 0x803C - MSG_ID_TD_AIR_PUMP_POWER_RAISE_OVERRIDE_REQUEST = 0x803D - MSG_ID_TD_AIR_PUMP_POWER_LOWER_OVERRIDE_REQUEST = 0x803E - MSG_ID_TD_HARD_STOP_BLOOD_PUMP = 0x803F - MSG_ID_TD_BARO_MFG_CRC_OVERRIDE = 0x8040 - MSG_ID_TD_BARO_PRESSURE_OVERRIDE = 0x8041 - MSG_ID_TD_TEMPERATURE_OVERRIDE = 0x8042 - MSG_ID_TD_TEMPERATURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8043 - MSG_ID_TD_EJECTOR_OPT_SENSOR_OVERRIDE_REQUEST = 0x8044 - MSG_ID_TD_ENABLE_VENOUS_BUBBLE_ALARM = 0x8047 - MSG_ID_TD_SYRINGE_PUMP_OPERATION_REQUEST = 0x8048 - MSG_ID_TD_SYRINGE_PUMP_PUBLISH_INTERVAL_OVERRIDE = 0x8049 - MSG_ID_TD_SYRINGE_PUMP_RATE_OVERRIDE_REQUEST = 0x8050 - MSG_ID_TD_SYRINGE_PUMP_FORCE_OVERRIDE_REQUEST = 0x8051 - MSG_ID_TD_SYRINGE_PUMP_HOME_OVERRIDE_REQUEST = 0x8052 - MSG_ID_TD_SYRINGE_PUMP_POSITION_OVERRIDE_REQUEST = 0x8053 - MSG_ID_TD_SYRINGE_PUMP_VOLUME_OVERRIDE_REQUEST = 0x8054 - MSG_ID_TD_SYRINGE_PUMP_STATUS_OVERRIDE_REQUEST = 0x8055 - MSG_ID_TD_SYRINGE_PUMP_ENCODER_STATUS_OVERRIDE_REQUEST = 0x8056 - MSG_ID_TD_SYRINGE_PUMP_ADC_DAC_STATUS_OVERRIDE_REQUEST = 0x8057 - MSG_ID_TD_SYRINGE_PUMP_ADC_READ_COUNTER_OVERRIDE_REQUEST = 0x8058 - MSG_ID_TD_HEPARIN_BOLUS_TARGET_RATE_OVERRIDE_REQUEST = 0x8059 - MSG_ID_TD_SYRINGE_PUMP_FORCE_SENSOR_CALIBRATION_REQUEST = 0x8060 - MSG_ID_TD_GET_ALARM_PROPERTIES_REQUEST = 0x8061 - MSG_ID_TD_ALARM_PROPERTIES_RESPONSE = 0x8062 - MSG_ID_BATTERY_REGISTERS_OVERRIDE_REQUEST = 0x8063 - MSG_ID_TD_BATTERY_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8064 + MSG_ID_UI_DD_NVM_GET_SYSTEM_RECORD_REQUEST = 0x100 # DD NVM Get System Record Request + MSG_ID_DD_UI_NVM_GET_SYSTEM_RECORD_RESPONSE = 0x101 # DD NVM Get System Record Response + MSG_ID_UI_DD_NVM_SET_SYSTEM_RECORD_REQUEST = 0x102 # DD NVM Set System Record Request + MSG_ID_DD_UI_NVM_SET_SYSTEM_RECORD_RESPONSE = 0x103 # DD NVM Set System Record Response + MSG_ID_UI_DD_NVM_GET_SERVICE_RECORD_REQUEST = 0x104 # DD NVM Get Service Record Request + MSG_ID_DD_UI_NVM_GET_SERVICE_RECORD_RESPONSE = 0x105 # DD NVM Get Service Record Response + MSG_ID_UI_DD_NVM_SET_SERVICE_RECORD_REQUEST = 0x106 # DD NVM Set Service Record Request + MSG_ID_DD_UI_NVM_SET_SERVICE_RECORD_RESPONSE = 0x107 # DD NVM Set Service Record Response + MSG_ID_UI_DD_NVM_GET_INSTIT_BASIC_RECORD_REQUEST = 0x108 # DD NVM Get Institutional Basic Record Request + MSG_ID_DD_UI_NVM_GET_INSTIT_BASIC_RECORD_RESPONSE = 0x109 # DD NVM Get Institutional Basic Record Response + MSG_ID_UI_DD_NVM_SET_INSTIT_BASIC_RECORD_REQUEST = 0x10A # DD NVM Set Institutional Basic Record Request + MSG_ID_DD_UI_NVM_SET_INSTIT_BASIC_RECORD_RESPONSE = 0x10B # DD NVM Set Institutional Basic Record Response + MSG_ID_UI_DD_NVM_GET_INSTIT_ADVANCED_RECORD_REQUEST = 0x10C # DD NVM Get Institutional Advanced Record Request + MSG_ID_DD_UI_NVM_GET_INSTIT_ADVANCED_RECORD_RESPONSE = 0x10D # DD NVM Get Institutional Advanced Record Response + MSG_ID_UI_DD_NVM_SET_INSTIT_ADVANCED_RECORD_REQUEST = 0x10E # DD NVM Get Institutional Advanced Record Request + MSG_ID_DD_UI_NVM_SET_INSTIT_ADVANCED_RECORD_RESPONSE = 0x10F # DD NVM Get Institutional Advanced Record Response + MSG_ID_UI_DD_NVM_GET_INSTIT_ADDITIONAL_RECORD_REQUEST = 0x110 # DD NVM Get Institutional Additional Record Request + MSG_ID_DD_UI_NVM_GET_INSTIT_ADDITIONAL_RECORD_RESPONSE = 0x111 # DD NVM Get Institutional Additional Record Response + MSG_ID_UI_DD_NVM_SET_INSTIT_ADDITIONAL_RECORD_REQUEST = 0x112 # DD NVM Set Institutional Additional Record Request + MSG_ID_DD_UI_NVM_SET_INSTIT_ADDITIONAL_RECORD_RESPONSE = 0x113 # DD NVM Set Institutional Additional Record Response + MSG_ID_UI_DD_NVM_GET_USAGE_INFO_RECORD_REQUEST = 0x114 # DD NVM Get Usage Info Record Request + MSG_ID_DD_UI_NVM_GET_USAGE_INFO_RECORD_RESPONSE = 0x115 # DD NVM Get Usage Info Record Response + MSG_ID_UI_DD_NVM_SET_USAGE_INFO_RECORD_REQUEST = 0x116 # DD NVM Set Usage Info Record Request + MSG_ID_DD_UI_NVM_SET_USAGE_INFO_RECORD_RESPONSE = 0x117 # DD NVM Set Usage Info Record Response + MSG_ID_UI_DD_NVM_GET_PRESSURE_SENSOR_CAL_RECORD_REQUEST = 0x118 # DD NVM Get Pressure Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_GET_PRESSURE_SENSOR_CAL_RECORD_RESPONSE = 0x119 # DD NVM Get Pressure Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_SET_PRESSURE_SENSOR_CAL_RECORD_REQUEST = 0x11A # DD NVM Set Pressure Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_SET_PRESSURE_SENSOR_CAL_RECORD_RESPONSE = 0x11B # DD NVM Set Pressure Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_GET_TEMPERATURE_SENSOR_CAL_RECORD_REQUEST = 0x11C # DD NVM Get Temperature Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_GET_TEMPERATURE_SENSOR_CAL_RECORD_RESPONSE = 0x11D # DD NVM Get Temperature Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_SET_TEMPERATURE_SENSOR_CAL_RECORD_REQUEST = 0x11E # DD NVM Set Temperature Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_SET_TEMPERATURE_SENSOR_CAL_RECORD_RESPONSE = 0x11F # DD NVM Set Temperature Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_GET_CONC_PUMP_CAL_RECORD_REQUEST = 0x120 # DD NVM Get Concentrate Pumps Calibration Record Request + MSG_ID_DD_UI_NVM_GET_CONC_PUMP_CAL_RECORD_RESPONSE = 0x121 # DD NVM Get Concentrate Pumps Calibration Record Response + MSG_ID_UI_DD_NVM_SET_CONC_PUMP_CAL_RECORD_REQUEST = 0x122 # DD NVM Set Concentrate Pumps Calibration Record Request + MSG_ID_DD_UI_NVM_SET_CONC_PUMP_CAL_RECORD_RESPONSE = 0x123 # DD NVM Set Concentrate Pumps Calibration Record Response + MSG_ID_UI_DD_NVM_GET_D12_PUMP_CAL_RECORD_REQUEST = 0x124 # DD NVM Get D12 Pump Calibration Record Request + MSG_ID_DD_UI_NVM_GET_D12_PUMP_CAL_RECORD_RESPONSE = 0x125 # DD NVM Get D12 Pump Calibration Record Response + MSG_ID_UI_DD_NVM_SET_D12_PUMP_CAL_RECORD_REQUEST = 0x126 # DD NVM Set D12 Pump Calibration Record Request + MSG_ID_DD_UI_NVM_SET_D12_PUMP_CAL_RECORD_RESPONSE = 0x127 # DD NVM Set D12 Pump Calibration Record Response + MSG_ID_UI_DD_NVM_GET_D48_PUMP_CAL_RECORD_REQUEST = 0x128 # DD NVM Get D48 Pump Calibration Record Request + MSG_ID_DD_UI_NVM_GET_D48_PUMP_CAL_RECORD_RESPONSE = 0x129 # DD NVM Get D48 Pump Calibration Record Response + MSG_ID_UI_DD_NVM_SET_D48_PUMP_CAL_RECORD_REQUEST = 0x12A # DD NVM Set D48 Pump Calibration Record Request + MSG_ID_DD_UI_NVM_SET_D48_PUMP_CAL_RECORD_RESPONSE = 0x12B # DD NVM Set D48 Pump Calibration Record Response + MSG_ID_UI_DD_NVM_GET_ACID_CONC_CAL_RECORD_REQUEST = 0x12C # DD NVM Get Acid Concentrates Calibration Record Request + MSG_ID_DD_UI_NVM_GET_ACID_CONC_CAL_RECORD_RESPONSE = 0x12D # DD NVM Get Acid Concentrates Calibration Record Response + MSG_ID_UI_DD_NVM_SET_ACID_CONC_CAL_RECORD_REQUEST = 0x12E # DD NVM Set Acid Concentrates Calibration Record Request + MSG_ID_DD_UI_NVM_SET_ACID_CONC_CAL_RECORD_RESPONSE = 0x12F # DD NVM Set Acid Concentrates Calibration Record Response + MSG_ID_UI_DD_NVM_GET_BICARB_CONC_CAL_RECORD_REQUEST = 0x130 # DD NVM Get Bicarbonate Concentrates Calibration Record Request + MSG_ID_DD_UI_NVM_GET_BICARB_CONC_CAL_RECORD_RESPONSE = 0x131 # DD NVM Get Bicarbonate Concentrates Calibration Record Response + MSG_ID_UI_DD_NVM_SET_BICARB_CONC_CAL_RECORD_REQUEST = 0x132 # DD NVM Set Bicarbonate Concentrates Calibration Record Request + MSG_ID_DD_UI_NVM_SET_BICARB_CONC_CAL_RECORD_RESPONSE = 0x133 # DD NVM Set Bicarbonate Concentrates Calibration Record Response + MSG_ID_UI_DD_NVM_GET_ACCEL_SENSOR_CAL_RECORD_REQUEST = 0x134 # DD NVM Get Accelerometers Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_GET_ACCEL_SENSOR_CAL_RECORD_RESPONSE = 0x135 # DD NVM Get Accelerometers Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_SET_ACCEL_SENSOR_CAL_RECORD_REQUEST = 0x136 # DD NVM Set Accelerometers Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_SET_ACCEL_SENSOR_CAL_RECORD_RESPONSE = 0x137 # DD NVM Set Accelerometers Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_GET_BLOOD_LEAK_SENSOR_CAL_RECORD_REQUEST = 0x138 # DD NVM Get Blood Leak Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_GET_BLOOD_LEAK_SENSOR_CAL_RECORD_RESPONSE = 0x139 # DD NVM Get Blood Leak Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_SET_BLOOD_LEAK_SENSOR_CAL_RECORD_REQUEST = 0x13A # DD NVM Set Blood Leak Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_SET_BLOOD_LEAK_SENSOR_CAL_RECORD_RESPONSE = 0x13B # DD NVM Set Blood Leak Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_GET_CONDUCTIVITY_SENSOR_CAL_RECORD_REQUEST = 0x13C # DD NVM Get Conductivity Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_GET_CONDUCTIVITY_SENSOR_CAL_RECORD_RESPONSE = 0x13D # DD NVM Get Conductivity Sensor Calibration Record Response + MSG_ID_UI_DD_NVM_SET_CONDUCTIVITY_SENSOR_CAL_RECORD_REQUEST = 0x13E # DD NVM Set Conductivity Sensor Calibration Record Request + MSG_ID_DD_UI_NVM_SET_CONDUCTIVITY_SENSOR_CAL_RECORD_RESPONSE = 0x13F # DD NVM Set Conductivity Sensor Calibration Record Response + MSG_ID_UI_FP_NVM_GET_SERVICE_RECORD_REQUEST = 0x140 # FP NVM Get Service Record Request + MSG_ID_FP_UI_NVM_GET_SERVICE_RECORD_RESPONSE = 0x141 # FP NVM Get Service Record Response + MSG_ID_UI_FP_NVM_SET_SERVICE_RECORD_REQUEST = 0x142 # FP NVM Set Service Record Request + MSG_ID_FP_UI_NVM_SET_SERVICE_RECORD_RESPONSE = 0x143 # FP NVM Set Service Record Response + MSG_ID_UI_FP_NVM_GET_USAGE_INFO_RECORD_REQUEST = 0x144 # FP NVM Get Usage Info Record Request + MSG_ID_FP_UI_NVM_GET_USAGE_INFO_RECORD_RESPONSE = 0x145 # FP NVM Get Usage Info Record Response + MSG_ID_UI_FP_NVM_SET_USAGE_INFO_RECORD_REQUEST = 0x146 # FP NVM Set Usage Info Record Request + MSG_ID_FP_UI_NVM_SET_USAGE_INFO_RECORD_RESPONSE = 0x147 # FP NVM Set Usage Info Record Response - MSG_ID_TD_AIR_PUMP_RPM_OVERRIDE_REQUEST = 0x8067 - MSG_ID_TD_BATTERY_I2C_STATUS_OVERRIDE_REQUEST = 0x8068 + MSG_ID_TESTER_LOGIN_REQUEST = 0x8000 # TD tester log-in + MSG_ID_TD_SOFTWARE_RESET_REQUEST = 0x8001 # TD reset request + MSG_ID_TD_SEND_TEST_CONFIGURATION = 0x8002 # TD send test configuration to Dialin + MSG_ID_TD_BUBBLE_OVERRIDE_REQUEST = 0x8003 # TD override request for a given bubble detector + MSG_ID_TD_VOLTAGE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8004 # TD override request for the voltage data broadcast interval + MSG_ID_TD_VOLTAGE_OVERRIDE_REQUEST = 0x8005 # TD override request for a given voltage + MSG_ID_TD_BUBBLE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8006 # TD override request for the bubble data broadcast interval + MSG_ID_TD_PRESSURE_OVERRIDE_REQUEST = 0x8007 # TD override request for a given pressure + MSG_ID_TD_AIR_PUMP_SET_STATE_REQUEST = 0x8008 # TD set air pump state request + MSG_ID_TD_AIR_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8009 # TD override request for the air pump data broadcast interval + MSG_ID_TD_SWITCHES_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x800A # TD override request for the switches data broadcast interval + MSG_ID_TD_SWITCH_STATE_OVERRIDE_REQUEST = 0x800B # TD override request for a given switch + MSG_ID_TD_OFF_BUTTON_OVERRIDE_REQUEST = 0x800C # TD override request for the off button + MSG_ID_TD_STOP_BUTTON_OVERRIDE_REQUEST = 0x800D # TD override request for the stop button + MSG_ID_TD_ALARM_LAMP_PATTERN_OVERRIDE_REQUEST = 0x800E # TD override request for the alarm lamp pattern + MSG_ID_TD_ALARM_AUDIO_LEVEL_OVERRIDE_REQUEST = 0x800F # TD override request for the alarm audio level + MSG_ID_TD_ALARM_AUDIO_CURRENT_HG_OVERRIDE_REQUEST = 0x8010 # TD override request for the alarm audio HG current + MSG_ID_TD_ALARM_AUDIO_CURRENT_LG_OVERRIDE_REQUEST = 0x8011 # TD override request for the alarm audio LG current + MSG_ID_TD_BACKUP_ALARM_AUDIO_CURRENT_OVERRIDE_REQUEST = 0x8012 # TD override request for the backup alarm audio current + MSG_ID_TD_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8013 # TD override request for the pressures data broadcast interval + MSG_ID_TD_AIR_TRAP_LEVEL_OVERRIDE_REQUEST = 0x8014 # TD override request for debounced reading of a given air trap level sensor + MSG_ID_TD_AIR_TRAP_LEVEL_RAW_OVERRIDE_REQUEST = 0x8015 # TD override request for raw reading of a given air trap level sensor + MSG_ID_TD_AIR_TRAP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8016 # TD override request for the air trap data broadcast interval + MSG_ID_TD_3_WAY_VALVE_SET_STATE_REQUEST = 0x8017 # TD set 3-way valve state request + MSG_ID_TD_ROTARY_PINCH_VALVE_SET_POS_REQUEST = 0x8018 # TD set rotary pinch valve commanded position request + MSG_ID_TD_ROTARY_PINCH_VALVE_STATUS_OVERRIDE_REQUEST = 0x8019 # TD override request for rotary pinch valve + MSG_ID_TD_ROTARY_PINCH_VALVE_POSITION_OVERRIDE_REQUEST = 0x801A # TD override request for rotary pinch valve actual encoder position + MSG_ID_TD_VALVES_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x801B # TD override request for pinch valves data broadcast interval + MSG_ID_TD_ALARM_STATUS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x801C # TD override request for alarm status broadcast interval + MSG_ID_TD_ALARM_INFO_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x801D # TD override request for alarm information broadcast interval + MSG_ID_TD_ALARM_START_TIME_OVERRIDE_REQUEST = 0x801E # TD override request for alarm start time + MSG_ID_TD_ALARM_CLEAR_ALL_ALARMS_REQUEST = 0x801F # TD clear all alarms request + MSG_ID_TD_WATCHDOG_OVERRIDE_REQUEST = 0x8020 # TD override request for watchdog task check-in + MSG_ID_TD_ALARM_STATE_OVERRIDE_REQUEST = 0x8021 # TD override request for alarm state + MSG_ID_TD_SAFETY_SHUTDOWN_OVERRIDE_REQUEST = 0x8022 # TD override request for safety shutdown + MSG_ID_TD_PINCH_VALVE_SET_POSITION_REQUEST = 0x8023 # TD set pinch valve A/B/C position + MSG_ID_TD_PINCH_VALVE_HOME_REQUEST = 0x8024 # TD initiate a pinch valve home operation + MSG_ID_TD_BLOOD_PUMP_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8025 # TD override request for blood pump data broadcast interval + MSG_ID_TD_BLOOD_PUMP_SET_FLOW_RATE_REQUEST = 0x8026 # TD set blood pump set flow rate request + MSG_ID_TD_BLOOD_PUMP_SET_SPEED_REQUEST = 0x8027 # TD set blood pump set speed request + MSG_ID_TD_BLOOD_PUMP_MEASURED_FLOW_RATE_OVERRIDE_REQUEST = 0x8028 # TD override request for blood pump measured flow rate + MSG_ID_TD_BLOOD_PUMP_MEASURED_MOTOR_SPEED_OVERRIDE_REQUEST = 0x8029 # TD override request for blood pump measured motor speed + MSG_ID_TD_BLOOD_PUMP_MEASURED_ROTOR_SPEED_OVERRIDE_REQUEST = 0x802A # TD override request for blood pump measured rotor speed + MSG_ID_TD_BLOOD_PUMP_ROTOR_COUNT_OVERRIDE_REQUEST = 0x802B # TD override request for blood pump rotor count + MSG_ID_TD_TMP_PRESSURE_OVERRIDE_REQUEST = 0x802C # TD override request for TMP pressure + MSG_ID_TD_REQ_CURRENT_TREATMENT_PARAMETERS = 0x802D # TD request for current treatment parameters + MSG_ID_TD_RSP_CURRENT_TREATMENT_PARAMETERS = 0x802E # TD response to request for current treatment parameters + MSG_ID_TD_SET_TREATMENT_PARAMETER = 0x802F # TD set a specific treatment parameter + MSG_ID_TD_OP_MODE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8030 # TD override request for operation mode data publish interval + MSG_ID_TD_OP_MODE_OVERRIDE_REQUEST = 0x8031 # TD set operation mode request + MSG_ID_TD_EJECTOR_MOTOR_SET_SPEED_REQUEST = 0x8032 # TD set ejector motor speed request + MSG_ID_TD_EJECTOR_COMMAND = 0x8033 # TD ejector command + MSG_ID_TD_EJECTOR_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8034 # TD override request for ejector data publish interval + MSG_ID_TD_SET_AIR_TRAP_CONTROL = 0x8035 # TD set air trap control to start or stop + MSG_ID_TD_HOME_BLOOD_PUMP = 0x8036 # TD home blood pump request + MSG_ID_TD_BLOOD_FLOW_STROKE_VOLUME_OVERRIDE_REQUEST = 0x8037 # TD override request for blood flow stroke volume + MSG_ID_TD_BLOOD_FLOW_WEAR_A_TERM_OVERRIDE_REQUEST = 0x8038 # TD override request for blood flow wear A term + MSG_ID_TD_BLOOD_FLOW_WEAR_B_TERM_OVERRIDE_REQUEST = 0x8039 # TD override request for blood flow wear B term + MSG_ID_TD_SET_TEST_CONFIGURATION = 0x803A # TD set test configuration + MSG_ID_TD_GET_TEST_CONFIGURATION = 0x803B # TD get test configuration + MSG_ID_TD_RESET_ALL_TEST_CONFIGURATIONS = 0x803C # TD reset all the configurations + MSG_ID_TD_AIR_PUMP_POWER_RAISE_OVERRIDE_REQUEST = 0x803D # TD override request for air pump power level used to raise air trap level + MSG_ID_TD_AIR_PUMP_POWER_LOWER_OVERRIDE_REQUEST = 0x803E # TD override request for air pump power level used to lower air trap level + MSG_ID_TD_HARD_STOP_BLOOD_PUMP = 0x803F # TD hard stop blood pump + MSG_ID_TD_BARO_MFG_CRC_OVERRIDE = 0x8040 # TD barometric pressure sensor manufacturing CRC override. + MSG_ID_TD_BARO_PRESSURE_OVERRIDE = 0x8041 # TD barometric pressure sensor override. + MSG_ID_TD_TEMPERATURE_OVERRIDE = 0x8042 # TD temperature sensor override. + MSG_ID_TD_TEMPERATURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8043 # TD temperature sensor publish interval broadcast override. + MSG_ID_TD_EJECTOR_OPT_SENSOR_OVERRIDE_REQUEST = 0x8044 # TD ejector optical sensor override. + MSG_ID_TD_BLOOD_PRIME_VOLUME_OVERRIDE = 0x8045 # TD blood prime override. + MSG_ID_TD_BLOOD_PRIME_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8046 # TD blood prime publish interval broadcast override. + MSG_ID_TD_ENABLE_VENOUS_BUBBLE_ALARM = 0x8047 # TD enable venous bubble alarm. + MSG_ID_TD_SYRINGE_PUMP_OPERATION_REQUEST = 0x8048 # TD syringe pump operation request + MSG_ID_HD_SYRINGE_PUMP_PUBLISH_INTERVAL_OVERRIDE = 0x8049 # TD syringe pump data publish interval override request - MSG_ID_TD_TRAINING_TEST_OVERRIDE_REQUEST = 0x8999 + MSG_ID_TD_SYRINGE_PUMP_RATE_OVERRIDE_REQUEST = 0x8050 # TD syringe pump measured rate override request + MSG_ID_TD_SYRINGE_PUMP_FORCE_OVERRIDE_REQUEST = 0x8051 # TD syringe pump measured force override request + MSG_ID_TD_SYRINGE_PUMP_HOME_OVERRIDE_REQUEST = 0x8052 # TD syringe pump measured home override request + MSG_ID_TD_SYRINGE_PUMP_POSITION_OVERRIDE_REQUEST = 0x8053 # TD syringe pump measured position override request + MSG_ID_TD_SYRINGE_PUMP_VOLUME_OVERRIDE_REQUEST = 0x8054 # TD syringe pump measured volume override request + MSG_ID_TD_SYRINGE_PUMP_STATUS_OVERRIDE_REQUEST = 0x8055 # TD syringe pump status override request + MSG_ID_TD_SYRINGE_PUMP_ENCODER_STATUS_OVERRIDE_REQUEST = 0x8056 # TD syringe pump Encoder status override request + MSG_ID_TD_SYRINGE_PUMP_ADC_DAC_STATUS_OVERRIDE_REQUEST = 0x8057 # TD syringe pump ADC and DAC status override request + MSG_ID_TD_SYRINGE_PUMP_ADC_READ_COUNTER_OVERRIDE_REQUEST = 0x8058 # TD syringe pump ADC read counter override request + MSG_ID_TD_HEPARIN_BOLUS_TARGET_RATE_OVERRIDE_REQUEST = 0x8059 # TD heparin bolus target rate 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_TD_SYRINGE_PUMP_FORCE_SENSOR_CALIBRATION_REQUEST = 0x8060 # TD set syringe pump force sensor DAC calibration request + MSG_ID_TD_GET_ALARM_PROPERTIES_REQUEST = 0x8061 # TD send alarm table properties request + MSG_ID_TD_ALARM_PROPERTIES_RESPONSE = 0x8062 # TD send alarm table properties response to Dialin + MSG_ID_TD_BATTERY_REGISTERS_OVERRIDE_REQUEST = 0x8063 # TD battery registers override. + MSG_ID_TD_BATTERY_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8064 # TD battery publish interval override. + MSG_ID_TD_RINSEBACK_VOLUME_OVERRIDE = 0x8065 # TD rinseback volume override + MSG_ID_TD_RINSEBACK_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x8066 # TD rinseback publish interval broadcast override. - # Placeholder messages - MSG_ID_DD_ALARM_STATE_OVERRIDE_REQUEST = 0xAF03 - MSG_ID_DD_STOP_GEN_DIALYSATE_MODE_OVERRIDE_REQUEST = 0xAF04 + MSG_ID_TD_BATTERY_I2C_STATUS_OVERRIDE_REQUEST = 0x8068 # TD battery I2C status override. - 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_TD_TRAINING_TEST_OVERRIDE_REQUEST = 0x8999 # TD training test override request - MSG_ID_TD_DEBUG_EVENT = 0xFFF1 - MSG_ID_DD_DEBUG_EVENT = 0xFFF2 - MSG_ID_FP_DEBUG_EVENT = 0xFFF3 + 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 + 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_ACK_MESSAGE_THAT_REQUIRES_ACK = 0xFFFF -MsgIds._str_list = {} + 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 # 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 + +MsgIds._str_list = { } Index: leahi_dialin/common/td_defs.py =================================================================== diff -u -r99005b6f96d49ad13fa01a44889579c386dc803a -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 99005b6f96d49ad13fa01a44889579c386dc803a) +++ leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -82,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': [], } @@ -258,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 @@ -424,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 @@ -475,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 @@ -558,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': [], } @@ -743,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': [], } @@ -891,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 @@ -943,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 @@ -1015,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 ': [] } @@ -1118,28 +1159,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': [], } @@ -1175,6 +1216,7 @@ 'NUM_OF_SWITCH_STATES': [], } + # Syringe pump operations @unique class TDSyringePumpStates(DialinEnum): @@ -1239,56 +1281,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': [], } Index: leahi_dialin/common/td_defs_proxy.py =================================================================== diff -u -rbe799e12803dba3054ff893b68f8b79a9dde440b -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/common/td_defs_proxy.py (.../td_defs_proxy.py) (revision be799e12803dba3054ff893b68f8b79a9dde440b) +++ leahi_dialin/common/td_defs_proxy.py (.../td_defs_proxy.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -71,10 +71,12 @@ TDAirTrapLevelSensorNames = td_defs.TDAirTrapLevelSensorNames TDAirBubbleDetectorNames = td_defs.TDAirBubbleDetectorNames TDBatteryRegisterNames = td_defs.TDBatteryRegisterNames + TDBloodPumpNames = td_defs.TDBloodPumpNames TDEjectorNames = td_defs.TDEjectorNames TDPressureSensorNames = td_defs.TDPressureSensorNames TDTemperatureSensorNames = td_defs.TDTemperatureSensorNames TDSwitchNames = td_defs.TDSwitchNames + TDSyringePumpNames = td_defs.TDSyringePumpNames TDValveNames = td_defs.TDValveNames TDMonitoredVoltages = td_defs.TDMonitoredVoltages @@ -89,6 +91,7 @@ TDEjectorStates = td_defs.TDEjectorStates TDPressureSensorAttributes = td_defs.TDPressureSensorAttributes TDSwitchStatus = td_defs.TDSwitchStatus + TDSyringePumpStates = td_defs.TDSyringePumpStates TDValvePositions = td_defs.TDValvePositions TDValveStates = td_defs.TDValveStates Index: leahi_dialin/td/modules/alarms.py =================================================================== diff -u -r862daa5b6357ddaba02aa7d1fb9d0952e4a16e6f -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/td/modules/alarms.py (.../alarms.py) (revision 862daa5b6357ddaba02aa7d1fb9d0952e4a16e6f) +++ leahi_dialin/td/modules/alarms.py (.../alarms.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -547,8 +547,8 @@ @return: none """ - for x in range(self.alarm_states): - self.alarm_states[x] = False + for i in range(0, len(self.alarm_states)): + self.alarm_states[i] = False def get_dialin_alarms(self) -> dict: @@ -651,7 +651,7 @@ key = integer_to_bytearray(-758926171) # 0xD2C3B4A5 payload = key - return cmd_generic_override( + resp = cmd_generic_override( payload = payload, reset = NO_RESET, channel_id = CanChannels.dialin_to_td_ch_id, @@ -661,7 +661,10 @@ logger = self.logger, can_interface = self.can_interface) + self.clear_dialin_alarms() + return resp + def cmd_alarm_time_override(self, alarm: int, time_ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends the alarm time override command Index: leahi_dialin/td/modules/syringe_pump.py =================================================================== diff -u -rb95e3c341d09a2fda01edb2d3741ca33890672b4 -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision b95e3c341d09a2fda01edb2d3741ca33890672b4) +++ leahi_dialin/td/modules/syringe_pump.py (.../syringe_pump.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -49,38 +49,38 @@ message_id = MsgIds.MSG_ID_TD_SYRINGE_PUMP_DATA.value, function = self._handler_syringe_pump_data) - self.syringe_pump_state = TDTreaSyringePumpStates.SYRINGE_PUMP_INIT_STATE - self.heparin_state = TDTreaHeparinStates.HEPARIN_STATE_OFF - self.syringe_pump_set_rate_ml_hr = 0.0 - self.syringe_pump_meas_rate_ml_hr = 0.0 - self.syringe_pump_position = 0 - self.syringe_pump_volume_ml = 0.0 - self.syringe_pump_safety_volume_ml = 0.0 - self.syringe_pump_home_v = 0.0 - self.syringe_pump_switch_v = 0.0 - self.syringe_pump_force_v = 0.0 - self.syringe_pump_status = TDSyringePumpStates.STOP - self.syringe_pump_encoder_status = 0 - self.syringe_pump_adc_dac_status = 0 - self.syringe_pump_adc_read_counter = 0 + self.h10_pump_state = TDTreaSyringePumpStates.INIT_STATE + self.heparin_state = TDTreaHeparinStates.OFF + self.h10_pump_set_rate_ml_hr = 0.0 + self.h10_pump_meas_rate_ml_hr = 0.0 + self.h10_pump_position = 0 + self.h10_pump_volume_ml = 0.0 + self.h10_pump_safety_volume_ml = 0.0 + self.h10_pump_home_v = 0.0 + self.h10_pump_switch_v = 0.0 + self.h10_pump_force_v = 0.0 + self.h10_pump_status = TDSyringePumpStates.STOP + self.h10_pump_encoder_status = 0 + self.h10_pump_adc_dac_status = 0 + self.h10_pump_adc_read_counter = 0 self.td_syringe_pump_timestamp = 0.0 #: The timestamp of the syringe pump message # ============================================================ Properties ============================================================ @property - def syringe_pump_state(self) -> TDTreaSyringePumpStates: + def h10_pump_state(self) -> TDTreaSyringePumpStates: """ The Syringe Pump State """ - return self._syringe_pump_state + return self._h10_pump_state - @syringe_pump_state.setter - def syringe_pump_state(self, value: Union[int, DialinEnum]): + @h10_pump_state.setter + def h10_pump_state(self, value: Union[int, DialinEnum]): if isinstance(value, int): - self._syringe_pump_state = TDTreaSyringePumpStates(value) + self._h10_pump_state = TDTreaSyringePumpStates(value) else: - self._syringe_pump_state = value + self._h10_pump_state = value @property @@ -99,162 +99,163 @@ @property - def syringe_pump_set_rate_ml_hr(self) -> float: + def h10_pump_set_rate_ml_hr(self) -> float: """ The Set Syringe Pump rate """ - return self._syringe_pump_set_rate_ml_hr + return self._h10_pump_set_rate_ml_hr - @syringe_pump_set_rate_ml_hr.setter - def syringe_pump_set_rate_ml_hr(self, value): - self._syringe_pump_set_rate_ml_hr = value + @h10_pump_set_rate_ml_hr.setter + def h10_pump_set_rate_ml_hr(self, value): + self._h10_pump_set_rate_ml_hr = value @property - def syringe_pump_meas_rate_ml_hr(self) -> float: + def h10_pump_meas_rate_ml_hr(self) -> float: """ The Measured Syringe Pump rate """ - return self._syringe_pump_meas_rate_ml_hr + return self._h10_pump_meas_rate_ml_hr - @syringe_pump_meas_rate_ml_hr.setter - def syringe_pump_meas_rate_ml_hr(self, value): - self._syringe_pump_meas_rate_ml_hr = value + @h10_pump_meas_rate_ml_hr.setter + def h10_pump_meas_rate_ml_hr(self, value): + self._h10_pump_meas_rate_ml_hr = value @property - def syringe_pump_position(self) -> int: + def h10_pump_position(self) -> int: """ The Syringe Pump position """ - return self._syringe_pump_position + return self._h10_pump_position - @syringe_pump_position.setter - def syringe_pump_position(self, value): - self._syringe_pump_position = value + @h10_pump_position.setter + def h10_pump_position(self, value): + self._h10_pump_position = value @property - def syringe_pump_volume_ml(self) -> float: + def h10_pump_volume_ml(self) -> float: """ The Syringe Pump volume delivered in ml """ - return self._syringe_pump_volume_ml + return self._h10_pump_volume_ml - @syringe_pump_volume_ml.setter - def syringe_pump_volume_ml(self, value): - self._syringe_pump_volume_ml = value + @h10_pump_volume_ml.setter + def h10_pump_volume_ml(self, value): + self._h10_pump_volume_ml = value @property - def syringe_pump_safety_volume_ml(self) -> float: + def h10_pump_safety_volume_ml(self) -> float: """ The Syringe Pump safety volume reading """ - return self._syringe_pump_safety_volume_ml + return self._h10_pump_safety_volume_ml - @syringe_pump_safety_volume_ml.setter - def syringe_pump_safety_volume_ml(self, value): - self._syringe_pump_safety_volume_ml = value + @h10_pump_safety_volume_ml.setter + def h10_pump_safety_volume_ml(self, value): + self._h10_pump_safety_volume_ml = value @property - def syringe_pump_home_v(self) -> float: + def h10_pump_home_v(self) -> float: """ The Syringe Pump home voltage reading """ - return self._syringe_pump_home_v + return self._h10_pump_home_v - @syringe_pump_home_v.setter - def syringe_pump_home_v(self, value): - self._syringe_pump_home_v = value + @h10_pump_home_v.setter + def h10_pump_home_v(self, value): + self._h10_pump_home_v = value @property - def syringe_pump_switch_v(self) -> float: + def h10_pump_switch_v(self) -> float: """ The Syringe Pump switch voltage reading """ - return self._syringe_pump_switch_v + return self._h10_pump_switch_v - @syringe_pump_switch_v.setter - def syringe_pump_switch_v(self, value): - self._syringe_pump_switch_v = value + @h10_pump_switch_v.setter + def h10_pump_switch_v(self, value): + self._h10_pump_switch_v = value @property - def syringe_pump_force_v(self) -> float: + def h10_pump_force_v(self) -> float: """ The Syringe Pump force voltage reading """ - return self._syringe_pump_force_v + return self._h10_pump_force_v - @syringe_pump_force_v.setter - def syringe_pump_force_v(self, value): - self._syringe_pump_force_v = value + @h10_pump_force_v.setter + def h10_pump_force_v(self, value): + self._h10_pump_force_v = value @property - def syringe_pump_status(self) -> TDSyringePumpStates: + def h10_pump_status(self) -> TDSyringePumpStates: """ The Syringe Pump status """ - return self._syringe_pump_status + return self._h10_pump_status - @syringe_pump_status.setter - def syringe_pump_status(self, value: Union[int, DialinEnum]): + @h10_pump_status.setter + def h10_pump_status(self, value: Union[int, DialinEnum]): if isinstance(value, int): - self._syringe_pump_status = TDSyringePumpStates(value) + self._h10_pump_status = TDSyringePumpStates(value) else: - self._syringe_pump_status = value + self._h10_pump_status = value @property - def syringe_pump_encoder_status(self) -> int: + def h10_pump_encoder_status(self) -> int: """ The Syringe Pump encoder status """ - return self._syringe_pump_encoder_status + return self._h10_pump_encoder_status - @syringe_pump_encoder_status.setter - def syringe_pump_encoder_status(self, value): - self._syringe_pump_encoder_status = value + @h10_pump_encoder_status.setter + def h10_pump_encoder_status(self, value): + self._h10_pump_encoder_status = value @property - def syringe_pump_adc_dac_status(self) -> int: + def h10_pump_adc_dac_status(self) -> int: """ The Syringe Pump ADC & DAC status """ - return self._syringe_pump_adc_dac_status + return self._h10_pump_adc_dac_status - @syringe_pump_adc_dac_status.setter - def syringe_pump_adc_dac_status(self, value): - self._syringe_pump_adc_dac_status = value + @h10_pump_adc_dac_status.setter + def h10_pump_adc_dac_status(self, value): + self._h10_pump_adc_dac_status = value @property - def syringe_pump_adc_read_counter(self) -> int: + def h10_pump_adc_read_counter(self) -> int: """ The Syringe Pump ADC read counter """ - return self._syringe_pump_adc_read_counter + return self._h10_pump_adc_read_counter - @syringe_pump_adc_read_counter.setter - def syringe_pump_adc_read_counter(self, value): - self._syringe_pump_adc_read_counter = value + @h10_pump_adc_read_counter.setter + def h10_pump_adc_read_counter(self, value): + self._h10_pump_adc_read_counter = value # ============================================================ Handlers ============================================================ - @publish(["td_syringe_pump_timestamp", - "syringe_pump_state", "syringe_pump_set_rate_ml_hr", - "syringe_pump_meas_rate_ml_hr", "syringe_pump_position", - "syringe_pump_volume_ml", "syringe_pump_home_v", - "syringe_pump_switch_v", "syringe_pump_force_v", - "heparin_state", "syringe_pump_safety_volume_ml", - "syringe_pump_status", "syringe_pump_encoder_status", - "syringe_pump_adc_dac_status", "syringe_pump_adc_read_counter"]) + @publish([MsgIds.MSG_ID_TD_SYRINGE_PUMP_DATA.name, + "h10_pump_state", "h10_pump_set_rate_ml_hr", + "h10_pump_meas_rate_ml_hr", "h10_pump_position", + "h10_pump_volume_ml", "h10_pump_home_v", + "h10_pump_switch_v", "h10_pump_force_v", + "heparin_state", "h10_pump_safety_volume_ml", + "h10_pump_status", "h10_pump_encoder_status", + "h10_pump_adc_dac_status", "h10_pump_adc_read_counter", + "td_syringe_pump_timestamp"]) def _handler_syringe_pump_data(self, message, timestamp=0.0): """ Handles published syringe pump data messages. Syringe pump data are captured @@ -264,20 +265,20 @@ @return: None """ msg_list = [] - msg_list.append((type(self).syringe_pump_state, DataTypes.U32)) - msg_list.append((type(self).heparin_state, DataTypes.U32)) - msg_list.append((type(self).syringe_pump_set_rate_ml_hr, DataTypes.F32)) - msg_list.append((type(self).syringe_pump_meas_rate_ml_hr, DataTypes.F32)) - msg_list.append((type(self).syringe_pump_position, DataTypes.U32)) - msg_list.append((type(self).syringe_pump_volume_ml, DataTypes.F32)) - msg_list.append((type(self).syringe_pump_home_v, DataTypes.F32)) - msg_list.append((type(self).syringe_pump_switch_v, DataTypes.F32)) - msg_list.append((type(self).syringe_pump_force_v, DataTypes.F32)) - msg_list.append((type(self).syringe_pump_safety_volume_ml, DataTypes.F32)) - msg_list.append((type(self).syringe_pump_status, DataTypes.U08)) - msg_list.append((type(self).syringe_pump_encoder_status, DataTypes.U08)) - msg_list.append((type(self).syringe_pump_adc_dac_status, DataTypes.U08)) - msg_list.append((type(self).syringe_pump_adc_read_counter, DataTypes.U08)) + msg_list.append((type(self).h10_pump_state, DataTypes.U32)) + msg_list.append((type(self).heparin_state, DataTypes.U32)) + msg_list.append((type(self).h10_pump_set_rate_ml_hr, DataTypes.F32)) + msg_list.append((type(self).h10_pump_meas_rate_ml_hr, DataTypes.F32)) + msg_list.append((type(self).h10_pump_position, DataTypes.U32)) + msg_list.append((type(self).h10_pump_volume_ml, DataTypes.F32)) + msg_list.append((type(self).h10_pump_home_v, DataTypes.F32)) + msg_list.append((type(self).h10_pump_switch_v, DataTypes.F32)) + msg_list.append((type(self).h10_pump_force_v, DataTypes.F32)) + msg_list.append((type(self).h10_pump_safety_volume_ml, DataTypes.F32)) + msg_list.append((type(self).h10_pump_status, DataTypes.U08)) + msg_list.append((type(self).h10_pump_encoder_status, DataTypes.U08)) + msg_list.append((type(self).h10_pump_adc_dac_status, DataTypes.U08)) + msg_list.append((type(self).h10_pump_adc_read_counter, DataTypes.U08)) self.process_into_vars(decoder_list = msg_list, message = message) self.td_syringe_pump_timestamp = timestamp @@ -307,12 +308,12 @@ @return: 1 if successful, zero otherwise Syringe pump operation IDs: - SYRINGE_PUMP_OP_STOP = 0 - SYRINGE_PUMP_OP_RETRACT = 1 - SYRINGE_PUMP_OP_SEEK = 2 - SYRINGE_PUMP_OP_PRIME = 3 - SYRINGE_PUMP_OP_BOLUS = 4 - SYRINGE_PUMP_OP_CONTINUOUS = 5 + STOP = 0 + RETRACT = 1 + SEEK = 2 + PRIME = 3 + BOLUS = 4 + CONTINUOUS = 5 """ op = integer_to_bytearray(operation) rat = float_to_bytearray(rate) Index: leahi_dialin/td/proxies/ui_proxy.py =================================================================== diff -u -r63dcccf308248c312b5f82b65f46605e6d90402d -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/td/proxies/ui_proxy.py (.../ui_proxy.py) (revision 63dcccf308248c312b5f82b65f46605e6d90402d) +++ leahi_dialin/td/proxies/ui_proxy.py (.../ui_proxy.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -441,7 +441,7 @@ can_interface = self.can_interface) - def cmd_send_ui_initiate_treatment(self, modality: int=0, accepted:int = ACCEPTED ) -> None: + def cmd_send_ui_initiate_treatment(self, modality: int, accepted:int = ACCEPTED ) -> None: """ Constructs and sends a UI initiate treatment message. @@ -576,33 +576,49 @@ can_interface = self.can_interface) - def cmd_send_ui_cartridge_install_confirm_response (self) -> None: + def cmd_send_ui_cartridge_install_confirm_request (self) -> None: """ - Constructs and sends a UI response for confirming cartridge installation. + Constructs and sends a UI command for confirming cartridge installation. :return: none """ cmd_generic_override(payload = None, reset = None, channel_id = CanChannels.ui_to_td_ch_id, msg_id = MsgIds.MSG_ID_UI_ADJUST_DISPOSABLES_CONFIRM_REQUEST, - entity_name = 'UI Confirm Cartridge Installation response', + entity_name = 'UI Confirm Cartridge Installation request', override_text = 'N/A', logger = self.logger, can_interface = self.can_interface) - def cmd_send_ui_cartridge_removal_confirm_response (self) -> None: + def cmd_send_ui_cartridge_removal_confirm_request (self) -> None: """ - Constructs and sends a UI response for confirming cartridge removal. + Constructs and sends a UI command for confirming cartridge removal. :return: none """ cmd_generic_override(payload = None, reset = None, channel_id = CanChannels.ui_to_td_ch_id, msg_id = MsgIds.MSG_ID_UI_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_REQUEST, - entity_name = 'UI Confirm Cartridge Removal response', + entity_name = 'UI Confirm Cartridge Removal request', override_text = 'N/A', logger = self.logger, can_interface = self.can_interface) + + + def cmd_send_ui_patient_connect_confirm_request (self) -> None: + """ + Constructs and sends a UI command for confirming patient is connected. + + :return: none + """ + cmd_generic_override(payload = None, + reset = None, + channel_id = CanChannels.ui_to_td_ch_id, + msg_id = MsgIds.MSG_ID_UI_SETUP_CONNECTION_CONFIRM_REQUEST, + entity_name = 'UI Confirm Patient Connected request', + override_text = 'N/A', + logger = self.logger, + can_interface = self.can_interface) Index: leahi_dialin/ui/td_messaging.py =================================================================== diff -u -re1ae66e77d235a2726783b4e9560320da4c1a172 -r9a2c2774952a68e8f075f32a28d3f99d77bf6f43 --- leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision e1ae66e77d235a2726783b4e9560320da4c1a172) +++ leahi_dialin/ui/td_messaging.py (.../td_messaging.py) (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -575,7 +575,7 @@ message = CAN.CanMessage.build_message( channel_id=CAN.CanChannels.td_sync_broadcast_ch_id, - message_id=msg_ids.MsgIds.MSG_ID_TD_SALINE_BOLUS_DATA.value, + message_id=msg_ids.MsgIds.MSG_ID_TD_FLUID_BOLUS_DATA.value, payload=payload) self.can_interface.send(message, 0) @@ -1015,7 +1015,7 @@ message = CAN.CanMessage.build_message( channel_id=CAN.CanChannels.td_to_ui_ch_id, - message_id=msg_ids.MsgIds.MSG_ID_TD_BLOOD_PRESSURE_RESPONSE.value, + message_id=msg_ids.MsgIds.MSG_ID_TD_BLOOD_PRESSURE_READING.value, payload=payload) self.can_interface.send(message, 0) @@ -1643,7 +1643,7 @@ message = CAN.CanMessage.build_message( channel_id=CAN.CanChannels.td_to_ui_ch_id, - message_id=msg_ids.MsgIds.MSG_ID_TD_UI_CONFIRMATION_REQUEST.value, + message_id=msg_ids.MsgIds.MSG_ID_TD_UI_GENERIC_CONFIRMATION_REQUEST.value, payload=payload) self.can_interface.send(message, 0) @@ -1761,7 +1761,7 @@ message = CAN.CanMessage.build_message( channel_id=CAN.CanChannels.td_to_ui_ch_id, - message_id=msg_ids.MsgIds.MSG_ID_TD_SETUP_CONNECTION_CONFIRM_RESPONSE.value, + message_id=msg_ids.MsgIds.MSG_ID_TD_SETUP_TUBING_SET_CONNECTIONS_CONFIRM_RESPONSE.value, payload=payload) self.can_interface.send(message, 0) @@ -1882,7 +1882,7 @@ message = CAN.CanMessage.build_message( channel_id=CAN.CanChannels.td_to_ui_ch_id, - message_id=msg_ids.MsgIds.MSG_ID_TD_ADJUST_PATIENT_DISCONNECT_CONFIRM_RESPONSE.value, + message_id=msg_ids.MsgIds.MSG_ID_TD_PATIENT_DISCONNECT_CONFIRM_RESPONSE.value, payload=payload) self.can_interface.send(message, 0) Index: leahi_dialin/utils/enum_updater.py =================================================================== diff -u --- leahi_dialin/utils/enum_updater.py (revision 0) +++ leahi_dialin/utils/enum_updater.py (revision 9a2c2774952a68e8f075f32a28d3f99d77bf6f43) @@ -0,0 +1,300 @@ +########################################################################### +# +# Copyright (c) 2021-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. +# +# @file enum_updater.py +# +# @author (last) Zoltan Miskolci +# @date (last) 05-Aug-2026 +# @author (original) Zoltan Miskolci +# @date (original) 05-Aug-2026 +# +############################################################################ + +# Module imports +from clang.cindex import Index, CursorKind, Config +from pathlib import Path +from datetime import datetime +from os import path +import platform +import re +import subprocess +from typing import List + +# Set libclang library +clang_dir = Path(__import__('clang').__file__).parent / 'native' +if platform.system() == 'Windows': + libclang = clang_dir / 'libclang.dll' +else: + libclang = clang_dir / 'libclang.so' +Config.set_library_file(str(libclang)) + + +class EnumUpdater: + + @staticmethod + def execute() -> None: + """ + Read the enums from the C++ file and then update the Python Enum definitions + """ + cpp_repo_loc = path.abspath(f'{path.dirname(__file__)}/../../../leahi-dialin/leahi_common') + if path.exists(cpp_repo_loc) is False: + cpp_repo_loc = path.abspath(f'{path.dirname(__file__)}/../../../leahi-dialin/leahi-common') + if path.exists(cpp_repo_loc) is False: + cpp_repo_loc = path.abspath(f'{path.dirname(__file__)}/../../../leahi-common') + + if path.exists(cpp_repo_loc) is False: + return print(f'C++ repo location not found: {cpp_repo_loc}, skipping enum updates!') + + files_to_check = [] + files_to_check.append(f'{cpp_repo_loc}/AlarmDefs.h') + files_to_check.append(f'{cpp_repo_loc}/MsgDefs.h') + _update_cpp_repo(cpp_repo_loc) + + common_location = path.abspath(f'{path.dirname(__file__)}/../common') + file_to_update = {'AlarmList': (f'{common_location}/alarm_defs.py', 'AlarmEnum', False), + 'RequestRejectReasons': (f'{common_location}/msg_defs.py', 'DialinEnum', False), + 'MsgIds': (f'{common_location}/msg_ids.py', 'DialinEnum', True), + # 'TestConfig': (f'{common_location}/test_config_defs.py', 'DialinEnum', False) + } + for file in files_to_check: + if path.exists(file): + extracted_cpp_enums = _extract_cpp_enums(file) + for enum_name in extracted_cpp_enums: + if enum_name in file_to_update: + + # Extract information from the dictionary + python_file = file_to_update[enum_name][0] + enum_type_name = file_to_update[enum_name][1] + is_enum_hex = file_to_update[enum_name][2] + + # Extract the original Python enums from the file + original_py_enums = _extract_python_enums(python_file) + new_enum = list(extracted_cpp_enums[enum_name]) + + # Get the enum member list + cpp_enum_values = [ item['value'] for item in extracted_cpp_enums[enum_name] ] + cpp_enum_names = [ item['member'] for item in extracted_cpp_enums[enum_name] ] + + # Add the original Python enum members that are not present in the C++ enum + new_enum.extend( + item + for item in original_py_enums.get(enum_name, []) + if item['value'] not in cpp_enum_values and item['member'] not in cpp_enum_names) + + # Sort the new enum list by the value to maintain order + new_enum.sort(key=lambda x: x['value']) + + # Generate the updated Python enum file + _generate_python_enum_file(file_location = python_file, + enum_name = enum_name, + enum_member_list = new_enum, + enum_type = enum_type_name, + is_hex = is_enum_hex) + print(f'Updated enum: {enum_name}') + + + +# ============================================================ Private Methods ============================================================ +def _extract_cpp_enums(cpp_file): + """ + Extract the enums from the provided C++ file + + :param cpp_file: (String) The C++ file with full location + :return: (Dictionary) The collected enums + """ + index = Index.create() + tu = index.parse(cpp_file) + enums = {} + for cursor in tu.cursor.walk_preorder(): + if cursor.kind == CursorKind.ENUM_DECL: + # Update name to be CamelCase + enum_name = "".join(part.capitalize() for part in cursor.spelling.split("_") if part) + enums[enum_name] = [] + for item in cursor.get_children(): + if item.kind == CursorKind.ENUM_CONSTANT_DECL: + if item.spelling in ['MSG_ID_FIRST_TD_TESTER_MESSAGE', 'MSG_ID_FIRST_DD_TESTER_MESSAGE', 'MSG_ID_FIRST_FP_TESTER_MESSAGE']: + continue + enums[enum_name].append({ + "member": item.spelling, + "value": item.enum_value, + "comment": item.brief_comment, + }) + return enums + + +def _extract_python_enums(py_file): + """ + Extract the enums from the provided Python file + + :param py_file: (String) The Python file with full location + :return: (Dictionary) The collected enums + """ + result = {} + inside_enum = False + enum_name = None + + with open(py_file, "r", encoding="utf-8") as f: + for line in f: + # If we are not inside an enum, check if this line declares an enum class + if not inside_enum: + match = re.match(r"class (\w+)\(\w+Enum\):", line) + if match: + enum_name = match.group(1) + result[enum_name] = [] + inside_enum = True + continue + + # If we are inside an enum, process the enum members + else: + # Skip empty lines within the enum definition + if line.strip() == '': + continue + + # If the line is not indented, it means the enum definition has ended + if not line.startswith(' '): + inside_enum = False + continue + + match = re.match(r"\s*(\w+)\s*=\s*([0-9A-Fa-fx]+)\s*(#\s*(.*))*", line ) + if match: + member, value, full_comment, comment = match.groups() + if comment is None: + comment = '' + result[enum_name].append( { "member": member, + "value": int(value, 0), + "comment": comment, + } ) + return result + + +def _generate_python_enum_file(file_location: str, + enum_name: str, + enum_member_list: List[dict], + enum_type: str='Enum', + is_hex: bool=False) -> None: + """ + Generate the enum file content + :param file_location: (String) The enum file with full location + :param enum_name: (String) The enum's name + :param enum_member_list: (List of Dictionaries) The information of the enum members + :param enum_type: (String) The enum type to be the parent + :param is_hex: (Boolean) The member's values are hex or not + :return: None + """ + now = datetime.now().strftime("%d-%b-%Y") + file_name = file_location.split('/')[-1] + + lines = [] + lines.append('###########################################################################') + lines.append('#') + lines.append('# Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved.') + lines.append('#') + lines.append('# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM IN PART OR IN') + lines.append('# WHOLE WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER.') + lines.append('#') + lines.append(f'# @file {file_name}') + lines.append('#') + lines.append('# @author (last) Enum Updater Script') + lines.append(f'# @date (last) {now}') + lines.append('# @author (original) Zoltan Miskolci') + lines.append('# @date (original) 31-Jul-2026') + lines.append('#') + lines.append('############################################################################') + lines.append('') + lines.append('# Module import') + lines.append('from enum import unique') + lines.append('') + lines.append('# Project import') + lines.append(f'from leahi_dialin.utils.enums import {enum_type}') + lines.append('') + lines.append('') + lines.append('@unique') + lines.append(f'class {enum_name}({enum_type}):') + + # Add the members + for i in range(len(enum_member_list)): + member = enum_member_list[i] + if i != 0 and member['value'] != enum_member_list[i-1]['value'] + 1: + lines.append('') + value = member['value'] + if is_hex: + value = hex(member['value']).upper().replace('X','x') + lines.append(f' {member["member"]:<75} = {value:<10} # {member["comment"]}') + lines.append('') + + # Add cutom code for specific enum or enum types + lines.extend(_custom_code_generator(enum_name, enum_type)) + + # Write into the file + with open(file_location, "w") as f: + f.write("\n".join(lines)) + + +def _custom_code_generator(enum_name:str, enum_type:str) -> List[str]: + """ + Add cutom code for specific enum or enum types + + :param enum_name: (String) The enum's name + :param enum_type: (String) The enum type to be the parent + :return: (List[str]) The custom code lines + """ + lines = [] + # Add the _str_list for python 3.6 compatibility + if enum_type == 'DialinEnum': + lines.append(f'{enum_name}._str_list = ' + '{ }') + lines.append('') + + if enum_name == 'RequestRejectReasons': + lines.append(f'ACK_NOT_REQUIRED = [ ]') + lines.append('') + + return lines + + +def _update_cpp_repo(cpp_repo: str) -> None: + """ + Update the C++ repository to ensure the latest changes are available for parsing. + + :param cpp_repo: (String) The C++ folder with full location + :return: None + """ + try: + # # Switch to the staging branch + # subprocess.run( + # ["git", "-C", cpp_repo, "checkout", "staging"], + # check=True + # ) + + # Get latest refs from remote + subprocess.run( + ["git", "-C", cpp_repo, "fetch", "origin"], + check=True + ) + + # Discard all local changes + subprocess.run( + ["git", "-C", cpp_repo, "reset", "--hard", "HEAD"], + check=True + ) + + subprocess.run( + ["git", "-C", cpp_repo, "pull"], + check=True, + capture_output=True, + text=True + ) + print(f"Successfully updated repository: {cpp_repo}") + + except subprocess.CalledProcessError as e: + print(f"Failed to update repository: {cpp_repo}") + print(e.stderr) + + + +# ============================================================ Main ============================================================ +if __name__ == '__main__': + EnumUpdater.execute()