Keep the empty edge band out of LVGL so a quick swipe gets its samples (0.2.35)
On 0.2.29 the edge swipe flipped pages, but about half of the quick flicks on Studio 1 ended with "randveeg niet gevuurd: 5 px naar binnen": every touch lasted about 160 ms and produced a single sample. A press in the empty band landed on tile_scroll or the page, and the theme gives every object a pressed style, so LVGL repainted nearly the whole screen on press and on release, blocking the loop and the 20 ms touch polling for as long as the flick took. The page and the tile container are no longer clickable: no state change, no repaint, no events, and the edge swipe on the touchscreen triggers does not need them. While an edge swipe is armed every sample is logged, and the press line carries the contact id, so the sampling can be read from the log. Firmware 0.2.30 for both boards. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -177,6 +177,14 @@ staan iconen in de browser uit het midden); draai daarna `generate_packages.py`.
|
||||
De substituties `MDI_GLYPH_*` zijn vervallen: `TILEn_ICON` in handmatige
|
||||
profielen moet uit de set komen. Geen gewijzigde preferences of sleutels.
|
||||
|
||||
### Compatibiliteit 0.2.35 / firmware 0.2.30
|
||||
|
||||
Alleen firmware (Guition). `on_boot` haalt `LV_OBJ_FLAG_CLICKABLE` van `home_page` en
|
||||
`tile_scroll`: een druk buiten de tegels heeft geen LVGL-object meer (geen pressed-stijl,
|
||||
geen hertekening, geen events); de randveeg loopt via de touchscreen-triggers en heeft dat
|
||||
niet nodig, `lv_indev_wait_release` werkt ook zonder actief object. Trace-regels `veeg …`
|
||||
op INFO alleen zolang `edge_swipe.armed()`. Verder ongewijzigd.
|
||||
|
||||
### Compatibiliteit 0.2.34 / firmware 0.2.29
|
||||
|
||||
Alleen firmware. LVGL 9.5.0's `send_event()` in `lv_indev.c` stuurt het invoerapparaat
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# Testresultaten app 0.2.35 / firmware 0.2.30 (2026-09-14)
|
||||
|
||||
Vervolg op 0.2.34, live op Studio 1 (firmware 0.2.29): de randveeg wisselt (14 wissels in
|
||||
één reeks), maar ongeveer de helft van de snelle vegen eindigde met `randveeg niet gevuurd:
|
||||
1…17 px naar binnen` terwijl de vinger verder ging. Elke aanraking duurde van druk tot
|
||||
wissel of loslaten 147–199 ms en leverde maar één meting op; geen LVGL-waarschuwingen
|
||||
(de drempel daarvan groeit mee tot 200 ms, dus stalls van 100 ms zijn onzichtbaar).
|
||||
|
||||
## Diagnose
|
||||
|
||||
- Een druk in de lege rand landt op `tile_scroll` (of `home_page`), beide met de thema-stijl
|
||||
`obj: pressed: bg_opa: 45%`: LVGL hertekent bij indrukken en loslaten een vlak van
|
||||
480×348 px met blending. Op een tegel is diezelfde hertekening klein (de guard zag daar
|
||||
wel 73 px drift), in de rand blokkeert hij de ESPHome-loop en daarmee de 20 ms-polling
|
||||
van de GT911 precies zolang een flick duurt.
|
||||
|
||||
## Wat veranderde
|
||||
|
||||
- `on_boot`: `LV_OBJ_FLAG_CLICKABLE` af van `home_page` en `tile_scroll`. Een druk buiten
|
||||
de tegels heeft geen LVGL-object meer: geen pressed-stijl, geen hertekening, geen events.
|
||||
De randveeg loopt via de touchscreen-triggers en `lv_indev_wait_release` werkt zonder
|
||||
actief object.
|
||||
- Trace: zolang een randveeg gewapend is logt `on_update` elke meting (`veeg id= st= x= y=`),
|
||||
en `GT911 press` meldt het contact-id.
|
||||
|
||||
## Geautomatiseerd
|
||||
|
||||
- C++ `test_cyd_ui` PASS (geen wijziging in de klassen); Python: 91 tests OK
|
||||
(`FIRMWARE_VERSION` 0.2.30); `generate_packages.py --check` groen.
|
||||
- ESPHome 2026.6.2 compile: `easy-guition-device.yaml` SUCCESS in 42 s (RAM 32,0%, flash
|
||||
18,3%), `easy-cyd-device.yaml` SUCCESS in 39 s (RAM 31,0%, flash 76,1%); geen nieuwe
|
||||
waarschuwingen.
|
||||
|
||||
## Te controleren op Studio 1
|
||||
|
||||
- Snelle vegen vanaf beide randen: het log moet per veeg meerdere `veeg`-regels (elke ~20 ms)
|
||||
tonen en `randveeg: pagina …` binnen 40 px. Blijft het bij één meting, dan zit de
|
||||
bemonstering elders (I2C, GT911-frame-rate) en is de trace de volgende aanwijzing.
|
||||
Reference in New Issue
Block a user