blob: 0981f096a33cc054044c4ba478c20468d691676f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#!/usr/bin/env python3
import sys
import json
import lzma
def main():
if len(sys.argv) != 3:
print("Usage: vial_generate_defition.py path-to-vial.json path-to-output.h")
return 1
with open(sys.argv[1], "r") as inf:
data = inf.read()
# minify json
data = json.dumps(json.loads(data), separators=(',', ':')).strip()
# compress
data = lzma.compress(data.encode("utf-8"))
with open(sys.argv[2], "w") as outf:
outf.write("#pragma once\n")
outf.write("static const unsigned char keyboard_definition[] PROGMEM = {")
arr = ["0x{:02X}".format(b) for b in data]
outf.write(", ".join(arr))
outf.write("};\n")
return 0
if __name__ == "__main__":
sys.exit(main())
|