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.info(dump_alloc_table: bool | None = None) None

מדפיסה מידע רב על הלוח.

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.rng() int

מחזירה מספר אקראי שנוצר על ידי החומרה ברוחב 30 ביט.

pyb.sync() None

מסנכרנת את כל מערכות הקבצים.

pyb.unique_id() bytes

מחזירה מחרוזת של 12 בייטים (96 ביט), שהיא המזהה הייחודי של ה-MCU.

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).

מחלקות