lvgl / lvgl_esp32_drivers

Drivers for ESP32 to be used with LVGL
MIT License
325 stars 280 forks source link

Green screen with WROVER4 #88

Closed jsmestad closed 3 years ago

jsmestad commented 3 years ago

I have everything working great with TTGO T-Display, but when I tried to get my WROVER v4.1 running, I cannot get the display to show anything besides a white screen at boot then a green mess.

I am stumped what I am doing wrong 🤷‍♂️

Running LVGL v7.11.0 and latest commit from this repo.

IMG_0730

#include "gfx.hpp"

#include "esp_log.h"
#include "esp_system.h"
#include "esp_timer.h"
#include "freertos/FreeRTOS.h"
#include "freertos/semphr.h"
#include "freertos/task.h"
#include "lvgl.h"
#include "lvgl_helpers.h"

#include "esp_freertos_hooks.h"

#define LV_TICK_PERIOD_MS 1

/* Creates a semaphore to handle concurrent call to lvgl stuff
 * If you wish to call *any* lvgl function from other threads/tasks
 * you should lock on the very same semaphore! */
SemaphoreHandle_t xGuiSemaphore;

extern "C" void app_main(void) {
  ESP_ERROR_CHECK(esp_event_loop_create_default());

  // Initialize NVS
  esp_err_t err = nvs_flash_init();
  if (err == ESP_ERR_NVS_NO_FREE_PAGES ||
      err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
    // NVS partition was truncated and needs to be erased
    // Retry nvs_flash_init
    ESP_ERROR_CHECK(nvs_flash_erase());
    err = nvs_flash_init();
  }
  ESP_ERROR_CHECK(err);

  xTaskCreatePinnedToCore(guiTask, "gui", 4096 * 2, nullptr, 0, nullptr, 1);

  while (true) {
    my_main.loop();
  }
}

void lv_tick_task(void) { lv_tick_inc(portTICK_PERIOD_MS); }

void guiTask(void *pvParameter) {

  (void)pvParameter;
  xGuiSemaphore = xSemaphoreCreateMutex();

  lv_init();

  /* Initialize SPI or I2C bus used by the drivers */
  lvgl_driver_init();

  lv_color_t *buf1 = (lv_color_t *)heap_caps_malloc(
      DISP_BUF_SIZE * sizeof(lv_color_t), MALLOC_CAP_DMA);
  assert(buf1 != nullptr);

  static lv_disp_buf_t disp_buf;

  uint32_t size_in_px = DISP_BUF_SIZE;

  /* Initialize the working buffer depending on the selected display. */
  lv_disp_buf_init(&disp_buf, buf1, nullptr, size_in_px);

  lv_disp_drv_t disp_drv;
  lv_disp_drv_init(&disp_drv);
  disp_drv.flush_cb = disp_driver_flush;

  disp_drv.buffer = &disp_buf;
  lv_disp_drv_register(&disp_drv);

  /* Create and start a periodic timer interrupt to call lv_tick_inc */
  const esp_timer_create_args_t periodic_timer_args = {
      .callback = &lv_tick_task, .name = "periodic_gui"};
  esp_timer_handle_t periodic_timer;
  ESP_ERROR_CHECK(esp_timer_create(&periodic_timer_args, &periodic_timer));
  ESP_ERROR_CHECK(
      esp_timer_start_periodic(periodic_timer, LV_TICK_PERIOD_MS * 1000));

  /* Create the demo application */
  create_demo_application();

  while (1) {
    /* Delay 1 tick (assumes FreeRTOS tick is 10ms */
    vTaskDelay(pdMS_TO_TICKS(10));

    /* Try to take the semaphore, call lvgl related function on success */
    if (pdTRUE == xSemaphoreTake(xGuiSemaphore, portMAX_DELAY)) {
      lv_task_handler();
      xSemaphoreGive(xGuiSemaphore);
    }
  }

  /* A task should NEVER return */
  free(buf1);
  vTaskDelete(nullptr);
}

void create_demo_application(void) {

  /* use a pretty small demo for monochrome displays */
  /* Get the current screen  */
  lv_obj_t *scr = lv_disp_get_scr_act(nullptr);

  /*Create a Label on the currently active screen*/
  lv_obj_t *label1 = lv_label_create(scr, nullptr);

  /*Modify the Label's text*/
  lv_label_set_text(label1, "Prototype");

  /* Align the Label to the center
   * nullptr means align on parent (which is the screen now)
   * 0, 0 at the end means an x, y offset after alignment*/
  lv_obj_align(label1, nullptr, LV_ALIGN_CENTER, 0, 0);
}
#
# Automatically generated file. DO NOT EDIT.
# Espressif IoT Development Framework (ESP-IDF) Project Configuration
#

# ...

#
# LVGL configuration
#
# CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM is not set
# CONFIG_LV_CONF_MINIMAL is not set
CONFIG_LV_CONF_SKIP=y
CONFIG_LV_HOR_RES_MAX=480
CONFIG_LV_VER_RES_MAX=320
# CONFIG_LV_COLOR_DEPTH_32 is not set
CONFIG_LV_COLOR_DEPTH_16=y
# CONFIG_LV_COLOR_DEPTH_8 is not set
# CONFIG_LV_COLOR_DEPTH_1 is not set
CONFIG_LV_COLOR_DEPTH=16
# CONFIG_LV_COLOR_16_SWAP is not set
CONFIG_LV_ANTIALIAS=y
CONFIG_LV_DISP_DEF_REFR_PERIOD=30
CONFIG_LV_DPI=130
CONFIG_LV_DISP_SMALL_LIMIT=30
CONFIG_LV_DISP_MEDIUM_LIMIT=50
CONFIG_LV_DISP_LARGE_LIMIT=70

#
# Memory manager settings
#
# CONFIG_LV_MEM_CUSTOM is not set
CONFIG_LV_MEM_SIZE_KILOBYTES=32
# CONFIG_LV_MEMCPY_MEMSET_STD is not set
# end of Memory manager settings

#
# Indev device settings
#
CONFIG_LV_INDEV_DEF_READ_PERIOD=30
CONFIG_LV_INDEV_DEF_DRAG_LIMIT=10
CONFIG_LV_INDEV_DEF_DRAG_THROW=10
CONFIG_LV_INDEV_DEF_LONG_PRESS_TIME=400
CONFIG_LV_INDEV_DEF_LONG_PRESS_REP_TIME=100
CONFIG_LV_INDEV_DEF_GESTURE_LIMIT=50
CONFIG_LV_INDEV_DEF_GESTURE_MIN_VELOCITY=3
# end of Indev device settings

#
# Feature usage
#
CONFIG_LV_USE_ANIMATION=y
CONFIG_LV_USE_SHADOW=y
CONFIG_LV_SHADOW_CACHE_SIZE=0
CONFIG_LV_USE_OUTLINE=y
CONFIG_LV_USE_PATTERN=y
CONFIG_LV_USE_VALUE_STR=y
CONFIG_LV_USE_BLEND_MODES=y
CONFIG_LV_USE_OPA_SCALE=y
CONFIG_LV_USE_IMG_TRANSFORM=y
CONFIG_LV_USE_GROUP=y
CONFIG_LV_USE_GPU=y
# CONFIG_LV_USE_GPU_STM32_DMA2D is not set
# CONFIG_LV_USE_GPU_NXP_PXP is not set
# CONFIG_LV_USE_GPU_NXP_VG_LITE is not set
CONFIG_LV_USE_FILESYSTEM=y
# CONFIG_LV_USE_USER_DATA is not set
# CONFIG_LV_USE_PERF_MONITOR is not set
CONFIG_LV_USE_API_EXTENSION_V6=y
CONFIG_LV_USE_API_EXTENSION_V7=y
# end of Feature usage

#
# Image decoder and cache
#
CONFIG_LV_IMG_CF_INDEXED=y
CONFIG_LV_IMG_CF_ALPHA=y
CONFIG_LV_IMG_CACHE_DEF_SIZE=1
# end of Image decoder and cache

#
# Compiler Settings
#
# CONFIG_LV_BIG_ENDIAN_SYSTEM is not set
# end of Compiler Settings

#
# HAL Settings
#
# CONFIG_LV_TICK_CUSTOM is not set
# end of HAL Settings

#
# Log Settings
#
CONFIG_LV_USE_LOG=y
# CONFIG_LV_LOG_LEVEL_TRACE is not set
CONFIG_LV_LOG_LEVEL_INFO=y
# CONFIG_LV_LOG_LEVEL_WARN is not set
# CONFIG_LV_LOG_LEVEL_ERROR is not set
# CONFIG_LV_LOG_LEVEL_NONE is not set
CONFIG_LV_LOG_LEVEL=1
# CONFIG_LV_LOG_PRINTF is not set
# end of Log Settings

#
# Debug Settings
#
CONFIG_LV_USE_DEBUG=y
CONFIG_LV_USE_ASSERT_NULL=y
CONFIG_LV_USE_ASSERT_MEM=y
# CONFIG_LV_USE_ASSERT_MEM_INTEGRITY is not set
# CONFIG_LV_USE_ASSERT_STR is not set
# CONFIG_LV_USE_ASSERT_OBJ is not set
# CONFIG_LV_USE_ASSERT_STYLE is not set
# end of Debug Settings

#
# Font usage
#
# CONFIG_LV_FONT_FMT_TXT_LARGE is not set
# CONFIG_LV_USE_FONT_SUBPX is not set

#
# Enable built-in fonts
#
# CONFIG_LV_FONT_MONTSERRAT_8 is not set
# CONFIG_LV_FONT_MONTSERRAT_10 is not set
# CONFIG_LV_FONT_MONTSERRAT_12 is not set
CONFIG_LV_FONT_MONTSERRAT_14=y
CONFIG_LV_FONT_MONTSERRAT_16=y
# CONFIG_LV_FONT_MONTSERRAT_18 is not set
# CONFIG_LV_FONT_MONTSERRAT_20 is not set
# CONFIG_LV_FONT_MONTSERRAT_22 is not set
# CONFIG_LV_FONT_MONTSERRAT_24 is not set
# CONFIG_LV_FONT_MONTSERRAT_26 is not set
# CONFIG_LV_FONT_MONTSERRAT_28 is not set
# CONFIG_LV_FONT_MONTSERRAT_30 is not set
# CONFIG_LV_FONT_MONTSERRAT_32 is not set
# CONFIG_LV_FONT_MONTSERRAT_34 is not set
# CONFIG_LV_FONT_MONTSERRAT_36 is not set
# CONFIG_LV_FONT_MONTSERRAT_38 is not set
# CONFIG_LV_FONT_MONTSERRAT_40 is not set
# CONFIG_LV_FONT_MONTSERRAT_42 is not set
# CONFIG_LV_FONT_MONTSERRAT_44 is not set
# CONFIG_LV_FONT_MONTSERRAT_46 is not set
# CONFIG_LV_FONT_MONTSERRAT_48 is not set
# CONFIG_LV_FONT_UNSCII_8 is not set
# CONFIG_LV_FONT_UNSCII_16 is not set
# CONFIG_LV_FONT_MONTSERRAT12SUBPX is not set
# CONFIG_LV_FONT_MONTSERRAT28COMPRESSED is not set
# CONFIG_LV_FONT_DEJAVU_16_PERSIAN_HEBREW is not set
# CONFIG_LV_FONT_SIMSUN_16_CJK is not set
# end of Enable built-in fonts

# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_8 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_10 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_14 is not set
CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16=y
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_18 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_20 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_22 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_24 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_28 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_30 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_32 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_34 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_36 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_38 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_40 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_42 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_44 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_46 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_48 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_8 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_16 is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT12SUBPX is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT28COMPRESSED is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_DEJAVU_16_PERSIAN_HEBREW is not set
# CONFIG_LV_FONT_DEFAULT_SMALL_SIMSUN_16_CJK is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_8 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_10 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_12 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_14 is not set
CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_16=y
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_18 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_20 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_22 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_24 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_26 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_28 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_30 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_32 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_34 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_36 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_38 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_40 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_42 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_44 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_46 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_48 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_8 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_16 is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT12SUBPX is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT28COMPRESSED is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_DEJAVU_16_PERSIAN_HEBREW is not set
# CONFIG_LV_FONT_DEFAULT_NORMAL_SIMSUN_16_CJK is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_8 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_10 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_12 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_14 is not set
CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_16=y
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_18 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_20 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_22 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_24 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_26 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_28 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_30 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_32 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_34 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_36 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_38 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_40 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_42 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_44 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_46 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_48 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_8 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_16 is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT12SUBPX is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT28COMPRESSED is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_DEJAVU_16_PERSIAN_HEBREW is not set
# CONFIG_LV_FONT_DEFAULT_SUBTITLE_SIMSUN_16_CJK is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_8 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_12 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_14 is not set
CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_16=y
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_18 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_20 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_22 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_24 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_26 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_28 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_30 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_32 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_34 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_36 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_38 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_40 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_42 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_44 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_46 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_48 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_8 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_16 is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT12SUBPX is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT28COMPRESSED is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_DEJAVU_16_PERSIAN_HEBREW is not set
# CONFIG_LV_FONT_DEFAULT_TITLE_SIMSUN_16_CJK is not set
# end of Font usage

#
# Theme usage
#

#
# Enable theme usage, always enable at least one theme
#
# CONFIG_LV_THEME_EMPTY is not set
# CONFIG_LV_THEME_TEMPLATE is not set
CONFIG_LV_THEME_MATERIAL=y
# CONFIG_LV_THEME_MONO is not set
# end of Enable theme usage, always enable at least one theme

# CONFIG_LV_THEME_DEFAULT_INIT_EMPTY is not set
# CONFIG_LV_THEME_DEFAULT_INIT_TEMPLATE is not set
CONFIG_LV_THEME_DEFAULT_INIT_MATERIAL=y
# CONFIG_LV_THEME_DEFAULT_INIT_MONO is not set
CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY=0xFF0000
CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY=0x0000FF
CONFIG_LV_THEME_DEFAULT_FLAG_LIGHT=y
# CONFIG_LV_THEME_DEFAULT_FLAG_DARK is not set
# end of Theme usage

#
# Text Settings
#
CONFIG_LV_TXT_ENC_UTF8=y
# CONFIG_LV_TXT_ENC_ASCII is not set
CONFIG_LV_TXT_BREAK_CHARS=" ,.;:-_"
CONFIG_LV_TXT_LINE_BREAK_LONG_LEN=0
CONFIG_LV_TXT_COLOR_CMD="#"
# CONFIG_LV_USE_BIDI is not set
# CONFIG_LV_USE_ARABIC_PERSIAN_CHARS is not set
# CONFIG_LV_SPRINTF_CUSTOM is not set
# CONFIG_LV_SPRINTF_DISABLE_FLOAT is not set
# end of Text Settings

#
# Widgets
#
CONFIG_LV_USE_OBJ_REALIGN=y
# CONFIG_LV_USE_EXT_CLICK_AREA_OFF is not set
CONFIG_LV_USE_EXT_CLICK_AREA_TINY=y
# CONFIG_LV_USE_EXT_CLICK_AREA_FULL is not set
CONFIG_LV_USE_ARC=y
CONFIG_LV_USE_BAR=y
CONFIG_LV_USE_BTN=y
CONFIG_LV_USE_BTNMATRIX=y
CONFIG_LV_USE_CALENDAR=y
# CONFIG_LV_CALENDAR_WEEK_STARTS_MONDAY is not set
CONFIG_LV_USE_CANVAS=y
CONFIG_LV_USE_CHECKBOX=y
CONFIG_LV_USE_CHART=y
CONFIG_LV_CHART_AXIS_TICK_MAX_LEN=256
CONFIG_LV_USE_CONT=y
CONFIG_LV_USE_CPICKER=y
CONFIG_LV_USE_DROPDOWN=y
CONFIG_LV_DROPDOWN_DEF_ANIM_TIME=200
CONFIG_LV_USE_GAUGE=y
CONFIG_LV_USE_IMG=y
CONFIG_LV_USE_IMGBTN=y
# CONFIG_LV_IMGBTN_TILED is not set
CONFIG_LV_USE_KEYBOARD=y
CONFIG_LV_USE_LABEL=y
CONFIG_LV_LABEL_DEF_SCROLL_SPEED=25
CONFIG_LV_LABEL_WAIT_CHAR_COUNT=3
# CONFIG_LV_LABEL_TEXT_SEL is not set
# CONFIG_LV_LABEL_LONG_TXT_HINT is not set
CONFIG_LV_USE_LED=y
CONFIG_LV_LED_BRIGHT_MIN=120
CONFIG_LV_LED_BRIGHT_MAX=255
CONFIG_LV_USE_LINE=y
CONFIG_LV_USE_LIST=y
CONFIG_LV_LIST_DEF_ANIM_TIME=100
CONFIG_LV_USE_LINEMETER=y
CONFIG_LV_LINEMETER_PRECISE_NO_EXTRA_PRECISION=y
# CONFIG_LV_LINEMETER_PRECISE_SOME_EXTRA_PRECISION is not set
# CONFIG_LV_LINEMETER_PRECISE_BEST_PRECISION is not set
CONFIG_LV_USE_OBJMASK=y
CONFIG_LV_USE_MSGBOX=y
CONFIG_LV_USE_PAGE=y
CONFIG_LV_PAGE_DEF_ANIM_TIME=100
CONFIG_LV_USE_SPINNER=y
CONFIG_LV_SPINNER_DEF_ARC_LENGTH=60
CONFIG_LV_SPINNER_DEF_SPIN_TIME=1000
CONFIG_LV_SPINNER_TYPE_SPINNING_ARC=y
# CONFIG_LV_SPINNER_TYPE_FILLSPIN_ARC is not set
# CONFIG_LV_SPINNER_TYPE_CONSTANT_ARC is not set
CONFIG_LV_USE_ROLLER=y
CONFIG_LV_ROLLER_DEF_ANIM_TIME=200
CONFIG_LV_ROLLER_INF_PAGES=7
CONFIG_LV_USE_SLIDER=y
CONFIG_LV_USE_SPINBOX=y
CONFIG_LV_USE_SWITCH=y
CONFIG_LV_USE_TEXTAREA=y
CONFIG_LV_TEXTAREA_DEF_CURSOR_BLINK_TIME=400
CONFIG_LV_TEXTAREA_DEF_PWN_SHOW_TIME=1500
CONFIG_LV_USE_TABLE=y
CONFIG_LV_TABLE_COL_MAX=12
CONFIG_LV_TABLE_CELL_STYLE_CNT=4
CONFIG_LV_USE_TABVIEW=y
CONFIG_LV_TABVIEW_DEF_ANIM_TIME=300
CONFIG_LV_USE_TILEVIEW=y
CONFIG_LV_TILEVIEW_DEF_ANIM_TIME=300
CONFIG_LV_USE_WIN=y
# end of Widgets
# end of LVGL configuration

#
# LVGL TFT Display controller
#
# CONFIG_LV_PREDEFINED_DISPLAY_NONE is not set
CONFIG_LV_PREDEFINED_DISPLAY_WROVER4=y
# CONFIG_LV_PREDEFINED_DISPLAY_M5STACK is not set
# CONFIG_LV_PREDEFINED_DISPLAY_M5CORE2 is not set
# CONFIG_LV_PREDEFINED_DISPLAY_M5STICK is not set
# CONFIG_LV_PREDEFINED_DISPLAY_M5STICKC is not set
# CONFIG_LV_PREDEFINED_DISPLAY_ERTFT0356 is not set
# CONFIG_LV_PREDEFINED_DISPLAY_ADA_FEATHERWING is not set
# CONFIG_LV_PREDEFINED_DISPLAY_RPI_MPI3501 is not set
# CONFIG_LV_PREDEFINED_DISPLAY_WEMOS_LOLIN is not set
# CONFIG_LV_PREDEFINED_DISPLAY_ATAG is not set
# CONFIG_LV_PREDEFINED_DISPLAY_RPI_RA8875 is not set
# CONFIG_LV_PREDEFINED_DISPLAY_TTGO is not set
# CONFIG_LV_PREDEFINED_DISPLAY_TTGO_CAMERA_PLUS is not set
# CONFIG_LV_PREDEFINED_DISPLAY_WT32_SC01 is not set
CONFIG_LV_TFT_DISPLAY_CONTROLLER_ILI9341=y
CONFIG_LV_TFT_DISPLAY_PROTOCOL_SPI=y
CONFIG_DISPLAY_ORIENTATION_PORTRAIT=y
# CONFIG_DISPLAY_ORIENTATION_PORTRAIT_INVERTED is not set
# CONFIG_DISPLAY_ORIENTATION_LANDSCAPE is not set
# CONFIG_DISPLAY_ORIENTATION_LANDSCAPE_INVERTED is not set
CONFIG_LV_DISPLAY_ORIENTATION=0
# CONFIG_CUSTOM_DISPLAY_BUFFER_SIZE is not set
CONFIG_LV_TFT_DISPLAY_SPI_HSPI=y
# CONFIG_LV_TFT_DISPLAY_SPI_VSPI is not set
CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_SIO=y
# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_DIO is not set
# CONFIG_LV_TFT_DISPLAY_SPI_TRANS_MODE_QIO is not set
CONFIG_LV_TFT_DISPLAY_SPI_HALF_DUPLEX=y
# CONFIG_LV_TFT_DISPLAY_SPI_FULL_DUPLEX is not set
# CONFIG_LV_TFT_USE_CUSTOM_SPI_CLK_DIVIDER is not set
CONFIG_LV_TFT_CUSTOM_SPI_CLK_DIVIDER=2
# CONFIG_LV_INVERT_COLORS is not set
CONFIG_LV_DISP_SPI_MOSI=23
CONFIG_LV_DISP_SPI_CLK=19
CONFIG_LV_DISPLAY_USE_SPI_CS=y
CONFIG_LV_DISP_SPI_CS=22
CONFIG_LV_DISPLAY_USE_DC=y
CONFIG_LV_DISP_PIN_DC=21
CONFIG_LV_DISP_USE_RST=y
CONFIG_LV_DISP_PIN_RST=18
CONFIG_LV_DISP_PIN_BUSY=35
CONFIG_LV_ENABLE_BACKLIGHT_CONTROL=y
CONFIG_LV_DISP_PIN_BCKL=5
CONFIG_LV_DISP_PIN_SDA=5
CONFIG_LV_DISP_PIN_SCL=4
# end of LVGL TFT Display controller

#
# LVGL Touch controller
#
CONFIG_LV_TOUCH_CONTROLLER=0
CONFIG_LV_TOUCH_CONTROLLER_NONE=y
# CONFIG_LV_TOUCH_CONTROLLER_XPT2046 is not set
# CONFIG_LV_TOUCH_CONTROLLER_FT6X06 is not set
# CONFIG_LV_TOUCH_CONTROLLER_STMPE610 is not set
# CONFIG_LV_TOUCH_CONTROLLER_ADCRAW is not set
# CONFIG_LV_TOUCH_CONTROLLER_FT81X is not set
# CONFIG_LV_TOUCH_CONTROLLER_RA8875 is not set
# CONFIG_LV_TOUCH_CONTROLLER_GT911 is not set
# end of LVGL Touch controller
# end of Component config
tore-espressif commented 3 years ago

I don't see anything obvious... could you share a a runtime log? Does the app crash, or just fails to draw anything?

jsmestad commented 3 years ago

Yeah nothing crashes it just paints the green screen and continues running like it worked.

Same output on the TTGO configuration has same output and runs fine

kisvegabor commented 3 years ago

I suggest trying to draw a blue, green, or red rectangle first without LVGL to see the color configuration is of the display controller is correct.

jsmestad commented 3 years ago

@kisvegabor Could you lend me a hand and explain how to do that?

kisvegabor commented 3 years ago

E.g. fill an lv_color_t buf[50*50] with lv_color_hex(0xff0000) (red) and pass it to the flush callback from the driver. After that add some delay to see the result before LVGL overwrites it with the screen's real content.

jsmestad commented 3 years ago

I was able to get it sorted. Not sure what fixed it TBH.

I'll reopen if it comes back up.