brewco/setup.c

changeset 445
3ec477cda546
parent 443
6b80a37fdf8d
child 446
78e9d5234d15
equal deleted inserted replaced
444:eafb140a1ddd 445:3ec477cda546
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
54 prompt(402, NULL); 135 prompt(402, NULL);
55 } 136 }
56 137
57 key = keywait(); 138 key = keywait();
58 if ((key == KEY_RETURN) || my_shutdown) 139 if ((key == KEY_RETURN) || my_shutdown)
59 return value; 140 return;
60 if ((key == KEY_UP) && new) 141 if ((key == KEY_UP) && new)
61 new = 0; 142 new = 0;
62 else if ((key == KEY_DOWN) && (new == 0)) 143 else if ((key == KEY_DOWN) && (new == 0))
63 new = 1; 144 new = 1;
64 if (key == KEY_ENTER) 145 if (key == KEY_ENTER) {
65 return new; 146 *value = new;
147 return;
148 }
66 } 149 }
67 } 150 }
68 151
69 152
70 153
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

mercurial