Renamed Mash-in step to Prepare on the display. Don't run the pump when the mash is added. When preparing the mash, first heat the HLT, and then the MLT so that both have the chance to reach their target temperatures.

Sun, 27 Dec 2015 17:52:26 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 27 Dec 2015 17:52:26 +0100
changeset 477
9167ad4c2e77
parent 476
8f159cd4f5fc
child 478
fe8bf61cde06

Renamed Mash-in step to Prepare on the display. Don't run the pump when the mash is added. When preparing the mash, first heat the HLT, and then the MLT so that both have the chance to reach their target temperatures.

brewco/brewco.c file | annotate | diff | comparison | revisions
brewco/prompt.c file | annotate | diff | comparison | revisions
--- a/brewco/brewco.c	Sun Dec 27 17:18:58 2015 +0100
+++ b/brewco/brewco.c	Sun Dec 27 17:52:26 2015 +0100
@@ -416,7 +416,7 @@
 				break;
 
 	case STEP_PREMASH:	if (brew->brewstep != last_step) {
-				    prompt(111, NULL);     	/* "AUTO --> Mash-in    " */
+				    prompt(111, NULL);     	/* "AUTO --> Prepare    " */
 				    prompt(300, NULL);          /* "                    " */
 				    prompt(418, NULL);          /* "---  ---  Pause --- " */
 				    tempstatus();
@@ -424,18 +424,20 @@
 				    mlt_status(1);
 				    pump_status(unit->pump_premash);
 				    last_step = brew->brewstep;
+				    initlog(brew->name);
 				}
-				initlog(brew->name);
 				if (set_HLT_heater(unit, 1, 85.0))
 				    syslog(LOG_NOTICE, "AUTO: premash turn on HLT at %6.2f", hltSetpoint);
-				if (set_MLT_heater(unit, 1, recipe->mash[0].setpoint))
+				if (set_MLT_heater(unit, 1, 10.0))
 				    syslog(LOG_NOTICE, "AUTO: premash turn on MLT at %6.2f", mltSetpoint);
 				if (set_MLT_pump(unit, unit->pump_premash))
 				    syslog(LOG_NOTICE, "AUTO: premash turn %s MLT pump", mlt_pump_state ? "on":"off");
-				brew->brewstep = STEP_MASHING;
-				brew->mashstep = 0;
-				mash_fase = MASH_NA;
-				save = TRUE;
+				if (hltInput >= 85.0) {
+				    brew->brewstep = STEP_MASHING;
+				    brew->mashstep = 0;
+				    mash_fase = MASH_NA;
+				    save = TRUE;
+				}
 				break;
 
 	case STEP_MASHING:	if (brew->brewstep != last_step) {
@@ -452,8 +454,6 @@
 				    syslog(LOG_NOTICE, "AUTO: mash turn on HLT at %6.2f", hltSetpoint);
 				if (set_MLT_heater(unit, 1, recipe->mash[brew->mashstep].setpoint))
 				    syslog(LOG_NOTICE, "AUTO: mash turn on MLT at %6.2f", mltSetpoint);
-				if ((mash_fase != MASH_REST) && set_MLT_pump(unit, unit->pump_onmash))
-				    syslog(LOG_NOTICE, "AUTO: mash turn %s MLT pump", mlt_pump_state ? "on":"off");
 
 				switch (mash_fase) {
 				    case MASH_NA:	if (recipe->mash[brew->mashstep].skip) {
@@ -479,6 +479,8 @@
 							    prompt(407, NULL);              	/* "---  ---   No   Yes " */
 							    last_fase = mash_fase;
 							}
+							if (set_MLT_pump(unit, 0))	/* Off during mash add */
+							    syslog(LOG_NOTICE, "AUTO: mash turn %s MLT pump", mlt_pump_state ? "on":"off");
 							slcdDummy(slcdHandle);
 							key = keycheck();
 							if (key == KEY_ENTER) {
@@ -500,6 +502,8 @@
 							    prompt(410, NULL);          /* " Continue: Yes  No  " */
 							    last_fase = mash_fase;
 							}
+							if (set_MLT_pump(unit, unit->pump_onmash))
+							    syslog(LOG_NOTICE, "AUTO: mash turn %s MLT pump", mlt_pump_state ? "on":"off");
 							if (oldsec != seconds) {
 							    brew->timeout--;
 							    timestatus(2, brew->timeout);
@@ -534,6 +538,8 @@
 							    pump_status(unit->pump_onmash);
 							    last_fase = mash_fase;
 							}
+							if (set_MLT_pump(unit, unit->pump_onmash))
+							    syslog(LOG_NOTICE, "AUTO: mash turn %s MLT pump", mlt_pump_state ? "on":"off");
 							if (oldsec != seconds) {
 							    tempstatus();
 							    percstatus((seconds / 2) % 4);
--- a/brewco/prompt.c	Sun Dec 27 17:18:58 2015 +0100
+++ b/brewco/prompt.c	Sun Dec 27 17:52:26 2015 +0100
@@ -61,7 +61,7 @@
 			break;
 	case 104:	snprintf(message, Config.lcd_cols + 1, "    MANUAL MODE     ");
 			break;
-	case 111:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Mash In    ");
+	case 111:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Prepare    ");
 			break;
 	case 112:	snprintf(message, Config.lcd_cols + 1, "AUTO --> Phytase    ");
 			break;

mercurial