From d6b0a6cb5496ff212d2eeb58a46dd3fbcb6555ed Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Sat, 26 Dec 2020 21:26:38 -0500 Subject: [PATCH] firmware_flasher: accept firmware in .vfw format --- src/main/python/firmware_flasher.py | 44 +++++++++++++++++++++++------ 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/src/main/python/firmware_flasher.py b/src/main/python/firmware_flasher.py index 081d39c..ab342b2 100644 --- a/src/main/python/firmware_flasher.py +++ b/src/main/python/firmware_flasher.py @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later import datetime +import hashlib import struct import time import threading @@ -32,8 +33,21 @@ CHUNK = 64 def cmd_flash(device, firmware, log_cb, progress_cb, complete_cb, error_cb): - while len(firmware) % CHUNK != 0: - firmware += b"\x00" + if firmware[0:8] != b"VIALFW00": + return error_cb("Error: Invalid signature") + + fw_uid = firmware[8:16] + fw_ts = struct.unpack("