gt911 — GT911 5bodový kapacitní dotykový řadič¶
Modul gt911 poskytuje ovladač pro projekčně-kapacitní dotykový řadič Goodix GT911, běžně používaný společně s LCD panely 4,3“–7“ s rozlišením 800x480. Řadič sleduje až pět současných dotykových bodů a každý hlásí jako 4-tici (x, y, size, id), kde id zůstává stabilní napříč čteními, dokud prst zůstává na panelu.
Ovladač komunikuje s čipem přes I2C a používá dva další GPIO:
linku reset, držená nízko během zapnutí a přepínaná spolu s linkou IRQ pro výběr 7bitové I2C adresy GT911 (
0x5D, když je IRQ nízko během resetu,0x14, když je IRQ vysoko);linku interrupt (přerušení), kterou řadič aktivuje při výskytu dotykové události.
Po vytvoření mohou aplikace zjišťovat dotyky pomocí GT911.read_points() nebo poskytnout touch_callback, který se vyvolá na sestupné hraně IRQ pinu.
class GT911 – 5bodový kapacitní dotykový řadič¶
- 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)¶
Vytvoří objekt řadiče dotykové obrazovky GT911.
busje objekt sběrnicemachine.I2C, ke které je GT911 připojen.reset_pinje číslo nebo název pinu (nikoli objektPin) připojeného k reset lince GT911. Ovladač potřebuje během resetu měnit směr pinu.irq_pinje číslo nebo název pinu (nikoli objektPin) připojeného k interrupt lince GT911. Ovladač potřebuje během resetu měnit směr pinu.addressje I2C adresa řadiče. Výchozí hodnotou jegt911._DEFAULT_ADDR.widthje rozlišení dotykového panelu podél osy X v pixelech.heightje rozlišení dotykového panelu podél osy Y v pixelech.touch_pointsje maximální počet současných dotykových bodů k hlášení (1 až 5).reverse_xpokud je True, překlopí osu X.reverse_ypokud je True, překlopí osu Y.reverse_axispokud je True, prohodí osy X a Y.sitopokud je True, povolí režim Single-Input-Touch-Output řadiče.refresh_rateje frekvence hlášení dotyků v Hz.touch_callbackje volitelný objekt typu callable vyvolaný na sestupné hraně IRQ pinu při výskytu dotykové události. PředánímNonepoužijete režim dotazování (polling).- read_points() tuple¶
Vrací 2-tici
(n, points), kdenje počet aktivních dotykových bodů apointsje seznam 5 položekarray("H", ...). Každá položka obsahuje[x, y, size, id]:xayjsou souřadnice na obrazovce,sizeje tlak dotyku aidje jedinečné sledovací ID, které zůstává stabilní pro daný prst napříč čteními.Pouze prvních
npoložekpointsobsahuje platná data.