########################################################################### # # Copyright (c) 2019-2020 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_defs.py # # @author (last) Peter Lucia # @date (last) 10-Nov-2020 # @author (original) Peter Lucia # @date (original) 07-Aug-2020 # ############################################################################ from enum import unique from ..utils.base import DialinEnum @unique class MsgIds(DialinEnum): MSG_ID_UNUSED = 0 # Zero is an undefined (un-used) message ID) MSG_ID_OFF_BUTTON_PRESS = 1 # HD/UI off button interactions MSG_ID_ALARM_STATUS = 2 # HD broadcast of system alarm state information MSG_ID_ALARM_TRIGGERED = 3 # HD broadcast of a triggered alarm MSG_ID_ALARM_CLEARED = 4 # HD broadcast of a cleared alarm MSG_ID_BLOOD_FLOW_DATA = 5 # HD broadcast of blood flow/pump data MSG_ID_DG_CHECK_IN = 6 # DG check-in with HD MSG_ID_UI_CHECK_IN = 7 # UI check-in with HD MSG_ID_DIALYSATE_FLOW_DATA = 8 # HD broadcast of dialysate inlet flow/pump data MSG_ID_PRESSURE_OCCLUSION_DATA = 9 # HD broadcast of pressure/occlusion data MSG_ID_RTC_EPOCH = 0xA # HD broadcast of current date and time from clock MSG_ID_DIALYSATE_OUT_FLOW_DATA = 0xB # HD broadcast of dialysate outlet flow/pump/load cell data MSG_ID_LOAD_CELL_READINGS = 0xC # DG broadcast of load cell weights MSG_ID_TREATMENT_TIME = 0xD # HD broadcast of treatment time MSG_ID_POWER_OFF_WARNING = 0xE # HD broadcast power off warning - system power down is imminent MSG_ID_TREATMENT_STATE = 0xF # HD broadcast of treatment state MSG_ID_USER_UF_PAUSE_RESUME_REQUEST = 0x10 # User request to pause or resume ultrafiltration MSG_ID_USER_UF_SETTINGS_CHANGE_REQUEST = 0x11 # User request to change ultrafiltration settings MSG_ID_USER_SALINE_BOLUS_REQUEST = 0x12 # User request for a saline bolus MSG_ID_USER_UF_SETTINGS_CHANGE_RESPONSE = 0x13 # HD response to user request to change ultrafiltration settings MSG_ID_USER_SALINE_BOLUS_RESPONSE = 0x14 # HD response to user saline bolus request MSG_ID_USER_CONFIRM_UF_SETTINGS_CHANGE = 0x15 # User confirmation of ultrafiltration settings change MSG_ID_USER_TREATMENT_TIME_CHANGE_REQUEST = 0x16 # User request to change treatment duration MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_REQUEST = 0x17 # User request to change blood and dialysate rates MSG_ID_USER_BLOOD_DIAL_RATE_CHANGE_RESPONSE = 0x18 # HD response to user request to change blood and dialysate rates MSG_ID_SET_DG_DIALYSATE_TEMP_TARGETS = 0x19 # HD provides DG with dialysate temperature set points MSG_ID_TREATMENT_PARAM_CHANGE_RANGES = 0x1A # HD provides several parameter change ranges as they evolve over treatment duration MSG_ID_USER_TREATMENT_TIME_CHANGE_RESPONSE = 0x1B # HD response to user request to change treatment duration MSG_ID_REQUEST_FW_VERSIONS = 0x1C # UI request for f/w versions MSG_ID_HD_VERSION = 0x1D # HD f/w version MSG_ID_DG_VERSION = 0x1E # DG f/w version MSG_ID_RO_PUMP_DATA = 0x1F # DG broadcast of RO pump data MSG_ID_DG_PRESSURES_DATA = 0x20 # DG broadcast of pressure sensors data MSG_ID_DG_SWITCH_RESERVOIR_CMD = 0x21 # HD request to DG to switch reservoirs (A->B or B->A) MSG_ID_DG_FILL_CMD = 0x22 # HD request to DG to fill inactive reservoir MSG_ID_DG_DRAIN_CMD = 0x23 # HD request to DG to drain inactive reservoir MSG_ID_DRAIN_PUMP_DATA = 0x24 # DG broadcast of drain pump data MSG_ID_HD_OP_MODE = 0x25 # HD broadcast current operating mode MSG_ID_STARTING_STOPPING_TREATMENT_CMD = 0x26 # HD request to DG to move in/out of standby mode due to treatment start/stop MSG_ID_DG_OP_MODE = 0x27 # DG broadcast current operating mode MSG_ID_DG_RESERVOIR_DATA = 0x28 # DG broadcast reservoir data MSG_ID_DG_SAMPLE_WATER_CMD = 0x29 # HD request to DG to allow user to get a water sample MSG_ID_DG_VALVES_STATES = 0x2A # DG broadcast valve states MSG_ID_DG_START_STOP_TRIMMER_HEATER_CMD = 0x2B # HD request to DG to start/stop trimmer heater MSG_ID_DG_HEATERS_DATA = 0x2C # DG broadcast of the heaters data MSG_ID_DG_TEMPERATURE_DATA = 0x2D # DG broadcast of the temperature sensors data MSG_ID_USER_UF_SETTINGS_CHANGE_CONFIRMATION_RESPONSE = 0x2E # HD response to user selection of ultrafiltration settings change option selection MSG_ID_SALINE_BOLUS_DATA = 0x2F # HD broadcast of saline bolus data MSG_ID_DG_START_STOP_HEAT_DISINFECT = 0x30 # HD request to start or stop DG heat disinfection MSG_ID_DG_CONDUCTIVITY_DATA = 0x31 # DG broadcast of the conductivity sensors data MSG_ID_USER_REQUEST_ALARM_SILENCE = 0x32 # UI request alarm silence (or cancel) MSG_ID_HD_ACCELEROMETER_DATA = 0x33 # HD broadcast of accelerometer data MSG_ID_DG_ACCELEROMETER_DATA = 0x34 # DG broadcast of accelerometer data MSG_ID_UI_NEW_TREATMENT_PARAMS = 0x35 # UI request to validate new treatment parameter set MSG_ID_HD_NEW_TREATMENT_PARAMS_RESPONSE = 0x36 # HD response to new treatment parameters set MSG_ID_DG_HEAT_DISINFECT_DATA = 0x37 # DG heat disinfection publish data MSG_ID_UI_START_TREATMENT = 0x38 # UI user request to initiate a treatment MSG_ID_HD_START_TREATMENT_RESPONSE = 0x39 # HD response to user request to initiate a treatment MSG_ID_HD_VALVES_DATA = 0x3A # HD broadcast of valves data MSG_ID_UI_USER_CONFIRM_TREATMENT_PARAMS = 0x3B # UI user confirmation of treatment parameters MSG_ID_UI_START_PRIME_REQUEST = 0x3C # UI user has requested to start priming MSG_ID_HD_START_PRIME_RESPONSE = 0x3D # HD response to user request to start priming MSG_ID_HD_AIR_TRAP_DATA = 0x003E # HD broadcast of air trap data MSG_ID_ALARM_CONDITION_CLEARED = 0x3F # Broadcast that the alarm condition has been cleared MSG_ID_UI_ALARM_USER_ACTION = 0x40 # UI user has requested an alarm action MSG_ID_USER_UF_PAUSE_RESUME_RESPONSE = 0x41 # HD response to user request to pause or resume UF MSG_ID_DG_CONCENTRATE_PUMP_DATA = 0x42 # DG broadcast of concentrate pump data MSG_ID_DG_PRIMING_STATUS_DATA = 0x43 # HD priming status during cartridge prime MSG_ID_DG_UV_REACTORS_DATA = 0x44 # DG broadcast UV reactors data MSG_ID_DG_THERMISTORS_DATA = 0x45 # DG broadcast thermistors data MSG_ID_UI_PRESSURE_LIMITS_CHANGE_REQUEST = 0x46 # UI request to change pressure limits MSG_ID_HD_PRESSURE_LIMITS_CHANGE_RESPONSE = 0x47 # HD response to change pressure limits request MSG_ID_DG_FANS_DATA = 0x48 # DG broadcast fans data MSG_ID_HD_CALIBRATION_DATA = 0x49 # HD broadcast calibration data MSG_ID_DG_CALIBRATION_DATA = 0x4A # DG broadcast calibration data MSG_ID_UI_HEPARIN_PAUSE_RESUME_REQUEST = 0x4B # UI request to pause/resume Heparin delivery MSG_ID_HD_HEPARIN_PAUSE_RESUME_RESPONSE = 0x4C # HD Heparin Pause/Resume Response MSG_ID_HD_HEPARIN_DATA = 0x4D # HD Broadcast heparin data MSG_ID_UI_SET_ALARM_AUDIO_VOLUME_LEVEL_CMD = 0x4E # UI command to set alarm audio volume level MSG_ID_UI_PRE_TREATMENT_UF_REQUEST = 0x4F # UI UF Initialization Request MSG_ID_HD_PRE_TREATMENT_UF_RESPONSE = 0x50 # HD response to user request to adjust the ultrafiltration in pre-treatment MSG_ID_HD_RINSEBACK_CMD_RESPONSE = 0x53 # HD rinseback request response MSG_ID_HD_RECIRC_CMD_RESPONSE = 0x55 # HD re-circ request response MSG_ID_HD_RINSEBACK_PROGRESS = 0x56 # HD broadcast of rinseback progress MSG_ID_HD_RECIRCULATE_PROGRESS = 0x5A # HD broadcast of recirculate progress MSG_ID_HD_BLOOD_PRIME_PROGRESS = 0x59 # HD broadcast of blood prime progress MSG_ID_UI_TX_END_CMD = 0x57 # UI end treatment sub-mode user request MSG_ID_HD_TX_END_CMD_RESPONSE = 0x58 # HD end treatment sub-mode user request response MSG_ID_PRE_TREATMENT_STATE = 0x5C # HD broadcast of pre-treatment state MSG_ID_UI_SAMPLE_WATER_CMD = 0x5D # UI sample water sub-mode user request MSG_ID_HD_SAMPLE_WATER_CMD_RESPONSE = 0x5E # HD sample water sub-mode request response MSG_ID_UI_SAMPLE_WATER_RESULT = 0x5F # UI sample water result message MSG_ID_DG_FILTER_FLUSH_PROGRESS = 0x60 # DG broadcast of filter flush progress MSG_ID_HD_NO_CART_SELF_TEST_PROGRESS = 0x61 # HD broadcast of no cartridge self-tests progress MSG_ID_UI_INSTALLATION_CONFIRM = 0x62 # UI disposable installation user confirmation MSG_ID_HD_DRY_SELF_TEST_PROGRESS = 0x63 # HD broadcast of dry self-tests progress MSG_ID_UI_CONTINUE_TO_TREATMENT_REQUEST = 0x64 # UI user has requested to continue to treatment MSG_ID_HD_CONTINUE_TO_TREATMENT_RESPONSE = 0x65 # HD response to user request to continue to treatment MSG_ID_UI_PATIENT_CONNECTION_CONFIRM = 0x66 # UI user has confirmed patient connection completed MSG_ID_HD_PATIENT_CONNECTION_CONFIRM_RESPONSE = 0x67 # HD response to user confirmation of patient connection MSG_ID_CAN_ERROR_COUNT = 0x999 # test code in support of EMC testing # service/test CAN messages MSG_ID_TESTER_LOGIN_REQUEST = 0x8000 # HD tester log-in MSG_ID_DIAL_OUT_FLOW_SET_PT_OVERRIDE = 0x8001 # Dialysate outlet flow set point override request MSG_ID_OFF_BUTTON_STATE_OVERRIDE = 0x8002 # Off button override request MSG_ID_STOP_BUTTON_STATE_OVERRIDE = 0x8003 # Stop button override request MSG_ID_ALARM_LAMP_PATTERN_OVERRIDE = 0x8004 # Alarm lamp pattern override request MSG_ID_WATCHDOG_TASK_CHECKIN_OVERRIDE = 0x8005 # Watchdog task check-in override request MSG_ID_ALARM_STATE_OVERRIDE = 0x8006 # Alarm state override request MSG_ID_ALARM_TIME_OVERRIDE = 0x8007 # Alarm time override request MSG_ID_BLOOD_FLOW_SET_PT_OVERRIDE = 0x8008 # Blood flow set point override request MSG_ID_BLOOD_FLOW_MEAS_OVERRIDE = 0x8009 # Blood flow measured override request MSG_ID_BLOOD_PUMP_MC_MEAS_SPEED_OVERRIDE = 0x800A # Blood pump motor controller speed override request MSG_ID_BLOOD_PUMP_MC_MEAS_CURR_OVERRIDE = 0x800B # Blood pump motor controller current override request MSG_ID_BLOOD_FLOW_SEND_INTERVAL_OVERRIDE = 0x800C # Blood flow broadcast interval override request MSG_ID___AVAILABLE_1 = 0x800D # This msg ID is available for use MSG_ID_BLOOD_PUMP_MEAS_SPEED_OVERRIDE = 0x800E # Blood pump measured motor speed override request MSG_ID_BLOOD_PUMP_MEAS_ROTOR_SPEED_OVERRIDE = 0x800F # Blood pump measured rotor speed override request MSG_ID_DIAL_IN_FLOW_SET_PT_OVERRIDE = 0x8010 # Dialysate inlet flow set point override request MSG_ID_DIAL_IN_FLOW_MEAS_OVERRIDE = 0x8011 # Dialysate inlet flow measured override request MSG_ID_DIAL_IN_PUMP_MC_MEAS_SPEED_OVERRIDE = 0x8012 # Dialysate inlet pump motor controller speed override request MSG_ID_DIAL_IN_PUMP_MC_MEAS_CURR_OVERRIDE = 0x8013 # Dialysate inlet pump motor controller current override request MSG_ID_DIAL_IN_FLOW_SEND_INTERVAL_OVERRIDE = 0x8014 # Dialysate inlet flow broadcast interval override request MSG_ID_DIAL_IN_PUMP_MEAS_SPEED_OVERRIDE = 0x8015 # Dialysate inlet pump measured motor speed override request MSG_ID_DIAL_IN_PUMP_MEAS_ROTOR_SPEED_OVERRIDE = 0x8016 # Dialysate inlet pump measured rotor speed override request MSG_ID_PRESSURE_ARTERIAL_OVERRIDE = 0x8017 # Arterial pressure measured override request MSG_ID_PRESSURE_VENOUS_OVERRIDE = 0x8018 # Venous pressure measured override request MSG_ID_OCCLUSION_BLOOD_PUMP_OVERRIDE = 0x8019 # Blood pump occlusion pressure measured override request MSG_ID_OCCLUSION_DIAL_IN_PUMP_OVERRIDE = 0x801A # Dialysate inlet pump occlusion pressure measured override request MSG_ID_OCCLUSION_DIAL_OUT_PUMP_OVERRIDE = 0x801B # Dialysate outlet pump occlusion pressure measured override request MSG_ID_PRES_OCCL_SEND_INTERVAL_OVERRIDE = 0x801C # Pressure and occlusion broadcast interval override request MSG_ID_SET_RTC_DATE_TIME = 0x801D # RTC set date/time request MSG_ID_DIAL_OUT_FLOW_SEND_INTERVAL_OVERRIDE = 0x801E # Dialysate outlet flow broadcast interval override request MSG_ID_DIAL_OUT_UF_REF_VOLUME_OVERRIDE = 0x801F # Dialysate outlet - ultrafiltration reference volume override request MSG_ID_DIAL_OUT_UF_MEAS_VOLUME_OVERRIDE = 0x8020 # Dialysate outlet - ultrafiltration measured volume override request MSG_ID_DIAL_OUT_PUMP_MC_MEAS_SPEED_OVERRIDE = 0x8021 # Dialysate outlet pump motor controller speed override request MSG_ID_DIAL_OUT_PUMP_MC_MEAS_CURR_OVERRIDE = 0x8022 # Dialysate outlet pump motor controller current override request MSG_ID_DIAL_OUT_PUMP_MEAS_SPEED_OVERRIDE = 0x8023 # Dialysate outlet pump measured motor speed override request MSG_ID_DIAL_OUT_PUMP_MEAS_ROTOR_SPEED_OVERRIDE = 0x8024 # Dialysate outlet pump measured rotor speed override request MSG_ID_DIAL_OUT_LOAD_CELL_WEIGHT_OVERRIDE = 0x8025 # Load cell measured weight override request MSG_ID_HD_SAFETY_SHUTDOWN_OVERRIDE = 0x8026 # HD safety shutdown override request MSG_ID_HD_ACCEL_OVERRIDE = 0x8027 # HD accelerometer sensor override request MSG_ID_HD_ACCEL_MAX_OVERRIDE = 0x8028 # HD accelerometer sensor max. override request MSG_ID_HD_ACCEL_SEND_INTERVAL_OVERRIDE = 0x8029 # HD accelerometer data broadcast interval override request MSG_ID_HD_ACCEL_SET_CALIBRATION = 0x802A # HD accelerometer set calibration factors request MSG_ID_HD_BLOOD_FLOW_SET_CALIBRATION = 0x802B # Blood flow set calibration factors request MSG_ID_HD_DIALYSATE_FLOW_SET_CALIBRATION = 0x802C # Dialysate flow set calibration factors request MSG_ID_HD_SET_PARAMETER_TREATMENT_PARAMETER = 0x802D # Set a treatment parameter (will change actual setting, not an override) MSG_ID_HD_VALVES_HOME = 0x802E # Home an HD Valve MSG_ID_HD_VALVES_POSITION_OVERRIDE = 0x802F # Set an HD valve to a position in counts MSG_ID_HD_VALVES_SET_AIR_TRAP_VALVE = 0x8030 # Set the HD blood trap valve status MSG_ID_HD_VALVES_SET_PWM_OVERRIDE = 0x8031 # Set an HD valve PWM MSG_ID_DG_AIR_TRAP_DATA_BROADCAST_INTERVAL_OVERRIDE = 0x8032 # HD air trap data broadcast interval override request MSG_ID_DG_AIR_TRAP_LEVEL_SENSOR_OVERRIDE = 0x8033 # HD air trap level sensor override request MSG_ID_HD_SOFTWARE_RESET_REQUEST = 0x8034 # HD reset request MSG_ID_BLOOD_FLOW_SIG_STRENGTH_OVERRIDE = 0x8035 # Blood flow signal strength override request MSG_ID_DIAL_IN_FLOW_SIG_STRENGTH_OVERRIDE = 0x8036 # Dialysate flow signal strength override request MSG_ID_BLOOD_PUMP_HOME_CMD = 0x8037 # Blood pump home command MSG_ID_DIAL_IN_PUMP_HOME_CMD = 0x8038 # Dialysate inlet pump home command MSG_ID_DIAL_OUT_PUMP_HOME_CMD = 0x8039 # Dialysate outlet pump home command MSG_ID_SUPER_CLEAR_ALARMS_CMD = 0x803A # Clears all alarms (even if non-recoverable or fault) MSG_ID_HD_REQUEST_CALIBRATION_DATA = 0x803B # Requests calibration data from HD MSG_ID_HD_ERASE_CALIBRATION_DATA = 0x803C # Requests calibration data on HD be erased MSG_ID_DG_TESTER_LOGIN_REQUEST = 0XA000 # DG tester log-in MSG_ID_DG_ALARM_STATE_OVERRIDE = 0xA001 # DG alarm state override message ID MSG_ID_DG_WATCHDOG_TASK_CHECKIN_OVERRIDE = 0xA002 # Watchdog check-in override request MSG_ID_DG_SET_RTC_DATE_TIME = 0xA004 # DG RTC set date/time MSG_ID_LOAD_CELL_OVERRIDE = 0xA005 # Load cell sensor override request MSG_ID_PRESSURE_OVERRIDE = 0xA006 # Pressure sensor override request MSG_ID_PRESSURE_SEND_INTERVAL_OVERRIDE = 0xA007 # Pressure data broadcast interval override request MSG_ID_RO_PUMP_SET_PT_OVERRIDE = 0xA008 # RO pump set pt. override request MSG_ID_RO_MEASURED_FLOW_OVERRIDE = 0xA009 # RO measured flow rate override request MSG_ID_RO_PUMP_SEND_INTERVAL_OVERRIDE = 0xA00A # RO pump data broadcast interval override request MSG_ID_DRAIN_PUMP_SET_RPM_OVERRIDE = 0xA00B # Drain pump set RPM override request MSG_ID_DRAIN_PUMP_SEND_INTERVAL_OVERRIDE = 0xA00C # Drain pump data broadcast interval override request MSG_ID_LOAD_CELLL_SEND_INTERVAL_OVERRIDE = 0xA00D # Load cell data broadcast interval override request MSG_ID_VALVE_STATE_OVERRIDE = 0xA00E # Valve state override request MSG_ID_VALVES_STATES_PUBLISH_INTERVAL_OVERRIDE = 0xA00F # Valve data broadcast interval override request MSG_ID_TEMPERATURE_SENSORS_VALUE_OVERRIDE = 0xA010 # Temperature sensor override request MSG_ID_START_STOP_PRIMARY_HEATER = 0xA011 # Start/stop primary heaters MSG_ID_TEMPERATURE_SENSORS_PUBLISH_INTERVAL_OVERRIDE = 0xA012 # Temperature sensors data publish override MSG_ID_HEATERS_PUBLISH_INTERVAL_ORVERRIDE = 0xA013 # Heaters data publish override MSG_ID_DG_SAFETY_SHUTDOWN_OVERRIDE = 0xA014 # DG safety shutdown override request MSG_ID_CONDUCTIVITY_OVERRIDE = 0xA015 # Conductivity sensor override request MSG_ID_CONDUCTIVITY_PUBLISH_INTERVAL_OVERRIDE = 0xA016 # Conductivity sensors data publish override MSG_ID_DG_ACCEL_OVERRIDE = 0xA017 # DG accelerometer sensor override request MSG_ID_DG_ACCEL_MAX_OVERRIDE = 0xA018 # DG accelerometer sensor max. override request MSG_ID_DG_ACCEL_SEND_INTERVAL_OVERRIDE = 0xA019 # DG accelerometer data broadcast interval override request MSG_ID_DG_ACCEL_SET_CALIBRATION = 0xA01A # DG accelerometer set calibration factors request MSG_ID_RO_PUMP_SET_PWM = 0xA01B # RO pump set PWM for open loop MSG_ID_DRAIN_PUMP_SET_DELTA_PRESSURE_OVERRIDE = 0xA01C # Drain pump set delta pressure override MSG_ID_HEAT_DISINFECT_RECIRC_PATH_DURATION_MINS = 0xA01D # Heat disinfection recirculation path duration in minutes MSG_ID_HEAT_DISINFECT_RSRVR1_TO_RSRVR2_DURATION_MINS = 0xA01E # Heat disinfection reservoir 1 to reservoir 2 duration in minutes MSG_ID_HEAT_DISINFECT_RSRVR2_TO_RSRVR1_DURATION_MINS = 0xA01F # Heat disinfection reservoir 2 to reservoir 1 duration in minutes MSG_ID_HEAT_DISINFECT_NO_OF_CYCLES_TO_RUN = 0xA020 # Heat disinfection number of cycles to run MSG_ID_HEAT_DISINFECT_PUBLISH_INTERVAL_OVERRIDE = 0xA021 # Heat disinfection data publish interval override request MSG_ID_DG_SOFTWARE_RESET_REQUEST = 0xA022 # DG reset request MSG_ID_DG_CONCENTRATE_PUMP_MEASURED_SPEED_OVERRIDE = 0xA023 # DG concentrate pump measured speed override request MSG_ID_CONCENTRATE_PUMP_TARGET_SPEED_OVERRIDE = 0xA024 # Concentrate pumps' target speed override request MSG_ID_UV_REACTORS_DATA_PUBLISH_INTERVAL_OVERRIDE = 0xA025 # UV reactors data publish interval override MSG_ID_CONCENTRATE_PUMP_STATE_CHANGE_REQUEST = 0xA026 # Concentrate pumps' state change request (on / off) MSG_ID_CONCENTRATE_PUMP_PUBLISH_INTERVAL_OVERRIDE = 0xA027 # Concentrate pumps' data publish interval override request MSG_ID_DG_START_STOP_INLET_UV_REACTOR = 0xA028 # DG start/stop inlet UV reactor MSG_ID_DG_REQUEST_CALIBRATION_DATA = 0xA029 # Requests calibration data from DG MSG_ID_DG_FANS_DATA_PUBLISH_OVERRIDE = 0xA02A # Fans data publish interval override request MSG_ID_DG_START_STOP_OUTLET_UV_REACTOR = 0xA02B # DG start/stop outlet UV reactor MSG_ID_DG_UV_REACTORS_HEALTH_OVERRIDE = 0xA02C # DG UV reactors health override request MSG_ID_DG_THERMISTORS_DATA_PUBLISH_INTERVAL_OVERRIDE = 0xA02D # DG thermistors data publish interval override MSG_ID_DG_THERMISTORS_VALUE_OVERRIDE = 0xA02E # DG thermistors value override MSG_ID_DG_RO_PUMP_DUTY_CYCLE_OVERRIDE = 0xA02F # DG RO pump duty cycle override MSG_ID_DG_RO_FLOW_RATE_OVERRIDE = 0xA030 # DG RO flow rate override MSG_ID_DG_RO_PUMP_TARGET_FLOW_OVERRIDE = 0xA031 # DG RO pump target flow rate override MSG_ID_DG_RO_PUMP_TARGET_PRESSURE_OVERRIDE = 0xA032 # DG RO pump target pressure override MSG_ID_DG_SET_CALIBRATION_DATA = 0xA033 # DG set calibration data MSG_ID_HD_DEBUG_EVENT = 0xFFF1 # HD debug event text to be logged in event log MSG_ID_DG_DEBUG_EVENT = 0xFFF2 # DG debug event text to be logged in event log END_OF_MSG_IDS = 0xFFF3 # End of system message IDs MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK = 0XFFFF # Generic acknowledge @unique class RequestRejectReasons(DialinEnum): REQUEST_REJECT_REASON_NONE = 0 REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE = 1 REQUEST_REJECT_REASON_TIMEOUT_WAITING_FOR_USER_CONFIRM = 2 REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE = 3 REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE = 4 REQUEST_REJECT_REASON_TREATMENT_TOO_CLOSE_TO_FINISHED = 5 REQUEST_REJECT_REASON_TREATMENT_TIME_OUT_OF_RANGE = 6 REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_CURRENT = 7 REQUEST_REJECT_REASON_BLOOD_FLOW_OUT_OF_RANGE = 8 REQUEST_REJECT_REASON_DIAL_FLOW_OUT_OF_RANGE = 9 REQUEST_REJECT_REASON_DIAL_VOLUME_OUT_OF_RANGE = 10 REQUEST_REJECT_REASON_UF_VOLUME_OUT_OF_RANGE = 11 REQUEST_REJECT_REASON_UF_RATE_OUT_OF_RANGE = 12 REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_MINIMUM = 13 REQUEST_REJECT_REASON_UF_NOT_IN_PROGESS = 14 REQUEST_REJECT_REASON_UF_NOT_PAUSED = 15 REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS = 16 REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE = 17 REQUEST_REJECT_REASON_HEPARIN_PRESTOP_EXCEEDS_DURATION = 18 REQUEST_REJECT_REASON_ARTERIAL_PRESSURE_LOW_VS_HIGH = 19 REQUEST_REJECT_REASON_VENOUS_PRESSURE_LOW_VS_HIGH = 20 REQUEST_REJECT_REASON_SALINE_MAX_VOLUME_REACHED = 21 REQUEST_REJECT_REASON_SALINE_BOLUS_NOT_IN_PROGRESS = 22 NUM_OF_REQUEST_REJECT_REASONS = 23 REQUEST_REJECT_REASON_INVALID_COMMAND = 25 # Requested user action invalid REQUEST_REJECT_REASON_TREATMENT_IS_COMPLETED = 26 # The treatment has been completed REQUEST_REJECT_REASON_RINSEBACK_MAX_VOLUME_REACHED = 27 # Rinseback volume maximum has been reached - no more additional rinsebacks allowed REQUEST_REJECT_REASON_UF_VOLUME_NOT_SET = 28 # Ultrafiltration volume is not set yet REQUEST_REJECT_REASON_NO_PATIENT_CONNECTION_CONFIRM = 29 # The user has not confirmed patient connection class MsgFieldPositions: # Generic response msg field byte positions (where 32-bit data fields are used) START_POS_FIELD_1 = 6 # Hardcoded for now to avoid cyclic import issue. See protocols.CAN.DenaliMessage class END_POS_FIELD_1 = START_POS_FIELD_1 + 4 START_POS_FIELD_2 = END_POS_FIELD_1 END_POS_FIELD_2 = START_POS_FIELD_2 + 4 START_POS_FIELD_3 = END_POS_FIELD_2 END_POS_FIELD_3 = START_POS_FIELD_3 + 4 START_POS_FIELD_4 = END_POS_FIELD_3 END_POS_FIELD_4 = START_POS_FIELD_4 + 4 START_POS_FIELD_5 = END_POS_FIELD_4 END_POS_FIELD_5 = START_POS_FIELD_5 + 4 START_POS_FIELD_6 = END_POS_FIELD_5 END_POS_FIELD_6 = START_POS_FIELD_6 + 4 START_POS_FIELD_7 = END_POS_FIELD_6 END_POS_FIELD_7 = START_POS_FIELD_7 + 4 START_POS_FIELD_8 = END_POS_FIELD_7 END_POS_FIELD_8 = START_POS_FIELD_8 + 4 START_POS_FIELD_9 = END_POS_FIELD_8 END_POS_FIELD_9 = START_POS_FIELD_9 + 4 START_POS_FIELD_10 = END_POS_FIELD_9 END_POS_FIELD_10 = START_POS_FIELD_10 + 4 START_POS_FIELD_11 = END_POS_FIELD_10 END_POS_FIELD_11 = START_POS_FIELD_11 + 4 START_POS_FIELD_12 = END_POS_FIELD_11 END_POS_FIELD_12 = START_POS_FIELD_12 + 4 START_POS_FIELD_13 = END_POS_FIELD_12 END_POS_FIELD_13 = START_POS_FIELD_13 + 4 START_POS_FIELD_14 = END_POS_FIELD_13 END_POS_FIELD_14 = START_POS_FIELD_14 + 4 START_POS_FIELD_15 = END_POS_FIELD_14 END_POS_FIELD_15 = START_POS_FIELD_15 + 4 START_POS_FIELD_16 = END_POS_FIELD_15 END_POS_FIELD_16 = START_POS_FIELD_16 + 4 START_POS_FIELD_17 = END_POS_FIELD_16 END_POS_FIELD_17 = START_POS_FIELD_17 + 4 START_POS_FIELD_18 = END_POS_FIELD_17 END_POS_FIELD_18 = START_POS_FIELD_18 + 4 START_POS_FIELD_19 = END_POS_FIELD_18 END_POS_FIELD_19 = START_POS_FIELD_19 + 4 START_POS_FIELD_20 = END_POS_FIELD_19 END_POS_FIELD_20 = START_POS_FIELD_20 + 4 ACK_NOT_REQUIRED = [ MsgIds.MSG_ID_ALARM_CONDITION_CLEARED.value ]