Gestures are slow perceiving, only detecting one of 5-10 tries

I’ve tried, and I’ve probably mixed things up in menuconfig
I made a background and border colour to see what is inverted.

I recall I was desperate to make it work with SQ Line Studio, so I messed up the LVGL configuration in the menuconfig. I’m now completely disabling all LVGL setup themes, to be sure.

Doesn’t help. Moving forward.

Yes, I saw this func esp_lcd_panel_invert_color but I’m afraid it will invert everything, shifting even the right colors, like in the arc object.

Inverted so sure, but all of the colours =)

There is also a lower-level call panel_st7789_invert_color, which may also help.

Can’t call it directly, I’m not yet familiar with C enough

The workaround is to use WHITE for black in the background; it’s not a dealbreaker, but I can live with that. I’ll update the post as soon as I figure out the actual cause of this.

UPD2: Back to basics.

I used the example project again. It’s listed on this device’s WIKIESP32-C6-LCD-1.47 Demo.zip

  • Set up the test project as described at the wiki.
  • Set up SQ Line Studio to use LVGL version: 8.3.11
  • Export UI in main/ui
  • Modify ui.h file lvgl import #include "lvgl.h"
  • Modify main.c import adding #include "ui/ui.h"

Use this code as an example. Comment out other examples.

void app_main(void)
{
    // Wireless_Init();
    // Flash_Searching();
    RGB_Init();
    // RGB_Example();
    SD_Init();                              // SD must be initialized behind the LCD
    LCD_Init();
    BK_Light(50);
    LVGL_Init();                            // returns the screen object

/********************* Demo *********************/
    // Lvgl_Example1();
    // lv_demo_widgets();
    // lv_demo_keypad_encoder();
    // lv_demo_benchmark();
    // lv_demo_stress();
    // lv_demo_music();
    int counter = 0;
    ui_init();
    while (1) {
        // raise the task priority of LVGL and/or reduce the handler period can improve the performance
        vTaskDelay(pdMS_TO_TICKS(10));
        // The task running lv_timer_handler should have lower priority than that running `lv_tick_inc`
        lv_timer_handler();

        // Init SQ Line Studio elements
        lv_arc_set_value(ui_Arc1, counter);
        lv_label_set_text_fmt(ui_Label1, "%d", counter);
        lv_label_set_text(ui_Label2, "CO2 ppm");

        // Make up and down
        if (counter == 2500) {
            counter = 0;
        } else {
            counter++;
        }

    }
}

And all colours will be fine!
So there is something in my setup - that reversed the background colors.

Example repo: trianglesis/ESP32-C6-LCD-1.47-Test-LVGL · GitHub

The last issue with colours:

  • Solved here: