--- /dev/null
+&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;
+
+
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";
$setup[1]->{refresh} = 1;
$setup[1]->{period} = 0;
-xmlpage::initPage(\@setup);
+xmlpage::initPage(\@setup,$page);
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
- }
-
<!-- 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 -->
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);
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;
}
}
}
- 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 {
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;
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);
}
}
print $t;
}
-
-sub writeoutput {
- my ($obj,$name,$slice,$once) = @_;
- }
-
+
###############################
#### Analyze Object & print contents (the simple minded way)
do {
- if ($slice >= $obj->{repeat}) {
+ if (defined $obj->{repeat} && $slice >= $obj->{repeat}) {
print "Slice number out of range.\n";
return -1;
}