From 17718b0008dfff5e62b4d761ef5cc6da1d65a460 Mon Sep 17 00:00:00 2001 From: hadaq Date: Tue, 27 Aug 2024 10:57:03 +0200 Subject: [PATCH] add script to ping power boards --- helperscripts/MDC.pm | 1 + helperscripts/MDCPower.pm | 1 + helperscripts/powerboard_ping_loop.pl | 22 ++++++++++++++++++++++ scripts/MDCPower.pm | 12 ++++++++++++ 4 files changed, 36 insertions(+) create mode 120000 helperscripts/MDC.pm create mode 120000 helperscripts/MDCPower.pm create mode 100755 helperscripts/powerboard_ping_loop.pl diff --git a/helperscripts/MDC.pm b/helperscripts/MDC.pm new file mode 120000 index 0000000..1ab6d9a --- /dev/null +++ b/helperscripts/MDC.pm @@ -0,0 +1 @@ +../scripts/MDC.pm \ No newline at end of file diff --git a/helperscripts/MDCPower.pm b/helperscripts/MDCPower.pm new file mode 120000 index 0000000..efbd8bc --- /dev/null +++ b/helperscripts/MDCPower.pm @@ -0,0 +1 @@ +../scripts/MDCPower.pm \ No newline at end of file diff --git a/helperscripts/powerboard_ping_loop.pl b/helperscripts/powerboard_ping_loop.pl new file mode 100755 index 0000000..dc2bf15 --- /dev/null +++ b/helperscripts/powerboard_ping_loop.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl -w +use warnings; +no warnings "portable"; +use Getopt::Long; +use Data::Dumper; +use Time::HiRes qw(usleep); +use lib '.'; +use MDC; +use MDCPower; +no warnings 'numeric'; + + +while(1){ + +foreach my $p (0..3){ + foreach my $s (0..5) { + MDCPower::power_ping(MDC::get_address($p,$s,0,5)); + } +} + +sleep 30; +} diff --git a/scripts/MDCPower.pm b/scripts/MDCPower.pm index 5c8ff15..64fdfad 100644 --- a/scripts/MDCPower.pm +++ b/scripts/MDCPower.pm @@ -22,6 +22,18 @@ my $powerboard_registers = { 'vout' => 7, 'volt' => 7, 'voltage' => 7 }; +############################################################################### +#ping a power board +############################################################################### +sub power_ping { + my ($addr) = @_; + + my ($host,$board,$outp) = MDC::get_power_output($addr); +# print "$addr $host\n"; + return if $host eq "-1"; + system("ping -c 1 -W 1 $host"); + + } ############################################################################### #set the voltage for a given board and channel. -- 2.43.0