From 80b6eb810f02a32c5578049c45e5d174bdced78f Mon Sep 17 00:00:00 2001 From: raw-designs Date: Tue, 1 Sep 2026 17:24:25 +0200 Subject: [PATCH] =?UTF-8?q?diag(P4):=20Pr=C3=BCfbild=20h=C3=A4lt=20an,=20s?= =?UTF-8?q?tatt=20von=20LVGL=20=C3=BCberschrieben=20zu=20werden=20(1.6.17)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Der Störimpulsfilter aus 1.6.16 wirkt - nach dem Panel-Start melden sich wieder alle drei I2C-Bausteine, keine Bridge- oder Touch-Fehler mehr. Das Prüfbild aus 1.6.15 war als Test jedoch untauglich: gesetzt bei esp_lcd_dpi_panel_set_pattern(), aber unmittelbar danach lief lvgl_port_init() und schrieb in den Framebuffer, womit das Muster wieder verschwand. Der Test sah damit genauso aus wie der Fehler, den er finden soll. Mit WS7_TEST_PATTERN = 1 endet jc_board_bringup() jetzt direkt nach dem Muster: Backlight an, Rückgabe false, kein LVGL. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018QoLDQeUh1dCQz7yYZVb4Y --- P4_Display_Firmware/Changelog.txt | 11 +++++++++++ P4_Display_Firmware/board_bringup.c | 17 +++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/P4_Display_Firmware/Changelog.txt b/P4_Display_Firmware/Changelog.txt index dc4d508..1cc2655 100644 --- a/P4_Display_Firmware/Changelog.txt +++ b/P4_Display_Firmware/Changelog.txt @@ -1,3 +1,14 @@ +Version 1.6.17: +- Der I2C-Stoerimpulsfilter aus 1.6.16 wirkt: Nach dem Panel-Start melden sich wieder alle + drei Bausteine, Bridge und Touch bleiben ansprechbar. +- Das Pruefbild aus 1.6.15 war allerdings wirkungslos und damit als Test untauglich: Es + wurde zwar gesetzt, doch unmittelbar danach startete LVGL und schrieb in den Bildspeicher, + womit das Pruefbild wieder verschwand. Der Test sah deshalb genauso aus wie der Fehler, + den er finden sollte. +- Mit WS7_TEST_PATTERN = 1 endet der Hochlauf jetzt direkt nach dem Pruefbild: Beleuchtung + an, Farbbalken stehen, kein LVGL. Damit ist die Frage eindeutig zu beantworten, ob die + Anzeigekette bis zum Panel arbeitet. + Version 1.6.16: - Ursache des schwarzen Bildes gefunden. Der Start-Log zeigte es eindeutig: Vor dem Panel-Start meldeten sich alle drei I2C-Bausteine (Touch 0x14, Audio 0x18, Bridge 0x45), diff --git a/P4_Display_Firmware/board_bringup.c b/P4_Display_Firmware/board_bringup.c index 869639e..38ccabe 100644 --- a/P4_Display_Firmware/board_bringup.c +++ b/P4_Display_Firmware/board_bringup.c @@ -505,14 +505,23 @@ bool jc_board_bringup(void) BSP_STEP(esp_lcd_panel_init(disp_panel), "DPI-Videoausgabe starten"); #if WS7_TEST_PATTERN // Prueffarbbalken: Sie entstehen im DSI-Baustein selbst und benutzen weder den - // Bildspeicher noch LVGL. Erscheinen sie, arbeitet die gesamte Anzeigekette bis zum - // Panel korrekt und der Fehler liegt weiter oben (Bildspeicher, LVGL, Oberflaeche). - // Bleibt das Bild schwarz, liegt es an DSI, Zeitbasis oder Panel. + // Bildspeicher noch LVGL. Erscheinen sie, arbeitet die Anzeigekette bis zum Panel und + // der Fehler liegt weiter oben. Bleibt es schwarz, liegt es an DSI, Zeitbasis oder + // Panel. + // + // Der Hochlauf endet hier bewusst: Wuerde LVGL danach starten, schriebe es sofort in + // den Bildspeicher und das Pruefbild waere wieder weg - der Test saehe dann genauso + // aus wie der Fehler, den er finden soll. + jc_backlight_set(100); // Beleuchtung an, sonst ist nichts zu sehen BSP_STEP(esp_lcd_dpi_panel_set_pattern(disp_panel, MIPI_DSI_PATTERN_BAR_VERTICAL), "Prueffarbbalken"); - esp_rom_printf("[Panel] Pruefbild aktiv - erwartet werden senkrechte Farbbalken.\n"); + esp_rom_printf("[Panel] Pruefbild steht - erwartet werden senkrechte Farbbalken.\n"); + esp_rom_printf("[Panel] Hochlauf endet hier (WS7_TEST_PATTERN = 1, keine Oberflaeche).\n"); + return false; // ohne LVGL: Anzeige bleibt beim Pruefbild #endif + + #elif JC_PANEL_TYPE == JC_PANEL_70 // ---------------- 7,0" JD9165 (1024x600) ---------------- esp_lcd_dsi_bus_config_t bus_config = JD9165_PANEL_BUS_DSI_2CH_CONFIG();