34 extern int lcdHandle; |
34 extern int lcdHandle; |
35 extern int slcdHandle; |
35 extern int slcdHandle; |
36 |
36 |
37 |
37 |
38 |
38 |
39 int toggleYesNo(int value, char *text) |
39 void editFloat(float *value, float low, float high, char *text) |
40 { |
40 { |
41 int key, new = value; |
41 int key; |
|
42 float new = *value; |
|
43 char pmpt[81]; |
|
44 |
|
45 prompt(0, NULL); |
|
46 prompt(133, NULL); |
|
47 |
|
48 for (;;) { |
|
49 snprintf(pmpt, Config.lcd_cols + 1, "%s: %5.1f\001", text, new); |
|
50 prompt(200, pmpt); |
|
51 if (new == low) |
|
52 prompt(404, NULL); |
|
53 else if (new == high) |
|
54 prompt(402, NULL); |
|
55 else |
|
56 prompt(403, NULL); |
|
57 |
|
58 key = keywait(); |
|
59 if ((key == KEY_RETURN) || my_shutdown) |
|
60 return; |
|
61 if (key == KEY_UP) { |
|
62 new = new + 0.5; |
|
63 if (new > high) |
|
64 new = high; |
|
65 } |
|
66 if (key == KEY_DOWN) { |
|
67 new = new - 0.5; |
|
68 if (new < low) |
|
69 new = low; |
|
70 } |
|
71 if (key == KEY_ENTER) { |
|
72 *value = new; |
|
73 return; |
|
74 } |
|
75 } |
|
76 } |
|
77 |
|
78 |
|
79 |
|
80 void editInteger(int *value, int low, int high, char *text) |
|
81 { |
|
82 int key, new = *value; |
|
83 char pmpt[81]; |
|
84 |
|
85 prompt(0, NULL); |
|
86 prompt(134, NULL); |
|
87 |
|
88 for (;;) { |
|
89 snprintf(pmpt, Config.lcd_cols + 1, "%s: %2d mins", text, new); |
|
90 prompt(200, pmpt); |
|
91 if (new == low) |
|
92 prompt(404, NULL); |
|
93 else if (new == high) |
|
94 prompt(402, NULL); |
|
95 else |
|
96 prompt(403, NULL); |
|
97 |
|
98 key = keywait(); |
|
99 if ((key == KEY_RETURN) || my_shutdown) |
|
100 return; |
|
101 if (key == KEY_UP) { |
|
102 new++; |
|
103 if (new > high) |
|
104 new = high; |
|
105 } |
|
106 if (key == KEY_DOWN) { |
|
107 new--; |
|
108 if (new < low) |
|
109 new = low; |
|
110 } |
|
111 if (key == KEY_ENTER) { |
|
112 *value = new; |
|
113 return; |
|
114 } |
|
115 } |
|
116 } |
|
117 |
|
118 |
|
119 |
|
120 void toggleYesNo(int *value, char *text) |
|
121 { |
|
122 int key, new = *value; |
42 char pmpt[81]; |
123 char pmpt[81]; |
43 |
124 |
44 prompt(0, NULL); |
125 prompt(0, NULL); |
45 prompt(132, NULL); |
126 prompt(132, NULL); |
46 |
127 |
130 prompt(200, pmpt); |
213 prompt(200, pmpt); |
131 break; |
214 break; |
132 case 13: snprintf(pmpt, Config.lcd_cols + 1, " Pump on-boil: %s", unit->pump_onboil ? (char *)"Yes":(char *)"No"); |
215 case 13: snprintf(pmpt, Config.lcd_cols + 1, " Pump on-boil: %s", unit->pump_onboil ? (char *)"Yes":(char *)"No"); |
133 prompt(200, pmpt); |
216 prompt(200, pmpt); |
134 break; |
217 break; |
135 case 14: snprintf(pmpt, Config.lcd_cols + 1, " Pump stop: %3d\337C", unit->pump_stop); |
218 case 14: snprintf(pmpt, Config.lcd_cols + 1, " Pump stop: %5.1f\001", unit->pump_stop); |
136 prompt(200, pmpt); |
219 prompt(200, pmpt); |
137 break; |
220 break; |
138 case 15: snprintf(pmpt, Config.lcd_cols + 1, " Skip Add: %s", unit->skip_add ? (char *)"Yes":(char *)"No"); |
221 case 15: snprintf(pmpt, Config.lcd_cols + 1, " Skip Add: %s", unit->skip_add ? (char *)"Yes":(char *)"No"); |
139 prompt(200, pmpt); |
222 prompt(200, pmpt); |
140 break; |
223 break; |
167 if ((key == KEY_DOWN) && (index < 21)) |
250 if ((key == KEY_DOWN) && (index < 21)) |
168 index++; |
251 index++; |
169 |
252 |
170 if (key == KEY_ENTER) { |
253 if (key == KEY_ENTER) { |
171 switch(index) { |
254 switch(index) { |
172 case 7: unit->hlt_heater_mltfirst = toggleYesNo(unit->hlt_heater_mltfirst , (char *)"MLT heat b4 HLT"); |
255 |
173 break; |
256 case 7: toggleYesNo(&unit->hlt_heater_mltfirst, (char *)"MLT heat b4 HLT"); |
|
257 break; |
|
258 case 8: editInteger(&unit->pump_cycle, 5, 15, (char *)"Pump cycle"); |
|
259 break; |
|
260 case 9: editInteger(&unit->pump_rest, 1, 5, (char *)"Pump rest "); |
|
261 break; |
|
262 case 10: toggleYesNo(&unit->pump_premash, (char *)" Pump pre-mash"); |
|
263 break; |
|
264 case 11: toggleYesNo(&unit->pump_onmash, (char *)" Pump on-mash"); |
|
265 break; |
|
266 case 12: toggleYesNo(&unit->pump_mashout, (char *)" Pump mashout"); |
|
267 break; |
|
268 case 13: toggleYesNo(&unit->pump_onboil, (char *)" Pump on-boil"); |
|
269 break; |
|
270 case 14: editFloat(&unit->pump_stop, 80.0, 110.0, (char *)" Pump stop"); |
|
271 break; |
|
272 case 15: toggleYesNo(&unit->skip_add, (char *)"Skip add water"); |
|
273 break; |
|
274 case 16: toggleYesNo(&unit->skip_remove, (char *)"Skip remove Mash"); |
|
275 break; |
|
276 case 17: toggleYesNo(&unit->skip_iodine, (char *)"Skip iodine test"); |
|
277 break; |
|
278 case 19: toggleYesNo(&unit->whirlpool, (char *)"Do a whirlpool"); |
|
279 break; |
|
280 |
174 } |
281 } |
175 } |
282 } |
176 // name |
283 // name |
177 // hlt_sensor picklist |
284 // hlt_sensor picklist |
178 // hlt_heater picklist + value range |
285 // hlt_heater picklist + value range |