Skip to content

Commit 6be86d6

Browse files
Merge #598
598: [scripts/makehtml] Add register map r=adamgreig a=maximeborges This pull request adds a "Show register map" button for each peripheral in the HTML peripheral coverage for getting a quick overview of all the fields. ![image](https://user-images.githubusercontent.com/159235/129932120-65f5cdde-edad-4604-8506-9160621abcc6.png) Co-authored-by: Maxime <contact@maximeborg.es>
2 parents dd80b13 + 0480027 commit 6be86d6

File tree

1 file changed

+49
-4
lines changed

1 file changed

+49
-4
lines changed

scripts/makehtml.template.html

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,22 @@
2222
border: solid 1px #eee;
2323
margin-bottom: 3px;
2424
}
25-
.registers {
25+
.registers,
26+
.register-map {
2627
display: none;
2728
}
2829
.bitfield td, .bitfield th {
2930
text-align: center;
3031
}
32+
.vertical {
33+
padding: 5px 0 !important;
34+
vertical-align: middle !important;
35+
text-align: center;
36+
text-align: -webkit-center;
37+
}
38+
.vertical div {
39+
writing-mode: vertical-lr;
40+
}
3141
.doccol {
3242
color: rgb(92, 184, 92);
3343
}
@@ -115,8 +125,40 @@ <h3>
115125
{{ peripheral.fields_documented }}/{{peripheral.fields_total }}
116126
fields covered.
117127
</em>
118-
<a class=toggle-registers href=#>Toggle Registers</a>.
128+
<a class=toggle-registers href=#>Toggle Registers</a>
119129
</p>
130+
<p><a class=toggle-register-map href=#>Show register map</a></p>
131+
<div class="register-map" id="{{ pname }}-register-map">
132+
<table class="table table-bordered register-map-table">
133+
<tr>
134+
<th>Offset</th>
135+
<th>Name</th>
136+
{% for i in range(31, -1, -1) %}
137+
<th class=vertical><div>{{ i }}</div></th>
138+
{% endfor %}
139+
</tr>
140+
{% for _, register in peripheral.registers|dictsort %}
141+
<tr>
142+
<td>{{ register.offset }}</td>
143+
<td>{{ register.name }}</td>
144+
{% for row in register.table %}
145+
{% for field in row.fields %}
146+
{% if not field.name %}
147+
{% for _ in range(field.width) %}
148+
<td {% if field.separated %}class=separated{% endif %}></td>
149+
{% endfor %}
150+
{% endif %}
151+
{% if field.name %}
152+
<td colspan={{ field.width }} class="vertical{% if field.separated %} separated{% endif %}">
153+
<div><a class="fieldlink" href="#{{ pname }}:{{ register.name }}:{{ field.name }}">{{ field.name }}</a></div>
154+
</td>
155+
{% endif %}
156+
{% endfor %}
157+
{% endfor %}
158+
</tr>
159+
{% endfor %}
160+
</table>
161+
</div>
120162
<div class="container registers" id="{{ pname }}-registers">
121163
{% for _, register in peripheral.registers|dictsort %}
122164
<div class=row>
@@ -169,7 +211,7 @@ <h4>
169211
</tr>
170212
{% endfor %}
171213
</table>
172-
<a href=# class=toggle-fields>Toggle Fields</a>.
214+
<a href=# class=toggle-fields>Toggle Fields</a>
173215
</div>
174216
</div>
175217
</div>
@@ -216,6 +258,10 @@ <h4>
216258
$(this).parent().siblings(".registers").toggle();
217259
e.preventDefault();
218260
});
261+
$('.toggle-register-map').click(function(e) {
262+
$(this).parent().siblings(".register-map").toggle();
263+
e.preventDefault();
264+
});
219265
$('#show-all-registers').click(function(e) {
220266
$('.registers').show();
221267
e.preventDefault();
@@ -238,7 +284,6 @@ <h4>
238284
var register = parts[1];
239285
$('#' + peripheral + '-registers').show(0, function() {
240286
if(parts.length == 3) {
241-
console.log("parts.length == 3");
242287
$('#' + peripheral + '-' + register + '-fields').show(0, function() {
243288
window.location.hash = hash;
244289
});

0 commit comments

Comments
 (0)