]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
Better error reporting
authorManuel Penschuck <manuel.penschuck@stud.uni-frankfurt.de>
Mon, 4 Nov 2013 17:54:04 +0000 (18:54 +0100)
committerManuel Penschuck <manuel.penschuck@stud.uni-frankfurt.de>
Mon, 4 Nov 2013 17:54:04 +0000 (18:54 +0100)
Another update related bug fix
New Tab "Readout" for Readout and EB related features

web/htdocs/cts.htm
web/htdocs/layout/base.css
web/htdocs/scripts/cts.js

index bb77b2359dc2a8583d15b77032480272aeac9bc3..da577dba01c55074fefda9b6961b23135b2e4ca7 100644 (file)
            </div>
          </div>
 
-
-         <div class="expandable expanded" id="cts-expander">
-            <div class="header"><span class="indicator"></span> CTS Details</div>
-            
+         <div class="expandable expanded" id="readout-expander">
+            <div class="header"><span class="indicator"></span> Readout</div>
+         
             <div class="content">
                <div class="left">
                   <table class="">
                         <td> </td>
                         <td class="value"><input type="checkbox" class="autoupdate autocommit" slice="cts_readout_config.timestamp" /> Timestamp</td>
                      </tr>
+                  </table>               
+               </div>
                      
-                     <tr class="eventbuilder_rr alt"><td colspan="2">&nbsp;</td><tr>
-<!--                     
+               <div class="right">
+                  <table class="">
                      <tr class="eventbuilder_rr">
-                        <td>Active Event Builder</td>
-                        <td class="value">
+                        <td>Active Event Builder
+                           <div id="rr_warning" slice="cts_eventbuilder.rr_interval" class="autoupdate"
+                           format="var f=function(x, y, e) {e.setStyle('display', parseInt(x) ? 'none' : 'block'); return e.get('html')}; f">
+                              Disabled as <emph>Round-Robin<br />Bin Size</emph> is set to <pre>0</pre>
+                           </div>
+                        </td>
+                        <td class="value" style="padding-bottom: 5px">
                            <pre>15</pre> <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[15]">
                            <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[14]">
                            <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[13]">
                            <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[3]">
                            <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[2]">
                            <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[1]">
-                           <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[0]"> <pre>0</pre> 
+                           <input type="checkbox" class="autoupdate autocommit" slice="cts_eventbuilder.mask[0]"> <pre>0</pre> <br />
+                           
                         </td>
                      </tr>
                      
                      <tr class="alt eventbuilder_rr">
                         <td>Round-Robin Bin Size</td>
                         <td class="value">
-                           <input class="text autoupdate autocommit" slice="cts_eventbuilder.rr_interval" /> events
+                           <input class="text autoupdate autocommit" slice="cts_eventbuilder.rr_interval"
+                              inputhint="Enter the number of consequtive events (&lt;pre&gt;0&lt;/pre&gt; to &lt;pre&gt;255&lt;/pre&gt;) that should be send to&lt;br /&gt; the same EB. The default value (&lt;pre&gt;0&lt;/pre&gt;) disables the Round Robin distribution &lt;br /&gt;and sends all data (with a possible exception of type 0xe triggers) to EB0."
+                           /> events
                         </td>
                      </tr>
 
                            <input id="eb_rr" class="text autoupdate autocommit" slice="cts_eventbuilder.cal_eb"  />  
                         </td>
                      </tr>                     
--->                     
                   </table>               
                </div>
-               
-               <div class="right">
+            </div>
+         </div>
+
+         <div class="expandable expanded" id="cts-expander">
+            <div class="header"><span class="indicator"></span> CTS Details</div>
+            <div class="content">
+               <div class="left">
                   <table>
                      <tr>
                         <td class="label">DAQOP SERVER</td>
                         <td class="value" id="trb_compiletime">n/a</td>
                      </tr>
                      
-                     <tr><td colspan="2">&nbsp;</td><tr>
+                     <tr class="alt">
+                        <td class="label">TD FSM Limit (debug only):</td>
+                        <td class="value">
+                           <input class="autocommit autoupdate text" slice="cts_fsm_limits.td" 
+                                  format="var f=function(x){return parseInt(x)==0xffff ? 'disabled' : (parseInt(x) ? x + ' events' : 'active')}; f"
+                                  interpret="var f=function(x){return (x.trim() == '' || x.match(/disabled|off/)) ? 0xffff : (isNaN(parseInt(x))?0:parseInt(x))}; f" />
+                        </td>
+                     </tr>
 
+                     <tr>
+                        <td class="label">RO FSM Limit (debug only):</td>
+                        <td class="value">
+                           <input class="autocommit autoupdate text" slice="cts_fsm_limits.ro" 
+                                  format="var f=function(x){return parseInt(x)==0xffff ? 'disabled' : (parseInt(x) ? x + ' events' : 'active')}; f"
+                                  interpret="var f=function(x){return (x.trim() == '' || x.match(/disabled|off/)) ? 0xffff : (isNaN(parseInt(x))?0:parseInt(x))}; f" />
+                        </td>
+                     </tr>                      
+                  </table>
+               </div>
+               <div class="right">
+                  <table>
                      <tr>
                         <td class="label">TD FSM State</td>
                         <td class="value autoupdate" slice="cts_td_fsm_state.state">n/a</td>
                         <td class="label">Buffered Trigger (15:0)</td>
                         <td class="value autoupdate" slice="cts_buf_trg_state" format="var x=function(x,data){return '<pre>'+ data.f.mask + '</pre>, Type: '+data.f.type}; x">n/a</td>
                      </tr>
-
-                     <tr><td colspan="2">&nbsp;</td><tr>
-                     
-                     <tr class="alt">
-                        <td class="label">TD FSM Limit (debug only):</td>
-                        <td class="value">
-                           <input class="autocommit autoupdate text" slice="cts_fsm_limits.td" 
-                                  format="var f=function(x){return parseInt(x)==0xffff ? 'disabled' : (parseInt(x) ? x + ' events' : 'active')}; f"
-                                  interpret="var f=function(x){return (x.trim() == '' || x.match(/disabled|off/)) ? 0xffff : (isNaN(parseInt(x))?0:parseInt(x))}; f" />
-                        </td>
-                     </tr>
-
-                     <tr>
-                        <td class="label">RO FSM Limit (debug only):</td>
-                        <td class="value">
-                           <input class="autocommit autoupdate text" slice="cts_fsm_limits.ro" 
-                                  format="var f=function(x){return parseInt(x)==0xffff ? 'disabled' : (parseInt(x) ? x + ' events' : 'active')}; f"
-                                  interpret="var f=function(x){return (x.trim() == '' || x.match(/disabled|off/)) ? 0xffff : (isNaN(parseInt(x))?0:parseInt(x))}; f" />
-                        </td>
-                     </tr>                     
                   </table>
                </div>
             </div>
index 5e8f197534b0c3aa1217111b55c3df5cca33d15d..fbad7e705b2dea175850a9e5994a678107f635a5 100644 (file)
    }
 
    .eventbuilder_rr {visibility: hidden;}
-      
\ No newline at end of file
+   
+   #rr_warning {
+      font-size: 90%;
+      font-style: italic;
+      color: #a03010;
+      display: none;
+   }
\ No newline at end of file
index 84a2dbe8fa216c1c64031330f515cc408f409fa3..3dac52767074aa1e5eda753fa7287c111fcc5814 100644 (file)
@@ -114,12 +114,17 @@ var CTS = new Class({
    writeRegisters: function(values) {
       var arrValues = [];
       Object.each(values, function(v,r) {arrValues.push(r); arrValues.push(v)});
-      console.debug(values, arrValues);
       (new Request.JSON({
          url: 'cts.pl?write,' + arrValues.join(','),
          onSuccess: function(json, text) {
+            console.log(json)
+            console.log(text)
+            
             if (!json) {
                var m = text.match(/<pre>(.*)<\/pre>/i);
+               
+               console.log(m)
+               
                if (m) alert("Server send error response:\n"+m[1]);
                else  alert("An unknown error occured while writing register");
             }
@@ -152,9 +157,7 @@ var CTS = new Class({
       
       // hard-reset. if request's timeout fails, this is the last resort ...
       var manualTimeout = (function(e) {
-        if (console) 
-          console.log(e.stack);
-        window.location.reload.delay(10000);
+        window.location.reload();
       }).delay(10000, this, new Error());
       
       new Request.JSON({
@@ -753,9 +756,20 @@ var CTS = new Class({
 });
 
 function xhrFailure(xhr){
-   console.log(xhr.responseText);
+   console.log(xhr);
    var m = xhr.responseText.match(/<pre>([\s\S]*)<\/pre>/im);
-   if (m) alert("Server send error response:\n"+m[1].trim());
+   
+   
+   if (m) {
+      text = m[1];
+      m = text.match(/^\s*-+ More[\w\s]+ -+\s+(.+)$/im)
+      if (m) text = m[1];
+      
+      alert("Server send error response:\n"+text.trim());
+   }
+   
+   
+   
    else  alert("An unknown error while contacting the sever. Did you open this file locally? Did the connection or server crash?");
 }