#pragma once #include #include #include #include #include "Boiler.h" #include "Storage.h" class AppCore { public: AppCore(); void setup(); void loop(); protected: void setState(UiStateEnum state); void checkBoilerItem(BoilerItemState* boilerItemState); void readAndUpdateSensors(BoilerItemState* boilerItemState, const uint8_t* sensor); void printState(); void printStateLine( char prefix , const BoilerItemState* boilerItemState , bool isModifying , bool isActive ); void tempToStr( char* out , temp_t temp , signed char width ); private: AppCoreState* m_appCoreState; Storage m_storage; UiStateEnum m_modeSequence[3]; Button m_btnMode; Button m_btnMinus; Button m_btnPlus; Button* m_buttons[3]; LiquidCrystal m_lcd; OneWire m_oneWire; DallasTemperature m_sensors; DeviceAddress m_sensor1; DeviceAddress m_sensor2; };