gt911 — בקר מגע קיבולי בעל 5 נקודות GT911¶
המודול gt911 מספק מנהל התקן לבקר מסך המגע הקיבולי-מוקרן Goodix GT911, שילוב נפוץ עם פאנלי LCD בגודל 4.3“–7“ ברזולוציה 800x480. הבקר עוקב אחר עד חמש נקודות מגע בו-זמנית ומדווח על כל אחת כרביעייה (x, y, size, id) כאשר id נשאר יציב לאורך קריאות כל עוד האצבע נשארת על הפאנל.
מנהל ההתקן מתקשר עם השבב דרך I2C ומשתמש בשני GPIO נוספים:
קו reset, המוחזק במצב נמוך במהלך ההפעלה ומשנה מצב יחד עם קו ה-IRQ כדי לבחור את כתובת ה-I2C בת 7 הביטים של ה-GT911 (
0x5Dכאשר IRQ נמוך במהלך ה-reset,0x14כאשר IRQ גבוה);קו interrupt, המופעל על ידי הבקר כאשר מתרחש אירוע מגע.
לאחר הבנייה, יישומים יכולים לבדוק מגעים באמצעות GT911.read_points() או לספק touch_callback שיופעל בקצה היורד של פין ה-IRQ.
class GT911 – בקר מגע קיבולי בעל 5 נקודות¶
- 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)¶
יוצר אובייקט בקר מסך מגע GT911.
busהוא אובייקט אפיק ה-machine.I2Cשאליו מחובר ה-GT911.reset_pinהוא מספר הפין או השם (לא אובייקטPin) המחובר לקו ה-reset של ה-GT911. מנהל ההתקן צריך לשנות את כיוון הפין במהלך ה-reset.irq_pinהוא מספר הפין או השם (לא אובייקטPin) המחובר לקו ה-interrupt של ה-GT911. מנהל ההתקן צריך לשנות את כיוון הפין במהלך ה-reset.addressהיא כתובת ה-I2C של הבקר. ברירת המחדל היאgt911._DEFAULT_ADDR.widthהיא רזולוציית פאנל המגע לאורך ציר ה-X בפיקסלים.heightהיא רזולוציית פאנל המגע לאורך ציר ה-Y בפיקסלים.touch_pointsהוא המספר המרבי של נקודות מגע בו-זמניות לדיווח (1 עד 5).reverse_xאם True הופך את ציר ה-X.reverse_yאם True הופך את ציר ה-Y.reverse_axisאם True מחליף בין צירי ה-X וה-Y.sitoמפעיל את מצב Single-Input-Touch-Output של הבקר כאשר True.refresh_rateהוא קצב דיווח המגע ב-Hz.touch_callbackהוא callable אופציונלי המופעל בקצה היורד של פין ה-IRQ כאשר מתרחש אירוע מגע. העבירוNoneכדי להשתמש במצב polling.- read_points() tuple¶
מחזיר רביעייה
(n, points)כאשרnהוא מספר נקודות המגע הפעילות ו-pointsהוא רשימה של 5 ערכיarray("H", ...). כל ערך מכיל[x, y, size, id]:xו-yהם הקואורדינטות על המסך,sizeהוא לחץ המגע, ו-idהוא מזהה מעקב ייחודי שנשאר יציב עבור אצבע נתונה לאורך קריאות.רק
nהערכים הראשונים שלpointsמכילים נתונים תקפים.