Swipe in from the side edge to change pages on the Guition (0.2.29)

Page swipes were an LVGL gesture anywhere on the screen: 50 px, fast only,
and almost always starting on a tile that lit up as pressed. On the Guition
a touch that starts within 32 px of the left or right edge and travels
40 px inward, clearly sideways, now flips one page (from the right edge
leftwards is next, from the left edge rightwards previous), at any speed
and in every rotation; a swipe that starts in the middle does nothing, so
taps and drags on tiles can no longer change the page by accident. The
whole-screen gesture is removed from the Guition profile; the CYD keeps
it. Firmware 0.2.24 for both boards, the app only reworded the setting.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Max Gramser
2026-09-14 11:40:19 +02:00
parent ea0b423fab
commit 104f20e4fa
13 changed files with 170 additions and 31 deletions
+36
View File
@@ -0,0 +1,36 @@
# Testresultaten app 0.2.29 / firmware 0.2.24 (2026-09-14)
Vegen vanaf de zijrand op de Guition vervangt de LVGL-gesture over het hele scherm;
de CYD houdt zijn snelle veeg. In de app alleen de omschrijving van de instelling.
## Wat veranderde
- `cyd::EdgeSwipe` in `cyd_ui.h`: een aanraking die binnen `EDGE_SWIPE_BAND_PX` (32) van de
linker- of rechterrand begint en `EDGE_SWIPE_TRAVEL_PX` (40) naar binnen aflegt, duidelijk
meer zijwaarts dan verticaal (|dx| ≥ 2·|dy|), wisselt één keer per aanraking van pagina.
Geen snelheidseis. De rotatie volgt ESPHome's LVGL-mapping (90°: x=y, y=W−x−1; 270°:
x=H−y−1, y=x; 180°: beide gespiegeld), dus "linkerrand" is altijd de rand die de gebruiker ziet.
- Guition-profiel: `configure()` in `on_boot`, `begin()` in `on_touch`, `update()` in
`on_update` voor het eerste contact; bij een treffer `touch_guard.consume()`,
`lv_indev_wait_release()` en `show_tile_page` (die de pagina begrenst). De
`LV_EVENT_GESTURE`-handler op `home_page` is verwijderd. Dezelfde blokkades als voorheen:
instelling uit, gedimd, kalibratie, open kaart.
## Geautomatiseerd
- C++ (clang++ -std=c++17 -Wall -Wextra -Werror -I.): 11/11 PASS. `test_cyd_ui` dekt:
42 px vanaf links = vorige, vanaf rechts = volgende, één keer per aanraking, start in het
midden doet niets, diagonaal telt niet en naar buiten bewegen niet, later rechtgetrokken telt
wel, en de drie rotaties.
- Python: 84 tests OK (`FIRMWARE_VERSION` 0.2.24 in app, profielen en pakketten).
`generate_packages.py --check` groen; bench-kopieën opnieuw gegenereerd.
- ESPHome 2026.6.2 compile: `easy-guition-device.yaml` SUCCESS in 41 s (RAM 31,9%, flash
18,3%), `easy-cyd-device.yaml` SUCCESS in 40 s (RAM 30,9%, flash 76,0%); geen nieuwe
waarschuwingen.
## Nog niet geverifieerd
- Fysiek vegen vanaf de rand van de Guition (frame van de wallbox, eerste GT911-meting
bij x≈0–10), inclusief een gedraaid scherm; en of de CYD-veeg onveranderd werkt na de
herbouw. De bench-borden hingen niet aan USB en reageerden niet op de API. Max werkt bij
via **Bijwerken** en kijkt in het log naar `randveeg: pagina 0 -> 1`.