#ifndef GLOBALS_h #define GLOBALS_h #include "src/button.h" #include "src/slowPWM.h" #include "src/thermoControl.h" #include "src/datatypes.h" const byte ConfAddress = 0; void ConnectMQTT(); static void SendSensorData(); void MessageReceived(char*, byte*, unsigned int); char* ShowKettleState(); char* ShowKettleSetting(); void doEncoder(); void UpdateBoilKettle(); uint8_t KettleDuty = 0; bool SettingChanged = false; const int UpdateInterval = 5000; unsigned long lastRun = 0; // User I/O objects. Button Enter; MD_REncoder rotary = MD_REncoder(I_DT, I_CLK); LiquidCrystal_I2C lcd(0x27,20,4); // Internal I/O objects. slowPWM boilPWM; thermoControl KettleController; // Network objects. EthernetClient net; PubSubClient mqtt_client; // LCD menu setup. LiquidLine kettle_state_line(0, 0, ShowKettleState); LiquidLine kettle_power_line(0, 1, ShowKettleSetting); LiquidScreen home_screen(kettle_state_line, kettle_power_line); LiquidMenu menu(lcd); // Pin Definitions #ifndef I_CLK #define I_CLK 2 #endif #ifndef I_DT #define I_DT 3 #endif #ifndef I_BTN #define I_BTN 4 #endif #ifndef O_PWM #define O_PWM 5 #endif #ifndef I_CS1 #define I_CS1 47 #endif #ifndef I_CS2 #define I_CS2 48 #endif #endif