gt911 — GT911 capacitieve touch-controller met 5 punten¶
De gt911-module biedt een driver voor de Goodix GT911 projected-capacitive touchscreen-controller, een veelvoorkomende combinatie met 4.3”–7” 800x480 LCD-panelen. De controller volgt tot vijf gelijktijdige aanraakpunten en rapporteert elk als een (x, y, size, id)-tuple, waarbij id stabiel blijft over uitlezingen heen zolang de vinger op het paneel blijft.
De driver communiceert met de chip via I2C en gebruikt twee extra GPIO’s:
een reset-lijn, die laag wordt gehouden tijdens het opstarten en samen met de IRQ-lijn wordt geschakeld om het 7-bits I2C-adres van de GT911 te selecteren (
0x5Dwanneer IRQ laag is tijdens reset,0x14wanneer IRQ hoog is);een interrupt-lijn, die door de controller wordt geactiveerd wanneer een aanraakgebeurtenis plaatsvindt.
Na constructie kunnen applicaties pollen naar aanrakingen met GT911.read_points() of een touch_callback opgeven die wordt aangeroepen op de dalende flank van de IRQ-pin.
class GT911 – Capacitieve touch-controller met 5 punten¶
- 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)¶
Maakt een GT911 touchscreen-controllerobject aan.
busis hetmachine.I2C-busobject waarop de GT911 is aangesloten.reset_pinis het pinnummer of de pinnaam (geenPin-object) dat is verbonden met de reset-lijn van de GT911. De driver moet de pinrichting wijzigen tijdens reset.irq_pinis het pinnummer of de pinnaam (geenPin-object) dat is verbonden met de interrupt-lijn van de GT911. De driver moet de pinrichting wijzigen tijdens reset.addressis het I2C-adres van de controller. Standaardgt911._DEFAULT_ADDR.widthis de resolutie van het touchpaneel langs de X-as in pixels.heightis de resolutie van het touchpaneel langs de Y-as in pixels.touch_pointsis het maximale aantal gelijktijdige aanraakpunten dat gerapporteerd wordt (1 tot 5).reverse_xindien True keert de X-as om.reverse_yindien True keert de Y-as om.reverse_axisindien True verwisselt de X- en Y-as.sitoschakelt de Single-Input-Touch-Output-modus van de controller in indien True.refresh_rateis de aanraakrapportagesnelheid in Hz.touch_callbackis een optionele aanroepbare functie die wordt aangeroepen op de dalende flank van de IRQ-pin wanneer een aanraakgebeurtenis plaatsvindt. GeefNonedoor om de polling-modus te gebruiken.- read_points() tuple¶
Retourneert een tuple
(n, points)waarbijnhet aantal actieve aanraakpunten is enpointseen lijst is van 5array("H", ...)-items. Elk item bevat[x, y, size, id]:xenyzijn de schermcoördinaten,sizeis de aanraakdruk enidis een unieke tracking-ID die stabiel blijft voor een bepaalde vinger over uitlezingen heen.Alleen de eerste
nitems vanpointsbevatten geldige data.