diff --git a/src/peakrdl_html/exporter.py b/src/peakrdl_html/exporter.py
index dc545b7..2c5cdb7 100755
--- a/src/peakrdl_html/exporter.py
+++ b/src/peakrdl_html/exporter.py
@@ -51,6 +51,8 @@ def __init__(self, **kwargs: 'Any') -> None:
table in the node's description.
Use this to bring forward user-defined properties, or other built-in
properties in your documentation.
+ rdl_name_in_sidebar: bool
+ Use systemRDL name property in sidebar instead of instance name (if available). Default is False
"""
self.output_dir = "" # type: str
self.RALData = [] # type: List[Dict[str, Any]]
@@ -70,6 +72,7 @@ def __init__(self, **kwargs: 'Any') -> None:
self.generate_source_links = kwargs.pop("generate_source_links", True)
gmtu_translators = kwargs.pop("gitmetheurl_translators", None)
user_template_dir = kwargs.pop("user_template_dir", None)
+ self.rdl_name_in_sidebar = kwargs.pop("rdl_name_in_sidebar", False)
# Check for stray kwargs
if kwargs:
@@ -196,10 +199,17 @@ def visit_addressable_node(self, node: Node, parent_id: 'Optional[int]'=None) ->
self.indexer.add_node(node, this_id)
+ # Set display name based on user input and presence of name property
+ if self.rdl_name_in_sidebar:
+ display_name = node.get_property('name', default=node.inst.inst_name)
+ else:
+ display_name = node.inst.inst_name
+
ral_entry = {
'parent' : parent_id,
'children' : child_ids,
'name' : node.inst.inst_name,
+ 'display' : display_name,
'offset' : BigInt(node.inst.addr_offset),
'size' : BigInt(node.size),
}
diff --git a/src/peakrdl_html/static/js/sidebar.js b/src/peakrdl_html/static/js/sidebar.js
index 166d760..43596b0 100644
--- a/src/peakrdl_html/static/js/sidebar.js
+++ b/src/peakrdl_html/static/js/sidebar.js
@@ -145,13 +145,13 @@ class Sidebar {
link.className = "node-link";
link.onclick = onClickTreeLink;
if(RAL.is_array(id)){
- var txt = node.name;
+ var txt = node.display;
for(var i=0; i