Skip to content

Commit

Permalink
Merge pull request #542 from d-m-bailey/gpio-fix
Browse files Browse the repository at this point in the history
Requires testing after merge.  Moving in DEV branch.
  • Loading branch information
DavidRLindley authored Feb 7, 2025
2 parents e15d71e + e82ddeb commit 3cacfea
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions scripts/gen_gpio_defaults.py
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,10 @@ def usage():

if os.path.isfile(user_defines_path):
with open(user_defines_path, 'r') as ifile:
infolines = ifile.read().splitlines()
for line in infolines:
raw_data = ifile.read()
comment_pattern = r'//.*|/\*[\s\S]*?\*/'
data_without_comments = re.sub(comment_pattern, '', raw_data)
for line in data_without_comments.splitlines():
tokens = line.split()
if len(tokens) >= 3:
if tokens[0] == '`define':
Expand Down Expand Up @@ -219,14 +221,24 @@ def usage():
print('No configuration specified for GPIO ' + str(i) + '; skipping.')
continue

valid_value = r"^13'h[0-9a-fA-F]{4}$"
value_match = re.match(valid_value, config_value)
if not value_match:
print('Error: Default value ' + config_value + ' is not a 4-digit hex number; skipping')
continue

try:
default_str = config_value[-4:]
binval = '{:013b}'.format(int(default_str, 16))
if len(binval) > 13:
print('Error: Default value ' + config_value + ' is not a 4-digit hex number; skipping')
continue

except:
print('Error: Default value ' + config_value + ' is not a 4-digit hex number; skipping')
continue

cell_name = 'gpio_defaults_block_' + default_str
cell_name = 'gpio_defaults_block_' + default_str.lower()
mag_file = magpath + '/' + cell_name + '.mag'
cellsused[i] = cell_name

Expand Down

0 comments on commit 3cacfea

Please sign in to comment.