]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
more ADC control registers
authorJan Michel <j.michel@gsi.de>
Fri, 3 Oct 2014 12:25:35 +0000 (14:25 +0200)
committerJan Michel <j.michel@gsi.de>
Fri, 3 Oct 2014 12:30:06 +0000 (14:30 +0200)
web/htdocs/addons/adc.pl [new file with mode: 0755]
xml-db/database/ADC.xml [new file with mode: 0644]

diff --git a/web/htdocs/addons/adc.pl b/web/htdocs/addons/adc.pl
new file mode 100755 (executable)
index 0000000..9e2c6ad
--- /dev/null
@@ -0,0 +1,44 @@
+#!/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} = "ADC AddOn";
+$page->{link}  = "../";
+
+my @setup;
+$setup[0]->{name}    = "BufferConfig";
+$setup[0]->{cmd}     = "ADC-0xfe4b-BufferConfig";
+$setup[0]->{period}  = 5000;
+$setup[0]->{address} = 1;
+
+$setup[1]->{name}    = "ProcessingConfig";
+$setup[1]->{cmd}     = "ADC-0xfe4b-ProcessingConfig";
+$setup[1]->{period}  = 5000;
+$setup[1]->{address} = 1;
+
+
+xmlpage::initPage(\@setup,$page);
+
+
+1;
+
+
diff --git a/xml-db/database/ADC.xml b/xml-db/database/ADC.xml
new file mode 100644 (file)
index 0000000..af59fd5
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0"  encoding="utf-8" ?>
+<TrbNetEntity xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:noNamespaceSchemaLocation="../schema/TrbNetEntity.xsd"
+              name="ADC"
+              address="a000"
+              >
+  <description>Control and Status registers related to ADC AddOn</description>
+
+
+<!--
+ 000 - 0ff configuration
+       000 reset, buffer clear strobes
+
+ 100 - 1ff status
+       100 clock valid (1 bit per ADC)
+       101 fco valid (1 bit per ADC)
+       102 readout state
+ 800 - 83f last ADC values              (local 0x0 - 0x3)
+ 840 - 87f long-term average / baseline (local 0x4 - 0x7)
+ 880 - 8bf fifo access (debugging only) (local 0x8 - 0xb)-->
+
+  
+<group name="BufferConfig"
+           address="0010"  size="7"  purpose="config" mode="rw" continuous="true">
+      <description>Configuration of buffer handling</description>
+      <register name="BufferDepth" address="0000" >
+        <description>Number of samples to be stored in the buffer</description>
+        <field  name="BufferDepth" start="0"   bits="10"  format="unsigned"  noflag="true"/>
+      </register>
+      
+      <register name="SamplesAfterTrg" address="0001" >
+        <description>Number of samples to take after reference time signal arrived</description>
+        <field  name="SamplesAfterTrg" start="0"   bits="10"  format="unsigned"  noflag="true"/>
+      </register>
+      
+      <register name="ProcessBlocks" address="0002" >
+        <description>How many blocks of different downsampling settings should be processed</description>
+        <field  name="ProcessBlocks" start="0"   bits="2"  format="unsigned" noflag="true" />
+      </register>
+      
+      <register name="TriggerOffset" address="0003" >
+        <description>Offset from the calculated baseline that must be reached to generate a trigger signal for the CTS</description>
+        <field  name="TriggerOffset" start="0"   bits="11"  format="signed" noflag="true" />
+      </register>
+
+      <register name="ReadoutOffset" address="0004" >
+        <description>Offset from the calculated baseline that must be reached to transmit data during readout (Zero Suppression)</description>
+        <field  name="ReadoutOffset" start="0"   bits="11"  format="signed" noflag="true" />
+      </register>
+
+      <register name="Downsampling" address="0005" >
+        <description>Downsampling of ADC samples before storing in buffer</description>
+        <field  name="Downsampling" start="0"   bits="8"  format="unsigned" noflag="true" />
+      </register>
+
+      <register name="BaselineAvg" address="0006" >
+        <description>Averaging time for baseline calculation. 2**N samples are taken. Baseline is calculated from buffer output data, triggered events are suppressed.</description>
+        <field  name="BaselineAvg" start="0"   bits="4"  format="unsigned" noflag="true" />
+      </register>
+</group>  
+
+<group name="ProcessingConfig" address="0020"  size="12"  purpose="config" mode="rw" continuous="true">
+      <register name="ValuesToSum" address="0000" repeat="4">
+        <description>Number of values to sum for each output data word</description>
+        <field  name="ValuesToSum" start="0"   bits="8"  format="unsigned" noflag="true" />
+      </register>
+      <register name="NumberOfWords" address="0004" repeat="4">
+        <description>Number of output data words to produce</description>
+        <field  name="NumberOfWords" start="0"   bits="10"  format="unsigned" noflag="true" />
+      </register>  
+      <register name="Scaling" address="0008" repeat="4">
+        <description>Scaling factor. Sums are divided by 2**N before written to the data stream.</description>
+        <field  name="Scaling" start="0"   bits="4"  format="unsigned" noflag="true" />
+      </register>  
+</group>
+
+</TrbNetEntity>