From: Jan Michel Date: Fri, 18 Oct 2013 16:31:41 +0000 (+0200) Subject: further extensions to xml gui X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=241b5afc5db7f9411505c08a41b8c5eea68f88cf;p=daqtools.git further extensions to xml gui --- diff --git a/web/htdocs/jtag/index.pl b/web/htdocs/jtag/index.pl new file mode 100755 index 0000000..599e7a3 --- /dev/null +++ b/web/htdocs/jtag/index.pl @@ -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; + + diff --git a/web/htdocs/nxyter/index.pl b/web/htdocs/nxyter/index.pl index 1353051..dc3a415 100755 --- a/web/htdocs/nxyter/index.pl +++ b/web/htdocs/nxyter/index.pl @@ -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 - } - -sub getTriggerValidate { -print < - -
-EOF - } - diff --git a/xml-db/database/JtagController.xml b/xml-db/database/JtagController.xml index 3604c52..872fff0 100644 --- a/xml-db/database/JtagController.xml +++ b/xml-db/database/JtagController.xml @@ -9,7 +9,7 @@ + address="1000" size="37" purpose="config" mode="rw" continuous="false"> Wait time between write sequence and start signal. @@ -74,11 +74,11 @@ Trigger writing all JTAG registers once on individual JTAG chains - - Sets fixed values for all outputs for JTAG and sensor control and inverts the outputs if needed. One register for each JTAG chain. + + + + address="0020"> Sets fixed values for all outputs for JTAG and sensor control and inverts the outputs if needed. One register for each JTAG chain. @@ -137,7 +137,7 @@ Enable Clock output signal - + diff --git a/xml-db/get.pl b/xml-db/get.pl index c80d13f..2ce9083 100755 --- a/xml-db/get.pl +++ b/xml-db/get.pl @@ -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 = "
"; 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; }