v4.2.2¶
גרסה v4.2.2 מוסיפה תמיכה בתמונות PNG (פענוח/קידוד באמצעות lodepng), טוען מודלים מובנים מבוסס-טבלה, תמיכה ב-OV5640 ב-Portenta, עדכון TensorFlow של Edge Impulse, ו-ulab 4.0. ה-API להגדרת CAN ב-RPC השתנה — קראו את השינויים השוברים תאימות שלהלן.
עיקרי הדברים¶
תמיכה ב-PNG —
Image.to_png(),image.PNG, וקריאה/כתיבה של קבצי PNG.tf.load_builtin_model()— מודלים מובנים מבוססי-טבלה שניתן להחליף או להוסיף בזמן הבנייה.Portenta H7 — תמיכה במצלמת OV5640 (עם פוקוס אוטומטי).
MicroPython/ulab — ulab עודכן לגרסה 4.0.0.
שובר תאימות: ה-API להגדרת CAN ב-RPC השתנה — ראו את השינויים השוברים תאימות.
תכונות חדשות¶
תבנית תמונה PNG — מתודה חדשה
Image.to_png(), קבועimage.PNG/PIXFORMAT_PNG, טעינה/שמירה של קבצי PNG (קריאה/כתיבה של.png), ופלט PNG בהמרותimage.to(), באמצעות מקודד lodepng המשולב.tf.load_builtin_model(path)— טוען מודל המובנה בקושחה ומחזיר טאפל(labels, net); המודלים המובנים הם כעת מבוססי-טבלה כך שניתן להחליפם או להוסיפם בזמן הבנייה.
שינויים ושיפורים נוספים¶
TensorFlow / Edge Impulse — ספריית ההסקה המצורפת עודכנה ל-Edge Impulse ei-V2.5.0, מודל ה-
person_detectionהועבר לטבלת המודלים המובנים, ואופרטורים חסרים של TensorFlow נוספו בכל בנייות Cortex-M0+/M4/M7/M55 כך שיותר מודלים של Edge Impulse יכולים לרוץ.ulab עודכן לגרסה 4.0.0.
פתיחת היציאה הטורית הווירטואלית של USB בקצב 1200 bps מפעילה כעת איפוס מסוג Arduino (touch reset) אל המאתחל (bootloader).
קושחת מודול ה-WiFi מסוג WINC1500 עודכנה לגרסה 19.7.6 (יחד עם סקריפט העדכון), והיא מדווחת כעת את גרסת מנהל ההתקן המארח בפועל.
פורט ה-RP2 מדפיס ”MPY: soft reboot“ וקיבל אתחול/ביטול-אתחול של UART.
תיקוני באגים¶
תוקנו גודל חוצץ הפריימים הגולמי של Arduino Nano RP2040 Connect ומזהה המוצר של USB ב-Arduino Nicla Vision (כדי לקבל מנייה תקינה של USB).
תמיכה בחומרה ובלוחות¶
Arduino Portenta H7 — תמיכה במצלמת OV5640 (עם פוקוס אוטומטי); ה-GC2145 מושבת ב-Portenta.
Arduino Nano RP2040 Connect — תצורת זיכרון ותבניות מערכת-קבצים ראשונית.
WiFi Shield (WINC1500) — הקושחה עודכנה לגרסה 19.7.6.
שינויים שוברי תאימות ב-API¶
שינויי API גלויים למשתמש בין v4.2.1 ל-v4.2.2. היקף: מודולי C של Python בתיקייה modules/ וספריות Python בתיקייה scripts/libraries/.
כל שינוי מתויג לפי מידת ההשפעה שלו:
minor — API צר; משפיע רק על סקריפטים שהשתמשו בו.
behavior — אותו API, תוצאות שונות; בדקו מחדש סקריפטים מכוילים.
השינויים מקובצים לפי השפעה בסדר זה. כל קוד-גיבוב (hash) של קומיט מקושר ל-diff שלו ב-GitHub.
ה-API להגדרת CAN ב-RPC (minor)¶
בספריית rpc, ארגומנט המילה-מפתח של CAN sampling_point ב-rpc_can_master / rpc_can_slave שונה ל-sample_point (כדי להתאים ל-MicroPython המקורי), וכלי העזר הידני לתזמון ביטים של CAN הוסר — אפיק ה-CAN מוגדר כעת באמצעות CAN(..., baudrate=, sample_point=). יש לעדכן סקריפטים שהעבירו sampling_point או הסתמכו על חישוב תזמון הביטים הישן.
image.format() ותמונות דחוסות (behavior)¶
עם נתיב התמונה-הדחוסה המאוחד שנוסף עבור PNG, image.format() מחזירה כעת PIXFORMAT_INVALID עבור תבנית לא מוכרת, ואינדוקס / איטרציה / הדפסה של תמונה דחוסה מכסים כעת PNG בנוסף ל-JPEG. יש לבדוק מחדש קוד שבדק את ערך ההחזרה הקודם עבור תבניות לא מוכרות.
קומיט: f12a4659c
רשימת בדיקה למעבר¶
למעבר נקי ל-v4.2.2: שנו את שם sampling_point של RPC CAN ← sample_point והסירו כל הגדרת תזמון-ביטים ידנית של CAN (שינוי ה-RPC CAN), ובדקו מחדש כל קוד שבדק את image.format() עבור תבניות לא מוכרות (שינוי ה-format()).