projects
/
x300-pci
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
display io and offset for p command
[x300-pci]
/
gpio.pl
diff --git
a/gpio.pl
b/gpio.pl
index
e1d8215
..
078e63f
100755
(executable)
--- a/
gpio.pl
+++ b/
gpio.pl
@@
-22,6
+22,11
@@
foreach my $pin_file ( glob 'pins/bcm-*.tsv' ) {
warn "# $pin_file ",dump($bcm_desc);
}
warn "# $pin_file ",dump($bcm_desc);
}
+sub add_bcm_desc {
+ my ( $pin, $desc ) = @_;
+ $bcm_desc->{$pin} = $desc;
+}
+
sub pins {
my @pcf = `gpio -x pcf8591:120:0x48 readall`;
sub pins {
my @pcf = `gpio -x pcf8591:120:0x48 readall`;
@@
-39,13
+44,14
@@
foreach (@gpio) {
s/([ \d]{2})(...GPIO.)../$1$2$1/;
s/(GPIO.)..(...)(\s*\d+)/$1$3$2$3/;
s/([ \d]{2})(...GPIO.)../$1$2$1/;
s/(GPIO.)..(...)(\s*\d+)/$1$3$2$3/;
- my $line = substr($_,0,29) . substr($_,39);
- $line .= shift @pcf || '';
+ my $line = substr($_,0,29) . ' ' . substr($_,39);
+ if ( my $add = shift @pcf ) {
+ $line .= ' ' . $add;
+ }
chomp $line;
my @l = split(/\|/, $line);
my @o = split(/\|/, $last[$i] || '');
chomp $line;
my @l = split(/\|/, $line);
my @o = split(/\|/, $last[$i] || '');
- $last[$i] = $line;
if ( $#l >= 9 ) {
no warnings;
if ( $#l >= 9 ) {
no warnings;
@@
-66,10
+72,14
@@
foreach (@gpio) {
}
}
}
}
- $line = join('|', @l) . "|";
+ $last[$i] = $line;
+ $i++;
+
+ # re-create from modified data
+ $line = join('|', @l);
+ $line .= "|" unless $line =~ m/\+$/;
print "$line\n";
print "$line\n";
- $i++;
}
#warn "# mode = ", dump($mode);
}
#warn "# mode = ", dump($mode);
@@
-96,6
+106,8
@@
sub cmd {
warn "# pin $pin ", $v;
$v ^= 1;
system "gpio -g write $pin $v";
warn "# pin $pin ", $v;
$v ^= 1;
system "gpio -g write $pin $v";
+ } elsif ( $cmd =~ m/^gpio\s+(.+)/ ) {
+ system "gpio -g $1";
}
}
}
}