script/ec_list.pl
changeset 257 291019811648
parent 250 440ae5f6d2c3
child 258 7d46b83e3175
equal deleted inserted replaced
256:dc71aee17f8a 257:291019811648
    40 use strict;
    40 use strict;
    41 use Getopt::Std;
    41 use Getopt::Std;
    42 
    42 
    43 my $master_index;
    43 my $master_index;
    44 my $master_dir;
    44 my $master_dir;
       
    45 my $show_sii_desc;
    45 
    46 
    46 #------------------------------------------------------------------------------
    47 #------------------------------------------------------------------------------
    47 
    48 
    48 &get_options;
    49 &get_options;
    49 &query_master;
    50 &query_master;
    83 	$slave = {};
    84 	$slave = {};
    84 	$slave->{'ring_position'} =
    85 	$slave->{'ring_position'} =
    85 	    &read_integer("$slave_dir/ring_position");
    86 	    &read_integer("$slave_dir/ring_position");
    86 	$slave->{'coupler_address'} =
    87 	$slave->{'coupler_address'} =
    87 	    &read_string("$slave_dir/coupler_address");
    88 	    &read_string("$slave_dir/coupler_address");
    88 	$slave->{'vendor_name'} =
    89 	unless ($show_sii_desc) {
    89 	    &read_string("$slave_dir/vendor_name");
    90 	    $slave->{'vendor_name'} =
    90 	$slave->{'product_name'} =
    91 		&read_string("$slave_dir/vendor_name");
    91 	    &read_string("$slave_dir/product_name");
    92 	    $slave->{'product_name'} =
    92 	$slave->{'product_desc'} =
    93 		&read_string("$slave_dir/product_name");
    93 	    &read_string("$slave_dir/product_desc");
    94 	    $slave->{'product_desc'} =
       
    95 		&read_string("$slave_dir/product_desc");
       
    96 	}
       
    97 	else {
       
    98 	    $slave->{'sii_desc'} =
       
    99 		&read_string("$slave_dir/sii_desc");
       
   100 	}
    94 	$slave->{'type'} =
   101 	$slave->{'type'} =
    95 	    &read_string("$slave_dir/type");
   102 	    &read_string("$slave_dir/type");
    96 
   103 
    97 	push @slaves, $slave;
   104 	push @slaves, $slave;
    98     }
   105     }
   105 	if ($slave->{'type'} eq "coupler") {
   112 	if ($slave->{'type'} eq "coupler") {
   106 	    print "--------------------------------------------------------\n";
   113 	    print "--------------------------------------------------------\n";
   107 	}
   114 	}
   108 
   115 
   109 	$abs = sprintf "%i", $slave->{'ring_position'};
   116 	$abs = sprintf "%i", $slave->{'ring_position'};
   110 	printf(" %3s %8s   %-12s %-10s %s\n", $abs,
   117 	printf(" %3s %8s   ", $abs, $slave->{'coupler_address'});
   111 	       $slave->{'coupler_address'}, $slave->{'vendor_name'},
   118 	unless ($show_sii_desc) {
   112 	       $slave->{'product_name'}, $slave->{'product_desc'});
   119 	    printf("%-12s %-10s %s\n", $slave->{'vendor_name'},
       
   120 		   $slave->{'product_name'}, $slave->{'product_desc'});
       
   121 	}
       
   122 	else {
       
   123 	    printf("%s\n", $slave->{'sii_desc'});
       
   124 	}
   113     }
   125     }
   114 }
   126 }
   115 
   127 
   116 #------------------------------------------------------------------------------
   128 #------------------------------------------------------------------------------
   117 
   129 
   149 sub get_options
   161 sub get_options
   150 {
   162 {
   151     my %opt;
   163     my %opt;
   152     my $optret;
   164     my $optret;
   153 
   165 
   154     $optret = getopts "m:h", \%opt;
   166     $optret = getopts "m:sh", \%opt;
   155 
   167 
   156     &print_usage if defined $opt{'h'} or $#ARGV > -1;
   168     &print_usage if defined $opt{'h'} or $#ARGV > -1 or !$optret;
   157 
   169 
   158     if (defined $opt{'m'}) {
   170     if (defined $opt{'m'}) {
   159 	$master_index = $opt{'m'};
   171 	$master_index = $opt{'m'};
   160     }
   172     }
   161     else {
   173     else {
   162 	$master_index = 0;
   174 	$master_index = 0;
   163     }
   175     }
       
   176 
       
   177     $show_sii_desc = defined $opt{'s'};
   164 }
   178 }
   165 
   179 
   166 #------------------------------------------------------------------------------
   180 #------------------------------------------------------------------------------
   167 
   181 
   168 sub print_usage
   182 sub print_usage
   169 {
   183 {
   170     print "Usage: ec_list [OPTIONS]\n";
   184     print "Usage: ec_list [OPTIONS]\n";
   171     print "        -m <IDX>    Query master IDX.\n";
   185     print "        -m <IDX>    Query master <IDX>.\n";
       
   186     print "        -s          Show SII slave description instead of";
       
   187     print " vendor/product/description.\n";
   172     print "        -h          Show this help.\n";
   188     print "        -h          Show this help.\n";
   173     exit 0;
   189     exit 0;
   174 }
   190 }
   175 
   191 
   176 #------------------------------------------------------------------------------
   192 #------------------------------------------------------------------------------