1 document.getElementById("test").innerHTML = "WebSocket is not connected"; |
1 document.getElementById("test").innerHTML = "WebSocket is not connected"; |
2 |
2 |
3 var websocket = new WebSocket('ws://'+location.hostname+'/ws'); |
3 var websocket = new WebSocket('ws://'+location.hostname+'/ws'); |
4 var slider = document.getElementById("myRange"); |
4 |
5 |
5 var Beep= new Audio( "data:audio/wav;base64,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 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VEFHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU291bmRib3kuZGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAwNGh0dHA6Ly93d3cuc291bmRib3kuZGUAAAAAAAAAACU=" ); |
6 |
6 |
7 var BBScreen={ |
7 var BBScreen={ |
8 |
8 |
|
9 Screen: -1, |
|
10 Subscreen: 0, |
|
11 setTimer: function(v){ |
|
12 $("#timer").text(''); |
|
13 if (v == 0) { |
|
14 $("#timer").css("font-size", "18px"); |
|
15 $("#timer").css("font-weight", "normal"); |
|
16 $("#timer").css("font-family", "Verdana, Arial, sans-serif"); |
|
17 } else { |
|
18 $("#timer").css("font-size", "36px"); |
|
19 $("#timer").css("font-weight", "bold"); |
|
20 $("#timer").css("font-family", "Courier New, Lucida Console"); |
|
21 } |
|
22 }, |
|
23 clearScreen: function(){ |
|
24 $("#mltline").hide(); |
|
25 $("#mlt_table").hide(); |
|
26 $("#mlt00").hide(); |
|
27 $("#mlt20").hide(); |
|
28 $("#mlt01").hide(); |
|
29 $("#mlt21").hide(); |
|
30 $("#midline").hide(); |
|
31 this.setTimer(0); |
|
32 $("#mid00").hide(); |
|
33 $("#mid20").hide(); |
|
34 $("#mid00").css("background-color", "#e7e7e7"); |
|
35 $("#mid00").css("color", "black"); |
|
36 $("#hltline").hide(); |
|
37 $("#hlt_table").hide(); |
|
38 $("#hlt00").hide(); |
|
39 $("#hlt20").hide(); |
|
40 $("#hlt01").hide(); |
|
41 $("#hlt21").hide(); |
|
42 $("#hlt01").css("background-color", "#e7e7e7"); |
|
43 $("#hlt01").css("color", "black"); |
|
44 $("#row_info").hide(); |
|
45 $("#prompt").hide(); |
|
46 $("#button_nee").css("background-color", "#e7e7e7"); |
|
47 $("#button_nee").css("color", "black"); |
|
48 $("#note").hide(); |
|
49 $("#brew").hide(); |
|
50 }, |
|
51 setScreen: function(s){ |
|
52 Screen = parseInt(s,10); |
|
53 switch (Screen) { |
|
54 case 0: this.clearScreen(); |
|
55 $("#mltline").show(); |
|
56 $("#mlt_table").show(); |
|
57 $("#but00").text('Hand'); |
|
58 $("#but20").text('Auto'); |
|
59 $("#mlt00").show(); |
|
60 $("#mlt20").show(); |
|
61 $("#midline").show(); |
|
62 this.setTimer(0); |
|
63 $("#hltline").show(); |
|
64 $("#hlt_table").show(); |
|
65 $("#hlt01").show(); |
|
66 $("#but04").text('Info'); |
|
67 // No tools button on the web. |
|
68 break; |
|
69 case 2: this.clearScreen(); |
|
70 $("#row_info").show(); |
|
71 break; |
|
72 case 96: break; // Automaat show recipe and Stop / Start |
|
73 case 98: break; // Delay start |
|
74 case 99: this.clearScreen(); // heatup |
|
75 $("#mltline").show(); |
|
76 $("#mlt_table").show(); |
|
77 $("#midline").show(); |
|
78 $("#hltline").show(); |
|
79 $("#hlt_table").show(); |
|
80 break; |
|
81 case 100: // All handled at Subscreen |
|
82 case 101: |
|
83 case 102: |
|
84 case 103: |
|
85 case 104: |
|
86 case 105: |
|
87 case 106: |
|
88 case 107: break; |
|
89 case 108: this.clearScreen(); |
|
90 $("#mltline").show(); // to boil |
|
91 $("#mlt_table").show(); |
|
92 $("#mlt00").show(); |
|
93 $("#mlt20").show(); |
|
94 $("#but00").text('+sp'); |
|
95 $("#but20").text('-sp'); |
|
96 break; |
|
97 case 109: this.clearScreen(); |
|
98 $("#mltline").show(); // boil |
|
99 $("#mlt_table").show(); |
|
100 $("#mlt00").show(); |
|
101 $("#mlt20").show(); |
|
102 $("#but00").text('+sp'); |
|
103 $("#but20").text('-sp'); |
|
104 $("#midline").show(); |
|
105 $("#mid00").show(); |
|
106 $("#mid20").show(); |
|
107 $("#but02").text('+%'); |
|
108 $("#but22").text('-%'); |
|
109 this.setTimer(1); |
|
110 $("#hltline").show(); |
|
111 $("#hlt01").show(); |
|
112 $("#hlt21").show(); |
|
113 $("#but04").text('+1m'); |
|
114 $("#but24").text('-1m'); |
|
115 break; |
|
116 case 110: // whirlpool 9 |
|
117 case 111: // cooling H |
|
118 case 112: // whirlpool 7 |
|
119 case 113: // cooling M |
|
120 case 114: // whirlpool 6 |
|
121 case 115: // cooling C |
|
122 case 116: // whirlpool 2 |
|
123 break; |
|
124 case 117: this.clearScreen(); |
|
125 $("#note").show(); |
|
126 $("#note_msg").text('Brouwen is gereed.'); |
|
127 break; |
|
128 case 118: this.clearScreen(); |
|
129 $("#note").show(); |
|
130 $("#note_msg").text('Brouwen is afgebroken.'); |
|
131 break; |
|
132 case 97: |
|
133 case 200: this.clearScreen(); |
|
134 $("#prompt").show(); |
|
135 break; |
|
136 case 201: this.clearScreen(); |
|
137 $("#mltline").show(); |
|
138 $("#but00").text('+sp'); |
|
139 $("#but20").text('-sp'); |
|
140 $("#but01").text('Pomp'); |
|
141 $("#but21").text('Aan'); |
|
142 $("#midline").show(); |
|
143 $("#hltline").show(); |
|
144 $("#but03").text('+sp'); |
|
145 $("#but23").text('-sp'); |
|
146 $("#but04").text('Stop'); |
|
147 $("#but24").text('Aan'); |
|
148 $("#hlt01").show(); |
|
149 $("#hlt01").css("background-color", "#575757"); |
|
150 $("#hlt01").css("color", "white"); |
|
151 break; |
|
152 default: this.clearScreen(); |
|
153 console.log("this is default screen "+Screen); |
|
154 break; |
|
155 } |
|
156 }, |
|
157 setSubscreen: function(s){ |
|
158 Subscreen = parseInt(s,10); |
|
159 console.log("Screen:"+Screen+" Sub:"+Subscreen); |
|
160 if (Screen == 96) { |
|
161 this.clearScreen(); |
|
162 if (Subscreen == 0) { |
|
163 $("#prompt").show(); |
|
164 $("#button_ja").text('Ja'); |
|
165 $("#button_nee").text('Nee'); |
|
166 } else if (Subscreen == 1) { |
|
167 $("#brew").show(); |
|
168 } |
|
169 } else if ((Screen >= 100) && (Screen < 108)) { |
|
170 this.clearScreen(); |
|
171 $("#mltline").show(); |
|
172 $("#mlt_table").show(); |
|
173 $("#midline").show(); |
|
174 $("#hltline").show(); |
|
175 $("#hlt_table").show(); |
|
176 switch (Subscreen) { |
|
177 case 0: // MASH_NONE |
|
178 case 1: // MASH_WAITTEMP |
|
179 $("#mlt00").show(); |
|
180 $("#mlt20").show(); |
|
181 $("#but00").text('+sp'); |
|
182 $("#but20").text('-sp'); |
|
183 break; |
|
184 case 2: // MASH_REST |
|
185 this.setTimer(1); |
|
186 $("#mid00").show(); |
|
187 $("#mid20").show(); |
|
188 $("#but02").text('+1m'); |
|
189 $("#but22").text('-1m'); |
|
190 break; |
|
191 case 3: // MASH_ADD |
|
192 case 4: // MASH_IODINE |
|
193 case 5: // MASH_REMOVE |
|
194 case 6: // MASH_INFUSE |
|
195 this.setTimer(0); |
|
196 $("#mid00").show(); |
|
197 $("#mid00").css("background-color", "#575757"); |
|
198 $("#mid00").css("color", "white"); |
|
199 $("#mid20").show(); |
|
200 $("#but02").text('Halt'); |
|
201 $("#but22").text('Ok'); |
|
202 break; |
|
203 }; |
|
204 } else if ((Screen == 111) || (Screen == 113) || (Screen == 115)) { // cooling H,M,C |
|
205 this.clearScreen(); |
|
206 if (Subscreen == 0) { |
|
207 $("#prompt").show(); |
|
208 $("#button_ja").text('Start'); |
|
209 $("#button_nee").text('Stop'); |
|
210 $("#button_nee").css("background-color", "#575757"); |
|
211 $("#button_nee").css("color", "white"); |
|
212 } else if (Subscreen == 1) { |
|
213 $("#mltline").show(); |
|
214 $("#mlt_table").show(); |
|
215 $("#mlt00").show(); |
|
216 $("#mlt20").show(); |
|
217 $("#but00").text('+1'); |
|
218 $("#but20").text('-1'); |
|
219 $("#hltline").show(); |
|
220 $("#hlt01").show(); |
|
221 $("#but04").text('Stop'); |
|
222 $("#hlt01").css("background-color", "#575757"); |
|
223 $("#hlt01").css("color", "white"); |
|
224 } |
|
225 } else if ((Screen == 110) || (Screen == 112) || (Screen == 114) || (Screen == 116)) { // whirlpools |
|
226 this.clearScreen(); |
|
227 if (Subscreen == 0) { |
|
228 $("#prompt").show(); |
|
229 $("#button_ja").text('Start'); |
|
230 $("#button_nee").text('Stop'); |
|
231 $("#button_nee").css("background-color", "#575757"); |
|
232 $("#button_nee").css("color", "white"); |
|
233 } else if (Subscreen == 1) { |
|
234 $("#mltline").show(); |
|
235 $("#mlt_table").show(); |
|
236 $("#midline").show(); |
|
237 this.setTimer(1); |
|
238 $("#mid00").show(); |
|
239 $("#mid20").show(); |
|
240 $("#but02").text('-1m'); |
|
241 $("#but22").text('+1m'); |
|
242 $("#hltline").show(); |
|
243 $("#hlt21").show(); |
|
244 $("#but24").text('Pomp'); |
|
245 } |
|
246 }; |
|
247 }, |
9 MLT_pv: function(s) { |
248 MLT_pv: function(s) { |
10 $("#mlt_pv").text(s); |
249 $("#mlt_pv").text(s); |
11 }, |
250 }, |
12 MLT_sp: function(s) { |
251 MLT_sp: function(s) { |
13 $("#mlt_sp").text(s); |
252 $("#mlt_sp").text(s); |
|
253 if (Screen == 201) { |
|
254 if (s != "") { |
|
255 $("#mlt00").show(); |
|
256 $("#mlt20").show(); |
|
257 $("#mlt01").show(); |
|
258 $("#mlt21").show(); |
|
259 $("#mlt_table").show(); |
|
260 } |
|
261 } |
14 }, |
262 }, |
15 MLT_power: function(s) { |
263 MLT_power: function(s) { |
16 $("#mlt_power").text(s); |
264 $("#mlt_power").text(s); |
|
265 if (Screen == 201) { |
|
266 if (s != "") { |
|
267 $("#but21").text('Uit'); |
|
268 } else { |
|
269 $("#but21").text('Aan'); |
|
270 } |
|
271 } |
17 }, |
272 }, |
18 MLT_led: function(s) { |
273 MLT_led: function(s) { |
19 if (s == 0) |
274 if (s == 0) |
20 $("#mlt_led").css("background-color", "#270"); |
275 $("#mlt_led").css("background-color", "#270"); |
21 else |
276 else |
87 BBScreen.Topmessage(v) |
377 BBScreen.Topmessage(v) |
88 }, |
378 }, |
89 timer:function(v){ |
379 timer:function(v){ |
90 BBScreen.Timer(v) |
380 BBScreen.Timer(v) |
91 }, |
381 }, |
|
382 beep:function(v){ |
|
383 BBScreen.Beep(v) |
|
384 }, |
|
385 brew1:function(v){ |
|
386 BBScreen.Brew1(v) |
|
387 }, |
|
388 brew2:function(v){ |
|
389 BBScreen.Brew2(v) |
|
390 }, |
92 }; |
391 }; |
93 console.log(e); |
|
94 $.each(a,function(k,v){ |
392 $.each(a,function(k,v){ |
95 if (typeof(c[k])!="undefined"){ |
393 if (typeof(c[k])!="undefined"){ |
96 c[k](v) |
394 c[k](v) |
97 } |
395 } |
98 }); |
396 }); |
99 } |
397 } |
100 }; |
398 }; |
101 |
399 |
102 |
400 |
103 function sendMsg() { |
401 function sendTouch(x, y) { |
104 //websocket.send("sup playa!"); |
402 websocket.send('{"touch":{"x":'+x+',"y":'+y+'}}'); |
105 websocket.send('L50'); |
|
106 console.log('Sent message to websocket'); |
|
107 } |
403 } |
108 |
404 |
109 |
405 |
|
406 /* Define keys in the screens and their actions. */ |
|
407 $("#ok_info").click( function() { sendTouch(160,220); }); |
|
408 $("#ok_note").click( function() { sendTouch(160,220); }); |
|
409 $("#mlt00").click( function() { sendTouch( 35, 46); }); |
|
410 $("#mlt20").click( function() { sendTouch(285, 46); }); |
|
411 $("#mlt01").click( function() { sendTouch( 35, 96); }); |
|
412 $("#mlt21").click( function() { sendTouch(285, 96); }); |
|
413 $("#mid00").click( function() { sendTouch( 35,140); }); |
|
414 $("#mid20").click( function() { sendTouch(285,140); }); |
|
415 $("#hlt00").click( function() { sendTouch( 35,170); }); |
|
416 $("#hlt20").click( function() { sendTouch(285,170); }); |
|
417 $("#hlt01").click( function() { sendTouch( 35,220); }); |
|
418 $("#hlt21").click( function() { sendTouch(285,220); }); |
|
419 $("#button_ja").click( function() { sendTouch( 80,120); }); |
|
420 $("#button_nee").click( function() { sendTouch(240,120); }); |
|
421 $("#button_stop").click( function() { sendTouch( 35,220); }); |
|
422 $("#button_start").click( function() { sendTouch(285,220); }); |
|
423 |
110 websocket.onopen = function(evt) { |
424 websocket.onopen = function(evt) { |
111 console.log('WebSocket connection opened'); |
425 console.log('WebSocket connection opened'); |
112 // websocket.send("It's open! Hooray!!!"); |
426 document.getElementById("test").innerHTML = ""; |
113 document.getElementById("test").innerHTML = "WebSocket is connected!"; |
|
114 } |
427 } |
115 |
428 |
116 /* |
429 /* |
117 * Process received websocket messages. |
430 * Process received websocket messages. |
118 */ |
431 */ |