gt911 --- Pengontrol Sentuh Kapasitif 5-Titik GT911¶
Modul gt911 menyediakan driver untuk pengontrol layar sentuh kapasitif proyeksi Goodix GT911, yang umum dipasangkan dengan panel LCD 800x480 berukuran 4.3"--7". Pengontrol ini melacak hingga lima titik sentuh simultan dan melaporkan masing-masing sebagai tuple (x, y, size, id) di mana id stabil antar pembacaan selama jari tetap berada di panel.
Driver berkomunikasi dengan chip melalui I2C dan menggunakan dua GPIO tambahan:
sebuah baris reset, dipertahankan rendah selama power-up dan dialihkan bersama dengan baris IRQ untuk memilih alamat I2C 7-bit GT911 (
0x5Dsaat IRQ rendah selama reset,0x14saat IRQ tinggi);sebuah baris interupsi, dinyatakan oleh pengontrol ketika event sentuh terjadi.
Setelah konstruksi, aplikasi dapat melakukan polling untuk sentuhan dengan GT911.read_points() atau menyediakan touch_callback untuk dipanggil pada tepi turun pin IRQ.
kelas GT911 -- Pengontrol Sentuh Kapasitif 5-Titik¶
- 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)¶
Membuat objek pengontrol layar sentuh GT911.
busadalah objek busmachine.I2Ctempat GT911 terpasang.reset_pinadalah nomor atau nama pin (bukan objekPin) yang terhubung ke baris reset GT911. Driver perlu mengubah arah pin selama reset.irq_pinadalah nomor atau nama pin (bukan objekPin) yang terhubung ke baris interupsi GT911. Driver perlu mengubah arah pin selama reset.addressadalah alamat I2C dari pengontrol. Default kegt911._DEFAULT_ADDR.widthadalah resolusi panel sentuh sepanjang sumbu X dalam piksel.heightadalah resolusi panel sentuh sepanjang sumbu Y dalam piksel.touch_pointsadalah jumlah maksimum titik sentuh simultan yang dilaporkan (1 hingga 5).reverse_xjika True membalik sumbu X.reverse_yjika True membalik sumbu Y.reverse_axisjika True menukar sumbu X dan Y.sitomengaktifkan mode Single-Input-Touch-Output pengontrol ketika True.refresh_rateadalah laju laporan sentuh dalam Hz.touch_callbackadalah callable opsional yang dipanggil pada tepi turun pin IRQ ketika event sentuh terjadi. LewatkanNoneuntuk menggunakan mode polling.- read_points() tuple¶
Mengembalikan tuple
(n, points)di mananadalah jumlah titik sentuh aktif danpointsadalah daftar 5 entriarray("H", ...). Setiap entri berisi[x, y, size, id]:xdanyadalah koordinat layar,sizeadalah tekanan sentuhan, danidadalah ID pelacakan unik yang tetap stabil untuk jari tertentu antar pembacaan.Hanya
nentri pertama daripointsyang berisi data valid.