diff --git a/contrib/firmware_packager/add_dfu_header.py b/contrib/firmware_packager/add_dfu_header.py new file mode 100755 index 000000000..18a1b31ab --- /dev/null +++ b/contrib/firmware_packager/add_dfu_header.py @@ -0,0 +1,49 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- +# +# Copyright (C) 2020 Richard Hughes +# +# SPDX-License-Identifier: LGPL-2.1+ + +import struct +import zlib +import argparse + +def main(bin_fn, dfu_fn, pad, vid, pid, rev): + + # read binary file + with open(bin_fn, 'rb') as f: + blob = f.read() + + # pad blob to a specific size + if pad: + while len(blob) < int(pad, 16): + blob += b'\0' + + # create DFU footer with checksum + blob += struct.pack('