fix(P4): DSI-Strecke beim Hochlauf einmal neu aufbauen (1.6.21)
Der Hochlauf lief zuletzt vollständig fehlerfrei durch - Bridge zweimal eingestellt, Panel zweimal geweckt, alle I2C-Bausteine erreichbar - und trotzdem kam beim ersten Einschalten kein Bild. Erst ein Reset half, und der zuverlässig. Es fehlte also kein Befehl mehr, sondern der Vorgang selbst: Ein Reset unterscheidet sich an dieser Stelle in genau einem Punkt von unserem Ablauf - die DSI-Verbindung geht einmal weg und neu auf, während Bridge und Panel bereits versorgt und eingestellt sind. Die Wiederholungen aus 1.6.19/1.6.20 liefen dagegen über eine durchgehend bestehende Verbindung. - Der DSI-Aufbau (Bus, Kommandokanal, Bildausgabe, Weckbefehle) steckt jetzt in ws7_dsi_bringup() und ist damit wiederholbar. - Nach dem ersten Durchlauf werden esp_lcd_panel_del(), esp_lcd_panel_io_del() und esp_lcd_del_dsi_bus() aufgerufen und die Strecke neu angelegt. Schalter WS7_DSI_RESTART, Pause WS7_DSI_RESTART_MS. Beide Panel-Varianten mit arduino-cli gegengebaut. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P7JsiDJ1QbNFLDz5chf8Jt
This commit is contained in:
co-authored by
Claude Opus 5
parent
6d7d544ac7
commit
c2a8b21917
@@ -159,6 +159,14 @@
|
||||
// Beleuchtung brennt - sie haengt an der Bridge, nicht am Panel.
|
||||
#define WS7_PANEL_SETTLE_MS 200
|
||||
|
||||
// Die DSI-Strecke beim Hochlauf einmal ab- und wieder aufbauen. Beim ersten Einschalten
|
||||
// kam sonst trotz fehlerfreiem Ablauf kein Bild; erst ein Reset half. Der einzige
|
||||
// Unterschied dabei: Die DSI-Verbindung geht einmal weg und neu auf, waehrend Bridge und
|
||||
// Panel schon versorgt und eingestellt sind. Genau das holt der zweite Aufbau nach.
|
||||
// Kostet WS7_DSI_RESTART_MS zusaetzliche Startzeit.
|
||||
#define WS7_DSI_RESTART 1
|
||||
#define WS7_DSI_RESTART_MS 200
|
||||
|
||||
#define WS7_TEST_PATTERN 0
|
||||
|
||||
#elif JC_PANEL_TYPE == JC_PANEL_70
|
||||
|
||||
Reference in New Issue
Block a user