fix(P4): DSI-Strecke beim Hochlauf einmal neu aufbauen (1.6.21) #49

Merged
thomas merged 1 commits from fix/dsi-strecke-neu-aufbauen into main 2026-09-02 02:27:50 +02:00
Owner

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 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 (200 ms).

Beide Panel-Varianten mit arduino-cli gegengebaut.

🤖 Generated with Claude Code

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 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` (200 ms). Beide Panel-Varianten mit arduino-cli gegengebaut. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
thomas added 1 commit 2026-09-02 02:27:49 +02:00
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
thomas merged commit 1def9e45dc into main 2026-09-02 02:27:50 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: thomas/Dual-PID#49