pyb — פונקציות הקשורות ללוח¶
אזהרה
מודול pyb הוצא משימוש. השתמשו במודול machine חוצה-הפורטים עבור קוד חדש – הוא מספק את אותה פונקציונליות בכל OpenMV Cam ללא תלות במשפחת ה-MCU, בעוד ש-pyb קיים רק בלוחות מבוססי STM32. pyb נשמר לצורך תאימות לאחור עם סקריפטים ישנים, לא יתווספו אליו מאפיינים חדשים, והוא עשוי להיות מוסר בגרסה עתידית.
המודול pyb מכיל פונקציות ייחודיות ל-STM32 הקשורות ללוח.
פונקציות שונות¶
- pyb.have_cdc() bool¶
מחזירה True אם ה-USB מחובר כהתקן טורי, אחרת False.
הערה
פונקציה זו הוצאה משימוש. השתמשו ב-pyb.USB_VCP().isconnected() במקום זאת.
- pyb.hid(data: Tuple[int, int, int, int]) None¶
מקבלת 4-tuple (או רשימה) ושולחת אותו למארח ה-USB (ה-PC) כדי לאותת על אירוע תנועת עכבר של HID.
הערה
פונקציה זו הוצאה משימוש. השתמשו ב-
pyb.USB_HID.send()במקום זאת.
- pyb.main(filename: str) None¶
מגדירה את שם הקובץ של הסקריפט הראשי שירוץ לאחר ש-boot.py מסיים. אם פונקציה זו אינה נקראת אז יורץ קובץ ברירת המחדל main.py.
הגיוני לקרוא לפונקציה זו רק מתוך boot.py.
- pyb.mount(device: Any, mountpoint: str, *, readonly: bool = False, mkfs: bool = False) None¶
הערה
פונקציה זו הוצאה משימוש. השתמשו ב-
vfs.mount()/vfs.umount()ובהתקן בלוקים הנגזר מ-vfs.AbstractBlockDevבמקום זאת.מעגנת התקן בלוקים תחת
mountpoint.deviceחייב לממש את פרוטוקול התקן הבלוקים הישן של pyb (אף הוא הוצא משימוש – ראוvfs.AbstractBlockDevעבור הממשק המודרני):מתודה
מטרה
readblocks(self, blocknum, buf)מעתיק
bufבייטים מההתקן החל מבלוקblocknum. אורךbufהוא כפולה של 512.writeblocks(self, blocknum, buf)(אופציונלי)כותב
bufאל ההתקן החל מבלוקblocknum. אם מושמט, ההתקן מעוגן לקריאה בלבד.count(self)מחזיר את מספר הבלוקים בני 512 הבייטים בהתקן.
sync(self)(אופציונלי)מרוקן כתיבות שנשמרו במטמון.
mountpointהוא הנתיב בשורש מערכת הקבצים שבו לעגן את ההתקן; הוא חייב להתחיל בקו נטוי קדמי.readonlyכופה עיגון לקריאה בלבד.mkfsיוצר מערכת קבצים חדשה אם אין כזו קיימת.
- pyb.repl_uart(uart: UART | None = None) UART | None¶
מקבלת או מגדירה את אובייקט ה-UART שעליו ה-REPL משוכפל.
- pyb.usb_mode(modestr: str | None = None, port: int = -1, vid: int = 0xf055, pid: int = -1, msc: Tuple = (), hid: Tuple = pyb.hid_mouse, high_speed: bool = False) str | None¶
אם נקראת ללא ארגומנטים, מחזירה את מצב ה-USB הנוכחי כמחרוזת.
אם נקראת עם modestr מסופק, מנסה להגדיר את מצב ה-USB. הערכים הבאים של modestr מובנים:
modestr
מגדיר
Noneמשבית את ה-USB.
'VCP'VCP (Virtual COM Port) בלבד.
'MSC'MSC (USB mass storage class) בלבד.
'VCP+MSC'VCP ו-MSC.
'VCP+HID'VCP ו-HID (human interface device).
'VCP+MSC+HID'VCP, MSC ו-HID יחד. לא נתמך בכל OpenMV Cam.
לצורך תאימות לאחור,
'CDC'מובן כ-'VCP'(ובאופן דומה עבור'CDC+MSC'ו-'CDC+HID').פרמטר ה-port צריך להיות מספר שלם (0, 1, …) ובוחר באיזה פורט USB להשתמש אם הלוח תומך במספר פורטים. ערך של -1 משתמש בפורט ברירת המחדל או בזה שנבחר אוטומטית.
הפרמטרים vid ו-pid מאפשרים לכם לציין את ה-VID (vendor id) וה-PID (product id). ערך pid של -1 יבחר PID בהתבסס על הערך של modestr.
אם מאפשרים מצב MSC, ניתן להשתמש בפרמטר msc כדי לציין רשימה של SCSI LUNs לחשיפה בממשק האחסון ההמוני. לדוגמה
msc=(pyb.Flash(), pyb.SDCard()).אם מאפשרים מצב HID, ניתן גם לציין את פרטי ה-HID על ידי העברת פרמטר מילת המפתח hid. הוא מקבל tuple של (subclass, protocol, max packet length, polling interval, report descriptor). כברירת מחדל הוא יגדיר ערכים מתאימים עבור עכבר USB. קיים גם הקבוע
pyb.hid_keyboard, שהוא tuple מתאים עבור מקלדת USB.הפרמטר high_speed, כאשר מוגדר ל-
True, מאפשר מצב USB HS אם הוא נתמך על ידי החומרה.
קבועים¶
שני הקבועים שלהלן הם 5-tuples מוכנים מראש בצורה
(subclass, protocol, max_packet_size, polling_interval_ms, report_descriptor)
מתאימים להעברה כארגומנט ה-hid של usb_mode() כדי לגרום ל-OpenMV Cam להופיע בפני המארח כהתקן USB HID. subclass = 1 משמעו ”boot interface“ ו-protocol בוחר את מחלקת התקן ה-boot (1 = מקלדת, 2 = עכבר). האיבר החמישי הוא אובייקט bytes המכיל את מתאר דיווח ה-HID המשמש כאשר המארח מונה את ההתקן.
- pyb.hid_mouse: tuple¶
מתאר HID בנוי מראש עבור עכבר boot בעל 3 כפתורים עם תנועת X/Y יחסית. ה-tuple הוא
(1, 2, 4, 8, <mouse report descriptor>): boot subclass, פרוטוקול עכבר, דיווחי קלט בני 4 בייט (מסכת כפתורים + X + Y + גלגלת), מתשאל כל 8 ms. מתאר הדיווח המובנה הוא זה שבו משתמשpyb.USB_HID().send((buttons, dx, dy, wheel)).
- pyb.hid_keyboard: tuple¶
מתאר HID בנוי מראש עבור מקלדת boot של USB. ה-tuple הוא
(1, 1, 8, 8, <keyboard report descriptor>): boot subclass, פרוטוקול מקלדת, דיווחי קלט בני 8 בייט (בייט modifier, בייט שמור אחד, שישה קודי מקש בו-זמניים), מתשאל כל 8 ms. מתאר הדיווח המובנה תואם לפריסת boot-keyboard הסטנדרטית של HID בת 8 הבייטים, ולכן הדיווח הנשלח באמצעותUSB_HID.send()צריך להיותbytesבצורה(modifiers, 0, key1, key2, key3, key4, key5, key6).
מחלקות¶
- class ADC – המרה מאנלוגי לדיגיטלי
- class ADCAll – גישה לכל ערוצי ה-ADC
- class CAN – אפיק תקשורת רשת בקרים (controller area network)
- class DAC – המרה מדיגיטלי לאנלוגי
- class ExtInt – הגדרת פיני קלט/פלט להפעלת פסיקה על אירועים חיצוניים
- class Flash – גישה לאחסון פלאש מובנה
- class I2C – פרוטוקול טורי דו-חוטי
- class LED – LED על הלוח
- class Pin – שליטה בפיני קלט/פלט
- class PinAF – פונקציות חלופיות של פין
- class RTC – שעון זמן אמת
- class Servo – נהג סרוו תחביבי בעל 3 חוטים
- class SPI – פרוטוקול סדרתי מונע בקר
- class Timer – שליטה בטיימרים פנימיים
- class TimerChannel – הגדרת ערוץ עבור טיימר
- מחלקה UART – אפיק תקשורת טורית דו-כיוונית
- מחלקה USB_HID – התקן ממשק אנושי של USB (HID)
- מחלקה USB_VCP – פורט תקשורת וירטואלי של USB