From c8c56eabfee0b40079a474dc19c57063aea085ff Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Thu, 1 Jun 2023 14:01:37 +0200 Subject: [PATCH] few updates to power scripts --- scripts/MDCPower.pm | 8 +++++--- scripts/README.md | 4 ++-- scripts/mdc_voltage.pl | 28 ++++++++++++++++++++++------ scripts/testpb.pl | 16 ++++++++++++++++ 4 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 scripts/testpb.pl diff --git a/scripts/MDCPower.pm b/scripts/MDCPower.pm index 823fb60..8b4ab65 100644 --- a/scripts/MDCPower.pm +++ b/scripts/MDCPower.pm @@ -37,7 +37,9 @@ sub set_voltage { my ($host,$board,$outp) = MDC::get_power_output($addr); return -2 unless defined $host && $board >= 0 && $outp >= 0; - system("./mdc_powerboard.pl -d $host -b $board -o $outp -c $channel -r adjust -v $setting"); + #system("./mdc_powerboard.pl -d $host -b $board -o $outp -c $channel -r adjust -v $setting"); + $ret = powerboard_command($host,$board,$outp,$channel,'adjust',$setting); + print("Errorcode $ret\n") unless $ret == 1; store_voltage($addr,$channel,$setting) if $save; return 1; @@ -173,7 +175,7 @@ sub powerboard_command { if($rw eq 'W' && $answ == 0x00d1) { return 1; } - elsif($rw == 1) { + elsif($rw eq 'W') { return -10; } else { @@ -187,7 +189,7 @@ sub powerboard_command { $ret = ($answ&0xFFFF)*417/27*2.5/1000; } if($command == 3) { #Current - $ret = ($answ&0xFFF)/800.*2.5; # 800mV/A + $ret = ($answ&0xFFF)/500.*2.5; # 500mV/A } if($command == 4 && $board == -1) { #Temperature PD $ret = ($answ/100.); diff --git a/scripts/README.md b/scripts/README.md index 6aad49b..951bee4 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -16,8 +16,8 @@ * `pasttrec_baseline_finder.pl` basic baseline finder script ## Voltages -* `mdc_voltage.pl` set voltages and update voltage database file -* `mdc_powerboard.pl` send commands to MDC power board +* `mdc_voltage.pl` set voltages and update voltage database file, switches boards on/off, based on addresses +* `mdc_powerboard.pl` send commands to a MDC power board, based on raw device and channel numbers * `check_voltages.pl` reads voltages and suggests changes # Packages diff --git a/scripts/mdc_voltage.pl b/scripts/mdc_voltage.pl index f2e60a8..46c30c2 100755 --- a/scripts/mdc_voltage.pl +++ b/scripts/mdc_voltage.pl @@ -34,6 +34,25 @@ GetOptions( if($help) { print <