]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
Add Billboard control
authorManuel Penschuck <manuel.penschuck@stud.uni-frankfurt.de>
Fri, 24 Oct 2014 20:33:56 +0000 (22:33 +0200)
committerManuel Penschuck <manuel.penschuck@stud.uni-frankfurt.de>
Fri, 24 Oct 2014 20:33:56 +0000 (22:33 +0200)
web/htdocs/index.pl
web/htdocs/tools/billboard.pl [new file with mode: 0755]
xml-db/database/Billboard.xml [new file with mode: 0644]

index 7812d18e0586c99105101963cd45b4816befecd9..120f846862770f2971416a01c58497bc0f40bb32 100755 (executable)
@@ -93,6 +93,7 @@ The main documentation of the network can be found in these documents and locati
 <li><a href="mvd/cb_controller.pl">MVD Converter Board Controller</a>
 <li><a href="network/generic.pl">Everything else</a>
 <li><a href="padiwa/padiwa.pl">Padiwa (xml-based, with thresholds)</a>
+<li><a href="tools/billboard.pl">Billboard</a>
 </ul>
 </div>
 </div>
diff --git a/web/htdocs/tools/billboard.pl b/web/htdocs/tools/billboard.pl
new file mode 100755 (executable)
index 0000000..75246ca
--- /dev/null
@@ -0,0 +1,43 @@
+#!/usr/bin/perl
+if ($ENV{'SERVER_SOFTWARE'} =~ /HTTPi/i) {
+  print "HTTP/1.0 200 OK\n";
+  print "Content-type: text/html\r\n\r\n";
+  }
+else {
+  use lib '..';
+  use if (!($ENV{'SERVER_SOFTWARE'} =~ /HTTPi/i)), apacheEnv;
+  print "Content-type: text/html\n\n";
+  }
+
+use CGI ':standard';
+use XML::LibXML;
+use POSIX;
+use CGI::Carp qw(fatalsToBrowser);
+
+use lib qw|../commands htdocs/commands|;
+use xmlpage;
+
+my $page;
+
+$page->{title} = "CBMNet Bridge";
+$page->{link}  = "../";
+
+my @setup;
+my $i = 0;
+
+$setup[$i]->{name}    = "StatusAndControl";
+$setup[$i]->{cmd}     = "Billboard-0xf30a-StatusAndControl";
+$setup[$i]->{period}  = -1;
+$setup[$i]->{address} = 1;
+
+$i++;
+$setup[$i]->{name}    = "Memory";
+$setup[$i]->{cmd}     = "Billboard-0xf30a-Memory";
+$setup[$i]->{period}  = -1;
+$setup[$i]->{address} = 1;
+
+xmlpage::initPage(\@setup,$page);
+
+1;
+
+
diff --git a/xml-db/database/Billboard.xml b/xml-db/database/Billboard.xml
new file mode 100644 (file)
index 0000000..d3e1820
--- /dev/null
@@ -0,0 +1,57 @@
+<?xml version="1.0"  encoding="utf-8" ?>
+<TrbNetEntity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:noNamespaceSchemaLocation="../schema/TrbNetEntity.xsd"
+              name="Billboard"
+              address="b000"
+>
+  <description>Billboard for storing data</description>
+
+  
+  <group name="StatusAndControl" address="0000" purpose="config" mode="rw" continuous="false">
+    <register name="CommitReg" address="0000" mode="rw" purpose="config">
+      <description>When reading: Length of data block used for current read-out, When writing: Commit data in memory and set length of data</description>
+      <field name="CommitLength" start="0" bits="8" format="unsigned">
+        <description>Length of data in 32-bit words</description>
+      </field>
+    </register>
+    <register name="TimeThresholdReg" address="0001" mode="rw" purpose="config">
+      <description>Time-Out used for time-based trigger decision (Once a read-out happened use first trigger after at least the time specified)</description>
+      <field name="TimeThreshold" start="0" bits="32" format="unsigned" unit="us" scale="0.01"  defaultValue="0">
+        <description>0: Disable timing-based decision, otherwise: Minimal time between two events in TrbNet clock cycles</description>
+      </field>
+    </register> 
+
+    <register name="FramesSentReg" address="0002" mode="r" purpose="statistics">
+      <description>Statistics: Number of triggers with active read-out (frames sent)</description>
+      <field name="FramesSent" start="0" bits="32" format="unsigned" rate="1" scale="1" unit="frames" />
+    </register>
+
+    <register name="WordsSentReg" address="0003" mode="r" purpose="statistics">
+      <description>Statistics: Number of words sent (incl. header)</description>
+      <field name="WordsSent" start="0" bits="32" format="unsigned" rate="1" scale="0.004" unit="kb" />
+    </register>
+    
+    <register name="NumberCommitsReg" address="0004" mode="r" purpose="statistics">
+      <description>Statistics: Number of commits issued</description>
+      <field name="NumberCommits" start="0" bits="32" format="unsigned" rate="1" scale="1" unit="commits" />
+    </register>
+
+    <register name="AgeLastCommitReg" address="0005" mode="r" purpose="statistics">
+      <description>TrbNet clock cycles since last commit</description>
+      <field name="AgeLastCommit" start="0" bits="32" format="unsigned" noflag="1" rate="0" scale="0.01" unit="us" />
+    </register>
+    
+    <register name="SkipTriggerReg" address="0010" repeat="16">
+      <description>Number of event of trigger type addr[3:0] to be skipped</description>
+      <field name="SkipTrigger" start="0" bits="32" format="unsigned" noflag="1" defaultValue="0xffffffff" mode="rw" purpose="config"  />
+    </register>
+  </group>
+  
+  <group name="Memory" address="0100" purpose="config" mode="rw" continuous="true">
+    <register name="MemoryAddress" address="0000" mode="rw" purpose="config" repeat="256">
+      <description>Memory data</description>
+      <field name="Memory" start="0" bits="32" format="hex" />
+    </register>
+  </group>
+
+</TrbNetEntity>
\ No newline at end of file