Unexpected widget showing on LCD

LVGL version:9.4

After a painful week trying to understand the ESP-IDF environment I finally got my project to compile and run. I have a Guition JC-ESP32P4-M3-DEV board working with a Rpi 5" LCD touch display.
I use lvgl to paint the screen but was surprised to see a widget in the lower right corner of the display.

Does anyone know where the frame rate and CPU usage comes from? And how do I suppress it?
I’m using the latest version of lvgl.
Screen driver: espressif_esp_lcd_ili9881.c
Touch: espressif_esp_lcd_touch_gt911
lvgl port: espressif_esp_lvgl_port

Hi, edit your lv_conf.h and disable LV_USE_SYSMON (set it to 0). It’s around line 1044 in lv_conf.h …

Many thanks for your reply. Unfortunately there is no lv_conf.h file in the project that I have cloned. There is a file sdkconfig.defaults that the user can edit and save as lv-conf.h I have done that but still have the problem. This is the section that I edited:

1: Enable system monitor component */
#define LV_USE_SYSMON   0
#if LV_USE_SYSMON
    /** Get the idle percentage. E.g. uint32_t my_get_idle(void); */
    #define LV_SYSMON_GET_IDLE lv_os_get_idle_percent
    /** 1: Enable usage of lv_os_get_proc_idle_percent.*/
    #define LV_SYSMON_PROC_IDLE_AVAILABLE 0
    #if LV_SYSMON_PROC_IDLE_AVAILABLE
        /** Get the applications idle percentage.
         * - Requires `LV_USE_OS == LV_OS_PTHREAD` */
        #define LV_SYSMON_GET_PROC_IDLE lv_os_get_proc_idle_percent
    #endif

    /** 1: Show CPU usage and FPS count.
     *  - Requires `LV_USE_SYSMON = 1` */
    #define LV_USE_PERF_MONITOR 0
    #if LV_USE_PERF_MONITOR
        #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT

        /** 0: Displays performance data on the screen; 1: Prints performance data using log. */
        #define LV_USE_PERF_MONITOR_LOG_MODE 0
    #endif

    /** 1: Show used memory and memory fragmentation.
     *     - Requires `LV_USE_STDLIB_MALLOC = LV_STDLIB_BUILTIN`
     *     - Requires `LV_USE_SYSMON = 1`*/
    #define LV_USE_MEM_MONITOR 0
    #if LV_USE_MEM_MONITOR
        #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
    #endif
#endif /*LV_USE_SYSMON*/

The ESP-IDF project folder occupies 465MB and comprises 7,076 files! Somewhere one of those files is undoing my setting of LV_USE_SYSMON Is there a way of turning off the monitor at runtime?

If I can get the espressif_esp_lcd_ili9881c library to work with Arduino I will abandon ESP_IDF.
Out of interest is it normal for the lcd to soak up 100% CPU? It isn’t a real problem for me as I use the second CPU on the ESP32P4 for time critical tasks.

Problem solved using ESP-IDF Configuration Editor.

1 Like