Skip to content

Commit

Permalink
Merge commit '8fcfe6cb7e6df7ba0d6cc98b7ea72a7955c58d2e' into make-cle…
Browse files Browse the repository at this point in the history
…anup

* commit '8fcfe6cb7e6df7ba0d6cc98b7ea72a7955c58d2e':
  changing gen-ui-info.py per issue benblazak#19
  • Loading branch information
jbcpollak committed Aug 1, 2014
2 parents ecddf3a + 8fcfe6c commit 56eb616
Showing 1 changed file with 72 additions and 70 deletions.
142 changes: 72 additions & 70 deletions build-scripts/gen-ui-info.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,80 +142,82 @@ def gen_static(current_date=None, git_commit_date=None, git_commit_id=None):
}

def gen_derived(data):
"""
Generate derived information
Should be called last
"""
return {
'miscellaneous': {
'number-of-layers':
int( data['layout-matrices']['_kb_layout']['length']/(6*14) ),
# because 6*14 is the number of bytes/layer for '_kb_layout'
# (which is a uint8_t matrix)
},
}
return {} # don't really need this info anymore
# """
# Generate derived information
# Should be called last
# """
# return {
# 'miscellaneous': {
# 'number-of-layers':
# int( data['layout-matrices']['_kb_layout']['length']/(6*14) ),
# # because 6*14 is the number of bytes/layer for '_kb_layout'
# # (which is a uint8_t matrix)
# },
# }

# -----------------------------------------------------------------------------

def parse_mapfile(map_file_path):
"""Parse 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 )
length = int( search.group(2), 16 )

search = re.search(r'0x\S+\s+(\S+)', next(f))
name = search.group(1)

return {
'keyboard-functions': {
name: {
'position': position,
'length': length,
},
},
}

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)

search = re.search(r'(0x\S+)\s+(0x\S+)', next(f))
position = int( search.group(1), 16 )
length = int( search.group(2), 16 )

return {
'layout-matrices': {
name: {
'position': position,
'length': length,
},
},
}

# --- parse_mapfile() ---

# normalize paths
map_file_path = os.path.abspath(map_file_path)
# check paths
if not os.path.exists(map_file_path):
raise ValueError("invalid 'map_file_path' given")

output = {}

f = open(map_file_path)

for line in f:
if re.search(r'^\s*\.text\.kbfun_', line):
dict_merge(output, parse_keyboard_function(f, line))
elif re.search(r'^\s*\.progmem\.data.*layout', line):
dict_merge(output, parse_layout_matrices(f, line))

return output
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"""
#
# search = re.search(r'(0x\S+)\s+(0x\S+)', next(f))
# 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)
#
# return {
# 'keyboard-functions': {
# name: {
# 'position': position,
# 'length': length,
# },
# },
# }
#
# 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)
#
# search = re.search(r'(0x\S+)\s+(0x\S+)', next(f))
# position = int( search.group(1), 16 )
# length = int( search.group(2), 16 )
#
# return {
# 'layout-matrices': {
# name: {
# 'position': position,
# 'length': length,
# },
# },
# }
#
# # --- parse_mapfile() ---
#
# # normalize paths
# map_file_path = os.path.abspath(map_file_path)
# # check paths
# if not os.path.exists(map_file_path):
# raise ValueError("invalid 'map_file_path' given")
#
# output = {}
#
# f = open(map_file_path)
#
# for line in f:
# if re.search(r'^\s*\.text\.kbfun_', line):
# dict_merge(output, parse_keyboard_function(f, line))
# elif re.search(r'^\s*\.progmem\.data.*layout', line):
# dict_merge(output, parse_layout_matrices(f, line))
#
# return output


def find_keyboard_functions(source_code_path):
Expand Down

0 comments on commit 56eb616

Please sign in to comment.