brewco/setup.c

changeset 443
6b80a37fdf8d
parent 442
1193bd7d460f
child 445
3ec477cda546
equal deleted inserted replaced
442:1193bd7d460f 443:6b80a37fdf8d
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)
40 {
41 int key, new = value;
42 char pmpt[81];
43
44 prompt(0, NULL);
45 prompt(132, NULL);
46
47 for (;;) {
48
49 snprintf(pmpt, Config.lcd_cols + 1, "%s: %s", text, new ? (char *)"Yes":(char *)"No ");
50 prompt(200, pmpt);
51 if (new) {
52 prompt(404, NULL);
53 } else {
54 prompt(402, NULL);
55 }
56
57 key = keywait();
58 if ((key == KEY_RETURN) || my_shutdown)
59 return value;
60 if ((key == KEY_UP) && new)
61 new = 0;
62 else if ((key == KEY_DOWN) && (new == 0))
63 new = 1;
64 if (key == KEY_ENTER)
65 return new;
66 }
67 }
68
69
70
39 void editUnit(units_list *unit) 71 void editUnit(units_list *unit)
40 { 72 {
73 int index = 1, key;
74 char pmpt[81];
75
41 if (debug) 76 if (debug)
42 fprintf(stdout, "Start edit brewsystem %d %s\n", unit->number, unit->uuid); 77 fprintf(stdout, "Start edit brewsystem %d %s\n", unit->number, unit->uuid);
78
79 prompt(0, NULL);
80
81 for (;;) {
82
83 prompt(0, NULL);
84 prompt(131, NULL);
85
86 if (index == 1)
87 prompt(402, NULL);
88 else if (index == 21)
89 prompt(404, NULL);
90 else
91 prompt(403, NULL);
92
93 switch (index) { // 12345678901234567890
94 case 1: snprintf(pmpt, Config.lcd_cols + 1, "Unit name:");
95 prompt(200, pmpt);
96 snprintf(pmpt, Config.lcd_cols + 1, "%s", unit->name);
97 prompt(300, pmpt);
98 break;
99 case 2: snprintf(pmpt, Config.lcd_cols + 1, " HLT sensor setup");
100 prompt(200, pmpt);
101 break;
102 case 3: snprintf(pmpt, Config.lcd_cols + 1, " HLT heater setup");
103 prompt(200, pmpt);
104 break;
105 case 4: snprintf(pmpt, Config.lcd_cols + 1, " MLT sensor setup");
106 prompt(200, pmpt);
107 break;
108 case 5: snprintf(pmpt, Config.lcd_cols + 1, " MLT heater setup");
109 prompt(200, pmpt);
110 break;
111 case 6: snprintf(pmpt, Config.lcd_cols + 1, " MLT pump setup");
112 prompt(200, pmpt);
113 break;
114 case 7: snprintf(pmpt, Config.lcd_cols + 1, "MLT heat b4 HLT: %s", unit->hlt_heater_mltfirst ? (char *)"Yes":(char *)"No");
115 prompt(200, pmpt);
116 break;
117 case 8: snprintf(pmpt, Config.lcd_cols + 1, "Pump cycle: %2d mins", unit->pump_cycle);
118 prompt(200, pmpt);
119 break;
120 case 9: snprintf(pmpt, Config.lcd_cols + 1, "Pump rest : %2d mins", unit->pump_rest);
121 prompt(200, pmpt);
122 break;
123 case 10: snprintf(pmpt, Config.lcd_cols + 1, " Pump pre-mash: %s", unit->pump_premash ? (char *)"Yes":(char *)"No");
124 prompt(200, pmpt);
125 break;
126 case 11: snprintf(pmpt, Config.lcd_cols + 1, " Pump on-mash: %s", unit->pump_onmash ? (char *)"Yes":(char *)"No");
127 prompt(200, pmpt);
128 break;
129 case 12: snprintf(pmpt, Config.lcd_cols + 1, " Pump mashout: %s", unit->pump_mashout ? (char *)"Yes":(char *)"No");
130 prompt(200, pmpt);
131 break;
132 case 13: snprintf(pmpt, Config.lcd_cols + 1, " Pump on-boil: %s", unit->pump_onboil ? (char *)"Yes":(char *)"No");
133 prompt(200, pmpt);
134 break;
135 case 14: snprintf(pmpt, Config.lcd_cols + 1, " Pump stop: %3d\337C", unit->pump_stop);
136 prompt(200, pmpt);
137 break;
138 case 15: snprintf(pmpt, Config.lcd_cols + 1, " Skip Add: %s", unit->skip_add ? (char *)"Yes":(char *)"No");
139 prompt(200, pmpt);
140 break;
141 case 16: snprintf(pmpt, Config.lcd_cols + 1, " Skip Remove: %s", unit->skip_remove ? (char *)"Yes":(char *)"No");
142 prompt(200, pmpt);
143 break;
144 case 17: snprintf(pmpt, Config.lcd_cols + 1, " Skip Iodine: %s", unit->skip_iodine ? (char *)"Yes":(char *)"No");
145 prompt(200, pmpt);
146 break;
147 case 18: snprintf(pmpt, Config.lcd_cols + 1, "Iodine time: %3d min", unit->iodine_time);
148 prompt(200, pmpt);
149 break;
150 case 19: snprintf(pmpt, Config.lcd_cols + 1, " Whirlpool: %s", unit->whirlpool ? (char *)"Yes":(char *)"No");
151 prompt(200, pmpt);
152 break;
153 case 20: snprintf(pmpt, Config.lcd_cols + 1, " HLT PID setup");
154 prompt(200, pmpt);
155 break;
156 case 21: snprintf(pmpt, Config.lcd_cols + 1, " MLT PID setup");
157 prompt(200, pmpt);
158 break;
159 }
160
161 key = keywait();
162 if ((key == KEY_RETURN) || my_shutdown)
163 return;
164
165 if ((key == KEY_UP) && (index > 1))
166 index--;
167 if ((key == KEY_DOWN) && (index < 21))
168 index++;
169
170 if (key == KEY_ENTER) {
171 switch(index) {
172 case 7: unit->hlt_heater_mltfirst = toggleYesNo(unit->hlt_heater_mltfirst , (char *)"MLT heat b4 HLT");
173 break;
174 }
175 }
176 // name
177 // hlt_sensor picklist
178 // hlt_heater picklist + value range
179 // mlt_sensor picklist
180 // mlt_heater picklist + value range
181 // mlt_pump picklist + value range
182 // hlt_heater_mltfirst 0/1
183 // pump_cycle 5..15
184 // pump_rest 1..5
185 // pump_premash 0/1
186 // pump_onmash 0/1
187 // pump_mashout 0/1
188 // pump_onboil 0/1
189 // pump_stop 80..110
190 // skip_add 0/1
191 // skip_remove 0/1
192 // skip_iodine 0/1
193 // iodine_time 0..90
194 // whirlpool 0/1
195 // PID_hlt
196 // PID_mlt
197 }
43 198
44 if (debug) 199 if (debug)
45 fprintf(stdout, "End edit brewsystem %d %s\n", unit->number, unit->uuid); 200 fprintf(stdout, "End edit brewsystem %d %s\n", unit->number, unit->uuid);
46 } 201 }
47 202
111 int key, option = 202; 266 int key, option = 202;
112 267
113 for (;;) { 268 for (;;) {
114 if (debug) 269 if (debug)
115 fprintf(stdout, "setup() option=%d\n", option); 270 fprintf(stdout, "setup() option=%d\n", option);
116 prompt(0); 271 prompt(0, NULL);
117 prompt(102); 272 prompt(102, NULL);
118 prompt(option); 273 prompt(option, NULL);
119 if (option == 202) 274 if (option == 202)
120 prompt(402); 275 prompt(402, NULL);
121 #ifdef USE_SIMULATOR 276 #ifdef USE_SIMULATOR
122 else if (option == 205) 277 else if (option == 205)
123 #else 278 #else
124 else if (option == 204) 279 else if (option == 204)
125 #endif 280 #endif
126 prompt(404); 281 prompt(404, NULL);
127 else 282 else
128 prompt(403); 283 prompt(403, NULL);
129 284
130 key = keywait(); 285 key = keywait();
131 286
132 if ((key == KEY_RETURN) || my_shutdown) 287 if ((key == KEY_RETURN) || my_shutdown)
133 return; 288 return;
140 if ((key == KEY_DOWN) && (option < 204)) { 295 if ((key == KEY_DOWN) && (option < 204)) {
141 #endif 296 #endif
142 option++; 297 option++;
143 } 298 }
144 299
300 if (key == KEY_ENTER) {
301 switch(option) {
302 case 202: // recipes
303 break;
304 case 203: editUnit(Config.units); /* If more units, via a selector */
305 break;
306 case 204: // devices
307 break;
308 #ifdef USE_SIMULATOR
309 case 205: // simulator
310 break;
311 #endif
312 }
313 if (my_shutdown)
314 return;
315 }
145 } 316 }
146 } 317 }
147 318
148 319

mercurial