]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
Add display of Power of DiRich
authorJan Michel <j.michel@gsi.de>
Thu, 27 Oct 2016 19:23:05 +0000 (21:23 +0200)
committerJan Michel <j.michel@gsi.de>
Thu, 27 Oct 2016 19:23:05 +0000 (21:23 +0200)
dmon/scripts/dmon_adcvolt.pl
tools/HPlot.pm

index bddbeea09dd406929aa8be5edea7be4033c5ee22..68f34c699fe1ece149e81d7a7f9b6c6c4fb9edc6 100755 (executable)
@@ -98,11 +98,35 @@ HPlot::PlotInit({
   bargap => 0.4,
   curvewidth => 1,
   });   
+
+HPlot::PlotInit({
+  name    => "PowerPower",
+  file    => Dmon::DMONDIR.'PowerPower',
+  curves  => 4,
+  entries => 20,
+  titles  => ['1.1V','1.2V','2.5V','3.3V'],
+  type    => HPlot::TYPE_BARGRAPH,
+  output  => HPlot::OUT_PNG,
+  xlabel  => "Board",
+  ylabel  => "Power (W)",
+  sizex   => 400,
+  sizey   => 200,
+  ymin    => '0',
+#   ymax    => '200<*',
+  countup => 1,
+  xscale  => 1,
+  nokey   => 0,
+  buffer  => 0,
+  bargap => 0.4,
+  curvewidth => 1,
+  stacked => 1,
+  });     
   
-my $str  = Dmon::MakeTitle(6,13,"DiRich Power",0);
-   $str .= qq@<img src="%ADDPNG DiRichVolt.png%" type="image/png"><br>\n@;
+my $str  = Dmon::MakeTitle(11,9,"DiRich Power",0);
+   $str .= qq@<img src="%ADDPNG DiRichVolt.png%" type="image/png">\n@;
    $str .= qq@<img src="%ADDPNG PowerVolt.png%" type="image/png"><br>\n@;
    $str .= qq@<img src="%ADDPNG PowerCurr.png%" type="image/png">\n@;
+   $str .= qq@<img src="%ADDPNG PowerPower.png%" type="image/png">\n@;
    $str .= Dmon::MakeFooter();
 Dmon::WriteFile("adcvolt",$str);  
 
@@ -181,34 +205,44 @@ while(1) {
   HPlot::PlotLimitEntries('PowerCurr',(scalar keys %{$ret->[4][0]}));
   HPlot::PlotDraw('PowerCurr');  
 
+  foreach my $m (keys %{$ret->[4][0]}) {
+    HPlot::PlotAdd('PowerPower',$ret->[4][0]{$m} * $ret->[3][3]{$m}/1e6,0);
+    HPlot::PlotAdd('PowerPower',$ret->[4][1]{$m} * $ret->[3][2]{$m}/1e6,1);
+    HPlot::PlotAdd('PowerPower',$ret->[4][2]{$m} * $ret->[3][1]{$m}/1e6,2);
+    HPlot::PlotAdd('PowerPower',$ret->[4][3]{$m} * $ret->[3][0]{$m}/1e6,3);
+    }    
+  HPlot::PlotLimitEntries('PowerPower',(scalar keys %{$ret->[4][0]}));
+  HPlot::PlotDraw('PowerPower');  
+  
+  
 
   my @min; my @max;
-  $min[0] = min(values $ret->[1][0], values $ret->[2][0]);
-  $min[1] = min(values $ret->[1][1], values $ret->[2][1]);
-  $min[2] = min(values $ret->[2][2]);
-  $min[3] = min(values $ret->[1][2]);
-  $max[0] = max(values $ret->[1][0], values $ret->[2][0]);
-  $max[1] = max(values $ret->[1][1], values $ret->[2][1]);
-  $max[2] = max(values $ret->[2][2]);
-  $max[3] = max(values $ret->[1][2]);    
+  $min[0] = min(values %{$ret->[1][0]}, values %{$ret->[2][0]});
+  $min[1] = min(values %{$ret->[1][1]}, values %{$ret->[2][1]});
+  $min[2] = min(values %{$ret->[2][2]});
+  $min[3] = min(values %{$ret->[1][2]});
+  $max[0] = max(values %{$ret->[1][0]}, values %{$ret->[2][0]});
+  $max[1] = max(values %{$ret->[1][1]}, values %{$ret->[2][1]});
+  $max[2] = max(values %{$ret->[2][2]});
+  $max[3] = max(values %{$ret->[1][2]});    
   
-  $min[10] = min(values $ret->[3][0]);
-  $min[11] = min(values $ret->[3][1]);
-  $min[12] = min(values $ret->[3][2]);
-  $min[13] = min(values $ret->[3][3]);
-  $max[10] = max(values $ret->[3][0]);
-  $max[11] = max(values $ret->[3][1]);
-  $max[12] = max(values $ret->[3][2]);
-  $max[13] = max(values $ret->[3][3]);    
-
-  $min[20] = min(values $ret->[4][0]);
-  $min[21] = min(values $ret->[4][1]);
-  $min[22] = min(values $ret->[4][2]);
-  $min[23] = min(values $ret->[4][3]);
-  $max[20] = max(values $ret->[4][0]);
-  $max[21] = max(values $ret->[4][1]);
-  $max[22] = max(values $ret->[4][2]);
-  $max[23] = max(values $ret->[4][3]);    
+  $min[10] = min(values %{$ret->[3][0]});
+  $min[11] = min(values %{$ret->[3][1]});
+  $min[12] = min(values %{$ret->[3][2]});
+  $min[13] = min(values %{$ret->[3][3]});
+  $max[10] = max(values %{$ret->[3][0]});
+  $max[11] = max(values %{$ret->[3][1]});
+  $max[12] = max(values %{$ret->[3][2]});
+  $max[13] = max(values %{$ret->[3][3]});    
+
+  $min[20] = min(values %{$ret->[4][0]});
+  $min[21] = min(values %{$ret->[4][1]});
+  $min[22] = min(values %{$ret->[4][2]});
+  $min[23] = min(values %{$ret->[4][3]});
+  $max[20] = max(values %{$ret->[4][0]});
+  $max[21] = max(values %{$ret->[4][1]});
+  $max[22] = max(values %{$ret->[4][2]});
+  $max[23] = max(values %{$ret->[4][3]});    
   
   
   $longtext = "Voltage Rail: FPGA / Powerboard<br>"
@@ -273,4 +307,4 @@ while(1) {
   
   sleep 2;
 }
-  
\ No newline at end of file
+  
index fd301fde030b806322265ae18591948f1ed4ca14..565dcff7b0322144252f080f73a1af75f82948f9 100755 (executable)
@@ -157,10 +157,13 @@ sub PlotInit {
     plot_write($fh," ",0,$name);
     }
   elsif($p->{$name}->{type} == TYPE_BARGRAPH) {
+    my $stacked = $p->{$name}{stacked}?' rowstacked':'';
+    print $stacked;
     plot_write($fh,"set style fill   solid 1.00 border -1");
     plot_write($fh,"set grid noxtics ytics");
     plot_write($fh,"set boxwidth ".($p->{$name}->{curvewidth}||4)." absolute");
-    plot_write($fh,"set style histogram gap ".($p->{$name}->{bargap}||1));
+    plot_write($fh,"set style histogram  gap ".($p->{$name}->{bargap}||1).' '.$stacked);
+#title offset character 0, 0, 0
     
     if($p->{$name}->{xticks}) {
       plot_write("set xtics rotate by 90 offset .7,-1.7 scale .7 ");
@@ -174,12 +177,11 @@ sub PlotInit {
         }
       plot_write($fh,") offset 2.5,0 scale 0");
       }
-    plot_write($fh,"set style histogram title offset character 0, 0, 0");
     plot_write($fh,"set style data histograms");
     plot_write($fh,"plot ",1,$name);
     for(my $j=0; $j<$p->{$name}->{curves};$j++) {
       plot_write($fh,', ',1,$name) if $j;
-      plot_write($fh,"'-'",1,$name);
+      plot_write($fh,"'-' with histograms ",1,$name);
       plot_write($fh,"using 2:xticlabels(1) ",1,$name) if ($p->{$name}->{xticks});
       plot_write($fh, "lt rgb \"".$p->{$name}->{colors}->[$j]."\" title \"".($p->{$name}->{titles}->[$j] || "$j")."\" ",1,$name);
       }