From 3a1d2ad3adac5ea5ce18a432b0403ee58beb39fd Mon Sep 17 00:00:00 2001 From: Chris Giacofei Date: Thu, 20 Jan 2022 14:13:20 -0500 Subject: [PATCH] Use settings from EEPROM. --- boil_kettle/boil_kettle.ino | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/boil_kettle/boil_kettle.ino b/boil_kettle/boil_kettle.ino index f21d397..ec2c11b 100644 --- a/boil_kettle/boil_kettle.ino +++ b/boil_kettle/boil_kettle.ino @@ -23,6 +23,7 @@ uint8_t KettleDuty = 0; uint8_t KettleTemp; uint8_t KettleSetpoint; modes KettleMode = OFF; +const int UpdateInterval = 5000; /* Defined in config.h for now */ // uint8_t ThreshPWR = 5; @@ -41,7 +42,7 @@ thermoControl KettleController; void MessageReceived(char*, byte*, unsigned int); EthernetClient net; -PubSubClient mqtt_client(MQTT_BROKER, 1883, MessageReceived, net); +PubSubClient mqtt_client; unsigned long lastRun = 0; @@ -99,12 +100,14 @@ LiquidScreen home_screen(kettle_state_line, kettle_power_line); LiquidMenu menu(lcd); void setup() { + ConfigData config; + EEPROM.get(ConfAddress, config); + unsigned long lastRun = millis() - UpdateInterval; Serial.begin(9600); rotary.begin(); - Ethernet.begin(mac, ip); - Serial.println("Setting up..."); + Ethernet.begin(config.mac, config.ip); attachInterrupt(digitalPinToInterrupt(encoderCLK), doEncoder, CHANGE); attachInterrupt(digitalPinToInterrupt(encoderDT), doEncoder, CHANGE); @@ -112,16 +115,17 @@ void setup() { pinMode(encoderCLK, INPUT_PULLUP); pinMode(encoderDT, INPUT_PULLUP); Enter.begin(encoderBTN); - boilPWM.begin(kettlePWM, PeriodPWM); + boilPWM.begin(kettlePWM, config.period); KettleThermo.begin(MAX31865_3WIRE); + mqtt_client.setServer(config.mqtt.broker, 1883); + mqtt_client.setClient(net); + mqtt_client.setCallback(MessageReceived); + KettleController.begin(&KettleTemp, &KettleSetpoint, &KettleDuty, config.threshold, config.hysteresis); // if you get a connection, report back via serial: if (Ethernet.linkStatus() == LinkON) { ConnectMQTT(); - } else { - // if you didn't get a connection to the server: - Serial.println("connection failed"); } lcd.init();