changing gen-ui-info.py per issue #19
some of the script's output won't be accurate anymore; but it's not data that we actually need (and we haven't needed it for quite some time) so that shouldn't bother anyone. the generated keymap, assuming that still works, should be fine though :)f13
parent
d4aa876851
commit
8fcfe6cb7e
|
@ -142,80 +142,82 @@ def gen_static(current_date=None, git_commit_date=None, git_commit_id=None):
|
||||||
}
|
}
|
||||||
|
|
||||||
def gen_derived(data):
|
def gen_derived(data):
|
||||||
"""
|
return {} # don't really need this info anymore
|
||||||
Generate derived information
|
# """
|
||||||
Should be called last
|
# Generate derived information
|
||||||
"""
|
# Should be called last
|
||||||
return {
|
# """
|
||||||
'miscellaneous': {
|
# return {
|
||||||
'number-of-layers':
|
# 'miscellaneous': {
|
||||||
int( data['layout-matrices']['_kb_layout']['length']/(6*14) ),
|
# 'number-of-layers':
|
||||||
# because 6*14 is the number of bytes/layer for '_kb_layout'
|
# int( data['layout-matrices']['_kb_layout']['length']/(6*14) ),
|
||||||
# (which is a uint8_t matrix)
|
# # because 6*14 is the number of bytes/layer for '_kb_layout'
|
||||||
},
|
# # (which is a uint8_t matrix)
|
||||||
}
|
# },
|
||||||
|
# }
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
def parse_mapfile(map_file_path):
|
def parse_mapfile(map_file_path):
|
||||||
"""Parse the '.map' file"""
|
return {} # don't really need this info anymore
|
||||||
|
# """Parse the '.map' file"""
|
||||||
def parse_keyboard_function(f, line):
|
#
|
||||||
"""Parse keyboard-functions in the '.map' file"""
|
# def parse_keyboard_function(f, line):
|
||||||
|
# """Parse keyboard-functions in the '.map' file"""
|
||||||
search = re.search(r'(0x\S+)\s+(0x\S+)', next(f))
|
#
|
||||||
position = int( search.group(1), 16 )
|
# search = re.search(r'(0x\S+)\s+(0x\S+)', next(f))
|
||||||
length = int( search.group(2), 16 )
|
# position = int( search.group(1), 16 )
|
||||||
|
# length = int( search.group(2), 16 )
|
||||||
search = re.search(r'0x\S+\s+(\S+)', next(f))
|
#
|
||||||
name = search.group(1)
|
# search = re.search(r'0x\S+\s+(\S+)', next(f))
|
||||||
|
# name = search.group(1)
|
||||||
return {
|
#
|
||||||
'keyboard-functions': {
|
# return {
|
||||||
name: {
|
# 'keyboard-functions': {
|
||||||
'position': position,
|
# name: {
|
||||||
'length': length,
|
# 'position': position,
|
||||||
},
|
# 'length': length,
|
||||||
},
|
# },
|
||||||
}
|
# },
|
||||||
|
# }
|
||||||
def parse_layout_matrices(f, line):
|
#
|
||||||
"""Parse layout matrix information in the '.map' file"""
|
# def parse_layout_matrices(f, line):
|
||||||
|
# """Parse layout matrix information in the '.map' file"""
|
||||||
name = re.search(r'.progmem.data.(_kb_layout\S*)', line).group(1)
|
#
|
||||||
|
# name = re.search(r'.progmem.data.(_kb_layout\S*)', line).group(1)
|
||||||
search = re.search(r'(0x\S+)\s+(0x\S+)', next(f))
|
#
|
||||||
position = int( search.group(1), 16 )
|
# search = re.search(r'(0x\S+)\s+(0x\S+)', next(f))
|
||||||
length = int( search.group(2), 16 )
|
# position = int( search.group(1), 16 )
|
||||||
|
# length = int( search.group(2), 16 )
|
||||||
return {
|
#
|
||||||
'layout-matrices': {
|
# return {
|
||||||
name: {
|
# 'layout-matrices': {
|
||||||
'position': position,
|
# name: {
|
||||||
'length': length,
|
# 'position': position,
|
||||||
},
|
# 'length': length,
|
||||||
},
|
# },
|
||||||
}
|
# },
|
||||||
|
# }
|
||||||
# --- parse_mapfile() ---
|
#
|
||||||
|
# # --- parse_mapfile() ---
|
||||||
# normalize paths
|
#
|
||||||
map_file_path = os.path.abspath(map_file_path)
|
# # normalize paths
|
||||||
# check paths
|
# map_file_path = os.path.abspath(map_file_path)
|
||||||
if not os.path.exists(map_file_path):
|
# # check paths
|
||||||
raise ValueError("invalid 'map_file_path' given")
|
# if not os.path.exists(map_file_path):
|
||||||
|
# raise ValueError("invalid 'map_file_path' given")
|
||||||
output = {}
|
#
|
||||||
|
# output = {}
|
||||||
f = open(map_file_path)
|
#
|
||||||
|
# f = open(map_file_path)
|
||||||
for line in f:
|
#
|
||||||
if re.search(r'^\s*\.text\.kbfun_', line):
|
# for line in f:
|
||||||
dict_merge(output, parse_keyboard_function(f, line))
|
# if re.search(r'^\s*\.text\.kbfun_', line):
|
||||||
elif re.search(r'^\s*\.progmem\.data.*layout', line):
|
# dict_merge(output, parse_keyboard_function(f, line))
|
||||||
dict_merge(output, parse_layout_matrices(f, line))
|
# elif re.search(r'^\s*\.progmem\.data.*layout', line):
|
||||||
|
# dict_merge(output, parse_layout_matrices(f, line))
|
||||||
return output
|
#
|
||||||
|
# return output
|
||||||
|
|
||||||
|
|
||||||
def find_keyboard_functions(source_code_path):
|
def find_keyboard_functions(source_code_path):
|
||||||
|
|
Loading…
Reference in New Issue