Source code

Revision control

Copy as Markdown

Other Tools

# 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
import os
def file_byte_generator(filename, block_size=512):
with open(filename, "rb") as f:
while True:
block =
if block:
for byte in block:
yield byte
def create_header(out_fh, in_filename):
array_name = os.path.basename([:-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