diff --git a/main/display.c b/main/display.c --- a/main/display.c +++ b/main/display.c @@ -25,6 +25,8 @@ static const char *TAG = "LVGL_SETUP"; static void lvgl_timer_task(void *arg); + + static lv_obj_t *ui_Screen1; static lv_obj_t *ui_redsquare; @@ -43,6 +45,9 @@ LV_IMG_DECLARE(red_square) static SemaphoreHandle_t lvgl_mux; // LVGL mutex static SemaphoreHandle_t touch_mux; // Touch mutex + +#if USE_TOUCH_DISPLAY + static void bsp_touchpad_read(lv_indev_drv_t *drv, lv_indev_data_t *data) { uint16_t touchpad_x[1] = {0}; @@ -82,6 +87,8 @@ static void touch_callback(esp_lcd_touch } } +#endif + static void set_value(void *indic, int32_t v) { lv_meter_set_indicator_end_value(meter, indic, v); @@ -275,8 +282,10 @@ void display_init() lvgl_mux = xSemaphoreCreateMutex(); BSP_NULL_CHECK(lvgl_mux, NULL); +#if USE_TOUCH_DISPLAY touch_mux = xSemaphoreCreateBinary(); BSP_NULL_CHECK(touch_mux, NULL); +#endif // it's recommended to choose the size of the draw buffer(s) to be at least 1/10 screen sized lv_color_t *buf1 = heap_caps_malloc(LVGL_LCD_BUF_SIZE * sizeof(lv_color_t), MALLOC_CAP_DMA); @@ -315,6 +324,8 @@ void display_init() #endif xTaskCreatePinnedToCore(lvgl_timer_task, "lvgl Timer", 10000, NULL, 4, NULL, 1); + + } static void lvgl_timer_task(void *arg) @@ -509,12 +520,15 @@ void display_update_text(char* str) } + +// make a display task that listens for messages from a queue that change visual elements + void display_process(void) { bsp_display_lock(0); - lv_obj_t *label = lv_label_create(lv_scr_act()); + label = lv_label_create(lv_scr_act()); lv_label_set_text(label, "Yup"); // lv_obj_align_to(label, lv_scr_act(), LV_ALIGN_OUT_BOTTOM_MID, 0, 10); @@ -528,9 +542,7 @@ void display_process(void) bsp_display_unlock(); -} - +} -