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();