Wed, 02 Dec 2015 17:16:41 +0100
Added programming display CGRAM. Added display of characters from CGRAM. Changed prompts to allow free prompt strings. More code for the brewsystem unit editor.
/***************************************************************************** * 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 *text) { 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 100: snprintf(message, Config.lcd_cols + 1, text); break; case 101: snprintf(message, Config.lcd_cols + 1, " Brewco %s \007", 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 --> Phytase "); break; case 113: snprintf(message, Config.lcd_cols + 1, "AUTO --> Glucanase "); break; case 114: snprintf(message, Config.lcd_cols + 1, "AUTO --> Protease "); break; case 115: snprintf(message, Config.lcd_cols + 1, "AUTO --> \342-Amylase "); /* Beta */ break; case 116: snprintf(message, Config.lcd_cols + 1, "AUTO --> \340-Amylase 1"); /* Alpha */ break; case 117: snprintf(message, Config.lcd_cols + 1, "AUTO --> \340-Amylase 2"); break; case 118: snprintf(message, Config.lcd_cols + 1, "AUTO --> Mash Out "); break; case 119: snprintf(message, Config.lcd_cols + 1, "AUTO --> Boil "); break; case 120: snprintf(message, Config.lcd_cols + 1, "AUTO --> Cooling "); break; case 121: snprintf(message, Config.lcd_cols + 1, "AUTO --> Whirlpool "); break; case 122: snprintf(message, Config.lcd_cols + 1, "AUTO --> Hop xx "); break; case 131: snprintf(message, Config.lcd_cols + 1, " Edit brewsystem "); break; case 132: snprintf(message, Config.lcd_cols + 1, " Toggle Yes/No "); break; case 200: snprintf(message, Config.lcd_cols + 1, text); 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 300: snprintf(message, Config.lcd_cols + 1, text); break; case 301: snprintf(message, Config.lcd_cols + 1, " Finished "); break; case 302: snprintf(message, Config.lcd_cols + 1, " Shutting down "); break; case 400: snprintf(message, Config.lcd_cols + 1, text); 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 }