]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
added checkboxes to enable rates and a future cache system
authorJan Michel <j.michel@gsi.de>
Tue, 17 Dec 2013 10:50:48 +0000 (11:50 +0100)
committerJan Michel <j.michel@gsi.de>
Tue, 17 Dec 2013 10:50:54 +0000 (11:50 +0100)
web/htdocs/commands/xmlpage.pm
web/htdocs/layout/blue.css
web/htdocs/network/generic.pl
web/htdocs/network/trbnet.pl
web/htdocs/scripts/xmlpage.js
xml-db/database/TrbNet.xml
xml-db/get.pl

index 200394fad7433b35ffd7abafa18944c4c3718a21..740149d2e3091d545881663461018dc749b4ad53 100644 (file)
@@ -19,15 +19,18 @@ sub initPage {
       }
     }
   
-  my $cmd    = $setup[$active]->{cmd};
-  my $period = $setup[$active]->{period};
-  my $name = $setup[$active]->{name};
+  my $cmd     = $setup[$active]->{cmd};
+  my $period  = $setup[$active]->{period};
+  my $name    = $setup[$active]->{name};
   my ($cmdMod,$cmdAddr,$cmdReg) = split('-',$setup[$active]->{cmd});
-
+  my $israte  = $setup[$active]->{rate};
+  my $iscache = $setup[$active]->{cache};
+  
   $getscript = $page->{getscript};
   if(!defined $getscript) {
     $getscript = "../xml-db/get.pl";
     }
+
   
   print <<EOF;
 <HTML>
@@ -59,7 +62,7 @@ if($setup[$active]->{generic} == 1) {
   |;
   }
 
-if($setup[$active]->{address} == 1) {
+if(!$setup[$active]->{generic}) {
   print qq|
   <input type="text" id="address" title="Enter any valid TrbNet address" 
          value="$cmdAddr" onChange="setaddress()" onLoad="setaddress()"
@@ -70,6 +73,8 @@ if($setup[$active]->{address} == 1) {
 print qq|
 <input type="text" id="period" title="Refresh interval in ms. Set to -1 to disable automatic refresh" 
        value="$period" onChange="setperiod()" onLoad="setperiod()">
+<div class="checkbox"><input type="checkbox" onChange="settarget()" value="1" id="rate" title="Convert register counter to rates where possible" $israte><label for="rate">Rates</label></div>       
+<div class="checkbox"><input type="checkbox" onChange="settarget()" value="1" id="cache" title="Use caching of data to reduce load on DAQ network" $iscache><label for="cache">Use Cache</label></div>
 <input type="button" class="stdbutton" onClick="refresh(-1);" value="Refresh">
 </div>
 <div id="content"></div>|;
index 622dc046a7942e487863aac33745379b0b888a6a..2a3a6a6c2317d21b71ea0a62819954400b2b4812 100644 (file)
@@ -54,14 +54,19 @@ input[type="text"] {
     background-color:#dde;
     color:#444;
     font-size:10px;
-    height:20px;
+    height:24px;
     width:90px;
     text-align:right;
     padding-right:5px;
+    padding-top:1px;
     border:1px solid #78b;
     transition:background .4s;
 }
 
+input[type="checkbox"], .head .checkbox {
+
+}
+
 select {
     background:#dde;
     color:#444;
@@ -69,7 +74,23 @@ select {
     transition:background .4s;
 }
 
-input:hover, input:active, input:focus, select:hover, select:active {
+div.checkbox {
+  position:relative;
+  top:4px;
+  width: 100px;
+  display:inline;
+  padding-top:9px;
+  font-size:10px;
+  height:20px;    
+  background-color:#dde;
+  color:#444;  
+  border:1px solid #78b;
+  transition:background .4s;  
+}
+
+input:hover, input:active, input:focus, 
+select:hover, select:active, 
+.checkbox:hover, .checkbox:active, .checkbox:focus {
 background:#eed;
 }
 
index 8bf0587cf658807e333ecf07dd84e71077b1b702..55156bf67b7d8b56db6268d894570fe5d3b092fc 100755 (executable)
@@ -21,6 +21,7 @@ $setup[0]->{name}    = "AnyReg";
 $setup[0]->{cmd}     = "TrbNet-0xffff-CompileTime";
 $setup[0]->{period}  = -1;
 $setup[0]->{generic} = 1;
+$setup[0]->{rate}    = 1;
 
 
 xmlpage::initPage(\@setup,$page);
index 184b56d835c1e68fba58fd27dd5a61875645e3fe..2a89f94099eacf9bdf4de8b287f189e7400be5d6 100755 (executable)
@@ -19,17 +19,14 @@ my @setup;
 $setup[0]->{name}    = "StatusRegisters";
 $setup[0]->{cmd}     = "TrbNet-0xffff-StatusRegisters";
 $setup[0]->{period}  = 2000;
-$setup[0]->{address} = 1;
 
 $setup[1]->{name}    = "BoardInfo";
 $setup[1]->{cmd}     = "TrbNet-0xffff-BoardInformation";
 $setup[1]->{period}  = -1;
-$setup[1]->{address} = 1;
 
 $setup[2]->{name}    = "Readout";
 $setup[2]->{cmd}     = "Readout-0xffff-Status";
 $setup[2]->{period}  = -1;
-$setup[2]->{address} = 1;
 
 
 
index ea5724c8f88ca45d6a00bea7642cc57a0f0461ca..486c551b663f4e8347a4d5707a899db51fae66af 100644 (file)
   
   function settarget(e) {
     command=document.getElementById("target").value;
+    var opt = "";
+    if(document.getElementById("rate").checked) opt += "rate";
+    if(document.getElementById("cache").checked) opt += "cache";
+    var part = command.split('-');
+    command = part[0]+"-"+part[1]+"-"+part[2] + "-" + opt;
     refresh(period);
     }
     
   function setaddress(e) {
     address=document.getElementById("address").value;
     var part = command.split('-');
-    command=part[0]+"-"+address+"-"+part[2];
+    command=part[0]+"-"+address+"-"+part[2]+part[3];
     refresh(period);
     }
\ No newline at end of file
index 7ca27aa90c36a2cbe9d04f94204542ed8271171c..6cef590cb274c1deadde01d98216f8b539e03e5b 100644 (file)
 
     <register name="EventCounter" address="0001" purpose="status">
       <description>Event counters for LVL1 and Data channel</description>
-      <field name="Lvl1Counter" start="0" bits="16" format="integer">
+      <field name="Lvl1Counter" start="0" bits="16" format="integer" rate="1" >
         <description>Lvl1 event counter</description>
       </field>
-      <field name="IpuCounter" start="16" bits="16" format="integer">
+      <field name="IpuCounter" start="16" bits="16" format="integer" rate="1" >
         <description>Number of last read-out event</description>
       </field>
     </register>
@@ -69,7 +69,7 @@
 
     <register name="TriggerInput" address="0003" purpose="status">
       <description>Trigger input statistics</description>
-      <field name="TriggerInputCount" start="0" bits="16" format="integer">
+      <field name="TriggerInputCount" start="0" bits="16" format="integer" rate="1" >
         <description>Number of edges on trigger input</description>
       </field>
       <field name="TriggerLength" start="16" bits="16" format="integer" scaleoffset="10" scale="10" unit=" ns">
       <field name="ResetCount" start="0" bits="8" format="integer">
         <description>Number of received network resets</description>
       </field>
-      <field name="RetransmitRecv" start="16" bits="8" format="integer" invertflag="true">
+      <field name="RetransmitRecv" start="16" bits="8" format="integer" invertflag="true" rate="1" >
         <description>Number of retransmit requests received</description>
       </field>
-      <field name="RetransmitSent" start="16" bits="8" format="integer" invertflag="true">
+      <field name="RetransmitSent" start="16" bits="8" format="integer" invertflag="true" rate="1" >
         <description>Number of retransmit requests sent</description>
       </field>
     </register>
     
     <register name="TriggerInput1" address="0006" purpose="status">
       <description>Trigger input statistics</description>
-      <field name="InvalidCount" start="0" bits="16" format="integer" invertflag="true">
+      <field name="InvalidCount" start="0" bits="16" format="integer" invertflag="true" rate="1" >
         <description>Number of invalid triggers. I.e. LVL1 triggers not preceeded by a reference time signal</description>
       </field>
-      <field name="MultipleCount" start="16" bits="16" format="integer" invertflag="true">
+      <field name="MultipleCount" start="16" bits="16" format="integer" invertflag="true" rate="1" >
         <description>Count of multiple reference time signals before a LVL1 trigger, i.e. additional edges on the input which were not sent by the CTS</description>
       </field>
     </register>
 
     <register name="TriggerInput2" address="0007" purpose="status">
       <description>Trigger input statistics</description>
-      <field name="SpikeCount" start="0" bits="16" format="integer" invertflag="true">
+      <field name="SpikeCount" start="0" bits="16" format="integer" invertflag="true" rate="1" >
         <description>Number of short signals on the reference time input. E.g. signals detected by the synchronous logic, but shorter than the 100 ns reference time signal</description>
       </field>
-      <field name="SpuriousCount" start="16" bits="16" format="integer" invertflag="true">
+      <field name="SpuriousCount" start="16" bits="16" format="integer" invertflag="true" rate="1" >
         <description>Number of occurences of reference time signals before a calibration trigger which should not sent a reference time</description>
       </field>
     </register>    
 
     <register name="TriggerInput3" address="0008" purpose="status">
       <description>Trigger input statistics</description>
-      <field name="EdgeCount" start="0" bits="16" format="integer">
+      <field name="EdgeCount" start="0" bits="16" format="integer" rate="1" >
         <description>Number of edges on the reference time input. Sampled using asynchronous circuitry. Not available in all designs</description>
       </field>
     </register>        
index 6ed9019faac4d3e65b06735a2212fe777fd2bd5e..10e6e3d5c8c62c07e49bca1250ac1e39522a7097 100755 (executable)
@@ -32,6 +32,10 @@ if (defined $ENV{'QUERY_STRING'}) {
   unless ($server  =~ /HTTPi/i) {
     print "Content-type: text/html\n\n";
     }
+  else {
+    &htsponse(200, "OK");
+    print "Content-type: text/html; charset=utf-8\r\n\r\n";
+    }
   }
 else {
   $request[0] = ""; #Dummy entry to run foreach