--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+<link href="styles.css" rel="stylesheet" type="text/css"/>
+<script src="scripts.js" type="text/javascript"></script>
+<title>TDC Registers</title>
+</head>
+<body>
+
+
+<h4>Hit Counters</h4>
+<form acion="">
+<table><tr><td>Board<td><input type="text" id="form_board" name="board" maxlength="4" value="ffff">
+<tr><td># of Channels<td><input type="text" id="form_channels" name="channels" maxlength="3" value="65">
+<tr><td>Update Interval (ms)<td><input type="text" id="form_rate" name="rate" maxlength="5" value="1000">
+<tr><td>Differences<td><input type="checkbox" id="form_diff" name="diff" value="1">
+<tr><td><td><input type="button" onClick="setValues()" value="OK">
+</table>
+</form>
+
+<table id="content"><tr><th>Channel<th>Value</table><br> <br>
+<table id="contentregs"><tr><th>Register<th>Values</table>
+
+
+<script language="javascript">
+var updaterate = document.getElementById("form_rate").value;
+var board = document.getElementById("form_board").value;
+var channels = document.getElementById("form_channels").value;
+var differences= document.getElementById("form_diff").checked;
+var oldvalues = {};
+
+var reglist = "80-83-84-85-86-87-88-89-8a-8b-8c-8d-8f-90";
+var regs = reglist.split('-');
+
+var updateTask;
+var updateRegsTask;
+
+
+
+function update(data) {
+ if(!document.getElementById("content").innerHTML) return;
+ var b = data.split("&");
+ var c = {};
+ o = "<tr><th>Channel";
+
+ for(j=0;j<b.length-1;j++) {
+ c[j] = b[j].split(" ");
+ if(!oldvalues[j]) oldvalues[j] = c[j];
+ o += "<th>"+c[j][0];
+ }
+
+ for(i = 1; i <= channels; i++) {
+ o += "<tr><th>"+(i-1);
+ for(j=0;j<b.length-1;j++) {
+ if(differences) {
+ val = c[j][i]- (oldvalues[j][i]||0);
+ }
+ else {
+ val = c[j][i];
+ }
+ o += "<td>"+val;
+ }
+ }
+ oldvalues = c;
+ document.getElementById("content").innerHTML = o;
+ }
+
+function setValues() {
+ updaterate = document.getElementById("form_rate").value;
+ board = document.getElementById("form_board").value;
+ differences= document.getElementById("form_diff").checked;
+ channels = document.getElementById("form_channels").value;
+ clearInterval(updateTask);
+ updateTask = setInterval("getdata('get.pl?"+board+"-c000-"+channels+"',update)",updaterate);
+ clearInterval(updateRegsTask);
+ updateRegsTask = setInterval("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate);
+
+ }
+
+function updateregs(data) {
+ if(!document.getElementById("contentregs").innerHTML) return;
+ var b = data.split("&");
+ var c = {};
+ o = "<tr><th>Register<th>Content";
+
+ for(j=0;j<b.length-1;j++) {
+ c[j] = b[j].split(" ");
+ o += "<th>"+c[j][0];
+ }
+
+ for(i = 0; i < 14; i++) {
+ o += "<tr><th>"+regs[i];
+ switch(i) {
+ case 0:
+ o += "<td>debug<br>channels<br>ref input";
+ break;
+ case 1:
+ o += "<td>window bef.<br>window aft.";
+ break;
+ case 2:
+ o+= "<td>valid trg";
+ break;
+ case 3:
+ o+= "<td>valid tmg trg";
+ break;
+ case 4:
+ o+= "<td>valid notmg";
+ break;
+ case 5:
+ o+= "<td>invalid trg";
+ break;
+ case 6:
+ o+= "<td>multi trg";
+ break;
+ case 7:
+ o+= "<td>spurious trg";
+ break;
+ case 8:
+ o+= "<td>wrong rdo";
+ break;
+ case 9:
+ o+= "<td>spikes";
+ break;
+ case 10:
+ o+= "<td>idle time";
+ break;
+ case 11:
+ o+= "<td>wait time";
+ break;
+ case 12:
+ o+= "<td>releases";
+ break;
+ case 13:
+ o+= "<td>rdo time";
+ break;
+
+ default:
+ o += "<td> ";
+ }
+
+ for(j=0;j<b.length-1;j++) {
+ val = c[j][i+1];
+ o += "<td>";
+ if(i==0) {
+ o += (val&0xFF).toString(16)+"<br>"+((val&0xff00)>>8)+"<br>"+(val>>16 & 1);
+ }
+ else if(i==1) {
+ o += (val&0x7FF).toString(16)+"<br>"+((val&0x7ff0000)>>16);
+ }
+ else {
+ o += val;
+ }
+ }
+ }
+ document.getElementById("contentregs").innerHTML = o;
+ }
+
+
+
+updateTask = setInterval("getdata('get.pl?"+board+"-c000-"+channels+"',update)",updaterate);
+updateRegsTask = setInterval("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate);
+
+
+
+</script>
+</body></html>