'standalone' => \$opt->{standalone},
'wide|w' => \$opt->{wideformat},
'collapse' => \$opt->{collapse},
+ 'norepeat' => \$opt->{norepeat},
'dumpItem|d' => \$opt->{dumpItem}
);
alternating gray and white boxes
(default)
- --collapse Dont show extra field line, if a register contains
+ --collapse Don't show extra field line, if a register contains
only single field without description
+ --norepeat Summarize repeated registers instead of printing
+ every slice
+
--standalone generate standalone compilable latex file
--pdf compile directly to pdf (compiles twice)
}
for (my $i=0;$i<$repeat;$i++){
my $name_ = $name;
- if ($repeat > 1) {
- $name_ = $name.".$i";
- }
my $addr_ = $node->{address}+$i*$stepsize;
my $hexaddr = sprintf("%04x",$addr_ );
+
+ if ($repeat > 1) {
+ if ($self->{opt}->{norepeat}){
+ $name_ = $name.".0-".($repeat-1);
+ $hexaddr = sprintf("%04x...%04x", $addr_, $addr_ + $stepsize*($repeat-1));
+ } else {
+ $name_ = $name.".$i";
+ }
+ }
my $rw = $node->{mode};
if ($type eq 'register' || $type eq 'registerfield' || $type eq 'memory'){
#write register names bold
+# $name_ = '\textbf{'.$name_.'}'.'\\ \hfill('.$rw.')';
$name_ = '\textbf{'.$name_.'}'.'\hfill('.$rw.')';
}
if ($type eq 'field'){
addr_uint => $addr_,
description => $description
});
+
+ last if $self->{opt}->{norepeat};
+
}
}