}
my $pins;
+my $include = 0;
my $model = slurp('/proc/device-tree/model');
$model =~ s/\x00$//; # strip kernel NULL
warn "# model [$model]";
+if ( $opt_pins ) {
+ $model = $opt_pins;
+ $model =~ s/^.*\///; # strip dir
+ $model =~ s/\..+$//; # strip extension
+ $include = 1;
+ warn "# $opt_pins model [$model] $include";
+}
+warn "# $opt_pins model [$model] $include";
OPEN_PINS_AGAIN:
open(DATA, '<', $opt_pins) if $opt_pins;
my @lines;
my $line_i = 0;
-my $include = 0;
while(<DATA>) {
chomp;
if ( m/^#\s(.+)/ ) {
- warn "MODEL [$1] == [$model] ?\n";
if ( $model =~ m/$1/ ) {
$include = 1;
} else {
$include = 0;
}
- } elsif ( $include || $opt_pins ) {
+ warn "MODEL [$1] == [$model] include: $include\n";
+ } elsif ( $include ) {
push @{ $pins->{$1} }, $line_i while ( m/\t\s*(\w+\d+)/g );
push @lines, $_;
while(<$pio>) {
chomp;
if ( m/^\s*GPIO (\d+): (.+)/ ) {
- my $pin = 'gpio' . $1;
+ my $pin = 'gpio' . $1 * 1; # we need * 1 to strip leading zero
push @gpio_pins, $1;
annotate_pin $pin, $2 if ! $opt_svg;
}