gt911 — GT911 5-pisteinen kapasitiivinen kosketusohjain

gt911-moduuli tarjoaa ajurin Goodix GT911 -projektoidulle kapasitiiviselle kosketusnäytön ohjaimelle, joka on yleinen pari 4,3”–7” 800x480 -LCD-paneeleille. Ohjain seuraa enintään viittä samanaikaista kosketuspistettä ja raportoi kunkin (x, y, size, id)-monikkona, jossa id pysyy vakaana lukukertojen välillä niin kauan kuin sormi pysyy paneelilla.

Ajuri kommunikoi sirun kanssa I2C:n kautta ja käyttää kahta ylimääräistä GPIO:ta:

  • reset-linja, joka pidetään alhaalla käynnistyksen aikana ja vaihdetaan yhdessä IRQ-linjan kanssa GT911:n 7-bittisen I2C-osoitteen valitsemiseksi (0x5D, kun IRQ on alhaalla reset-toiminnon aikana, 0x14, kun IRQ on ylhäällä);

  • interrupt-linja, jonka ohjain asettaa aktiiviseksi kosketustapahtuman sattuessa.

Luonnin jälkeen sovellukset voivat tarkkailla kosketuksia metodilla GT911.read_points() tai antaa touch_callback-funktion, joka kutsutaan IRQ-nastan laskevalla reunalla.

class GT911 – 5-pisteinen kapasitiivinen kosketusohjain

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)

Luo GT911-kosketusnäytön ohjainobjektin.

bus on machine.I2C-väyläobjekti, johon GT911 on kytketty.

reset_pin on GT911:n reset-linjaan kytketyn nastan numero tai nimi (ei Pin-objekti). Ajurin on muutettava nastan suuntaa reset-toiminnon aikana.

irq_pin on GT911:n interrupt-linjaan kytketyn nastan numero tai nimi (ei Pin-objekti). Ajurin on muutettava nastan suuntaa reset-toiminnon aikana.

address on ohjaimen I2C-osoite. Oletuksena gt911._DEFAULT_ADDR.

width on kosketuspaneelin resoluutio X-akselilla pikseleinä.

height on kosketuspaneelin resoluutio Y-akselilla pikseleinä.

touch_points on raportoitavien samanaikaisten kosketuspisteiden enimmäismäärä (1-5).

reverse_x jos True, kääntää X-akselin.

reverse_y jos True, kääntää Y-akselin.

reverse_axis jos True, vaihtaa X- ja Y-akselit keskenään.

sito ottaa käyttöön ohjaimen Single-Input-Touch-Output-tilan arvolla True.

refresh_rate on kosketusten raportointitaajuus hertseinä.

touch_callback on valinnainen kutsuttava, joka kutsutaan IRQ-nastan laskevalla reunalla kosketustapahtuman sattuessa. Välitä None käyttääksesi tarkkailutilaa.

read_id() bytes

Palauttaa 4 tavua, jotka sisältävät GT911:n tuotetunnuksen.

read_points() tuple

Palauttaa monikon (n, points), jossa n on aktiivisten kosketuspisteiden määrä ja points on lista viidestä array("H", ...)-merkinnästä. Kukin merkintä sisältää [x, y, size, id]: x ja y ovat näytön koordinaatit, size on kosketuspaine ja id on yksilöllinen seurantatunniste, joka pysyy vakaana tietylle sormelle lukukertojen välillä.

Vain points-listan ensimmäiset n merkintää sisältävät kelvollista dataa.

reset() None

Nollaa GT911-ohjaimen ja virittää IRQ-käsittelijän uudelleen, jos touch_callback annettiin.

Vakiot

gt911._DEFAULT_ADDR: int

GT911-ohjaimen oletusarvoinen I2C-osoite (0x5D).