Add in live values data page + minor gui fixes
[matches/MCTX3420.git] / testing / MCTXWeb / public_html / pintest.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3   <head>
4     <title>MCTX3420 Web Interface</title>
5     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6     <script type="text/javascript" src="static/jquery-1.10.1.min.js"></script>
7     <script type="text/javascript" src="static/mctx.gui.js"></script>
8     <script type="text/javascript" src="static/mctx.pintest.js"></script>
9     
10     <link rel="stylesheet" type="text/css" href="static/style.css">
11     <link rel="stylesheet" type="text/css" href="static/nav-menu.css">
12     <script type="text/javascript">
13       runBeforeLoad().done(function () {
14         //Ensure stuff is unloaded before leaving the page
15         $(window).unload(function(){
16           $("#adc-controls").find("input[type='checkbox']")
17           .each(function () {
18             if ($(this).is(":checked")) {
19               $(this).trigger("click");
20             }
21           });
22           $("#gpio-container").find("input[name='unexport']")
23           .each(function () {
24             $(this).trigger("click");
25           });
26           $("#pwm-container").find("input[name='unexport']")
27           .each(function () {
28             $(this).trigger("click");
29           });
30         });
31         
32         $(document).ready(function () {
33          $("#gpio-menu").populateDropdown(mctx.pintest.gpios, "GPIO ");
34          $("#pwm-menu").populateDropdown(mctx.pintest.pwms, "PWM ");
35
36          $("#gpio-go").click(function () {
37            if ($("#gpio-menu").val()) {
38              $(this).attr("disabled", true);
39              $("#gpio-container").exportGPIO($("#gpio-menu")).always(function () {
40                $("#gpio-go").attr("disabled", false);
41              });
42            }
43          });
44          $("#pwm-go").click(function () {
45            if ($("#pwm-menu").val()) {
46              $(this).attr("disabled", true);
47              $("#pwm-container").exportPWM($("#pwm-menu")).always(function () {
48                $("#pwm-go").attr("disabled", false);
49              });
50            }
51          });
52          $("#adc-controls").trigger("reset").setADCControl();
53        });
54       })
55
56     </script>
57   </head>
58   
59   <body>
60     <div id="header-wrap">
61       <div id="header">
62         <div id="leftnav">
63           <a href="http://www.uwa.edu.au/" target="_blank">
64             <img alt = "The University of Western Australia"
65             src="static/uwacrest-text.png">
66           </a>
67           <span id="title">BBB Pin test (debug only)</span>
68         </div>
69         <div id="rightnav">
70           <span id="welcome-container">
71           </span>
72           <span id="date">
73             <script type="text/javascript">getDate();</script>
74           </span>
75           <div id="logout-container">
76             <form action="#">
77               <div>
78                 <input type="button" id="logout" value="Logout">
79               </div>
80             </form>
81           </div>
82         </div>
83         <div class="clear"></div>
84       </div>
85     </div>
86     <!-- End header -->
87     
88     <div id="content-wrap">
89       <noscript>
90         <div class="widget centre">
91           <div class="title">JavaScript required</div>
92           This website requires JavaScript to function correctly.
93           Please enable JavaScript to use this site.
94         </div>
95       </noscript>
96       
97       <div id="content">
98         <div class="widget" id="sidebar-show">&gt;</div>
99         <div id="sidebar">
100           <div class="widget">
101             <div id="sidebar-hide">&lt;</div>
102             <div class="title">Navigation menu</div>
103             <div id="sidebar-menu" class="nav-menu">
104               <ul>
105                 <li><a href="index.html"><span>Home</span></a></li>
106                 <li><a href="control.html"><span>Experiment control</span></a></li>
107                 <li><a href="graph.html"><span>Experiment graphs</span></a></li>
108                 <li><a href="values.html"><span>Experiment data (live)</span></a></li>
109                 <li><a href="data.html"><span>Experiment data</span></a></li>
110                 <li><a href="pintest.html"><span>Pin debugging</span></a></li>
111                 <li class="last"><a href="help.html"><span>Help</span></a></li>
112               </ul>
113             </div>
114           </div>
115           <div class="widget">
116             <div class="title">Info</div>
117             <p>This test page gives control over the BBB's pins.
118             Select a pin that you wish to use from the relevant drop-down
119             menu and click 'Go'.</p>
120             <p>A new widget will appear with controls relevant to that pin.</p>
121             <p>Make sure to check the error log to see if something goes wrong.</p>
122           </div>
123           <div class="widget">
124             <div class="title">Pin out diagram</div>
125             <p>To see the pin out diagram of the BBB, click <a href="pinout-table.pdf" target="_blank">here</a>.</p>
126           </div>
127           <div class="widget">
128             <div class="title">Export/Unexport?</div>
129             <p>
130               To export/unexport a pin means to enable/disable it. Apart from the obvious
131               use case, sometimes this can be required if you use two PWM channels
132               that share the same frequency base.
133             </p>
134             <p>
135               You won't be able to change
136               the frequency until you unexport one of them.
137             </p>
138           </div>
139           <div class="widget">
140             <div class="title">PWM explained</div>
141             <p>The frequency must be a decimal number greater than 0.</p>
142             <p>
143               The duty cycle describes the proportion of off/on time per period.
144               This number is specified as a ratio, with values ranging from 0 to 1.
145             </p>
146             <p>
147               The polarity determines if the duty represents the 'active
148               high' or 'active low' portion. By default, the duty cycle
149               represents the 'active high' portion.
150             </p>
151           </div>
152         </div>
153         <!-- End sidebar -->
154
155         <div id="main">
156           <div class="widget">
157             <div class="title">Dashboard</div>
158             <table>
159               <tr>
160                 <td>
161                   GPIO <select id="gpio-menu"></select>
162                   <input type="button" id="gpio-go" value="Go">
163                 </td>
164                 <td>
165                   PWM <select id="pwm-menu"></select>
166                   <input type="button" id="pwm-go" value="Go">
167                 </td>
168               </tr>
169             </table>
170
171             <div class="sub-title">Error log</div>
172             <textarea id="errorlog" wrap="off" rows="4" cols="30" readonly></textarea>
173           </div>
174
175           <div class="widget">
176             <div class="title">Analogue input (ADC)</div>
177             <form class="controls" action="#" id="adc-controls">
178               <table class="centre">
179                 <tr>
180                   <td>AIN</td><th>0</th><th>1</th><th>2</th><th>3</th>
181                   <th>4</th><th>5</th><th>6</th><th>7</th>
182                 </tr>
183                 <tr>
184                   <td>Value</td>
185                   <td><input name="0" type="text" readonly></td>
186                   <td><input name="1" type="text" readonly></td>
187                   <td><input name="2" type="text" readonly></td>
188                   <td><input name="3" type="text" readonly></td>
189                   <td><input name="4" type="text" readonly></td>
190                   <td><input name="5" type="text" readonly></td>
191                   <td><input name="6" type="text" readonly></td>
192                   <td><input name="7" type="text" readonly></td>
193                 </tr>
194                 <tr>
195                   <td>Export</td>
196                   <td><input name="0" type="checkbox"></td>
197                   <td><input name="1" type="checkbox"></td>
198                   <td><input name="2" type="checkbox"></td>
199                   <td><input name="3" type="checkbox"></td>
200                   <td><input name="4" type="checkbox"></td>
201                   <td><input name="5" type="checkbox"></td>
202                   <td><input name="6" type="checkbox"></td>
203                   <td><input name="7" type="checkbox"></td>
204                 </tr>
205               </table>
206             </form>
207           </div>
208
209           <div class="widget" id="gpio-container">
210             <div class="title">GPIO controls</div>
211           </div>
212
213           <div class="widget" id="pwm-container">
214             <div class="title">PWM controls</div>
215           </div>
216         </div>
217         <!-- End main content -->
218       </div>
219     </div>
220   </body>
221 </html>

UCC git Repository :: git.ucc.asn.au