Index: dialin/common/msg_ids.py =================================================================== diff -u -r8e8a1378fbcbd741ac9d812ffcc82025f7b38fd3 -r645e11027cafbd9db6d00f5bb3cf3da429b413fa --- dialin/common/msg_ids.py (.../msg_ids.py) (revision 8e8a1378fbcbd741ac9d812ffcc82025f7b38fd3) +++ dialin/common/msg_ids.py (.../msg_ids.py) (revision 645e11027cafbd9db6d00f5bb3cf3da429b413fa) @@ -1,14 +1,14 @@ ########################################################################### # -# Copyright (c) 2021-2022 Diality Inc. - All Rights Reserved. +# Copyright (c) 2021-2023 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) 24-Oct-2022 +# @date (last) 21-Dec-2022 # @author (original) Peter Lucia # @date (original) 06-Apr-2021 # @@ -186,16 +186,16 @@ MSG_ID_HD_FANS_DATA = 0xA3 MSG_ID_HD_EVENT = 0xA4 MSG_ID_DG_EVENT = 0xA5 - MSG_ID_DG_DIALYSATE_FLOW_METER_DATA = 0xA6 + MSG_ID_HD_SET_SERVICE_TIME = 0xA6 MSG_ID_DG_ALARM_INFO = 0xA7 MSG_ID_HD_RESERVOIRS_DATA = 0xA8 MSG_ID_HD_REQUEST_DG_CONCENTRATE_MIXING_RATIOS = 0xA9 MSG_ID_DG_CONCENTRATE_MIXING_RATIOS_DATA = 0xAA MSG_ID_DG_SCHEDULED_RUNS_DATA = 0xAB - MSG_ID_DG_SCHEDULED_RUNS_INFO = 0xAC + MSG_ID_DG_SET_SERVICE_TIME = 0xAC MSG_ID_UI_INSTALLATION_CONFIRM_RESPONSE = 0xAD MSG_ID_DG_FILL_MODE_DATA = 0xAE - MSG_ID_DG_BAD_FILL_SUB_STATE = 0xAF + MSG_ID_DG_GEN_IDLE_DATA = 0xAF MSG_ID_UI_REQUEST_SERVICE_MODE = 0xB0 MSG_ID_HD_RESPONSE_SERVICE_MODE_REQUEST = 0xB1 MSG_ID_HD_REQUEST_UI_FINAL_POST_RESULT = 0xB2 @@ -204,6 +204,21 @@ MSG_ID_HD_REQUEST_DG_ALARMS = 0xB5 MSG_ID_HD_REQUEST_DG_SERVICE_MODE = 0xB6 MSG_ID_DG_RTC_EPOCH = 0xB7 + MSG_ID_HD_REQUEST_DG_USAGE_INFO = 0xB8 + MSG_ID_HD_REQUEST_DG_SERVICE_RECORD = 0xB9 + MSG_ID_HD_REQUEST_UI_CONFIRMATION = 0xBA + MSG_ID_UI_CONFIRMATION_RESULT = 0xBB + MSG_ID_REQUEST_CPLD_STATUS = 0xBC + MSG_ID_DG_CPLD_STATUS = 0xBD + MSG_ID_HD_BATTERY_MANAGEMENT_DATA = 0xBE + MSG_ID_HD_BATTERY_STATUS_DATA = 0xBF + MSG_ID_DG_CHEM_DISINFECT_FLUSH_DATA = 0xC0 + MSG_ID_DG_CHEM_DISINFECT_FLUSH_TIME_DATA = 0xC1 + MSG_ID_DG_START_STOP_CHEM_DISINFECT_FLUSH = 0xC2 + MSG_ID_UI_CHEM_DISINFECT_FLUSH_CONFIRM = 0xC3 + MSG_ID_HD_CHEM_DISINFECT_FLUSH_CONFIRM_RESPONSE = 0xC4 + MSG_ID_DG_HEAT_DISINFECT_ACTIVE_COOL_DATA = 0xC5 + MSG_ID_DG_START_STOP_HEAT_DISINFECT_ACTIVE_COOL = 0xC6 MSG_ID_CAN_ERROR_COUNT = 0x999 @@ -303,10 +318,10 @@ MSG_ID_HD_BUBBLE_STATUS_OVERRIDE = 0x805E MSG_ID_HD_BLOOD_PRIME_VOLUME_OVERRIDE = 0x805F MSG_ID_HD_BUBBLE_SELF_TEST_REQUEST = 0x8060 - MSG_ID_HD_FAN_RPM_ALARM_START_TIME_OFFSET_OVERRIDE = 0x8061 + MSG_ID_HD_AIR_PUMP_PUBLISH_INTERVAL_OVERRIDE = 0x8061 MSG_ID_HD_SWITCHES_STATUS_OVERRIDE = 0x8062 MSG_ID_HD_SWITCHES_PUBLISH_INTERVAL_OVERRIDE = 0x8063 - MSG_ID_HD_BATTERY_REMAINING_PERCENT_OVERRIDE = 0x8064 + MSG_ID_HD_BATTERY_REMAINING_CAP_MWH_OVERRIDE = 0x8064 MSG_ID_HD_TEMPERATURES_VALUE_OVERRIDE = 0x8065 MSG_ID_HD_TEMPERATURES_PUBLISH_INTERVAL_OVERRIDE = 0x8066 MSG_ID_HD_FANS_PUBLISH_INTERVAL_OVERRIDE = 0x8067 @@ -342,6 +357,8 @@ MSG_ID_HD_BLOOD_PUMP_SET_PWM = 0x8085 MSG_ID_HD_DIAL_IN_SET_PWM = 0x8086 MSG_ID_HD_DIAL_OUT_SET_PWM = 0x8087 + MSG_ID_DIALYSATE_INLET_PUMP_ROTOR_COUNT_OVERRIDE = 0x8088 + MSG_ID_HD_NV_RECORD_CRC_OVERRIDE = 0x8089 MSG_ID_DG_TESTER_LOGIN_REQUEST = 0xA000 MSG_ID_DG_ALARM_STATE_OVERRIDE = 0xA001 @@ -389,7 +406,7 @@ MSG_ID_DG_THERMISTORS_DATA_PUBLISH_INTERVAL_OVERRIDE = 0xA02D MSG_ID_DG_THERMISTORS_VALUE_OVERRIDE = 0xA02E MSG_ID_DG_RO_PUMP_DUTY_CYCLE_OVERRIDE = 0xA02F - MSG_ID____AVAILABLE_5 = 0xA030 + MSG_ID_DG_VALVES_SENSED_STATE_OVERRIDE = 0xA030 MSG_ID_DG_SET_RO_PUMP_TARGET_FLOW = 0xA031 MSG_ID_DG_RO_PUMP_TARGET_PRESSURE_OVERRIDE = 0xA032 MSG_ID_DG_SET_CALIBRATION_RECORD = 0xA033 @@ -429,11 +446,15 @@ MSG_ID_DG_SEND_USAGE_INFO_RECORD = 0xA055 MSG_ID_DG_SET_OP_MODE_REQUEST = 0xA056 MSG_ID_DG_RESERVOIR_TARE_REQUEST = 0xA057 - MSG_ID_CPLD_PUBLISH_INTERVAL_OVERRIDE = 0xA058 + MSG_ID_DG_CPLD_PUBLISH_INTERVAL_OVERRIDE = 0xA058 MSG_ID_DG_DRAIN_PUMP_CURRENT_OVERRIDE = 0xA059 MSG_ID_DG_DRAIN_PUMP_DIRECTION_OVERRIDE = 0xA05A MSG_ID_DG_RO_FEEDBACK_VOLTAGE_OVERRIDE = 0xA05B MSG_ID_DG_DIALYSATE_FILL_INTEGRATED_VOLUME_OVERRIDE = 0xA05C + MSG_ID_DG_NV_RECORD_CRC_OVERRIDE = 0xA05D + MSG_ID_DG_CONC_PUMP_PARK_STATUS_OVERRIDE = 0xA05E + MSG_ID_DG_CONC_PUMP_PARK_FAULT_STATUS_OVERRIDE = 0xA05F + MSG_ID_DG_CONC_PUMP_PARK_COMMAND = 0xA060 MSG_ID_HD_DEBUG_EVENT = 0xFFF1 MSG_ID_DG_DEBUG_EVENT = 0xFFF2 Index: dialin/dg/dialysate_fill.py =================================================================== diff -u -racd09d02879e8add4cf7f694f5db8e423a76c341 -r645e11027cafbd9db6d00f5bb3cf3da429b413fa --- dialin/dg/dialysate_fill.py (.../dialysate_fill.py) (revision acd09d02879e8add4cf7f694f5db8e423a76c341) +++ dialin/dg/dialysate_fill.py (.../dialysate_fill.py) (revision 645e11027cafbd9db6d00f5bb3cf3da429b413fa) @@ -193,3 +193,42 @@ else: self.logger.error("Timeout!!!!") return False + + def cmd_dialysate_fill_integrated_volume_override(self, volume: float, reset: int = NO_RESET) -> int: + """ + Constructs and sends the integrated fill override command. + Constraints: + Must be logged into DG. + + @param volume: (float) volume to override with ( in mL ) + @param reset: (int) 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + + rst = integer_to_bytearray(reset) + vol = float_to_bytearray(volume) + payload = rst + vol + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_dg_ch_id, + message_id=MsgIds.MSG_ID_DG_DIALYSATE_FILL_INTEGRATED_VOLUME_OVERRIDE.value, + payload=payload) + + self.logger.debug("Override total volume for dialysate fill.") + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + if reset == RESET: + str_res = "back to normal" + else: + str_res = str(volume) + self.logger.debug( + "Total Fill has been overridden " + str_res + " mL " + + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + else: + self.logger.debug("Timeout!!!!") + return False Index: dialin/dg/gen_idle.py =================================================================== diff -u -r8e8a1378fbcbd741ac9d812ffcc82025f7b38fd3 -r645e11027cafbd9db6d00f5bb3cf3da429b413fa --- dialin/dg/gen_idle.py (.../gen_idle.py) (revision 8e8a1378fbcbd741ac9d812ffcc82025f7b38fd3) +++ dialin/dg/gen_idle.py (.../gen_idle.py) (revision 645e11027cafbd9db6d00f5bb3cf3da429b413fa) @@ -1,6 +1,6 @@ ########################################################################### # -# Copyright (c) 2022-2022 Diality Inc. - All Rights Reserved. +# Copyright (c) 2022-2023 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. Index: dialin/dg/ro_pump.py =================================================================== diff -u -r32c8b4b054a77b4ec794a6538cb39ce93ab05348 -r645e11027cafbd9db6d00f5bb3cf3da429b413fa --- dialin/dg/ro_pump.py (.../ro_pump.py) (revision 32c8b4b054a77b4ec794a6538cb39ce93ab05348) +++ dialin/dg/ro_pump.py (.../ro_pump.py) (revision 645e11027cafbd9db6d00f5bb3cf3da429b413fa) @@ -1,14 +1,14 @@ ########################################################################### # -# Copyright (c) 2020-2022 Diality Inc. - All Rights Reserved. +# Copyright (c) 2020-2023 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 ro_pump.py # # @author (last) Dara Navaei -# @date (last) 12-Oct-2022 +# @date (last) 30-Oct-2022 # @author (original) Sean # @date (original) 14-Apr-2020 # @@ -62,7 +62,6 @@ self.target_flow_lpm = 0.0 self.feedback_duty_cycle_pct = 0.0 - def get_target_pressure(self): """ Gets the target pressure Index: setup.py =================================================================== diff -u -reae2fc37fc7de3d5a2fd977ffbb3792be73553af -r645e11027cafbd9db6d00f5bb3cf3da429b413fa --- setup.py (.../setup.py) (revision eae2fc37fc7de3d5a2fd977ffbb3792be73553af) +++ setup.py (.../setup.py) (revision 645e11027cafbd9db6d00f5bb3cf3da429b413fa) @@ -1,6 +1,6 @@ ########################################################################### # -# Copyright (c) 2020-2022 Diality Inc. - All Rights Reserved. +# Copyright (c) 2020-2023 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.