Version 0.3.9. Added no-boil handling. Fixed cooling temp during cooling to allow 45 degrees setpoint.

Sun, 19 Apr 2020 23:28:26 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 19 Apr 2020 23:28:26 +0200
changeset 75
224851e81117
parent 74
cba50f7529d0
child 76
3ff381bfa469

Version 0.3.9. Added no-boil handling. Fixed cooling temp during cooling to allow 45 degrees setpoint.

CMakeLists.txt file | annotate | diff | comparison | revisions
main/automation.c file | annotate | diff | comparison | revisions
main/recipes.c file | annotate | diff | comparison | revisions
--- a/CMakeLists.txt	Mon Nov 25 21:01:46 2019 +0100
+++ b/CMakeLists.txt	Sun Apr 19 23:28:26 2020 +0200
@@ -2,7 +2,7 @@
 # in this exact order for cmake to work correctly
 cmake_minimum_required(VERSION 3.5)
 
-set(PROJECT_VER "0.3.8")
+set(PROJECT_VER "0.3.9")
 set(PROJECT_NAME "brewboard")
 
 include($ENV{IDF_PATH}/tools/cmake/project.cmake)
--- a/main/automation.c	Mon Nov 25 21:01:46 2019 +0100
+++ b/main/automation.c	Sun Apr 19 23:28:26 2020 +0200
@@ -249,6 +249,13 @@
                 break;
 
 	case MAIN_AUTO_TOBOIL:
+		if (recipe.BoilTime == 0) {
+		    /* no-boil recipe */
+		    log_msg(TAG, "No-boil, start cooling");
+		    Main_Screen = MAIN_AUTO_COOLING_H;
+		    return true;
+		}
+
                 if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) {
                     driver_state->mlt_sp = stageTemp = config.BoilTemperature;
                     driver_state->mlt_mode = MLT_MODE_EXT;
@@ -464,23 +471,25 @@
 		}
 		ShowInteger(2, y, (char *)"Kooktijd", (char *)" min", recipe.BoilTime);
 		ShowFloat(162, y, (char *)"Koel tot", (char *)" C", recipe.CoolTemp, 2);
-		y += 16;
-		if (recipe.Additions) {
-		    _fg = TFT_YELLOW;
-		    sprintf(tmp, "%d ", recipe.Additions);
-		    TFT_print(tmp, 2, y);
-		    _fg = TFT_WHITE;
-		    TFT_print((char *)"toevoegingen om", LASTX, y);
-		    _fg = TFT_YELLOW;
-		    for (int i = 1; i <= recipe.Additions; i++) {
-			sprintf(tmp, " %d", recipe.Addition[i-1].Time);
-			TFT_print(tmp, LASTX, y);
+		if (recipe.BoilTime) {
+		    y += 16;
+		    if (recipe.Additions) {
+		    	_fg = TFT_YELLOW;
+		    	sprintf(tmp, "%d ", recipe.Additions);
+		    	TFT_print(tmp, 2, y);
+		    	_fg = TFT_WHITE;
+		    	TFT_print((char *)"toevoegingen om", LASTX, y);
+		    	_fg = TFT_YELLOW;
+		    	for (int i = 1; i <= recipe.Additions; i++) {
+			    sprintf(tmp, " %d", recipe.Addition[i-1].Time);
+			    TFT_print(tmp, LASTX, y);
+		    	}
+		    	_fg = TFT_WHITE;
+		    	TFT_print((char *)" minuten", LASTX, y);
+		    } else {
+		    	_fg = TFT_WHITE;
+		    	TFT_print((char *)"Geen hop toevoegingen.", 2, y);
 		    }
-		    _fg = TFT_WHITE;
-		    TFT_print((char *)" minuten", LASTX, y);
-		} else {
-		    _fg = TFT_WHITE;
-		    TFT_print((char *)"Geen hop toevoegingen.", 2, y);
 		}
 		y += 16;
 		if (recipe.Whirlpool9) {
@@ -1124,7 +1133,7 @@
                                         if (driver_state->mlt_sp < 66.0)
                                             driver_state->mlt_sp += 1.0;
                                     } else if (Main_Screen == MAIN_AUTO_COOLING_C) {
-                                        if (driver_state->mlt_sp < 30.0)
+                                        if (driver_state->mlt_sp < 45.0)
                                             driver_state->mlt_sp += 1.0;
                                     }
                                     xSemaphoreGive(xSemaphoreDriver);
--- a/main/recipes.c	Mon Nov 25 21:01:46 2019 +0100
+++ b/main/recipes.c	Sun Apr 19 23:28:26 2020 +0200
@@ -571,24 +571,26 @@
 				    y += 16;
 				}
 			    }
-			    if (recipe.Additions) {
-				_fg = TFT_YELLOW;
-				sprintf(tmp, "%d ", recipe.Additions);
-				TFT_print(tmp, 2, y);
-				_fg = TFT_WHITE;
-				TFT_print((char *)"toevoegingen om", LASTX, y);
-				_fg = TFT_YELLOW;
-				for (int i = 1; i <= recipe.Additions; i++) {
-				    sprintf(tmp, " %d", recipe.Addition[i-1].Time);
-				    TFT_print(tmp, LASTX, y);
-				}
-				_fg = TFT_WHITE;
-				TFT_print((char *)" minuten", LASTX, y);
-			    } else {
-				_fg = TFT_WHITE;
-				TFT_print((char *)"Geen hop toevoegingen.", 2, y);
+			    if (recipe.BoilTime) {
+			    	if (recipe.Additions) {
+				    _fg = TFT_YELLOW;
+				    sprintf(tmp, "%d ", recipe.Additions);
+				    TFT_print(tmp, 2, y);
+				    _fg = TFT_WHITE;
+				    TFT_print((char *)"toevoegingen om", LASTX, y);
+				    _fg = TFT_YELLOW;
+				    for (int i = 1; i <= recipe.Additions; i++) {
+				    	sprintf(tmp, " %d", recipe.Addition[i-1].Time);
+				    	TFT_print(tmp, LASTX, y);
+				    }
+				    _fg = TFT_WHITE;
+				    TFT_print((char *)" minuten", LASTX, y);
+			    	} else {
+				    _fg = TFT_WHITE;
+				    TFT_print((char *)"Geen hop toevoegingen.", 2, y);
+			    	}
+			    	y += 16;
 			    }
-			    y += 16;
 			    if (recipe.Whirlpool9 || recipe.Whirlpool7 || recipe.Whirlpool6 || recipe.Whirlpool2) {
 				_fg = TFT_WHITE;
 				TFT_print((char *)"Whirlpool ", 2, y);
@@ -759,21 +761,23 @@
 			for (int i = (mashsteps + 1); i < 7; i++)
 			    recipe.MashStep[i].Resttime = 0;
 
-			EditUint16((char *)"Kook tijd in minuten", &recipe.BoilTime, 3, 480);
-			EditUint8((char *)"Hop/kruiden toevoegingen", &recipe.Additions, 1, 10);
-			for (uint8_t i = 0; i < recipe.Additions; i++) {
-			    sprintf(tmp, "Toevoeging %d naam", i+1);
-			    if (strlen(recipe.Addition[i].Name) == 00) {
-				sprintf(recipe.Addition[i].Name, "Hop %d", (int)i+1);
+			EditUint16((char *)"Kook tijd in minuten", &recipe.BoilTime, 0, 480);
+			if (recipe.BoilTime) {
+			    EditUint8((char *)"Hop/kruiden toevoegingen", &recipe.Additions, 1, 10);
+			    for (uint8_t i = 0; i < recipe.Additions; i++) {
+			    	sprintf(tmp, "Toevoeging %d naam", i+1);
+			    	if (strlen(recipe.Addition[i].Name) == 00) {
+				    sprintf(recipe.Addition[i].Name, "Hop %d", (int)i+1);
+			    	}
+			    	EditText(tmp, recipe.Addition[i].Name, 40);
+			    	sprintf(tmp, "Toevoeging %d tijd", i+1);
+			    	if (i == 0) {
+			    	    EditUint16(tmp, &recipe.Addition[i].Time, 0, recipe.BoilTime);
+			    	} else {
+				    EditUint16(tmp, &recipe.Addition[i].Time, 0, recipe.Addition[i-1].Time - 1);
+			    	}
+			    	recipe.Addition[i].Type = ADDITION_HOP;
 			    }
-			    EditText(tmp, recipe.Addition[i].Name, 40);
-			    sprintf(tmp, "Toevoeging %d tijd", i+1);
-			    if (i == 0) {
-			    	EditUint16(tmp, &recipe.Addition[i].Time, 0, recipe.BoilTime);
-			    } else {
-				EditUint16(tmp, &recipe.Addition[i].Time, 0, recipe.Addition[i-1].Time - 1);
-			    }
-			    recipe.Addition[i].Type = ADDITION_HOP;
 			}
 
 			EditFloat((char *)"Koel temperatuur", &recipe.CoolTemp, 10, 45, 2);

mercurial