102 my_shutdown = TRUE; |
102 my_shutdown = TRUE; |
103 } |
103 } |
104 |
104 |
105 |
105 |
106 |
106 |
|
107 void tempstatus(float hlttemp, float mlttemp) |
|
108 { |
|
109 char text[81]; |
|
110 |
|
111 snprintf(text, 7, "%5.1f\001", hlttemp); |
|
112 #ifdef HAVE_WIRINGPI_H |
|
113 piLock(LOCK_LCD); |
|
114 lcdPosition(lcdHandle, 2, 1); |
|
115 lcdPuts(lcdHandle, text); |
|
116 #endif |
|
117 slcdPosition(slcdHandle, 2, 1); |
|
118 slcdPuts(slcdHandle, text); |
|
119 |
|
120 snprintf(text, 7, "%5.1f\001", mlttemp); |
|
121 #ifdef HAVE_WIRINGPI_H |
|
122 piLock(LOCK_LCD); |
|
123 lcdPosition(lcdHandle, 11, 1); |
|
124 lcdPuts(lcdHandle, text); |
|
125 #endif |
|
126 slcdPosition(slcdHandle, 11, 1); |
|
127 slcdPuts(slcdHandle, text); |
|
128 } |
|
129 |
|
130 |
|
131 |
107 int server(void); |
132 int server(void); |
108 int server(void) |
133 int server(void) |
109 { |
134 { |
110 int rc = 0, run = 1, key, manual = MANUAL_NONE; |
135 int rc = 0, run = 1, key, manual = MANUAL_NONE; |
111 int man_hlt_heat = 0, man_mlt_heat = 0, man_mlt_pump = 0; |
136 int man_hlt_heat = 0, man_mlt_heat = 0, man_mlt_pump = 0; |
271 key = keywait(); |
296 key = keywait(); |
272 if (key == KEY_DOWN) |
297 if (key == KEY_DOWN) |
273 manual = MANUAL_SELMLT; |
298 manual = MANUAL_SELMLT; |
274 if (key == KEY_RETURN) |
299 if (key == KEY_RETURN) |
275 manual = MANUAL_NONE; |
300 manual = MANUAL_NONE; |
276 if (key == KEY_ENTER) |
301 if (key == KEY_ENTER) { |
|
302 // TODO: prompt for water |
277 manual = MANUAL_HLT; |
303 manual = MANUAL_HLT; |
|
304 prompt(0, NULL); |
|
305 device_out(unit->hlt_heater.uuid, man_hlt_heat); |
|
306 device_out(unit->mlt_heater.uuid, man_mlt_heat); |
|
307 device_out(unit->mlt_pump.uuid, man_mlt_pump); |
|
308 } |
278 break; |
309 break; |
279 case MANUAL_SELMLT: prompt(0, NULL); |
310 case MANUAL_SELMLT: prompt(0, NULL); |
280 prompt(104, NULL); |
311 prompt(104, NULL); |
281 prompt(220, NULL); |
312 prompt(220, NULL); |
282 prompt(404, NULL); |
313 prompt(404, NULL); |
283 key = keywait(); |
314 key = keywait(); |
284 if (key == KEY_UP) |
315 if (key == KEY_UP) |
285 manual = MANUAL_SELHLT; |
316 manual = MANUAL_SELHLT; |
286 if (key == KEY_RETURN) |
317 if (key == KEY_RETURN) |
287 manual = MANUAL_NONE; |
318 manual = MANUAL_NONE; |
288 if (key == KEY_ENTER) |
319 if (key == KEY_ENTER) { |
|
320 // TODO: prompt for water |
289 manual = MANUAL_MLT; |
321 manual = MANUAL_MLT; |
|
322 prompt(0, NULL); |
|
323 device_out(unit->hlt_heater.uuid, man_hlt_heat); |
|
324 device_out(unit->mlt_heater.uuid, man_mlt_heat); |
|
325 device_out(unit->mlt_pump.uuid, man_mlt_pump); |
|
326 } |
290 break; |
327 break; |
291 case MANUAL_HLT: prompt(0, NULL); |
328 case MANUAL_HLT: prompt(104, NULL); |
292 prompt(104, NULL); |
|
293 prompt(413, NULL); |
329 prompt(413, NULL); |
294 |
330 |
295 key = keywait(); |
331 key = keywait(); |
296 if (key == KEY_RETURN) { |
332 if (key == KEY_RETURN) { |
297 if (man_hlt_heat) |
333 if (man_hlt_heat) |
305 } |
341 } |
306 device_out(unit->hlt_heater.uuid, man_hlt_heat); |
342 device_out(unit->hlt_heater.uuid, man_hlt_heat); |
307 if (debug) |
343 if (debug) |
308 fprintf(stdout, "device_out(%s, %d) HLT heater\n", unit->hlt_heater.uuid, man_hlt_heat); |
344 fprintf(stdout, "device_out(%s, %d) HLT heater\n", unit->hlt_heater.uuid, man_hlt_heat); |
309 break; |
345 break; |
310 case MANUAL_MLT: prompt(0, NULL); |
346 case MANUAL_MLT: prompt(104, NULL); |
311 prompt(104, NULL); |
|
312 prompt(406, NULL); |
347 prompt(406, NULL); |
313 key = keywait(); |
348 key = keywait(); |
314 if (key == KEY_RETURN) { |
349 if (key == KEY_RETURN) { |
315 if (man_mlt_heat) |
350 if (man_mlt_heat) |
316 man_mlt_heat = 0; |
351 man_mlt_heat = 0; |