Update LCD outputs.

This commit is contained in:
Chris Giacofei 2022-01-19 09:08:42 -05:00
parent e0d2d0aa52
commit 2a70f6e89a

View File

@ -44,13 +44,14 @@ unsigned long lastRun = 0;
// Return a character array to represent the // Return a character array to represent the
// On/Off state of the kettle. // On/Off state of the kettle.
char* KettleState() { char* ShowKettleState() {
char* LCD_Line;
if (KettleMode == MANUAL) { if (KettleMode == MANUAL) {
return (char*)"Manual"; return (char*)"Kettle: Manual";
} else if (KettleMode == AUTOMATIC) { } else if (KettleMode == AUTOMATIC) {
return (char*)"Auto"; return (char*)"Kettle: Auto";
} else { } else {
return (char*)"Off"; return (char*)"Kettle: Off";
} }
} }
@ -61,7 +62,7 @@ char* ShowKettleSetting() {
} else if (KettleMode == AUTOMATIC) { } else if (KettleMode == AUTOMATIC) {
return sprintf(LCD_Line, "Kettle Temp: %03dF", KettleSetpoint); return sprintf(LCD_Line, "Kettle Temp: %03dF", KettleSetpoint);
} else { } else {
return (char*)" Off "; return (char*)"";
} }
} }
@ -88,9 +89,9 @@ void doEncoder()
} }
// LCD menu setup. // LCD menu setup.
LiquidLine KettleState_line(0, 0, "Boil Kettle ", KettleState); LiquidLine kettle_state_line(0, 0, ShowKettleState);
LiquidLine kettle_power_line(0, 1, ShowKettleSetting); LiquidLine kettle_power_line(0, 1, ShowKettleSetting);
LiquidScreen home_screen(KettleState_line, kettle_power_line); LiquidScreen home_screen(kettle_state_line, kettle_power_line);
LiquidMenu menu(lcd); LiquidMenu menu(lcd);
void setup() { void setup() {
@ -128,10 +129,11 @@ void setup() {
}; };
void UpdateBoilKettle(){ void UpdateBoilKettle(){
static byte last_KettleDuty = 0; static uint8_t last_KettleDuty = 0;
static double last_KettleTemp = 0;
if (Enter.pressed()) { if (Enter.pressed()) {
KettleMode = (modes)(KettleMode + 1); KettleMode = (modes)(KettleMode + 1);
menu.update(); menu.update();
} }
@ -141,7 +143,12 @@ void UpdateBoilKettle(){
menu.update(); menu.update();
} }
if (KettleMode) { if (last_KettleTemp != KettleTemp) {
last_KettleTemp = KettleTemp;
menu.update();
}
if (KettleMode != OFF) {
KettleController.Compute(); KettleController.Compute();
digitalWrite(kettlePWM, boilPWM.compute(KettleDuty)); digitalWrite(kettlePWM, boilPWM.compute(KettleDuty));
} else { } else {