Index: leahi_dialin/common/msg_ids.py =================================================================== diff -u -rb587077b5d61033e25b2aa372bc04e221bc77a6f -r88eea899fa8d03596f944505285bf3049e64312b --- leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision b587077b5d61033e25b2aa372bc04e221bc77a6f) +++ leahi_dialin/common/msg_ids.py (.../msg_ids.py) (revision 88eea899fa8d03596f944505285bf3049e64312b) @@ -193,14 +193,46 @@ MSG_ID_TD_WATER_SAMPLE_RESULT_RESPONSE = 0xAB MSG_ID_TD_WATER_SAMPLE_DATA = 0xAC MSG_ID_TD_DRY_SELF_TEST_PROGRESS_DATA = 0xAD - MSG_ID_TD_TUBE_SET_AUTHENTICATION_REQUEST = 0xAE - MSG_ID_UI_TUBE_SET_AUTHENTICATION_ACK_RESPONSE = 0xAF + MSG_ID_TD_TUBING_SET_BARCODE_SCAN_REQUEST = 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_DD_SUBSTITUTION_PUMP_DATA = 0xB5 - MSG_ID_DD_CONDUCTIVITY_SENSOR_RESISTANCE_DATA = 0xB6 + MSG_ID_TD_UI_CONFIRMATION_REQUEST = 0xB5 + MSG_ID_UI_CONFIRMATION_RESULT_RESPONSE = 0xB6 + MSG_ID_TD_POWER_OFF_REQUEST = 0xB7 + MSG_ID_UI_VITALS_ADJUSTMENT_REQUEST = 0xB8 + MSG_ID_TD_VITALS_ADJUSTMENT_RESPONSE = 0xB9 + MSG_ID_UI_DD_NVM_GET_RECORD_REQUEST = 0xBA + MSG_ID_DD_NVM_SYSTEM_RECORD_RESPONSE = 0xBB + MSG_ID_UI_DD_NVM_SET_SYSTEM_RECORD = 0xBC + MSG_ID_DD_NVM_SERVICE_RECORD_RESPONSE = 0xBD + MSG_ID_DD_NVM_SET_SERVICE_RECORD = 0xBE + MSG_ID_DD_NVM_INSTITUTIONAL_RECORD_RESPONSE = 0xBF + MSG_ID_DD_NVM_SET_INSTITUTIONAL_RECORD = 0xC0 + MSG_ID_DD_NVM_USAGE_INFO_RECORD_RESPONSE = 0xC1 + MSG_ID_DD_NVM_SET_USAGE_INFO_RECORD = 0xC2 + MSG_ID_DD_NVM_CAL_PRESSURE_SENSOR_RESPONSE = 0xC3 + MSG_ID_DD_NVM_SET_CAL_PRESSURE_SENSOR = 0xC4 + MSG_ID_DD_NVM_CAL_TEMP_SENSOR_RESPONSE = 0xC5 + MSG_ID_DD_NVM_SET_CAL_TEMP_SENSOR = 0xC6 + MSG_ID_DD_NVM_CAL_CONC_PUMP_RESPONSE = 0xC7 + MSG_ID_DD_NVM_SET_CAL_CONC_PUMP = 0xC8 + MSG_ID_DD_NVM_CAL_D12_PUMP_RESPONSE = 0xC9 + MSG_ID_DD_NVM_SET_CAL_D12_PUMP = 0xCA + MSG_ID_DD_NVM_CAL_D48_PUMP_RESPONSE = 0xCB + MSG_ID_DD_NVM_SET_CAL_D48_PUMP = 0xCC + MSG_ID_DD_NVM_CAL_ACID_CONCENTRATE_RESPONSE = 0xCD + MSG_ID_DD_NVM_SET_CAL_ACID_CONCENTRATE = 0xCE + MSG_ID_DD_NVM_CAL_BICARB_CONCENTRATE_RESPONSE = 0xCF + MSG_ID_DD_NVM_SET_CAL_BICARB_CONCENTRATE = 0xD0 + MSG_ID_DD_NVM_CAL_ACCEL_SENSOR_RESPONSE = 0xD1 + MSG_ID_DD_NVM_SET_CAL_ACCEL_SENSOR = 0xD2 + MSG_ID_DD_NVM_CAL_BLOOD_LEAK_SENSOR_RESPONSE = 0xD3 + MSG_ID_DD_NVM_SET_CAL_BLOOD_LEAK_SENSOR = 0xD4 + MSG_ID_DD_NVM_RECORD_CRC_OVERRIDE_REQUEST = 0xD5 MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0xF0 Index: leahi_dialin/dd/dialysate_delivery.py =================================================================== diff -u -r3c8a9517b70f8a0096e7f25c0397f9c8084b0b19 -r88eea899fa8d03596f944505285bf3049e64312b --- leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision 3c8a9517b70f8a0096e7f25c0397f9c8084b0b19) +++ leahi_dialin/dd/dialysate_delivery.py (.../dialysate_delivery.py) (revision 88eea899fa8d03596f944505285bf3049e64312b) @@ -221,42 +221,14 @@ result = self.process_into_vars(decoder_list = msg_list, message = message) - if all([len(each) > 0 for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): + if all([each is not None for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): self.dd_version = f"v{result['major']}.{result['minor']}.{result['micro']}-{result['build']}.{result['compatibility']}" self.logger.debug(f'DD VERSION: {self.dd_version}') - if all([len(each) > 0 for each in [result['fpga_id'], result['fpga_major'], result['fpga_minor'], result['fpga_lab']]]): + if all([each is not None for each in [result['fpga_id'], result['fpga_major'], result['fpga_minor'], result['fpga_lab']]]): self.dd_fpga_version = f"v{result['fpga_id']}.{result['fpga_major']}.{result['fpga_minor']}-{result['fpga_lab']}" self.logger.debug(f'DD FPGA VERSION: {self.dd_fpga_version}') - """ - major = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_MAJOR:MsgFieldPositionsFWVersions.END_POS_MAJOR])) - minor = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_MINOR:MsgFieldPositionsFWVersions.END_POS_MINOR])) - micro = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_MICRO:MsgFieldPositionsFWVersions.END_POS_MICRO])) - build = struct.unpack(DataTypes.U16.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_BUILD:MsgFieldPositionsFWVersions.END_POS_BUILD])) - fpga_id = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_FPGA_ID:MsgFieldPositionsFWVersions.END_POS_FPGA_ID])) - fpga_major = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_FPGA_MAJOR:MsgFieldPositionsFWVersions.END_POS_FPGA_MAJOR])) - fpga_minor = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_FPGA_MINOR:MsgFieldPositionsFWVersions.END_POS_FPGA_MINOR])) - fpga_lab = struct.unpack(DataTypes.U08.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_FPGA_MICRO:MsgFieldPositionsFWVersions.END_POS_FPGA_MICRO])) - compatibility = struct.unpack(DataTypes.U32.unpack_attrib(), bytearray( - message['message'][MsgFieldPositionsFWVersions.START_POS_COMPATIBILITY_REV:MsgFieldPositionsFWVersions.END_POS_COMPATIBILITY_REV])) - - if all([len(each) > 0 for each in [major, minor, micro, build, compatibility]]): - self.dd_version = f"v{major[0]}.{minor[0]}.{micro[0]}-{build[0]}.{compatibility[0]}" - self.logger.debug(f"DD VERSION: {self.dd_version}") - - if all([len(each) > 0 for each in [fpga_id, fpga_major, fpga_minor, fpga_lab]]): - self.dd_fpga_version = f"v{fpga_id[0]}.{fpga_major[0]}.{fpga_minor[0]}-{fpga_lab[0]}" - self.logger.debug(f"DD FPGA VERSION: {self.dd_fpga_version}") - """ self.dd_version_response_timestamp = timestamp Index: leahi_dialin/fp/filtration_purification.py =================================================================== diff -u -r1f2bf6d939eb4033dbedb7d7005494cc12fccbc6 -r88eea899fa8d03596f944505285bf3049e64312b --- leahi_dialin/fp/filtration_purification.py (.../filtration_purification.py) (revision 1f2bf6d939eb4033dbedb7d7005494cc12fccbc6) +++ leahi_dialin/fp/filtration_purification.py (.../filtration_purification.py) (revision 88eea899fa8d03596f944505285bf3049e64312b) @@ -190,13 +190,14 @@ result = self.process_into_vars(decoder_list = msg_list, message = message) - if all([len(each) > 0 for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): + if all([each is not None for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): self.fp_version = f"v{result['major']}.{result['minor']}.{result['micro']}-{result['build']}.{result['compatibility']}" self.logger.debug(f'FP VERSION: {self.fp_version}') - if all([len(each) > 0 for each in [result['fpga_id'], result['fpga_major'], result['fpga_minor'], result['fpga_lab']]]): + if all([each is not None for each in [result['fpga_id'], result['fpga_major'], result['fpga_minor'], result['fpga_lab']]]): self.fp_fpga_version = f"v{result['fpga_id']}.{result['fpga_major']}.{result['fpga_minor']}-{result['fpga_lab']}" self.logger.debug(f'FP FPGA VERSION: {self.fp_fpga_version}') + self.fp_version_response_timestamp = timestamp Index: leahi_dialin/td/treatment_delivery.py =================================================================== diff -u -r6c90336ac2cd8cf34ac620cff431a847d9ddf557 -r88eea899fa8d03596f944505285bf3049e64312b --- leahi_dialin/td/treatment_delivery.py (.../treatment_delivery.py) (revision 6c90336ac2cd8cf34ac620cff431a847d9ddf557) +++ leahi_dialin/td/treatment_delivery.py (.../treatment_delivery.py) (revision 88eea899fa8d03596f944505285bf3049e64312b) @@ -220,11 +220,11 @@ result = self.process_into_vars(decoder_list = msg_list, message = message) - if all([len(each) > 0 for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): + if all([each is not None for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): self.td_version = f"v{result['major']}.{result['minor']}.{result['micro']}-{result['build']}.{result['compatibility']}" self.logger.debug(f'TD VERSION: {self.td_version}') - if all([len(each) > 0 for each in [result['fpga_id'], result['fpga_major'], result['fpga_minor'], result['fpga_lab']]]): + if all([each is not None for each in [result['fpga_id'], result['fpga_major'], result['fpga_minor'], result['fpga_lab']]]): self.td_fpga_version = f"v{result['fpga_id']}.{result['fpga_major']}.{result['fpga_minor']}-{result['fpga_lab']}" self.logger.debug(f'TD FPGA VERSION: {self.td_fpga_version}') @@ -255,7 +255,7 @@ result = self.process_into_vars(decoder_list = msg_list, message = message) - if all([len(each) > 0 for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): + if all([each is not None for each in [result['major'], result['minor'], result['micro'], result['build'], result['compatibility']]]): self.ui_version = f"v{result['major']}.{result['minor']}.{result['micro']}-{result['build']}.{result['compatibility']}" self.logger.debug(f'UI VERSION: {self.ui_version}') else: @@ -293,8 +293,8 @@ @return: 1 if logged in, 0 if log in failed """ message = CanMessage.build_message(channel_id=CanChannels.dialin_to_td_ch_id, - message_id=MsgIds.MSG_ID_TD_TESTER_LOGIN_REQUEST.value, - payload=list(map(int, map(ord, self.TD_LOGIN_PASSWORD)))) + message_id=MsgIds.MSG_ID_TD_TESTER_LOGIN_REQUEST.value, + payload=list(map(int, map(ord, self.TD_LOGIN_PASSWORD)))) self.logger.debug("Logging in...") @@ -402,13 +402,17 @@ @return: none """ - message = CanMessage.build_message(channel_id=CanChannels.dialin_to_td_ch_id, - message_id=MsgIds.MSG_ID_TD_UI_VERSION_INFO_REQUEST.value) + return cmd_generic_override( + payload = None, + reset = None, + channel_id = CanChannels.td_to_ui_ch_id, + msg_id = MsgIds.MSG_ID_TD_UI_VERSION_INFO_REQUEST, + entity_name = 'UI Versions Request', + override_text = '', + logger = self.logger, + can_interface = self.can_interface) - self.logger.debug("Sending an UI version request to the TD.") - self.can_interface.send(message, 0) - def cmd_training_test_override(self, value: int, reset: int = NO_RESET) -> int: """ Constructs and sends a training test override request to the TD.