brewco/prompt.c

changeset 442
1193bd7d460f
child 443
6b80a37fdf8d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/brewco/prompt.c	Sat Nov 28 21:00:29 2015 +0100
@@ -0,0 +1,167 @@
+/*****************************************************************************
+ * Copyright (C) 2015
+ *   
+ * Michiel Broek <mbroek at mbse dot eu>
+ *
+ * This file is part of the mbsePi-apps
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * mbsePi-apps is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with ThermFerm; see the file COPYING.  If not, write to the Free
+ * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ *****************************************************************************/
+
+#include "brewco.h"
+#include "slcd.h"
+#include "prompt.h"
+
+
+extern int              debug;
+extern sys_config       Config;
+extern int              lcdHandle;
+extern int		slcdHandle;
+
+
+
+void prompt(int index)
+{
+    char	message[81];
+    int		line;
+
+    switch (index) {
+	case 0:
+#ifdef HAVE_WIRINGPI_H
+			piLock(LOCK_LCD);
+			lcdClear(lcdHandle);
+#endif
+			slcdClear(slcdHandle);
+#ifdef HAVE_WIRINGPI_H
+			piUnlock(LOCK_LCD);
+#endif
+			return;
+	case 101:	snprintf(message, Config.lcd_cols + 1, "    Brewco %s    ", VERSION);
+			break;
+	case 102:	snprintf(message, Config.lcd_cols + 1, "     SETUP MENU     ");
+			break;
+	case 103:	snprintf(message, Config.lcd_cols + 1, "   AUTOMATIC MODE   ");
+			break;
+	case 104:	snprintf(message, Config.lcd_cols + 1, "    MANUAL MODE     ");
+			break;
+	case 111:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Mash In    ");
+			break;
+	case 112:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Fitasi     ");
+			break;
+	case 113:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Glucanasi  ");
+			break;
+	case 114:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Proteasi   ");
+			break;
+	case 115:	snprintf(message, Config.lcd_cols + 1, "AUTO --> B-amilasi  ");
+			break;
+	case 116:	snprintf(message, Config.lcd_cols + 1, "AUTO --> A-amilasi 1");
+			break;
+	case 117:	snprintf(message, Config.lcd_cols + 1, "AUTO --> A-amilasi 2");
+			break;
+	case 118:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Mash Out   ");
+			break;
+	case 121:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Hop   xx   ");
+			break;
+	case 202:	snprintf(message, Config.lcd_cols + 1, "   Manage Recipes   ");
+			break;
+	case 203:	snprintf(message, Config.lcd_cols + 1, " Manage Brewsystems ");
+			break;
+	case 204:	snprintf(message, Config.lcd_cols + 1, "   Manage Devices   ");
+			break;
+	case 205:	snprintf(message, Config.lcd_cols + 1, "  Manage Simulators ");
+			break;
+	case 206:	snprintf(message, Config.lcd_cols + 1, "   Set Automation   ");
+			break;
+	case 207:	snprintf(message, Config.lcd_cols + 1, "    Delay start?    ");
+			break;
+	case 208:	snprintf(message, Config.lcd_cols + 1, "   Resume Process   ");
+			break;
+	case 209:	snprintf(message, Config.lcd_cols + 1, "    Water Added?    ");
+			break;
+	case 210:	snprintf(message, Config.lcd_cols + 1, "     Pump Prime     ");
+			break;
+	case 211:	snprintf(message, Config.lcd_cols + 1, "    Setting Delay   ");
+			break;
+	case 212:	snprintf(message, Config.lcd_cols + 1, "  To be started in  ");
+			break;
+	case 213:	snprintf(message, Config.lcd_cols + 1, "    Iodine test     ");
+			break;
+	case 214:	snprintf(message, Config.lcd_cols + 1, "   START COOLING    ");
+			break;
+	case 215:	snprintf(message, Config.lcd_cols + 1, "     WHIRLPOOL      ");
+			break;
+	case 216:	snprintf(message, Config.lcd_cols + 1, "  Timing Whirlpool  ");
+			break;
+	case 217:	snprintf(message, Config.lcd_cols + 1, "  Brewing Process   ");
+			break;
+	case 218:	snprintf(message, Config.lcd_cols + 1, "  Add Brewsystem?   ");
+			break;
+	case 301:	snprintf(message, Config.lcd_cols + 1, "     Finished       ");
+			break;
+	case 302:	snprintf(message, Config.lcd_cols + 1, "    Shutting down   ");
+			break;
+	case 401:       snprintf(message, Config.lcd_cols + 1, "---  MAN  AUTO SETUP");
+			break;
+	case 402:       snprintf(message, Config.lcd_cols + 1, "---  dwn  quit  ok  ");
+			break;
+	case 403:       snprintf(message, Config.lcd_cols + 1, " up  dwn  quit  ok  ");
+			break;
+	case 404:       snprintf(message, Config.lcd_cols + 1, " up  ---  quit  ok  ");
+			break;
+	case 405:	snprintf(message, Config.lcd_cols + 1, "---  ---  quit  ok  ");
+			break;
+	case 406:       snprintf(message, Config.lcd_cols + 1, "UP* *DWN  heat  pmp ");
+			break;
+	case 407:       snprintf(message, Config.lcd_cols + 1, "---  ---   No   Yes ");
+			break;
+	case 408:	snprintf(message, Config.lcd_cols + 1, "---  ---   Ok   --- ");
+			break;
+	case 409:	snprintf(message, Config.lcd_cols + 1, "UP* *DWN  Pause --- ");
+			break;
+	case 410:	snprintf(message, Config.lcd_cols + 1, " Continue: Yes  No  ");
+			break;
+	case 411:	snprintf(message, Config.lcd_cols + 1, "UP* *DWN  ---   pmp ");
+			break;
+	case 412:	snprintf(message, Config.lcd_cols + 1, "Up   Dwn  Exit  Ok  ");
+			break;
+			//                                      12345678901234567890
+	default:	snprintf(message, Config.lcd_cols + 1, "   N/A        N/A");
+    }
+
+    if (index < 200)
+	line = 0;
+    else if (index < 300)
+	line = 1;
+    else if (index < 400)
+	line = 2;
+    else
+	line = 3;
+
+    fprintf(stdout, "%d %d '%s'\n", line, Config.lcd_cols, message);
+
+#ifdef HAVE_WIRINGPI_H
+    piLock(LOCK_LCD);
+    lcdPosition(lcdHandle, 0, line);
+    lcdPuts(lcdHandle, message);
+
+#endif
+    slcdPosition(slcdHandle, 0, line);
+    slcdPuts(slcdHandle, message);
+#ifdef HAVE_WIRINGPI_H
+    piUnlock(LOCK_LCD);
+#endif
+}
+
+

mercurial