--- /dev/null
+#!/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);
+ }
+}