docs: the Elecrow's silent touch was the flex cable; what touch_probe reads either way
CI / checks (push) Failing after 7m15s
CI / firmware (add-on) (push) Has been skipped
CI / firmware (min_version) (push) Has been skipped

This commit is contained in:
Xandrossian
2026-09-21 14:38:00 -07:00
parent 6910f30d4c
commit 950414c280
+9 -1
View File
@@ -49,6 +49,14 @@ takes address 0x5D), 20 ms, the reset released, 100 ms, the interrupt line back
through the PCA9557`. A V2.0 board without the expander boots its GT911 by the pull-up as before (the writes fail, the through the PCA9557`. A V2.0 board without the expander boots its GT911 by the pull-up as before (the writes fail, the
log says so), and the driver tries 0x14 by itself when 0x5D does not answer, so no address override is ever needed. log says so), and the driver tries 0x14 by itself when 0x5D does not answer, so no address override is ever needed.
**A touch that never answers.** TP-RESET has no pull-up on the main board (Elecrow's V3.0 schematic), and IO0 of
the PCA9557 is its open-drain pin: "high" only lets the line go, and the touch module on the glass's flex cable is
what pulls it up. A unit tested here read `PCA9557 ... input 0x00 output 0x01` from `touch_probe` after the reset
(the line still low, no GT911 at either address) with every firmware from 0.2.79 on: its 6-pin flex cable was not
making contact in **P4**, the connector next to the PCA9557 (IC1). Reseated, the same probe read `input 0xF3` and
`GT911 at 0x5D: ... product id ("911")`, and the touch worked at once, with no change to the firmware. So before
anything else: the flex cable fully home in P4 (not the empty P2 beside it), latch closed, cable undamaged.
The bus is scanned at boot. For a diagnosis, give the screen `logger: level: DEBUG` in its Override YAML (Screen The bus is scanned at boot. For a diagnosis, give the screen `logger: level: DEBUG` in its Override YAML (Screen
settings → Override YAML) and read its log: the scan lists 0x18 (the expander; the GT911 is still in reset at that settings → Override YAML) and read its log: the scan lists 0x18 (the expander; the GT911 is still in reset at that
moment), and the driver logs `Switches ADDR: 0x5D`; a screen without a working bus lists nothing. Two actions of the moment), and the driver logs `Switches ADDR: 0x5D`; a screen without a working bus lists nothing. Two actions of the
@@ -111,7 +119,7 @@ number of pixels as the Guition's 25 % of 480 × 480.
- `python3 tools/check_packages.py`, `esphome config elecrow-crowpanel7.yaml`, `tools/check.sh --firmware`. - `python3 tools/check_packages.py`, `esphome config elecrow-crowpanel7.yaml`, `tools/check.sh --firmware`.
- The touch test page and `tools/verify_gt911.py` for the corners; the ghost-touch filter at (0, 0) of the Guition's - The touch test page and `tools/verify_gt911.py` for the corners; the ghost-touch filter at (0, 0) of the Guition's
GT911 applies here too. GT911 applies here too. `touch_probe` (Developer tools → Actions) for a touch that never answers: see above.
- `diagnostics/capture_ui.py` saves the LVGL render at 400 × 240 (half the panel) as a PNG; `ui_self_test` renders - `diagnostics/capture_ui.py` saves the LVGL render at 400 × 240 (half the panel) as a PNG; `ui_self_test` renders
every card without touching a device. every card without touching a device.
- A build is not a flash, and a render is not a touch: the owner checks the picture and taps the corners. - A build is not a flash, and a render is not a touch: the owner checks the picture and taps the corners.