v4.1.0

v4.1.0 מביאה תמיכה מלאה ב-Arduino Nano RP2040 Connect / Raspberry Pi Pico (WiFi, Bluetooth, צילום מצלמה, קפיצה ל-bootloader), פענוח ישיר של תמונות JPEG, לקוח HTTP מוקפא urequests, תמיכה בחיישן OV7670, ודיווח שגיאות חיישן מתוקנן. ה-API של ה-WiFi וחריגות החיישן השתנו — קראו את השינויים שוברי התאימות שלהלן.

עיקרים

  • לוחות RP2 — Arduino Nano RP2040 Connect / Pico מקבלים WiFi (NINA-W10), Bluetooth (NimBLE), צילום מצלמה/DCMI, וקפיצה ל-bootloader.

  • פענוח JPEG — פעולות על תמונה מקבלות כעת תמונות JPEG דחוסות ישירות.

  • לקוח HTTP urequests מוקפא בתוך הקושחה.

  • תמיכה בחיישן המצלמה OV7670.

  • שובר תאימות: ה-API של ה-WiFi של NINA/RP2 עוצב מחדש וכמה שגיאות חיישן מעלות כעת RuntimeError — ראו את השינויים שוברי התאימות.

תכונות חדשות

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi דרך מנהל ההתקן network של NINA-W10, Bluetooth/NimBLE, צילום מצלמה (תוכנית DCMI PIO), ופקודת קפיצה ל-bootloader.

  • פענוח תמונות JPEGfind_apriltags(), lcd.display(), tv.display(), ופעולות תמונה קשורות מקבלות כעת תמונות JPEG דחוסות ישירות (פענוח לבינארי/גווני אפור/RGB565).

  • urequests — לקוח ה-HTTP (GET/POST/PUT/…) מוקפא כעת ב-OpenMV 4 / 4 Plus / Portenta / Nicla, עם דוגמת http_post.py.

  • ספריית עזר ble_advertising, מוקפאת ב-Nano RP2040 Connect.

  • מארח/ניפוי שגיאותpyopenmv.reset_to_bl() ופקודת USBDBG_SYS_RESET_TO_BL (0x0E) חדשה לאתחול אל ה-bootloader; קפיצה ל-bootloader ב-Arduino Nano 33 BLE Sense.

  • OV7670 — תמיכה חדשה בחיישן המצלמה OV7670, ניתן לבחירה ב-OpenMV 4.

שינויים ושיפורים נוספים

  • שקעי UDP של RP2 נקשרים אוטומטית לפורט ארעי כשהם בשימוש ללא קישור; תת-המודול המצורף של MicroPython עודכן.

תיקוני באגים

רשתות:

  • תוקן הטיפול ב-accept/close/send/recv/bind של שקע WiFi של NINA ובזמני הקצוב של פעולות, ותנאי מרוץ בחוצץ טקסט של ניפוי שגיאות RP2 שעלול היה לשבש את פלט ה-IDE.

מצלמה ומערכת:

  • תוקנו איפוס ה-HM01B0, אפיק ה-I2C של המצלמה שנתקע לאחר סריקת חיישן כושלת ב-OpenMV H7, כניסה למצב צריכת חשמל נמוכה של H7 ULPI בעת ניתוק USB, יצירת פיני ADC של H7, ופינאאוט המצלמה של Portenta / SPI-CS של המגן.

תמיכת חומרה ולוחות

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, מצלמה, מערכת קבצים גדולה יותר בזיכרון פלאש (flash), bootloader מסוג MSC.

  • חיישן המצלמה OV7670 (OpenMV 4).

  • Arduino Portenta H7 — I2C4 בפריצה, פיני PWM/שעון נוספים, חיישני OV7725 / MT9V034.

שינויי API שוברי תאימות

שינויי API גלויים למשתמש בין v4.0.2 ל-v4.1.0. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.

כל שינוי מתויג לפי השפעתו:

  • מינורי — API צר; משפיע רק על סקריפטים שהשתמשו בו.

  • התנהגות — אותו API, תוצאות שונות; בדקו מחדש סקריפטים מכוונים.

השינויים מקובצים לפי השפעה בסדר זה. אם אתם רק רוצים להעביר את הקוד שלכם, דלגו אל רשימת התיוג להגירה בסוף. כל hash של commit מקושר ל-diff שלו ב-GitHub.

ה-API של ה-WiFi של NINA / RP2 עוצב מחדש (מינורי)

מנהל ההתקן WLAN של NINA / RP2 עוצב מחדש כדי להתאים לממשק network של MicroPython / CYW43 במעלה הזרם: בנאי WLAN(interface) (מצב STA/AP), מתודה active([bool]) חדשה, config / start_ap ככינויים של connect, ארגומנט ה-ssid של connect() שונה שמו ל-essid, מילת מפתח channel חדשה, ו-nina.fw_version() מחזירה כעת tuple מסוג (major, minor, patch) במקום בתים גולמיים. אי-התאמה בגרסת קושחת NINA היא כעת אזהרה לא קטלנית במקום OSError.

Commits: eb2f98277, e14470f68, 0c40f4832

שגיאות חיישן מעלות כעת RuntimeError (התנהגות)

דיווח שגיאות חיישן תוקנן סביב טבלת קודי שגיאה מאוחדת: כשלי מצלמה (זמן קצוב לצילום, framesize/pixformat/חלון/ קצב פריימים לא תקינים, שגיאת framebuffer, גלישת JPEG, חיישן לא מזוהה, …) מעלים כעת הודעות עקביות ותיאוריות, וכמה תנאים שקודם העלו ValueError מעלים כעת RuntimeError (כולל sensor.reset()). קוד שתפס ValueError במקרים אלה חייב לתפוס RuntimeError במקום זאת.

Commits: 0491a6a88, c8bf0af6f, 2fb226562

רשימת תיוג להגירה

להעברה נקייה ל-v4.1.0 העבודה הטיפוסית היא:

  1. העבירו קוד WiFi של NINA/RP2 לממשק התקני network.WLAN (WLAN(interface), active(), essid=) וצפו ל-tuple מ-nina.fw_version() (שינוי ה-API של ה-WiFi).

  2. שנו except ValueError ל-except RuntimeError סביב טיפול בשגיאות מצלמה / sensor.reset() (שינוי שגיאות החיישן).