Files
Max Gramser 61ceb40075 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>
2026-09-14 14:02:47 +02:00

2.0 KiB
Raw Permalink Blame History

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.