gt911 — GT911 5-pontos kapacitív érintésvezérlő¶
A gt911 modul meghajtót biztosít a Goodix GT911 projektált kapacitív érintőképernyő-vezérlőhöz, amely gyakran 4,3”–7” méretű 800x480-as LCD-panelekkel párosul. A vezérlő legfeljebb öt egyidejű érintési pontot követ nyomon, és mindegyiket (x, y, size, id) rendezett négyesként jelenti, ahol az id mindaddig stabil az egyes olvasások között, amíg az ujj a panelen marad.
A meghajtó I2C-n keresztül kommunikál a chippel, és két extra GPIO-t használ:
egy reset vonalat, amelyet bekapcsoláskor alacsony szinten tart, és az IRQ vonallal együtt kapcsolgat a GT911 7 bites I2C-címének kiválasztásához (
0x5D, ha az IRQ alacsony a reset alatt,0x14, ha az IRQ magas);egy interrupt vonalat, amelyet a vezérlő érintési esemény bekövetkeztekor aktivál.
A létrehozás után az alkalmazások a GT911.read_points() segítségével lekérdezhetik az érintéseket, vagy megadhatnak egy touch_callback függvényt, amelyet az IRQ láb lefutó élén hív meg.
class GT911 – 5-pontos kapacitív érintésvezérlő¶
- class gt911.GT911(bus: machine.I2C, reset_pin: int | str, irq_pin: int | str, address: int = _DEFAULT_ADDR, width: int = 800, height: int = 480, touch_points: int = 1, reverse_x: bool = False, reverse_y: bool = False, reverse_axis: bool = True, sito: bool = True, refresh_rate: int = 240, touch_callback: Callable | None = None)¶
Létrehoz egy GT911 érintőképernyő-vezérlő objektumot.
A
busaz amachine.I2Cbusz-objektum, amelyhez a GT911 csatlakozik.A
reset_pina GT911 reset vonalához csatlakoztatott láb száma vagy neve (nemPinobjektum). A meghajtónak meg kell változtatnia a láb irányát a reset során.Az
irq_pina GT911 megszakítási vonalához csatlakoztatott láb száma vagy neve (nemPinobjektum). A meghajtónak meg kell változtatnia a láb irányát a reset során.Az
addressa vezérlő I2C-címe. Alapértelmezés szerint agt911._DEFAULT_ADDR.A
widthaz érintőpanel felbontása az X tengely mentén, képpontban.A
heightaz érintőpanel felbontása az Y tengely mentén, képpontban.A
touch_pointsa jelentendő egyidejű érintési pontok maximális száma (1-től 5-ig).A
reverse_xha True, megfordítja az X tengelyt.A
reverse_yha True, megfordítja az Y tengelyt.A
reverse_axisha True, felcseréli az X és Y tengelyeket.A
sitoengedélyezi a vezérlő Single-Input-Touch-Output módját, ha True.A
refresh_rateaz érintésjelentési gyakoriság Hz-ben.A
touch_callbackegy opcionális hívható objektum, amelyet az IRQ láb lefutó élén hív meg, amikor érintési esemény történik. Adja át aNoneértéket a lekérdezéses mód használatához.- read_points() tuple¶
Visszaad egy
(n, points)rendezett párt, ahol aznaz aktív érintési pontok száma, apointspedig 5array("H", ...)bejegyzés listája. Minden bejegyzés a következőt tartalmazza:[x, y, size, id]: azxésya képernyőkoordináták, asizeaz érintési nyomás, azidpedig egy egyedi nyomkövetési azonosító, amely egy adott ujjnál stabil marad az olvasások között.A
pointscsak az elsőnbejegyzése tartalmaz érvényes adatokat.