61ceb40075
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>
2.0 KiB
2.0 KiB
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(ofhome_page), beide met de thema-stijlobj: 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_CLICKABLEaf vanhome_pageentile_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 enlv_indev_wait_releasewerkt zonder actief object.- Trace: zolang een randveeg gewapend is logt
on_updateelke meting (veeg id= st= x= y=), enGT911 pressmeldt het contact-id.
Geautomatiseerd
- C++
test_cyd_uiPASS (geen wijziging in de klassen); Python: 91 tests OK (FIRMWARE_VERSION0.2.30);generate_packages.py --checkgroen. - ESPHome 2026.6.2 compile:
easy-guition-device.yamlSUCCESS in 42 s (RAM 32,0%, flash 18,3%),easy-cyd-device.yamlSUCCESS 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 enrandveeg: 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.