# HG changeset patch # User Florian Pose # Date 1157964761 0 # Node ID 277de5572f99c3887be5c1ccb86fa198ef1fc2ed # Parent 4bdc4f2e1a93dd35522b9f31671b6dc76f1aa8b2 Coupler information in slave info file, lines in lsec. diff -r 4bdc4f2e1a93 -r 277de5572f99 master/slave.c --- a/master/slave.c Fri Sep 08 12:51:04 2006 +0000 +++ b/master/slave.c Mon Sep 11 08:52:41 2006 +0000 @@ -530,8 +530,10 @@ off += ec_state_string(slave->current_state, buffer + off); off += sprintf(buffer + off, "\nRing position: %i\n", slave->ring_position); - off += sprintf(buffer + off, "Advanced position: %i:%i\n\n", + off += sprintf(buffer + off, "Advanced position: %i:%i\n", slave->coupler_index, slave->coupler_subindex); + off += sprintf(buffer + off, "Coupler: %s\n\n", + ec_slave_is_coupler(slave) ? "yes" : "no"); off += sprintf(buffer + off, "Data link status:\n"); for (i = 0; i < 4; i++) { diff -r 4bdc4f2e1a93 -r 277de5572f99 script/lsec.pl --- a/script/lsec.pl Fri Sep 08 12:51:04 2006 +0000 +++ b/script/lsec.pl Mon Sep 11 08:52:41 2006 +0000 @@ -37,20 +37,45 @@ # #------------------------------------------------------------------------------ +require 'sys/ioctl.ph'; + use strict; use Getopt::Std; my $master_index; my $master_dir; +my $term_width; #------------------------------------------------------------------------------ +$term_width = &get_terminal_width; &get_options; &query_master; exit 0; #------------------------------------------------------------------------------ +sub get_terminal_width +{ + my $winsize; + die "no TIOCGWINSZ " unless defined &TIOCGWINSZ; + open(TTY, "+{'state'} = $1; } + elsif ($line =~ /^Coupler: ([a-z]+)$/) { + $slave->{'coupler'} = $1; + } } close INFO; @@ -106,10 +134,11 @@ print "EtherCAT bus listing for master $master_index:\n"; for $slave (@slaves) { - $abs = sprintf "%i", $slave->{'ring_position'}; - printf(" %3s %8s %-6s %s\n", - $abs, $slave->{'advanced_position'}, - $slave->{'state'}, $slave->{'name'}); + print_line if $slave->{'coupler'} eq "yes"; + $abs = sprintf "%i", $slave->{'ring_position'}; + printf(" %3s %8s %-6s %s\n", + $abs, $slave->{'advanced_position'}, + $slave->{'state'}, $slave->{'name'}); } }