]> jspc29.x-matter.uni-frankfurt.de Git - hades_mdc_settings.git/commitdiff
add basic script for checking voltages
authorJan Michel <michel@physik.uni-frankfurt.de>
Wed, 11 Jan 2023 11:14:17 +0000 (12:14 +0100)
committerJan Michel <michel@physik.uni-frankfurt.de>
Wed, 11 Jan 2023 11:14:17 +0000 (12:14 +0100)
scripts/check_voltages.pl [new file with mode: 0755]

diff --git a/scripts/check_voltages.pl b/scripts/check_voltages.pl
new file mode 100755 (executable)
index 0000000..fe070b0
--- /dev/null
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+
+use warnings;
+no warnings "portable";
+use FileHandle;
+use Getopt::Long;
+use Data::Dumper;
+use HADES::TrbNet;
+
+
+trb_init_ports() or die trb_strerror();
+
+
+
+
+my $values = trb_register_read_mem(0xfe90,0xd488,0,4);
+
+my $stepsize = 200;
+my $headroom = 200;
+my @nominal = (1100,3300);
+print("Suggested changes to voltage settings:\n");
+print("Board\tActual\tChannel\tChange\n"); 
+foreach my $b (sort keys %{$values}) {
+  my $value = $values->{$b}[0] / 16;
+  my $diff = $value - $nominal[0];
+  if($diff > $headroom+$stepsize) {
+    my $sugg = $diff/$stepsize ;
+    printf("%04x\t%i\t%i\t%i\n",$b,$value,1,-$sugg);
+    }
+  if($diff < $headroom) {
+    my $sugg = ($diff+$headroom)/$stepsize;
+    printf("%04x\t%i\t%i\t%i\n",$b,$value,1,$sugg);
+    }
+}
+
+foreach my $b (sort keys %{$values}) {
+  my $value = $values->{$b}[2] / 16;
+  my $diff = $value - $nominal[1];
+  if($diff > $headroom+$stepsize) {
+    my $sugg = $diff/$stepsize ;
+    printf("%04x\t%i\t%i\t%i\n",$b,$value,0,-$sugg);
+    }
+  if($diff < $headroom) {
+    my $sugg = ($diff+$headroom)/$stepsize;
+    printf("%04x\t%i\t%i\t%i\n",$b,$value,0,$sugg);
+    }
+}