From 694ee5a3a554be322f0fa9b31eaae7b4761cf942 Mon Sep 17 00:00:00 2001 From: Michael Wiebusch Date: Thu, 22 Aug 2013 11:47:23 +0200 Subject: [PATCH] added nice icons to testgui, testgui visual feedback now distinguishes between busy and error, old sensor occupancy pictures are deleted each new run --- Environment.pm | 1 + share/error.png | Bin 0 -> 12151 bytes share/hourglass.png | Bin 0 -> 6373 bytes tools/run.pl | 1 + tools/testgui.js | 20 +--- tools/testgui.pl | 237 +++----------------------------------------- 6 files changed, 16 insertions(+), 243 deletions(-) create mode 100644 share/error.png create mode 100644 share/hourglass.png diff --git a/Environment.pm b/Environment.pm index cc93cd7..3fb35ee 100644 --- a/Environment.pm +++ b/Environment.pm @@ -19,6 +19,7 @@ use constant SPECDIR => JTAGROOTPATH."specs/"; use constant PICTUREPATH => TEMPDIR."prevImgs/"; #path for images on webserver (absolute path) use constant PICTUREPATHREL => "../temp/prevImgs/"; #path for images on webserver relative to tools/ use constant DUMPPATH => "/tmp/MAPS_PREV/"; #path for small hld dumps +use constant SHAREPATH => JTAGROOTPATH."share/"; #path for icons and misc stuff use constant SETUPFILE => SETUPDIR."testsetup.xml"; diff --git a/share/error.png b/share/error.png new file mode 100644 index 0000000000000000000000000000000000000000..6361129bf18179fd796959ffaf4cb6d8920c4181 GIT binary patch literal 12151 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 t->XmBc)wilUjvaGC002ovPDHLkV1jvX%n|?q literal 0 HcmV?d00001 diff --git a/share/hourglass.png b/share/hourglass.png new file mode 100644 index 0000000000000000000000000000000000000000..a0235818f4efb7b619b52134663157932bb938fe GIT binary patch literal 6373 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"; #14 $dummy.=qx"rm $dumpPath/temp.hld 2>&1"; $dummy.=qx"mv $dumpPath/te1* $dumpPath/temp.hld 2>&1"; +$dummy.=qx"rm $picPath/*.png 2>&1"; # delete old pictures $dummy.=qx"./preview/unpack_hld.pl -f $dumpPath/temp.hld -p $picPath 2>&1"; my $escapedDummy = escapeHTML($dummy); $escapedDummy =~ s/\n/
/g; diff --git a/tools/testgui.js b/tools/testgui.js index ea2da80..01b6ca9 100644 --- a/tools/testgui.js +++ b/tools/testgui.js @@ -1,6 +1,4 @@ -// var sensorIdHash = new Object(); - @@ -16,36 +14,20 @@ function reloadQuickEditArea(configFile,destId) { function run(time) { -// sensorIdHash["hugo"]="hugo"; -// sensorIdHash["hugo2"]="hugonaut"; for( var sensorId in previewAreaIdHash){ -// alert(laufid+" => "+previewAreaIdHash[laufid]); var sensorId_ = encodeURIComponent(sensorId); - getdata("testgui.pl?action=showPlot&sensorId=",previewAreaIdHash[sensorId],true); + getdata("testgui.pl?action=showPlot&sensorId="+sensorId_+"&busy=true",previewAreaIdHash[sensorId],true); } var time_= encodeURIComponent(time); getdata("run.pl?runtime="+time_,"theConsole",false); for( var sensorId in previewAreaIdHash){ -// alert(laufid+" => "+previewAreaIdHash[laufid]); var sensorId_ = encodeURIComponent(sensorId); getdata("testgui.pl?action=showPlot&sensorId="+sensorId_,previewAreaIdHash[sensorId],true); } } - -// function toggleVis(elementId) { -// if(document.getElementById(elementId)){ -// if( document.getElementById(elementId).style.visibility == "visible") { -// document.getElementById(elementId).style.visibility = "collapse"; -// } else { -// document.getElementById(elementId).style.visibility = "visible" ; -// } -// } -// } - - diff --git a/tools/testgui.pl b/tools/testgui.pl index 38d0004..025b585 100755 --- a/tools/testgui.pl +++ b/tools/testgui.pl @@ -61,19 +61,26 @@ unless($q->param()) { print header; #process the arguments + # CGI says I have to print the quick Edit Area if ($q->param('action') eq "print_quickEditArea") { my $configFileName = $q->param('configFile'); my $destId = $q->param('destId'); $quickEditAreaId = $destId; print_quickEditArea($configFileName); + # CGI says I have to show plots } elsif ($q->param('action') eq "showPlot") { my $sensorId = $q->param('sensorId'); - my $imgSrc = $picPath.'/image_recalibrated_'.$sensorId.'.png'; - if (-e $imgSrc) { - print img{src=>$imgSrc."?".rand(),title=>$sensorId}; + + if ($q->param('busy') ne "false" ) { + print img{src=>"../share/hourglass.png",title=>$sensorId}; } else { - print img{src=>"./preview/error.jpg",title=>$sensorId}; + my $imgSrc = $picPath.'/image_recalibrated_'.$sensorId.'.png'; + if (-e $imgSrc) { + print img{src=>$imgSrc."?".rand(),title=>$sensorId}; + } else { + print img{src=>"../share/error.png",title=>$sensorId}; + } } } else { @@ -249,12 +256,7 @@ sub print_sensorArea { $sensorAreaId = $sensorId; print "
"; print ""; -# print ""; -# print ""; -# print "";V + print ""; my $previewAreaId = "preview_".$sensorId; print ""; print ""; -# print ""; -# print ""; -# print ""; + print "
"; -# # print ""; -# # print "
$sensorName (id=$sensorId)
description: $sensorDescription
"; -# print "
"; @@ -267,12 +269,7 @@ sub print_sensorArea { print_quickEditArea($sensorConfig); print "
"; -# my $command = "./prevImg.pl"; -# print q%%; -# print "
"; print "
"; @@ -288,17 +285,6 @@ sub print_quickEditArea { -# print ""; -# my @fields = $quickEditMaskTree->findnodes("/MAPS/register/field"); -# for my $field (@fields) { -# print ""; -# -# -# } -# print "
"; -# print $field->findvalue("./\@name"); -# print "
"; -# print "print_registers();",br; parseConfigAndSpec($argumentConfigFile); integrateAncestry(); print "
quick editor
"; @@ -311,203 +297,6 @@ sub print_quickEditArea { -# -# sub print_registers { -# -# my $configFile = getConfigFile(); -# my $specFile = getSpecFile(); -# my $configFileName = getConfigFileName(); -# my $specFileName = getSpecFileName(); -# my $configTree = getConfigTree(); -# my $specTree = getSpecTree(); -# -# my $xmlfile = $_[0]; -# my $xmltree; -# # if ( $xmlfile eq $configFile ) { -# # $xmltree = $configTree; -# # } -# # elsif ( $xmlfile eq $specFile ) { -# # $xmltree = $specTree; -# # } -# # else { -# # die "xmlfile given to sub print_registers is unknown"; -# # } -# my @registers = sort by_name $quickEditMaskTree->findnodes("/MAPS/register"); -# print ""; -# for my $register (@registers) { -# -# my $registerName = $register->findvalue("./\@name"); -# my $registerId = $register->findvalue("./\@id"); -# my $registerSize = $register->findvalue("./\@size"); -# my $registerDescr = prepare_text( -# $specTree->findvalue( -# "/MAPS/register[\@name='" . $registerName . "']/description" -# ) -# || "n/a" -# ); -# -# my $flistid = $configFile . "//" . $registerName; -# -# print ""; -# -# print < +  -# EOF -# print ""; -# -# #print ""; -# -# # if ( $xmlfile eq $configFile ) { # we are printing the Specifications Tree -# # print < X  -# # EOF -# # } -# -# -# print ""; -# -# #print ""; -# -# print ''; -# print ''; -# print '"; -# } -# print "
$registerName$registerId
'; -# print_fields( $configFile, $register ); -# print ""; -# print "
"; -# } -# -# sub print_fields { -# -# my $configFile = getConfigFile(); -# my $specFile = getSpecFile(); -# my $configFileName = getConfigFileName(); -# my $specFileName = getSpecFileName(); -# my $configTree = getConfigTree(); -# my $specTree = getSpecTree(); -# -# my $register = $_[1]; -# my $xmlfile = $_[0]; -# my $registerName = $register->findvalue("./\@name"); -# -# my @maskFields = sort by_name $register->findnodes("./field"); -# print ""; -# for my $maskField (@maskFields) { -# -# my $fieldName = $maskField->findvalue("./\@name"); -# -# my $field = $configTree->findnodes("/MAPS/register[\@name='". -# $registerName."']/field[\@name='".$fieldName."']")->shift(); -# -# -# unless(defined($field)){ -# -# my $specField = $specTree->findnodes("/MAPS/register[\@name='". -# $registerName."']/field[\@name='".$fieldName."']")->shift(); -# $field=$register->addNewChild("","field"); -# $field->setAttribute("name",$fieldName); -# $field->setAttribute("value",$specField->findvalue("./\@defaultValue")); -# $field->setAttribute( "isHeritageFrom", $specFileName ); -# } -# -# -# -# -# -# my $isHeritageFrom = $field->findvalue("./\@isHeritageFrom") || ""; -# # my $isHeritageFrom = ""; -# my $readOnlyFlag = 0; -# my $fieldValue = $field->findvalue("./\@value"); -# my $fieldSize = -# $specTree->findvalue( "/MAPS/register[\@name='" -# . $registerName -# . "']/field[\@name='" -# . $fieldName -# . "']/\@size" ) -# || "n/a"; -# my $fieldDescr = prepare_text( -# $specTree->findvalue( -# "/MAPS/register[\@name='" -# . $registerName -# . "']/field[\@name='" -# . $fieldName -# . "']/description" -# ) -# || "n/a" -# ); -# -# my $maxFieldVal = 2**$fieldSize; -# my $sizeInfo = -# sprintf( -# "Field contains %d bits, possible values: 0-%d (0x0-0x%x)\n\n", -# $fieldSize, $maxFieldVal, $maxFieldVal ); -# -# $fieldDescr = $sizeInfo . $fieldDescr; -# -# unless ( $isHeritageFrom eq "" ) { -# $fieldDescr = -# "Field was inherited from $isHeritageFrom\n\n" . $fieldDescr; -# } -# -# my $fieldId = $xmlfile . "//" . $registerName . "/" . $fieldName; -# if ( $fieldValue eq "" ) { -# $fieldValue = $field->findvalue("./\@defaultValue"); -# $readOnlyFlag = 1; -# } -# -# print ""; -# print ""; -# print ""; -# if ($readOnlyFlag) { -# print <$fieldValue -# EOF -# } -# else { -# print < -# -# -# EOF -# -# } -# -# print ''; -# # if ( $xmlfile eq $specFile ) { # we are printing the Specifications tree -# # print < →  -# # EOF -# # } -# if ( $xmlfile eq $configFile ) { # we are printing the Settings Tree -# -# if ( $isHeritageFrom eq "" ) -# { # these are actual settings, not inherited! -# print < X  -# EOF -# } -# else { -# print ""; -# } -# } -# print ""; -# if ( ( any2dec($fieldValue) < 0 ) -# or ( any2dec($fieldValue) > $maxFieldVal ) ) -# { -# print -# "" -# ; # just debug -# } -# } -# print "
$fieldName  =  X 
!!!Above value not in allowed range!!!
"; -# -# } sub report_param { print br,br; -- 2.43.0