From 014ecaa1170dbe5b222a151f8b83f9a828b9c30a Mon Sep 17 00:00:00 2001 From: hadeshyp Date: Thu, 29 Nov 2012 15:36:04 +0000 Subject: [PATCH] *** empty log message *** --- cts/htdocs/thresh/putbit.pl | 28 +++++++++++++++++ cts/htdocs/thresh/styles.css | 15 +++++++++ cts/htdocs/thresh/tdc.htm | 59 ++++++++++++++++++++++++++++-------- 3 files changed, 89 insertions(+), 13 deletions(-) create mode 100755 cts/htdocs/thresh/putbit.pl diff --git a/cts/htdocs/thresh/putbit.pl b/cts/htdocs/thresh/putbit.pl new file mode 100755 index 0000000..3f57281 --- /dev/null +++ b/cts/htdocs/thresh/putbit.pl @@ -0,0 +1,28 @@ +&htsponse(200, "OK"); +print "Content-type: text/html\r\n\r\n"; + + + +use HADES::TrbNet; +use Data::Dumper; + + if (!defined &trb_init_ports()) { + die("can not connect to trbnet-daemon on the $ENV{'DAQOPSERVER'}"); + } + +my ($board,$addr,$op,$value) = split('-',$ENV{'QUERY_STRING'}); + +if(!defined $board || !defined $addr || !defined $op || !defined $value) {exit -1;} +$board = hex($board); +$addr = hex($addr); +$value = hex($value); + +my $mode = 0; +$mode = 1 if($op eq "set") ; +$mode = 2 if($op eq "clr") ; +exit -1 if $mode == 0; + + +trb_register_modify($board,$addr,$mode,$value,0); + +exit 1; \ No newline at end of file diff --git a/cts/htdocs/thresh/styles.css b/cts/htdocs/thresh/styles.css index 216d31a..3dabcfa 100644 --- a/cts/htdocs/thresh/styles.css +++ b/cts/htdocs/thresh/styles.css @@ -144,3 +144,18 @@ width: 89px; font-family:monospace; font-size:85%; } + + +#content .checkbox { + + + display: block; + float:left; + margin:0px -15px 2px 0px; + padding:0px -15px 0px 0px; +} + + +.onoffbutton { + width:22px; +} \ No newline at end of file diff --git a/cts/htdocs/thresh/tdc.htm b/cts/htdocs/thresh/tdc.htm index 87d39e3..3dd3bb5 100644 --- a/cts/htdocs/thresh/tdc.htm +++ b/cts/htdocs/thresh/tdc.htm @@ -17,7 +17,7 @@ Update Interval (ms) Split Table Differences -Input Status +Input Status/Enable  @@ -34,11 +34,12 @@ var channels = document.getElementById("form_channels").value; var split = document.getElementById("form_split").checked?"-2":""; var differences= document.getElementById("form_diff").checked; var showstatus = document.getElementById("form_status").checked; +var showenable = document.getElementById("form_enable").checked; var oldvalues = {}; -var reglist = "0-c100-c103-c104-c105-c106-c107-c108-c109-c10a-c10b-c10c-c10d-c10f-c110-c0-c2-c3"; -//var reglist = "0-80-83-84-85-86-87-88-89-8a-8b-8c-8d-8f-90-c0-c2-c3"; +//var reglist = "0-c100-c103-c104-c105-c106-c107-c108-c109-c10a-c10b-c10c-c10d-c10f-c110-c0-c2-c3"; +var reglist = "0-80-83-84-85-86-87-88-89-8a-8b-8c-8d-8f-90-c0-c2-c3"; var regs = reglist.split('-'); var regnames = new Array("Temperature","debug
channels
ref input","window bef.
window aft.", @@ -48,6 +49,7 @@ var regnames = new Array("Temperature","debug
channels
ref input","window var updateTask; var updateRegsTask; +var enableGroup = new Array(0,0); function update(data) { @@ -61,7 +63,19 @@ function update(data) { if(!oldvalues[j]) oldvalues[j] = c[j]; o += ""+c[j][0]; } - + if(showenable) { + o += "Channel group"; + for(j=0;j"; + } + o += "
"; + for(k=0;k<4;k++) { + o += ""; + } + } + } for(i = 1; i <= channels; i++) { o += ""+(i-1+0xc000).toString(16)+""+(i-1); for(j=0;j"+(val); + o += ""; else - o += ""+(val); + o += ""; + o += (val); + if(showenable) { + checked = (enableGroup[Math.floor((i-1)/32)]&1<<(i-1)%32)?"checked":""; + o += ""; + } } } oldvalues = c; @@ -94,13 +113,28 @@ function setValues() { differences= document.getElementById("form_diff").checked; showstatus = document.getElementById("form_status").checked; channels = document.getElementById("form_channels").value; + showenable = document.getElementById("form_enable").checked; clearTimeout(updateTask); - updateTask = setTimeout("getdata('get.pl?"+board+"-c000-"+channels+split+"',update)",updaterate); + updateTask = setTimeout("getdata('get.pl?"+board+"-c000-"+channels+split+"',update)",100); clearTimeout(updateRegsTask); - updateRegsTask = setTimeout("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate2); + updateRegsTask = setTimeout("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",100); } +function setEnable(e,board,channel) { + reg = Math.floor(channel/32) + 82; + op = e.checked?"set":"clr"; + getdata("putbit.pl?"+board+"-"+reg+"-"+op+"-"+(1<<(channel%32)).toString(16),0); + } + +function setEnableBlock(e,board,channel,val) { + reg = Math.floor(channel/2) + 82; + op = val?"set":"clr"; + value = channel%2?0xffff0000:0xffff; + getdata("putbit.pl?"+board+"-"+reg+"-"+op+"-"+value); + } + + function updateregs(data) { if(!document.getElementById("contentregs").innerHTML) return; var b = data.split("&"); @@ -130,6 +164,8 @@ function updateregs(data) { } else if(i==17 || i==16 || i==15) { o += (val*1).toString(16); + if(i==16) enableGroup[0] = val*1.; + if(i==17) enableGroup[1] = val*1.; } else { o += val; @@ -142,11 +178,8 @@ function updateregs(data) { } -getdata("get.pl?"+board+"-c000-"+channels+split,update); -getdata("getmultreg.pl?"+board+"-"+reglist,updateregs); - -updateTask = setTimeout("getdata('get.pl?"+board+"-c000-"+channels+split+"',update)",updaterate); -updateRegsTask = setTimeout("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",updaterate2); +updateTask = setTimeout("getdata('get.pl?"+board+"-c000-"+channels+split+"',update)",100); +updateRegsTask = setTimeout("getdata('getmultreg.pl?"+board+"-"+reglist+"',updateregs)",100); -- 2.43.0