27 lines
857 B
Python
27 lines
857 B
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import os
|
|
|
|
|
|
def file_byte_generator(filename, block_size=512):
|
|
with open(filename, "rb") as f:
|
|
while True:
|
|
block = f.read(block_size)
|
|
if block:
|
|
for byte in block:
|
|
yield byte
|
|
else:
|
|
break
|
|
|
|
|
|
def create_header(out_fh, in_filename):
|
|
assert out_fh.name.endswith(".h")
|
|
array_name = os.path.basename(out_fh.name)[:-2] + "Data"
|
|
hexified = ["0x%02x" % byte for byte in file_byte_generator(in_filename)]
|
|
|
|
print("const uint8_t " + array_name + "[] = {", file=out_fh)
|
|
print(", ".join(hexified), file=out_fh)
|
|
print("};", file=out_fh)
|
|
return 0
|