|
22 | 22 | border: solid 1px #eee;
|
23 | 23 | margin-bottom: 3px;
|
24 | 24 | }
|
25 |
| -.registers { |
| 25 | +.registers, |
| 26 | +.register-map { |
26 | 27 | display: none;
|
27 | 28 | }
|
28 | 29 | .bitfield td, .bitfield th {
|
29 | 30 | text-align: center;
|
30 | 31 | }
|
| 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 | +} |
31 | 41 | .doccol {
|
32 | 42 | color: rgb(92, 184, 92);
|
33 | 43 | }
|
@@ -115,8 +125,40 @@ <h3>
|
115 | 125 | {{ peripheral.fields_documented }}/{{peripheral.fields_total }}
|
116 | 126 | fields covered.
|
117 | 127 | </em>
|
118 |
| - <a class=toggle-registers href=#>Toggle Registers</a>. |
| 128 | + <a class=toggle-registers href=#>Toggle Registers</a> |
119 | 129 | </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> |
120 | 162 | <div class="container registers" id="{{ pname }}-registers">
|
121 | 163 | {% for _, register in peripheral.registers|dictsort %}
|
122 | 164 | <div class=row>
|
|
169 | 211 | </tr>
|
170 | 212 | {% endfor %}
|
171 | 213 | </table>
|
172 |
| - <a href=# class=toggle-fields>Toggle Fields</a>. |
| 214 | + <a href=# class=toggle-fields>Toggle Fields</a> |
173 | 215 | </div>
|
174 | 216 | </div>
|
175 | 217 | </div>
|
@@ -216,6 +258,10 @@ <h4>
|
216 | 258 | $(this).parent().siblings(".registers").toggle();
|
217 | 259 | e.preventDefault();
|
218 | 260 | });
|
| 261 | + $('.toggle-register-map').click(function(e) { |
| 262 | + $(this).parent().siblings(".register-map").toggle(); |
| 263 | + e.preventDefault(); |
| 264 | + }); |
219 | 265 | $('#show-all-registers').click(function(e) {
|
220 | 266 | $('.registers').show();
|
221 | 267 | e.preventDefault();
|
|
238 | 284 | var register = parts[1];
|
239 | 285 | $('#' + peripheral + '-registers').show(0, function() {
|
240 | 286 | if(parts.length == 3) {
|
241 |
| - console.log("parts.length == 3"); |
242 | 287 | $('#' + peripheral + '-' + register + '-fields').show(0, function() {
|
243 | 288 | window.location.hash = hash;
|
244 | 289 | });
|
|
0 commit comments