Refactor based on recent discussion

This commit is contained in:
zvecr
2022-06-19 22:04:30 +01:00
parent 6b0bdc30de
commit 956bd3b7ca
10 changed files with 150 additions and 151 deletions
+5 -5
View File
@@ -4,7 +4,7 @@ from milc import cli
from qmk.path import normpath
from qmk.keyboard import keyboard_completer, keyboard_folder
from qmk.xap.gen_firmware.info_generator import generate_info
from qmk.xap.gen_firmware.blob_generator import generate_blob
from qmk.xap.gen_firmware.inline_generator import generate_inline
from qmk.xap.gen_firmware.header_generator import generate_header
@@ -52,9 +52,9 @@ def xap_generate_qmk_h(cli):
@cli.argument('-o', '--output', type=normpath, help='File to write to')
@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='Name of the keyboard')
@cli.argument('-km', '--keymap', help='The keymap\'s name')
@cli.subcommand('Generates the XAP info.json payload include.', hidden=False if cli.config.user.developer else True)
def xap_generate_info_h(cli):
"""Generates the XAP info.json payload header file, generated during normal build.
@cli.subcommand('Generates the XAP config payload include.', hidden=False if cli.config.user.developer else True)
def xap_generate_qmk_blob_h(cli):
"""Generates the XAP config payload header file, generated during normal build.
"""
# Determine our keyboard/keymap
if not cli.args.keyboard:
@@ -66,4 +66,4 @@ def xap_generate_info_h(cli):
cli.subcommands['xap-generate-info-h'].print_help()
return False
generate_info(cli.args.output, cli.args.keyboard, cli.args.keymap)
generate_blob(cli.args.output, cli.args.keyboard, cli.args.keymap)
+13 -13
View File
@@ -163,23 +163,23 @@ def _list_devices():
print_dotted_output(data)
def xap_dummy(device):
# get layer count
layers = _xap_transaction(device, 0x04, 0x01)
layers = int.from_bytes(layers, "little")
print(f'layers:{layers}')
# def xap_dummy(device):
# # get layer count
# layers = _xap_transaction(device, 0x04, 0x00)
# layers = int.from_bytes(layers, "little")
# print(f'layers:{layers}')
# get keycode [layer:0, row:0, col:0]
# keycode = _xap_transaction(device, 0x04, 0x02, b"\x00\x00\x00")
# # get keycode [layer:0, row:0, col:0]
# # keycode = _xap_transaction(device, 0x04, 0x02, b"\x00\x00\x00")
# get encoder [layer:0, index:0, clockwise:0]
keycode = _xap_transaction(device, 0x05, 0x02, b"\x00\x00\x00")
# # get encoder [layer:0, index:0, clockwise:0]
# keycode = _xap_transaction(device, 0x04, 0x03, b"\x00\x00\x00")
keycode = int.from_bytes(keycode, "little")
print(f'keycode:{KEYCODE_MAP.get(keycode, "unknown")}[{keycode}]')
# keycode = int.from_bytes(keycode, "little")
# print(f'keycode:{KEYCODE_MAP.get(keycode, "unknown")}[{keycode}]')
# set encoder [layer:0, index:0, clockwise:0, keycode:KC_A]
_xap_transaction(device, 0x05, 0x03, b"\x00\x00\x00\x04\00")
# # set encoder [layer:0, index:0, clockwise:0, keycode:KC_A]
# _xap_transaction(device, 0x05, 0x03, b"\x00\x00\x00\x04\00")
def xap_broadcast_listen(device):
@@ -9,7 +9,7 @@ from qmk.commands import get_chunks, dump_lines
from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE
def generate_info(output_file, keyboard, keymap):
def generate_blob(output_file, keyboard, keymap):
# Build the info.json file
km_info_json = keymap_json(keyboard, keymap)
@@ -33,9 +33,9 @@ def generate_info(output_file, keyboard, keymap):
lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '']
# Gen output file
lines.append('static const unsigned char info_json_gz[] PROGMEM = {')
lines.append('static const unsigned char config_blob_gz[] PROGMEM = {')
lines.append(data)
lines.append('};')
lines.append(f'#define INFO_JSON_GZ_LEN {data_len}')
lines.append(f'#define CONFIG_BLOB_GZ_LEN {data_len}')
dump_lines(output_file, lines)