fix(P4): Touch erst nach Panel-Freigabe initialisieren (1.6.14)
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
This commit is contained in:
co-authored by
Claude Opus 5
parent
9bbd7d72aa
commit
50540179c7
@@ -1,3 +1,15 @@
|
||||
Version 1.6.14:
|
||||
- Der Touch-Controller wird jetzt erst angesprochen, nachdem die Bridge freigegeben und die
|
||||
Hintergrundbeleuchtung eingeschaltet ist. Der GT9271 haengt an derselben Versorgung und
|
||||
antwortet vorher nicht auf I2C - deshalb schlug seine Initialisierung bisher schon beim
|
||||
Kaltstart fehl. In der Werks-Testskizze steht die Touch-Initialisierung aus demselben
|
||||
Grund hinter dem Einschalten der Beleuchtung; beim Uebertragen in die Firmware war diese
|
||||
Reihenfolge verloren gegangen.
|
||||
- Die Wartezeit dazwischen steht als WS7_TOUCH_POWER_MS in pins_config.h (Vorgabe 120 ms).
|
||||
- Neu im Start-Log: eine Liste aller Bausteine am I2C-Bus, einmal vor und einmal nach dem
|
||||
Panel-Start. Erwartet werden 0x45 (Bridge) und 0x14 (Touch). Damit ist auf einen Blick zu
|
||||
sehen, ob ein Baustein gar nicht antwortet, statt aus Treiberfehlern raten zu muessen.
|
||||
|
||||
Version 1.6.13:
|
||||
- Ursache des schwarzen Bildes gefunden: ein haengender I2C-Bus. Trifft ein Reset des P4
|
||||
mitten in eine laufende Uebertragung, bleibt der angesprochene Baustein in seiner
|
||||
|
||||
Reference in New Issue
Block a user