Index: scripts/update_package_script/update_package.py =================================================================== diff -u -ra99d0580e0f14cdf80321e963a7121a2225d2c4f -rfb0e5e63dfae201ddd3c41f76bcedf4d778b723c --- scripts/update_package_script/update_package.py (.../update_package.py) (revision a99d0580e0f14cdf80321e963a7121a2225d2c4f) +++ scripts/update_package_script/update_package.py (.../update_package.py) (revision fb0e5e63dfae201ddd3c41f76bcedf4d778b723c) @@ -90,7 +90,7 @@ def _prepare_for_sw_update(self, stack_to_update: str, file_path: str): - status = True + status = False self._reset_variables() # TODO how to read from a manifest file. Right now it is passed directly stack_to_update = 'TARGET_' + stack_to_update.upper() @@ -101,8 +101,7 @@ if send_ack_status == CanCommStatus.CAN_COMM_NOT_STARTED.value: self._utilities.send_command_msg(SWUpdateCommands.SW_UPDATE_START.value, self._sw_update_status[self._SW_UPDATE_STACK]) - # TODO create a wait for response back - # TODO check for status + if self._utilities.get_msg_ack_nack_status(self._utilities.SEND_MSG_ACK_STATUS_KEY_NAME) == CanCommStatus.CAN_COMM_READY.value: status = True return status @@ -194,9 +193,15 @@ if update_ack_status == CanCommStatus.CAN_COMM_READY.value: line = f.read(self.SW_UPDATE_FLASH_BUFFER_SIZE) target = self._sw_update_status[self._SW_UPDATE_STACK] - self._utilities.send_software_update_msg(target, line, self.SW_UPDATE_FLASH_BUFFER_SIZE) + if line != b'': + self._utilities.send_software_update_msg(target, line, len(line)) + if line == b'': + self._utilities.send_command_msg(SWUpdateCommands.SW_UPDATE_VERIFY.value, + self._sw_update_status[self._SW_UPDATE_STACK]) + print("Leave file"); + break - if line == b'': break + if line == b'': print("Leave file 2"); break f.close()