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
@@ -1,3 +1,19 @@
|
||||
Version 1.6.21:
|
||||
- Der Hochlauf lief zuletzt vollstaendig 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 zuverlaessig. Es fehlte also kein
|
||||
Befehl mehr; es fehlte der Vorgang selbst.
|
||||
- Ein Reset unterscheidet sich an dieser Stelle in genau einem Punkt: Die DSI-Verbindung
|
||||
geht einmal weg und neu auf, waehrend Bridge und Panel bereits versorgt und eingestellt
|
||||
sind. Weder die wiederholte Grundeinstellung noch die wiederholten Weckbefehle ersetzen
|
||||
das - beide laufen ueber eine Verbindung, die durchgehend bestand.
|
||||
- Der Hochlauf baut die DSI-Strecke jetzt einmal komplett ab und wieder auf: Bildausgabe,
|
||||
Kommandokanal und Bus werden freigegeben und neu angelegt. Damit passiert ohne Reset,
|
||||
was vorher erst der zweite Start brachte. Schalter WS7_DSI_RESTART in pins_config.h,
|
||||
Pause dazwischen WS7_DSI_RESTART_MS (Vorgabe 200 ms).
|
||||
- Der DSI-Aufbau steckt dafuer in einer eigenen Funktion, damit der Vorgang wiederholbar
|
||||
ist statt zweimal im Quelltext zu stehen.
|
||||
|
||||
Version 1.6.20:
|
||||
- Nach 1.6.19 lief es reproduzierbar so ab: Beim Einschalten ging nach zwei bis drei
|
||||
Sekunden die Hintergrundbeleuchtung an, dann kam nichts mehr; nach einem Reset ging die
|
||||
|
||||
Reference in New Issue
Block a user