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

מחלקות#