#ifndef EEZ_LVGL_UI_SCREENS_H #define EEZ_LVGL_UI_SCREENS_H #include #include #ifdef __cplusplus extern "C" { #endif typedef struct _objects_t { lv_obj_t *mainScr; lv_obj_t *chartScr; lv_obj_t *debugScr; lv_obj_t *rolloScr; lv_obj_t *rolloPosScr; lv_obj_t *menuScr; lv_obj_t *temp_arc; lv_obj_t *temp_txt; lv_obj_t *hum_txt; lv_obj_t *press_txt; lv_obj_t *panel_arc; lv_obj_t *chart; lv_obj_t *x_scale; lv_obj_t *y_scale; lv_obj_t *chart_header; lv_obj_t *left_lbl; lv_obj_t *right_lbl; lv_obj_t *debugTxt; lv_obj_t *heaterIcn; lv_obj_t *bufferIcn; lv_obj_t *wifiIcn; lv_obj_t *outTemp_txt; lv_obj_t *time_txt; lv_obj_t *deviceDropdown; lv_obj_t *lam[9]; lv_chart_cursor_t *chart_cursor; lv_chart_series_t *chart_series; lv_obj_t *rolloPos; lv_obj_t *rolloRot; lv_obj_t *selDevicesLbl; } objects_t; extern objects_t objects; typedef enum ScreensEnum { SCREEN_ID_MAIN = 0, SCREEN_ID_CHART = 1, SCREEN_ID_DEBUG = 2, SCREEN_ID_LEN } ScreensEnum; typedef enum ChartsEnum { CHART_ID_NONE = 0, CHART_ID_TEMP = 1, CHART_ID_HUM = 2, CHART_ID_PRESS = 3, CHART_ID_LEN } ChartsEnum; void addStatusIcons(lv_obj_t *parent_obj); void create_screen_main(); void create_screen_chart(); void create_screen_debug(); void create_screen_menu(); void rolloCheckbox_add(const char *txt, void *_tahomaDevice, bool _checked); void rolloCheckbox_finish(void); void create_screen_rollos(); void create_screen_rolloPos(); void create_screens(); #ifdef __cplusplus } #endif #endif /*EEZ_LVGL_UI_SCREENS_H*/