gt911 — GT911 kapacitiv pekstyrenhet med 5 punkter¶
Modulen gt911 tillhandahåller en drivrutin för den projicerat-kapacitiva pekskärmsstyrenheten Goodix GT911, en vanlig kombination med 4,3”–7” 800x480 LCD-paneler. Styrenheten spårar upp till fem samtidiga beröringspunkter och rapporterar var och en som en tupel (x, y, size, id) där id är stabilt mellan läsningar så länge fingret förblir på panelen.
Drivrutinen kommunicerar med kretsen via I2C och använder två extra GPIO:er:
en reset-ledning, som hålls låg vid uppstart och växlas tillsammans med IRQ-ledningen för att välja GT911:s 7-bitars I2C-adress (
0x5Dnär IRQ är låg under reset,0x14när IRQ är hög);en interrupt-ledning, som aktiveras av styrenheten när en beröringshändelse inträffar.
Efter konstruktion kan applikationer söka efter beröringar med GT911.read_points() eller tillhandahålla ett touch_callback som anropas vid IRQ-stiftets fallande flank.
class GT911 – kapacitiv pekstyrenhet med 5 punkter¶
- 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)¶
Skapar ett objekt för en GT911-pekskärmsstyrenhet.
busär detmachine.I2C-bussobjekt som GT911 är ansluten till.reset_pinär stiftnumret eller -namnet (inte ettPin-objekt) som är anslutet till GT911:s reset-ledning. Drivrutinen behöver ändra stiftriktning under reset.irq_pinär stiftnumret eller -namnet (inte ettPin-objekt) som är anslutet till GT911:s interrupt-ledning. Drivrutinen behöver ändra stiftriktning under reset.addressär I2C-adressen för styrenheten. Standardvärdet ärgt911._DEFAULT_ADDR.widthär pekpanelens upplösning längs X-axeln i pixlar.heightär pekpanelens upplösning längs Y-axeln i pixlar.touch_pointsär det maximala antalet samtidiga beröringspunkter att rapportera (1 till 5).reverse_xvänder X-axeln om True.reverse_yvänder Y-axeln om True.reverse_axisbyter plats på X- och Y-axlarna om True.sitoaktiverar styrenhetens läge Single-Input-Touch-Output när True.refresh_rateär beröringsrapporteringsfrekvensen i Hz.touch_callbackär ett valfritt anropsbart objekt som anropas vid IRQ-stiftets fallande flank när en beröringshändelse inträffar. SkickaNoneför att använda pollningsläge.- read_points() tuple¶
Returnerar en tupel
(n, points)därnär antalet aktiva beröringspunkter ochpointsär en lista med 5array("H", ...)-poster. Varje post innehåller[x, y, size, id]:xochyär skärmkoordinaterna,sizeär beröringstrycket ochidär ett unikt spårnings-ID som förblir stabilt för ett givet finger mellan läsningar.Endast de första
nposterna ipointsinnehåller giltig data.