Index: leahi-dialin/common/msg_ids.py =================================================================== diff -u -r12b82879196778f6c83d08751652177ea0fcbf5e -r23331c8d78ffe7bf583fa351e1bea065e19d656c --- leahi-dialin/common/msg_ids.py (.../msg_ids.py) (revision 12b82879196778f6c83d08751652177ea0fcbf5e) +++ leahi-dialin/common/msg_ids.py (.../msg_ids.py) (revision 23331c8d78ffe7bf583fa351e1bea065e19d656c) @@ -2,8 +2,8 @@ # # 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. +# 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 # @@ -20,45 +20,55 @@ # 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_REPONSE = 0xE - MSG_ID_DD_VERSION_REPONSE = 0xF - MSG_ID_UI_CHECK_IN = 0x10 - MSG_ID_TD_POWER_OFF_WARNING = 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_PRESSURE_DATA = 0x24 - MSG_ID_TD_AIR_TRAP_DATA = 0x25 - MSG_ID_TD_VALVES_DATA = 0x26 + 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_REPONSE = 0xE + MSG_ID_DD_VERSION_REPONSE = 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_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_RO_EVENT = 0x2C + MSG_ID_RO_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_TESTER_LOGIN_REQUEST = 0x8000 @@ -99,6 +109,50 @@ MSG_ID_TD_PINCH_VALVE_SET_POSITION_REQUEST = 0x8023 MSG_ID_TD_PINCH_VALVE_HOME_REQUEST = 0x8024 + MSG_ID_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_DD_TESTER_LOGIN_REQUEST = 0xA000 MSG_ID_DD_SOFTWARE_RESET_REQUEST = 0xA001 @@ -126,7 +180,7 @@ 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_READ_COUNTER_OVERRIDE_REQUEST = 0xA01A MSG_ID_DD_TEMPERATURE_SENSOR_BARO_READ_COUNTER_OVERRIDE_REQUEST = 0xA01B MSG_ID_DD_TEMPERATURE_SENSOR_BARO_CRC_OVERRIDE_REQUEST = 0xA01C MSG_ID_DD_DIALYSATE_PUMPS_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0xA01D @@ -139,8 +193,17 @@ 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_START_GEN_DIALYSATE_MODE_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 MSG_ID_TD_DEBUG_EVENT = 0xFFF1 MSG_ID_DD_DEBUG_EVENT = 0xFFF2 - MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK = 0xFFFF + MSG_ID_ACK_MESSAGE_THAT_REQUIRES_ACK = 0xFFFF \ No newline at end of file Index: leahi-dialin/td/pressure_sensors.py =================================================================== diff -u -r12b82879196778f6c83d08751652177ea0fcbf5e -r23331c8d78ffe7bf583fa351e1bea065e19d656c --- leahi-dialin/td/pressure_sensors.py (.../pressure_sensors.py) (revision 12b82879196778f6c83d08751652177ea0fcbf5e) +++ leahi-dialin/td/pressure_sensors.py (.../pressure_sensors.py) (revision 23331c8d78ffe7bf583fa351e1bea065e19d656c) @@ -42,14 +42,13 @@ channel_id = DenaliChannels.td_sync_broadcast_ch_id msg_id = MsgIds.MSG_ID_PRESSURE_DATA.value self.can_interface.register_receiving_publication_function(channel_id, msg_id, - self._handler_pressure_occlusion_sync) + self._handler_pressure_sync) self.td_pressure_occlusion_timestamp = 0.0 self.arterial_pressure = 0.0 self.venous_pressure = 0.0 self.arterial_long_filtered_pressure = 0.0 self.venous_long_filtered_pressure = 0.0 - self.blood_pump_occlusion = 0 self.pressure_limits_state = 0 self.arterial_pressure_limit_min = 0 self.arterial_pressure_limit_max = 0 @@ -60,7 +59,6 @@ "td_pressure_occlusion_timestamp", "arterial_pressure", "venous_pressure", - "blood_pump_occlusion", "pressure_limits_state", "arterial_pressure_limit_min", "arterial_pressure_limit_max", @@ -69,7 +67,7 @@ "arterial_long_filtered_pressure", "venous_long_filtered_pressure", ]) - def _handler_pressure_occlusion_sync(self, message, timestamp=0.0): + def _handler_pressure_sync(self, message, timestamp=0.0): """ Handles published pressure & occlusion data messages. Pressure data are captured for reference. @@ -82,26 +80,23 @@ message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1])) ven = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2])) - bp = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3])) pls = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4])) + message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3])) apl = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5])) + message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4])) apu = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6])) + message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5])) vpl = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7])) + message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6])) vpu = struct.unpack('i', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8])) + message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7])) lfa = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9])) + message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8])) lfv = struct.unpack('f', bytearray( - message['message'][MsgFieldPositions.START_POS_FIELD_10:MsgFieldPositions.END_POS_FIELD_10])) + message['message'][MsgFieldPositions.START_POS_FIELD_9:MsgFieldPositions.END_POS_FIELD_9])) self.arterial_pressure = art[0] self.venous_pressure = ven[0] - self.blood_pump_occlusion = bp[0] self.pressure_limits_state = pls[0] self.arterial_pressure_limit_min = apl[0] self.arterial_pressure_limit_max = apu[0]