fix(P4): Touch erst nach Panel-Freigabe initialisieren (1.6.14) #42

Merged
thomas merged 1 commits from fix/touch-nach-panelfreigabe into main 2026-09-01 16:31:55 +02:00
Owner

Der GT9271 meldete i2c transaction failed auch beim Kaltstart, während alle Panel-Schritte fehlerfrei durchliefen und die Bus-Freitaktung aus 1.6.13 den Bus als frei meldete.

Ursache ist die Reihenfolge: Im funktionierenden Werks-Testsketch steht initTouch() hinter enableBacklight(). Der GT9271 hängt an derselben Versorgung wie das Panel und antwortet erst, wenn die Bridge über 0xAD freigegeben ist. Beim Übertragen in die Firmware war das verloren gegangen - jc_backlight_set() lief erst nach jc_board_bringup().

  • Für WS_PANEL_7H wird die Beleuchtung jetzt innerhalb des Bringups vor der Touch-Initialisierung eingeschaltet, mit WS7_TOUCH_POWER_MS Pause (Vorgabe 120 ms).
  • Neue Diagnose ws7_i2c_scan() listet die antwortenden I2C-Adressen vor und nach dem Panel-Start.

Beide Panel-Varianten mit arduino-cli gegengebaut.

Der GT9271 meldete `i2c transaction failed` auch beim Kaltstart, während alle Panel-Schritte fehlerfrei durchliefen und die Bus-Freitaktung aus 1.6.13 den Bus als frei meldete. Ursache ist die Reihenfolge: Im funktionierenden Werks-Testsketch steht `initTouch()` hinter `enableBacklight()`. Der GT9271 hängt an derselben Versorgung wie das Panel und antwortet erst, wenn die Bridge über `0xAD` freigegeben ist. Beim Übertragen in die Firmware war das verloren gegangen - `jc_backlight_set()` lief erst nach `jc_board_bringup()`. - Für `WS_PANEL_7H` wird die Beleuchtung jetzt innerhalb des Bringups vor der Touch-Initialisierung eingeschaltet, mit `WS7_TOUCH_POWER_MS` Pause (Vorgabe 120 ms). - Neue Diagnose `ws7_i2c_scan()` listet die antwortenden I2C-Adressen vor und nach dem Panel-Start. Beide Panel-Varianten mit arduino-cli gegengebaut.
thomas added 1 commit 2026-09-01 16:31:54 +02:00
Der GT9271 meldete "i2c transaction failed" auch beim Kaltstart, während
alle Panel-Schritte fehlerfrei durchliefen und die Bus-Freitaktung aus 1.6.13
den Bus als frei meldete.

Ursache ist die Reihenfolge: Im funktionierenden Werks-Testsketch steht
initTouch() hinter enableBacklight(). Der GT9271 hängt an derselben
Versorgung wie das Panel und antwortet erst, wenn die Bridge über 0xAD
freigegeben ist. Beim Übertragen in die Firmware war das verloren gegangen -
jc_backlight_set() lief erst nach jc_board_bringup().

- Für WS_PANEL_7H wird die Beleuchtung jetzt innerhalb des Bringups vor der
  Touch-Initialisierung eingeschaltet, mit WS7_TOUCH_POWER_MS Pause.
- Neue Diagnose ws7_i2c_scan() listet die antwortenden I2C-Adressen vor und
  nach dem Panel-Start.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018QoLDQeUh1dCQz7yYZVb4Y
thomas merged commit d83619904f into main 2026-09-01 16:31:55 +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#42