$column = ($d >> 2) & 0x7FF;
printf("\t$line, $column x %d\n",$pixels+1) if $opt_frameinfo;
$hitcount->{$SensorId}++;
- $pixelcount->{$SensorId}->[$column/288]+=$pixels;
+ $pixelcount->{$SensorId}->[int($column/288)]+=$pixels+1;
$matrix->[$line]->[$column]++;
if ($pixels > 0) {
$matrix->[$line]->[$column+1]++;
#No frames? No plot!
if(!defined $Statistics->{$id}->{Valid}) {next;}
+ my @hitrates;
if($opt_hitrates) {
printf("%s\t%i\t%i\t%i\t%i\t%10i\t%10i\t%10i\t%10i\n",
$pixelcount->{$id}->[2]||0,
$pixelcount->{$id}->[3]||0
);
+ printf ("HR Bank0\tHR Bank1\tHR Bank2\tHR Bank3\n");
+ $hitrates[0] = ($pixelcount->{$id}->[0]||0) /(288*576*($Statistics->{$id}->{Valid}||0));
+ $hitrates[1] = ($pixelcount->{$id}->[1]||0) /(288*576*($Statistics->{$id}->{Valid}||0));
+ $hitrates[2] = ($pixelcount->{$id}->[2]||0) /(288*576*($Statistics->{$id}->{Valid}||0));
+ $hitrates[3] = ($pixelcount->{$id}->[3]||0) /(288*576*($Statistics->{$id}->{Valid}||0));
+ printf("%e\t%e\t%e\t%e\n",
+ $hitrates[0],
+ $hitrates[1],
+ $hitrates[2],
+ $hitrates[3]
+ );
+
}
if(!defined $fg) {
my $s = sprintf("%04x",$id);
print $fg strftime("set label 100 \"%H:%M:%S\" at screen 0.98,0.02 right tc rgb \"#000044\" font \"monospace,8\"\n", localtime());
- print $fg "set label 101 \"".$hitcount->{$id}." States, ".($Statistics->{$id}->{Valid}||0)." good, ".($Statistics->{$id}->{Broken}||0)." broken, ".($Statistics->{$id}->{RealBroken}||0)." invalid\" at screen 0.02,0.02 left tc rgb \"#000044\" font \"monospace,8\"\n" ;
+ print $fg "set label 101 \"".$hitcount->{$id}." States, ".($Statistics->{$id}->{Valid}||0)." good, ".($Statistics->{$id}->{Broken}||0)." broken, ".($Statistics->{$id}->{RealBroken}||0)." invalid\" at screen 0.02,0.01 left tc rgb \"#000044\" font \"monospace,8\"\n" ;
+ print $fg "set label 102 \"hit rates: ".
+ sprintf("A: %.3e B: %.3e C: %.3e D:%.3e",
+ $hitrates[0],
+ $hitrates[1],
+ $hitrates[2],
+ $hitrates[3]
+ )
+ ."\" at screen 0.4,0.01 left tc rgb \"#000044\" font \"monospace,8\"\n" if($opt_hitrates);
print $fg "set output '$opt_picpath/".$system."_$s$num.png';\n";
print $fg "plot '-' matrix with image\n";
}
else {
my $s = sprintf("%04x",$id);
print $fg strftime("set label 100 \"%H:%M:%S\" at screen 0.98,0.02 right tc rgb \"#000044\" font \"monospace,8\"\n", localtime());
- print $fg "set label 101 \"".$hitcount->{$id}." States, ".($Statistics->{$id}->{Valid}||0)." good, ".($Statistics->{$id}->{Broken}||0)." broken, ".($Statistics->{$id}->{RealBroken}||0)." invalid\" at screen 0.02,0.02 left tc rgb \"#000044\" font \"monospace,8\"\n" ;
+ print $fg "set label 101 \"".$hitcount->{$id}." States, ".($Statistics->{$id}->{Valid}||0)." good, ".($Statistics->{$id}->{Broken}||0)." broken, ".($Statistics->{$id}->{RealBroken}||0)." invalid\" at screen 0.02,0.01 left tc rgb \"#000044\" font \"monospace,8\"\n" ;
+ print $fg "set label 102 \"hit rates: ".
+ sprintf("A: %.3e B: %.3e C: %.3e D:%.3e",
+ $hitrates[0],
+ $hitrates[1],
+ $hitrates[2],
+ $hitrates[3]
+ )
+ ."\" at screen 0.4,0.01 left tc rgb \"#000044\" font \"monospace,8\"\n" if($opt_hitrates);
print $fg "set output '$opt_picpath/".$system."_$s$num.png';\n";
print $fg "replot\n";
#print DumpTree $Statistics;
}
-
unless(scalar(@sensors)>0) { die "no sensors attached to chain $chainName\n";}
for my $sensor (@sensors) {
-# my $sensorId = $systemName.'_'.$sensor->findvalue("./\@id");
-# my $sensorName = $sensor->findvalue("./\@name");
-# my $sensorConfig = $sensor->findvalue("./\@config");
-# my $sensorEnabled = $sensor->findvalue("./\@enabled");
-# my $sensorSerial = $sensor->findvalue("./\@serial");
-# my $sensorPosition = $sensor->findnodes("./position")->shift();
-# my $sensorDescription = $sensor->findvalue("./description");
-
-# print h5("Sensor name:$sensorName id:$sensorId");
-# print "<p>description: $sensorDescription</p>";
- print_sensorArea($sensor);
+
+ print_sensorArea($controller,$sensor);
}
}
#### html output subs ###########
sub print_sensorArea {
-
- my $sensor = $_[0];
+
+ my $controller = $_[0];
+ my $sensor = $_[1];
# this is an xml object that contains the sensor node
# from the setup file
- my $sensorId = $systemName.'_'.$sensor->findvalue("./\@id");
+
+ my $controllerAddress = $controller->findvalue("./\@address");
+
+ my $sensorId = $systemName.'_0x'.$controllerAddress.'_'.$sensor->findvalue("./\@id");
my $sensorName = $sensor->findvalue("./\@name");
my $sensorConfig = $sensor->findvalue("./\@config");
my $sensorEnabled = $sensor->findvalue("./\@enabled");