Skip to content

Commit e664fe2

Browse files
Merge #591
591: [scripts/makehtml] Fix displaying of registers with the same addressOffset and parsing of addressOffset r=adamgreig a=maximeborges This pull request fix two bugs in the `makehtml.py` script: - When parsing the addressOffset value, the value is parsed as base16 even if it's in base10. - When two registers have the same addressOffset, one of the two is suppressed The first bug is fixed by checking if the addressOffset starts with `0x` to parse from base16, or parse from base10 by default (when a register is generated from a patch). The second bug is fixed by changing the index used for the list of registers from the addressOffset to the register name. Co-authored-by: Maxime Borges <contact@maximeborg.es> Co-authored-by: Maxime BORGES <contact@maximeborg.es> Co-authored-by: Maxime <contact@maximeborg.es>
2 parents fc1e70a + 3ba0aaa commit e664fe2

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

scripts/makehtml.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def parse_device(svdfile):
6969
rdesc = rtag.findtext('description')
7070
rrstv = rtag.findtext('resetValue')
7171
raccs = rtag.findtext('access') or "Unspecified"
72-
roffset = int(rtag.findtext('addressOffset'), 16)
72+
roffset = int(rtag.findtext('addressOffset'), 0)
7373
for ftag in rtag.iter('field'):
7474
register_fields_total += 1
7575
fname = ftag.findtext('name')
@@ -146,14 +146,14 @@ def parse_device(svdfile):
146146
# Bodge to prevent /0 when there are no fields in a register
147147
if register_fields_total == 0:
148148
register_fields_total = 1
149-
registers[roffset] = {"name": rname,
150-
"offset": "0x{:X}".format(roffset),
151-
"description": rdesc, "resetValue": rrstv,
152-
"access": raccs, "fields": fields,
153-
"table": table,
154-
"fields_total": register_fields_total,
155-
"fields_documented":
156-
register_fields_documented}
149+
registers[(roffset, rname)] = {"name": rname,
150+
"offset": "0x{:X}".format(roffset),
151+
"description": rdesc, "resetValue": rrstv,
152+
"access": raccs, "fields": fields,
153+
"table": table,
154+
"fields_total": register_fields_total,
155+
"fields_documented":
156+
register_fields_documented}
157157
peripheral_fields_total += register_fields_total
158158
peripheral_fields_documented += register_fields_documented
159159
peripherals[pname] = {"name": pname, "base": pbase,

scripts/makehtml.template.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ <h3>
118118
<a class=toggle-registers href=#>Toggle Registers</a>.
119119
</p>
120120
<div class="container registers" id="{{ pname }}-registers">
121-
{% for roffset, register in peripheral.registers|dictsort %}
121+
{% for _, register in peripheral.registers|dictsort %}
122122
<div class=row>
123123
<div class="col-sm-11 register">
124124
<h4>

0 commit comments

Comments
 (0)