#pragma once typedef short temp_t; #define TEMP_T_INVALID -127 typedef unsigned long timestamp_t; enum UiStateEnum { HomeHibernate, HomeLighting, MenuWaterSetting, MenuWaterSettingEdit, MenuHeaterSetting, MenuHeaterSettingEdit, MenuTempTrigger, MenuTempTriggerEdit, MenuVersion }; struct BoilerItemState { temp_t current; temp_t setting; bool isActive; int pinNo; }; struct AppState { timestamp_t lastSensorRequestMs; bool hasReadSensors; BoilerItemState water; BoilerItemState heater; temp_t tempTrigger; temp_t* pCurrentSettingEdit; temp_t currentSettingEditTmp; }; struct UiState { UiStateEnum state; timestamp_t lastOpMs; bool isUpdateNeeded; }; struct AppCoreState { AppState appState; UiState uiState; };