Index: scripts/update_package_script/update_package.py =================================================================== diff -u -r35d4bd301a444d440a1cd492de1eabef872e968c -r13ca1c7eaaca00299876bfc6077d40064e3592d8 --- scripts/update_package_script/update_package.py (.../update_package.py) (revision 35d4bd301a444d440a1cd492de1eabef872e968c) +++ scripts/update_package_script/update_package.py (.../update_package.py) (revision 13ca1c7eaaca00299876bfc6077d40064e3592d8) @@ -170,6 +170,7 @@ current_insert_index = self._decode_data_status[self._CUR_DATA_INDEX_KEY_NAME] binary_size = self._xml_report_values[self._XML_REPORT_BIN_SIZE_KEY_NAME] var = '' + data_2_write = '' if current_write_index == binary_size: self._decode_data_status[self._BINARY_SEND_COMPLETE_KEY_NAME] = True @@ -188,7 +189,9 @@ self._decode_data_status[self._TOTAL_BYTES_TX_KEY_NAME] += remaining_bytes self._utilities.send_software_update_msg(target, data_2_write) var = 'B' - print(current_write_index, self._decode_data_status[self._CUR_DATA_INDEX_KEY_NAME], current_insert_index - current_write_index, var) + print(current_write_index, self._decode_data_status[self._CUR_DATA_INDEX_KEY_NAME], + current_insert_index - current_write_index, var, len(data_2_write)) + elif update_ack_status == 2 and self._decode_data_status[self._BINARY_SEND_COMPLETE_KEY_NAME] is True: #CanCommStatus.CAN_COMM_SUCCESSFUL.value: # TODO this should be changed to successful but the ack is not received now yet # TODO do we need the electronic signature from xml? data_2_write = [0] * self.SW_UPDATE_FLASH_BUFFER_SIZE Index: scripts/update_package_script/utilities.py =================================================================== diff -u -r35d4bd301a444d440a1cd492de1eabef872e968c -r13ca1c7eaaca00299876bfc6077d40064e3592d8 --- scripts/update_package_script/utilities.py (.../utilities.py) (revision 35d4bd301a444d440a1cd492de1eabef872e968c) +++ scripts/update_package_script/utilities.py (.../utilities.py) (revision 13ca1c7eaaca00299876bfc6077d40064e3592d8) @@ -1,3 +1,5 @@ +import os.path + import can import struct from enum import unique @@ -78,10 +80,13 @@ self._msg_sw_update_index = 0 self._update_mail_boxes = self._prepare_update_mail_boxes() self._msg_ack_nack_status = dict() + self._total_msg_count = 0 self._msg_ack_nack_status[self.SEND_MSG_ACK_STATUS_KEY_NAME] = CanCommStatus.CAN_COMM_NOT_STARTED.value self._msg_ack_nack_status[self.UPDATE_MSG_ACK_STATUS_KEY_NAME] = CanCommStatus.CAN_COMM_NOT_STARTED.value + self.file_handle = open(os.path.join(os.getcwd(), 'ack_log.log'), 'w') + def get_msg_ack_nack_status(self, msg_type: str): return self._msg_ack_nack_status[msg_type] @@ -110,11 +115,13 @@ mail_box = self._update_mail_boxes[target][0] time_out_s = self._update_mail_boxes[target][1] self._msg_id_count = self._msg_id_count + 1 if self._msg_id_count < 0xFF else 0 + self._total_msg_count += 1 self._msg_sw_update_index += 1 crc_32 = 12340 temp = bytes() can_msg_bytes = self._convert_data_to_bytes('