Ich setze hier mal auf diesen Thread auf, weil Thema noch stimmt und die äußeren Voraussetzungen dieselben sind.
Auch wenn lvgl einen ziemlichen Overhead mit sich bringt, so wollte ich doch damit erst mal weitermachen.
Zunächst einmal wollte ich den Hintergrund der Demo-App ändern.
Hatte dazu den Code etwas abgeändert:
1 |
ESP_LOGI(TAG, "Display LVGL Meter Widget");
|
2 |
/*Change the active screen's background color*/
|
3 |
// BGR (not RGB)
|
4 |
//lv_obj_set_style_bg_color(lv_scr_act(), lv_color_hex(0x101010), LV_PART_MAIN);
|
5 |
//lv_obj_set_style_bg_color(lv_scr_act(), lv_color_hex(0x202000), LV_PART_MAIN);
|
6 |
lv_obj_set_style_bg_color(lv_scr_act(), lv_color_hex(0x121900), LV_PART_MAIN);
|
7 |
//example_lvgl_demo_ui(disp);
|
8 |
//lvgl_my_demo();
|
9 |
|
10 |
|
11 |
while (1) {
|
12 |
// raise the task priority of LVGL and/or reduce the handler period can improve the performance
|
13 |
vTaskDelay(pdMS_TO_TICKS(10));
|
14 |
// The task running lv_timer_handler should have lower priority than that running `lv_tick_inc`
|
15 |
lv_timer_handler();
|
16 |
}
|
17 |
}
|
Mit dieser RGB-Einstellung gibt es auf dem Display die in Bild 1 ersichtlichen Streifen. 0x101010 (dunkleres grau) gibt einen häßlichen dicken Streifen durch die Bildmitte.
Im cyanfarbenen flackern die Störungen periodisch (vielleicht im 10ms Takt?) Der graue Streifen flackert am Rand auch leicht. Ich weiß jetzt nicht, ob das Display dauernd beschrieben wird. Kann natürlich am unterliegenden freeRTOS liegen.
Ich versuche mal, das Vscode-Projekt hochzuladen.