/************************************************************************** * * 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 MsgDefs.h * * @author (last) Sean Nash * @date (last) 14-Oct-2020 * * @author (original) Sean * @date (original) 27-Feb-2020 * ***************************************************************************/ #ifndef __MESSAGE_DEFINITIONS_H__ #define __MESSAGE_DEFINITIONS_H__ // ********** public definitions ********** /** * @addtogroup SystemCommMessages * @{ */ /// Enumeration of system message IDs enum Msg_IDs { // normal CAN messages 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, ///< Alarm triggered event MSG_ID_ALARM_CLEARED = 4, ///< Alarm cleared event 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 = 0x3E, ///< HD broadcast of air trap data MSG_ID_ALARM_CONDITION_CLEARED = 0x3F, ///< Alarm condition cleared event 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 ultrafiltration MSG_ID_DG_CONCENTRATE_PUMP_DATA = 0x42, ///< DG broadcast of concentrate pump data MSG_ID_HD_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_TREATMENT_STOP_TIMER_DATA = 0x49, ///< HD broadcast of treatment stop timer (countdown to treatment stop - no rinseback alarm) MSG_ID_UI_PATIENT_DISCONNECTION_CONFIRM = 0x4A, ///< UI patient disconnection confirm MSG_ID_UI_HEPARIN_PAUSE_RESUME_REQUEST = 0x4B, ///< UI request to pause/resume Heparin delivery MSG_ID_HD_HEPARIN_PAUSE_RESUME_RESPONSE = 0x4C, ///< HD response to pause/resume Heparing delivery request MSG_ID_HD_HEPARIN_DATA_BROADCAST = 0x4D, ///< HD broadcast of Heparin delivery data MSG_ID_UI_SET_ALARM_AUDIO_VOLUME_LEVEL_CMD = 0x4E, ///< UI command to set alarm audio volume level MSG_ID_UI_SET_UF_VOLUME_PARAMETER = 0x4F, ///< UI request to validate new ultrafiltration volume treatment parameter MSG_ID_HD_SET_UF_VOLUME_PARAMETER_RESPONSE = 0x50, ///< HD response to new treatment parameters set MSG_ID_DG_COMMAND_RESPONSE = 0x51, ///< DG response to command from HD MSG_ID_UI_RINSEBACK_CMD = 0x52, ///< UI rinseback sub-mode user request MSG_ID_HD_RINSEBACK_CMD_RESPONSE = 0x53, ///< HD rinseback sub-mode user request response MSG_ID_UI_RECIRC_CMD = 0x54, ///< UI re-circ sub-mode user request MSG_ID_HD_RECIRC_CMD_RESPONSE = 0x55, ///< HD re-circ sub-mode request response MSG_ID_HD_RINSEBACK_PROGRESS = 0x56, ///< HD broadcast of rinseback 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_HD_BLOOD_PRIME_PROGRESS = 0x59, ///< HD broadcast of blood prime progress MSG_ID_HD_RECIRC_PROGRESS = 0x5A, ///< HD broadcast of treatment re-circulate progress MSG_ID_DG_CHANGE_VALVE_SETTING_CMD = 0x5B, ///< HD request to DG to change valve setting 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_UI_CONSUMABLE_INSTALL_CONFIRM = 0x68, ///< UI user has confirmed consumable install MSG_ID_HD_SYRINGE_PUMP_DATA = 0x69, ///< HD broadcast of syringe pump data MSG_ID_HD_FLUID_LEAK_STATE = 0x6A, ///< HD broadcast of fluid leak state MSG_ID_DG_FLUID_LEAK_STATE = 0x6B, ///< DG broadcast of fluid leak state MSG_ID_HD_BLOOD_LEAK_STATE = 0x6C, ///< HD broadcast of blood leak state #ifdef EMC_TEST_BUILD MSG_ID_CAN_ERROR_COUNT = 0x999, // test code in support of EMC testing #endif // service/test CAN messages MSG_ID_FIRST_TESTER_MESSAGE = 0x8000, ///< First HD test message ID MSG_ID_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_TESTER_MESSAGE, ///< 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_TREATMENT_TIME_REMAINING_OVERRIDE = 0x800D, ///< Treatment time remaining override request 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_SYRINGE_PUMP_SEND_INTERVAL_OVERRIDE = 0x802A, ///< HD syringe pump data broadcast interval override request MSG_ID_HD_SYRINGE_PUMP_OPERATION_REQUEST = 0x802B, ///< HD syringe pump operation request MSG_ID_HD_SYRINGE_PUMP_MEASURED_RATE_OVERRIDE = 0x802C, ///< HD syringe pump measured rate override 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_HD_AIR_TRAP_SEND_INTERVAL_OVERRIDE = 0x8032, ///< HD air trap data broadcast interval override request MSG_ID_HD_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_SYRINGE_PUMP_MEASURED_FORCE_OVERRIDE = 0x803B, ///< HD syringe pump measured force override request MSG_ID_HD_SYRINGE_PUMP_SYRINGE_DETECT_OVERRIDE = 0x803C, ///< HD syringe pump measured syringe detection override request MSG_ID_HD_SET_CALIBRATION_RECORD = 0x803D, ///< HD set calibration record that is received from Dialin MSG_ID_HD_GET_CALIBRATION_RECORD = 0x803E, ///< HD get calibration record that is requested from Dialin MSG_ID_HD_SEND_CALIBRATION_RECORD = 0x803F, ///< HD send calibration record to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_HD_SET_SYSTEM_RECORD = 0x8040, ///< HD set system record that is received from Dialin MSG_ID_HD_GET_SYSTEM_RECORD = 0x8041, ///< HD get system record that is requested from Dialin MSG_ID_HD_SEND_SYSTEM_RECORD = 0x8042, ///< HD send system record to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_HD_GET_SERVICE_RECORD = 0x8043, ///< HD get service record that is requested from Dialin MSG_ID_HD_SET_SERVICE_RECORD = 0x8044, ///< HD set service record that is received from Dialin MSG_ID_HD_SEND_SERVICE_RECORD = 0x8045, ///< HD send service record to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_HD_SET_OP_MODE_REQUEST = 0x8046, ///< HD set operation mode request MSG_ID_HD_FLUID_LEAK_SEND_INTERVAL_OVERRIDE = 0x8047, ///< HD fluid leak state broadcast interval override request MSG_ID_HD_FLUID_LEAK_STATE_DETECTOR_OVERRIDE = 0x8048, ///< HD fluid leak state detector override request MSG_ID_HD_SYRINGE_PUMP_MEASURED_HOME_OVERRIDE = 0x8049, ///< HD syringe pump measured home override request MSG_ID_HD_SYRINGE_PUMP_MEASURED_POSITION_OVERRIDE = 0x804A, ///< HD syringe pump measured position override request MSG_ID_HD_SYRINGE_PUMP_MEASURED_VOLUME_OVERRIDE = 0x804B, ///< HD syringe pump measured volume delivered override request MSG_ID_HD_BLOOD_LEAK_SEND_INTERVAL_OVERRIDE = 0x804C, ///< HD blood leak state broadcast interval override request MSG_ID_HD_BLOOD_LEAK_STATE_DETECTOR_OVERRIDE = 0x804D, ///< HD blood leak state detector override request MSG_ID_FIRST_DG_TESTER_MESSAGE = 0xA000, ///< First DG test message ID MSG_ID_DG_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_DG_TESTER_MESSAGE, ///< 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_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___AVAILABLE_11 = 0xA01A, ///< This msg ID is available for use 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_R1_TO_R2_DURATION_MINS = 0xA01E, ///< Heat disinfection reservoir 1 to reservoir 2 duration in minutes MSG_ID_HEAT_DISINFECT_R2_TO_R1_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_UV_REACTORS = 0xA028, ///< DG start/stop UV reactors MSG_ID_DG_REQUEST_CALIBRATION_DATA = 0xA029, ///< Requests calibration data from DG MSG_ID_DG_FANS_DATA_PUBLISH_INTERVAL_OVERRIDE = 0xA02A, ///< DG fans data publish interval override request 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_RECORD = 0xA033, ///< DG set calibration record that is received from Dialin MSG_ID_DG_GET_CALIBRATION_RECORD = 0xA034, ///< DG get calibration record that is requested from Dialin MSG_ID_DG_SEND_CALIBRATION_RECORD = 0xA035, ///< DG send calibration record to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_DG_SET_SYSTEM_RECORD = 0xA036, ///< DG set system record that is received from Dialin MSG_ID_DG_GET_SYSTEM_RECORD = 0xA037, ///< DG get system record that is requested from Dialin MSG_ID_DG_SEND_SYSTEM_RECORD = 0xA038, ///< DG send system record to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_DG_GET_SERVICE_RECORD = 0xA039, ///< DG get service record that is requested from Dialin MSG_ID_DG_SET_SERVICE_RECORD = 0xA03A, ///< DG set service record that is received from Dialin MSG_ID_DG_SEND_SERVICE_RECORD = 0xA03B, ///< DG send service record to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_DG_GET_SCHEDULED_RUNS_RECORD = 0xA03C, ///< DG get scheduled runs that is requested from Dialin MSG_ID_DG_SET_SCHEDULED_RUNS_RECORD = 0xA03D, ///< DG set scheduled runs that is received from Dialin MSG_ID_DG_SEND_SCHEDULED_RUNS_RECORD = 0xA03E, ///< DG send scheduled runs to CAN bus to be received in Dialin (equivalent to publish) MSG_ID_DG_FLUID_LEAK_SEND_INTERVAL_OVERRIDE = 0xA03F, ///< DG fluid leak state broadcast interval override request MSG_ID_DG_FLUID_LEAK_STATE_DETECTOR_OVERRIDE = 0xA040, ///< DG fluid leak state detector override request 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 MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK = 0xFFFF, ///< Acknowledgment of message that requires acknowledgment END_OF_MSG_IDS ///< End of system message IDs }; typedef enum Msg_IDs MSG_ID_T; ///< Type for message IDs enumeration /// Enumeration of settings change rejection reason codes enum Request_Reject_Reasons { REQUEST_REJECT_REASON_NONE = 0, ///< Used when there is no rejection REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE = 1, ///< Request is not allowed in the current operating mode REQUEST_REJECT_REASON_TIMEOUT_WAITING_FOR_USER_CONFIRM = 2, ///< Validated request was not confirmed by user in reasonable time REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE = 3, ///< Request is not allowed if not in treatment mode REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE = 4, ///< Request is not allowed in current treatment state REQUEST_REJECT_REASON_TREATMENT_TOO_CLOSE_TO_FINISHED = 5, ///< Request is not allowed so near end of treatment REQUEST_REJECT_REASON_TREATMENT_TIME_OUT_OF_RANGE = 6, ///< Treatment duration is out of range REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_CURRENT = 7, ///< Treatment time change is less than currently elapsed treatment time REQUEST_REJECT_REASON_BLOOD_FLOW_OUT_OF_RANGE = 8, ///< Blood flow is out of range REQUEST_REJECT_REASON_DIAL_FLOW_OUT_OF_RANGE = 9, ///< Dialysate flow is out of range REQUEST_REJECT_REASON_DIAL_VOLUME_OUT_OF_RANGE = 10, ///< Dialysate flow rate or treatment duration causes dialysate volume to exceed limit REQUEST_REJECT_REASON_UF_VOLUME_OUT_OF_RANGE = 11, ///< Ultrafiltration volume is out of range REQUEST_REJECT_REASON_UF_RATE_OUT_OF_RANGE = 12, ///< Ultrafiltration rate is out of range REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_MINIMUM = 13, ///< Treatment time change is less than minimum treatment time REQUEST_REJECT_REASON_UF_NOT_IN_PROGESS = 14, ///< Ultrafiltration is not currently in progress REQUEST_REJECT_REASON_UF_NOT_PAUSED = 15, ///< Ultrafiltration is not currently paused REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS = 16, ///< A saline bolus is in progress REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE = 17, ///< A treatment parameter is out of range REQUEST_REJECT_REASON_HEPARIN_PRESTOP_EXCEEDS_DURATION = 18, ///< The Heparin pre-stop setting is greater than the treatment duration REQUEST_REJECT_REASON_ARTERIAL_PRESSURE_LOW_VS_HIGH = 19, ///< Arterial pressure low and high alarm limits are not inconsistent REQUEST_REJECT_REASON_VENOUS_PRESSURE_LOW_VS_HIGH = 20, ///< Venous pressure low and high alarm limits are inconsistent REQUEST_REJECT_REASON_SALINE_MAX_VOLUME_REACHED = 21, ///< Saline bolus volume maximum has been reached - no more saline allowed REQUEST_REJECT_REASON_SALINE_BOLUS_NOT_IN_PROGRESS = 22, ///< A saline bolus is not in progress REQUEST_REJECT_REASON_ACTION_DISABLED_IN_CURRENT_STATE = 23, ///< Requested user action is disabled in current state REQUEST_REJECT_REASON_ALARM_IS_ACTIVE = 24, ///< Requested user action not allowed while alarm is active 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 NUM_OF_REQUEST_REJECT_REASONS ///< Number of settings change reject codes }; typedef enum Request_Reject_Reasons REQUEST_REJECT_REASON_CODE_T; ///< Type for settings change rejection reason codes enumeration /// Enumeration of HD to DG command request rejection reason codes enum Cmd_Request_Reject_Reasons { DG_CMD_REQUEST_REJECT_REASON_NONE = 0, ///< Used when there is no rejection DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE = 1, ///< Command is not allowed in the current operating mode DG_CMD_REQUEST_REJECT_REASON_INVALID_PARAMETER = 2, ///< Command parameter is not valid NUM_OF_DG_CMD_REQUEST_REJECT_REASONS ///< Number of command request reject codes }; typedef enum Cmd_Request_Reject_Reasons CMD_REQUEST_REJECT_REASON_CODE_T; ///< Type for command request rejection reason codes enumeration /**@}*/ #endif