--- /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 +} + +