Skip to content
Snippets Groups Projects
Commit e9676bfd authored by Florian Pose's avatar Florian Pose
Browse files

Coupler information in slave info file, lines in lsec.

parent 1eb49525
No related branches found
No related tags found
No related merge requests found
...@@ -530,8 +530,10 @@ size_t ec_slave_info(const ec_slave_t *slave, /**< EtherCAT slave */ ...@@ -530,8 +530,10 @@ size_t ec_slave_info(const ec_slave_t *slave, /**< EtherCAT slave */
off += ec_state_string(slave->current_state, buffer + off); off += ec_state_string(slave->current_state, buffer + off);
off += sprintf(buffer + off, "\nRing position: %i\n", off += sprintf(buffer + off, "\nRing position: %i\n",
slave->ring_position); 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); 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"); off += sprintf(buffer + off, "Data link status:\n");
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
......
...@@ -37,20 +37,45 @@ ...@@ -37,20 +37,45 @@
# #
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
require 'sys/ioctl.ph';
use strict; use strict;
use Getopt::Std; use Getopt::Std;
my $master_index; my $master_index;
my $master_dir; my $master_dir;
my $term_width;
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
$term_width = &get_terminal_width;
&get_options; &get_options;
&query_master; &query_master;
exit 0; exit 0;
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
sub get_terminal_width
{
my $winsize;
die "no TIOCGWINSZ " unless defined &TIOCGWINSZ;
open(TTY, "+</dev/tty") or die "No tty: $!";
unless (ioctl(TTY, &TIOCGWINSZ, $winsize='')) {
die sprintf "$0: ioctl TIOCGWINSZ (%08x: $!)\n", &TIOCGWINSZ;
}
(my $row, my $col, my $xpixel, my $ypixel) = unpack('S4', $winsize);
return $col;
}
#------------------------------------------------------------------------------
sub print_line
{
for (my $i = 0; $i < $term_width; $i++) {print "-";}
print "\n";
}
#------------------------------------------------------------------------------
sub query_master sub query_master
{ {
$master_dir = "/sys/ethercat" . $master_index; $master_dir = "/sys/ethercat" . $master_index;
...@@ -94,6 +119,9 @@ sub query_slaves ...@@ -94,6 +119,9 @@ sub query_slaves
elsif ($line =~ /^State: (.+)$/) { elsif ($line =~ /^State: (.+)$/) {
$slave->{'state'} = $1; $slave->{'state'} = $1;
} }
elsif ($line =~ /^Coupler: ([a-z]+)$/) {
$slave->{'coupler'} = $1;
}
} }
close INFO; close INFO;
...@@ -106,10 +134,11 @@ sub query_slaves ...@@ -106,10 +134,11 @@ sub query_slaves
print "EtherCAT bus listing for master $master_index:\n"; print "EtherCAT bus listing for master $master_index:\n";
for $slave (@slaves) { for $slave (@slaves) {
$abs = sprintf "%i", $slave->{'ring_position'}; print_line if $slave->{'coupler'} eq "yes";
printf(" %3s %8s %-6s %s\n", $abs = sprintf "%i", $slave->{'ring_position'};
$abs, $slave->{'advanced_position'}, printf(" %3s %8s %-6s %s\n",
$slave->{'state'}, $slave->{'name'}); $abs, $slave->{'advanced_position'},
$slave->{'state'}, $slave->{'name'});
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment