]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
further extensions to xml gui
authorJan Michel <j.michel@gsi.de>
Fri, 18 Oct 2013 16:31:41 +0000 (18:31 +0200)
committerJan Michel <j.michel@gsi.de>
Fri, 18 Oct 2013 16:31:41 +0000 (18:31 +0200)
web/htdocs/jtag/index.pl [new file with mode: 0755]
web/htdocs/nxyter/index.pl
xml-db/database/JtagController.xml
xml-db/get.pl

diff --git a/web/htdocs/jtag/index.pl b/web/htdocs/jtag/index.pl
new file mode 100755 (executable)
index 0000000..599e7a3
--- /dev/null
@@ -0,0 +1,43 @@
+&htsponse(200, "OK");
+print "Content-type: text/html\r\n\r\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} = "Jtag Controller Register";
+$page->{link}  = "../";
+
+#address should be 0xfe4d
+
+my @setup;
+$setup[0]->{name}    = "Status";
+$setup[0]->{cmd}     = "JtagController-0xf308-JtagStatus";
+$setup[0]->{refresh} = 1;
+$setup[0]->{period}  = 0;
+
+$setup[1]->{name}    = "CommonCtrl";
+$setup[1]->{cmd}     = "JtagController-0xf308-JtagCommonControl";
+$setup[1]->{refresh} = 1;
+$setup[1]->{period}  = 0;
+
+$setup[2]->{name}    = "Control";
+$setup[2]->{cmd}     = "JtagController-0xf308-JtagControl";
+$setup[2]->{refresh} = 1;
+$setup[2]->{period}  = 0;
+
+xmlpage::initPage(\@setup,$page);
+
+
+1;
+
+
index 1353051588e9b2291fa23343251afd3d62543b53..dc3a41533dc1643851e6c1357d7da566e24201e6 100755 (executable)
@@ -10,6 +10,11 @@ use CGI::Carp qw(fatalsToBrowser);
 use lib qw|../commands htdocs/commands|;
 use xmlpage;
 
+
+my $page;
+$page->{title} = "Nxyter Register";
+$page->{link}  = "../";
+
 my @setup;
 $setup[0]->{name}    = "DataValid";
 $setup[0]->{cmd}     = "Nxyter-0x3800-DataValidate";
@@ -21,7 +26,7 @@ $setup[1]->{cmd}     = "Nxyter-0x3800-TriggerValidate";
 $setup[1]->{refresh} = 1;
 $setup[1]->{period}  = 0;
 
-xmlpage::initPage(\@setup);
+xmlpage::initPage(\@setup,$page);
  
 
  
@@ -29,22 +34,3 @@ xmlpage::initPage(\@setup);
 1;
 
 
-
-
-
-sub getDataValidate {
-print <<EOF;
-  <input type="button" class="stdbutton" onClick="getdataprint('../xml-db/get.pl?Nxyter-0x3800-DataValidate','content',false);" value="Refresh">
-  <script language="javascript">setTimeout("getdataprint('../xml-db/get.pl?Nxyter-0x3800-DataValidate','content',false)",400);</script>
-  <div id="content"></div>
-EOF
-  }
-
-sub getTriggerValidate {
-print <<EOF;
-  <input type="button" class="stdbutton" onClick="getdataprint('../xml-db/get.pl?Nxyter-0x3800-TriggerValidate','content',false);" value="Refresh">
-  <script language="javascript">setTimeout("getdataprint('../xml-db/get.pl?Nxyter-0x3800-TriggerValidate','content',false)",400);</script>
-  <div id="content"></div>
-EOF
-  }
-  
index 3604c5240b13f4ad64cc59c5d3842ca81a9ad645..872fff0211013542557e2341c811ee30dafe91b8 100644 (file)
@@ -9,7 +9,7 @@
   <!-- Common JTAG control registers             -->
   <!--===========================================-->
   <group name="JtagCommonControl"
-         address="1000"  size="37"  purpose="config"  mode="rw"  continuous="true">
+         address="1000"  size="37"  purpose="config"  mode="rw"  continuous="false">
     <register name="WaitBeforeStart"
               address="0007" mode="rw" purpose ="config" >
       <description>Wait time between write sequence and start signal.</description>
         <description>Trigger writing all JTAG registers once on individual JTAG chains</description>
       </field>
     </register>
-    <group name="JtagOverride"
-           address="0020"  size="5"  purpose="config"  mode="rw"  continuous="true">
-      <description>Sets fixed values for all outputs for JTAG and sensor control and inverts the outputs if needed. One register for each JTAG chain.</description>
+<!--     <group name="JtagOverride" -->
+<!--            address="0020"  size="1"  purpose="config"  mode="rw"  continuous="true"> -->
+<!--       <description>Sets fixed values for all outputs for JTAG and sensor control and inverts the outputs if needed. One register for each JTAG chain.</description> -->
       <register name="JtagOverrideRegister"
-                address="0000"  repeat="5" >
+                address="0020">
         <description>Sets fixed values for all outputs for JTAG and sensor control and inverts the outputs if needed. One register for each JTAG chain.</description>
         <field name="InvertTDO"
                start="0" bits="1" format="boolean">
           <description>Enable Clock output signal</description>
         </field>
       </register>
-    </group>
+<!--     </group> -->
   </group>
   <!--===========================================-->
   <!--JTAG Status registers for each chain       -->
index c80d13fa8f85444b12d7f2df7cf3c67c81c6dd7b..2ce9083d6b98fc8a90bb2d7fcea5d9c40116661a 100755 (executable)
@@ -110,7 +110,6 @@ foreach my $req (@request) {
   if ($isbrowser) {
     requestdata($db->{$name},$name,$slice);
     generateoutput($db->{$name},$name,$slice,$once);
-    writeoutput($db->{$name},$name,$slice,$once);
     }
   else {
     runandprint($db->{$name},$name,$slice,$once);
@@ -197,12 +196,12 @@ sub requestdata {
   my ($obj,$name,$slice) = @_;
   my $o;
   print DumpTree($obj) if $verbose;
-  if ($slice >= $obj->{repeat}) {
+  if (defined  $obj->{repeat} && $slice >= $obj->{repeat}) {
     print "Slice number out of range.\n";
     return -1;
     }
   
-  if($obj->{type} eq "group") {
+  if($obj->{type} eq "group" && $obj->{mode} =~ /r/) {
     if(defined $obj->{continuous} && $obj->{continuous} eq "true") {
       my $size   = $obj->{size};
       my $offset = 0;
@@ -227,7 +226,7 @@ sub requestdata {
         }
       }
     }
-  elsif($obj->{type} eq "register" || $obj->{type} eq "registerfield" || $obj->{type} eq "field") {
+  elsif(($obj->{type} eq "register" || $obj->{type} eq "registerfield" || $obj->{type} eq "field")  && $obj->{mode} =~ /r/) {
     my $stepsize = $obj->{stepsize} || 1;
     $slice = 0 unless defined $slice;
     do {
@@ -251,7 +250,7 @@ sub generateoutput {
       generateoutput($db->{$c},$c,$slice,$once);
       }
     }
-  elsif($obj->{type} eq "register" || $obj->{type} eq "registerfield" || $obj->{type} eq "field") {
+  elsif(($obj->{type} eq "register" || $obj->{type} eq "registerfield" || $obj->{type} eq "field") && $obj->{mode} =~ /r/) {
     $t = "<hr class=\"queryresult\"><table class='queryresult'>";
     my $stepsize = $obj->{stepsize} || 1;
        $slice = 0 unless defined $slice;
@@ -292,7 +291,7 @@ sub generateoutput {
           my $fullc = $name;
           $fullc .= ".$slice" if ($once != 1 && defined $obj->{repeat});
           my $cstr = sprintf("%s-0x%04x-%s", $entity,$b,$fullc );
-        $t .= FormatPretty($data->{$addr}->{$b},$obj,"td",($wr?"editable":""),$cstr);
+          $t .= FormatPretty($data->{$addr}->{$b},$obj,"td",($wr?"editable":""),$cstr);
           }
         }
       
@@ -302,11 +301,7 @@ sub generateoutput {
   print $t;
   }
 
-  
-sub writeoutput {
-  my ($obj,$name,$slice,$once) = @_;
-  }
-  
+
   
 ###############################
 #### Analyze Object & print contents (the simple minded way)
@@ -331,7 +326,7 @@ sub runandprint {
 
   
     do {
-      if ($slice >= $obj->{repeat}) {
+      if (defined  $obj->{repeat} && $slice >= $obj->{repeat}) {
         print "Slice number out of range.\n";
         return -1;
         }