brewco/prompt.c

changeset 442
1193bd7d460f
child 443
6b80a37fdf8d
equal deleted inserted replaced
441:bde74a8f2ad7 442:1193bd7d460f
1 /*****************************************************************************
2 * Copyright (C) 2015
3 *
4 * Michiel Broek <mbroek at mbse dot eu>
5 *
6 * This file is part of the mbsePi-apps
7 *
8 * This is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the
10 * Free Software Foundation; either version 2, or (at your option) any
11 * later version.
12 *
13 * mbsePi-apps is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with ThermFerm; see the file COPYING. If not, write to the Free
20 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21 *****************************************************************************/
22
23 #include "brewco.h"
24 #include "slcd.h"
25 #include "prompt.h"
26
27
28 extern int debug;
29 extern sys_config Config;
30 extern int lcdHandle;
31 extern int slcdHandle;
32
33
34
35 void prompt(int index)
36 {
37 char message[81];
38 int line;
39
40 switch (index) {
41 case 0:
42 #ifdef HAVE_WIRINGPI_H
43 piLock(LOCK_LCD);
44 lcdClear(lcdHandle);
45 #endif
46 slcdClear(slcdHandle);
47 #ifdef HAVE_WIRINGPI_H
48 piUnlock(LOCK_LCD);
49 #endif
50 return;
51 case 101: snprintf(message, Config.lcd_cols + 1, " Brewco %s ", VERSION);
52 break;
53 case 102: snprintf(message, Config.lcd_cols + 1, " SETUP MENU ");
54 break;
55 case 103: snprintf(message, Config.lcd_cols + 1, " AUTOMATIC MODE ");
56 break;
57 case 104: snprintf(message, Config.lcd_cols + 1, " MANUAL MODE ");
58 break;
59 case 111: snprintf(message, Config.lcd_cols + 1, "AUTO --> Mash In ");
60 break;
61 case 112: snprintf(message, Config.lcd_cols + 1, "AUTO --> Fitasi ");
62 break;
63 case 113: snprintf(message, Config.lcd_cols + 1, "AUTO --> Glucanasi ");
64 break;
65 case 114: snprintf(message, Config.lcd_cols + 1, "AUTO --> Proteasi ");
66 break;
67 case 115: snprintf(message, Config.lcd_cols + 1, "AUTO --> B-amilasi ");
68 break;
69 case 116: snprintf(message, Config.lcd_cols + 1, "AUTO --> A-amilasi 1");
70 break;
71 case 117: snprintf(message, Config.lcd_cols + 1, "AUTO --> A-amilasi 2");
72 break;
73 case 118: snprintf(message, Config.lcd_cols + 1, "AUTO --> Mash Out ");
74 break;
75 case 121: snprintf(message, Config.lcd_cols + 1, "AUTO --> Hop xx ");
76 break;
77 case 202: snprintf(message, Config.lcd_cols + 1, " Manage Recipes ");
78 break;
79 case 203: snprintf(message, Config.lcd_cols + 1, " Manage Brewsystems ");
80 break;
81 case 204: snprintf(message, Config.lcd_cols + 1, " Manage Devices ");
82 break;
83 case 205: snprintf(message, Config.lcd_cols + 1, " Manage Simulators ");
84 break;
85 case 206: snprintf(message, Config.lcd_cols + 1, " Set Automation ");
86 break;
87 case 207: snprintf(message, Config.lcd_cols + 1, " Delay start? ");
88 break;
89 case 208: snprintf(message, Config.lcd_cols + 1, " Resume Process ");
90 break;
91 case 209: snprintf(message, Config.lcd_cols + 1, " Water Added? ");
92 break;
93 case 210: snprintf(message, Config.lcd_cols + 1, " Pump Prime ");
94 break;
95 case 211: snprintf(message, Config.lcd_cols + 1, " Setting Delay ");
96 break;
97 case 212: snprintf(message, Config.lcd_cols + 1, " To be started in ");
98 break;
99 case 213: snprintf(message, Config.lcd_cols + 1, " Iodine test ");
100 break;
101 case 214: snprintf(message, Config.lcd_cols + 1, " START COOLING ");
102 break;
103 case 215: snprintf(message, Config.lcd_cols + 1, " WHIRLPOOL ");
104 break;
105 case 216: snprintf(message, Config.lcd_cols + 1, " Timing Whirlpool ");
106 break;
107 case 217: snprintf(message, Config.lcd_cols + 1, " Brewing Process ");
108 break;
109 case 218: snprintf(message, Config.lcd_cols + 1, " Add Brewsystem? ");
110 break;
111 case 301: snprintf(message, Config.lcd_cols + 1, " Finished ");
112 break;
113 case 302: snprintf(message, Config.lcd_cols + 1, " Shutting down ");
114 break;
115 case 401: snprintf(message, Config.lcd_cols + 1, "--- MAN AUTO SETUP");
116 break;
117 case 402: snprintf(message, Config.lcd_cols + 1, "--- dwn quit ok ");
118 break;
119 case 403: snprintf(message, Config.lcd_cols + 1, " up dwn quit ok ");
120 break;
121 case 404: snprintf(message, Config.lcd_cols + 1, " up --- quit ok ");
122 break;
123 case 405: snprintf(message, Config.lcd_cols + 1, "--- --- quit ok ");
124 break;
125 case 406: snprintf(message, Config.lcd_cols + 1, "UP* *DWN heat pmp ");
126 break;
127 case 407: snprintf(message, Config.lcd_cols + 1, "--- --- No Yes ");
128 break;
129 case 408: snprintf(message, Config.lcd_cols + 1, "--- --- Ok --- ");
130 break;
131 case 409: snprintf(message, Config.lcd_cols + 1, "UP* *DWN Pause --- ");
132 break;
133 case 410: snprintf(message, Config.lcd_cols + 1, " Continue: Yes No ");
134 break;
135 case 411: snprintf(message, Config.lcd_cols + 1, "UP* *DWN --- pmp ");
136 break;
137 case 412: snprintf(message, Config.lcd_cols + 1, "Up Dwn Exit Ok ");
138 break;
139 // 12345678901234567890
140 default: snprintf(message, Config.lcd_cols + 1, " N/A N/A");
141 }
142
143 if (index < 200)
144 line = 0;
145 else if (index < 300)
146 line = 1;
147 else if (index < 400)
148 line = 2;
149 else
150 line = 3;
151
152 fprintf(stdout, "%d %d '%s'\n", line, Config.lcd_cols, message);
153
154 #ifdef HAVE_WIRINGPI_H
155 piLock(LOCK_LCD);
156 lcdPosition(lcdHandle, 0, line);
157 lcdPuts(lcdHandle, message);
158
159 #endif
160 slcdPosition(slcdHandle, 0, line);
161 slcdPuts(slcdHandle, message);
162 #ifdef HAVE_WIRINGPI_H
163 piUnlock(LOCK_LCD);
164 #endif
165 }
166
167

mercurial