v3.8.0¶
גרסה v3.8.0 מעדכנת את הליבה ל-MicroPython 1.13, מקפיאה אוסף גדול של ספריות עזר לתוך הקושחה, מוסיפה Portenta Ethernet (עם דוגמאות רישות), תמיכת HDMI CEC למודול lcd, הגדרת baudrate/נקודת דגימה של pyb.CAN, וגל של תיקוני צריכת חשמל נמוכה ו-HAL ל-H7. המודולים time / utime מוזגו, ופונקציות DMA של pyb.DAC ב-F4 הושבתו — קראו את השינויים השוברים שלהלן.
עיקרי הדברים¶
MicroPython 1.13 — ליבת MicroPython המצורפת עודכנה.
ספריות מוקפאות —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,pid,ssd1306ועוד מוקפאות כעת לתוך הקושחה.Portenta Ethernet — תמיכת Ethernet בתוספת דוגמאות HTTP / SSL / עמית-לעמית.
HDMI CEC — ממשק CEC חדש במודול
lcd(Pure Thermal).pyb.CAN— תזמון ביטים ממילות המפתחbaudrate/sampling_point.שובר: המודולים
time/utimeמוזגו ופונקציות DMA שלpyb.DACב-F4 הושבתו — ראו את השינויים השוברים.
תכונות חדשות¶
מניפסט הקפאה —
uasyncio,mqtt,rpc,rtsp,modbus,bno055,mutex,pid,ssd1306,tb6612ו-vl53l1xמוקפאות כעת לתוך הקושחה ב-OpenMV 3 / 4 / 4 Plus / Pure Thermal / Portenta.Portenta Ethernet — הופעלה תמיכת Ethernet עם דוגמאות
http_client,http_client_sslו-peer_to_peer.HDMI CEC — נוסף ממשק HDMI CEC למודול
lcd(Pure Thermal).pyb.CAN— הבנאי /init()גוזרים כעת את תזמון הביטים ממילות המפתחbaudrateו-sampling_point(צורת ה-prescaler הידנית עדיין פועלת); דוגמאות CAN עודכנו בהתאם.
שינויים ושיפורים נוספים¶
באנר ה-REPL כולל כעת את מחרוזת גרסת ה-HAL; דוגמת ה-Audio FFT עודכנה עבור ממשק
ulabהחדש יותר.
תיקוני באגים¶
מצלמה וחיישנים:
תוקנו שעון חיישן ה-OV2640 ושינוי קנה המידה של תדר ה-PCLK של OV5640 בהתקני STM32H7 rev Y; שחזור אפיק ה-I2C של ה-FIR ממצב של אובדן בוררות באמצעות פעימת SCL, וניסיון חוזר לאתחול AMG8833 באתחול רך של F7.
צריכת חשמל וטיימרים:
תוקנה הכניסה למצב צריכת חשמל נמוכה (stop/standby) ב-H7 — שינוי קנה מידה של מתח עבור rev V, הפעלה מחדש של המתנד/PLL ביקיצה, צריכת חשמל נמוכה של SDRAM עם שמירת DRAM, השבתת Systick בכניסה ל-stop, והפעלת DBGMCU רק בבנייות debug. תוקן מצב ה-HAL של
machine.Timerלאחר עדכון ה-HAL של H7 ובוטל שינוי עדיפות פסיקת הקריאה/כתיבה של SD.
תצוגה וקישוריות:
תוקנה הגדרת גודל הנתונים 8/16 ביט של ה-SPI LCD ב-F4 (הגדרת
MCU_SERIESשגויה), הוחזרה שגיאה בכישלון אתחול אפיק SPI של WINC1500 במקום המשך שקט, ונעשה שימוש בידית SPI סטטית כדי להימנע מהתנגשויות אפיק SPI של WINC1500. תוקן באג איסוף זבל (GC) של MicroPython.
מערכת:
unittests.pyלא מסמן עוד את החבילה ככושלת כאשר בדיקה מושבתת או לא זמינה; הוסרו דוגמאותcamera_lcdהשבורות של מגן ה-Thermopile.
תמיכת חומרה ולוחות¶
OpenMV Pure Thermal — הלוח עודכן ושמו שונה (
OPENMVPURETHERMAL→OPENMVPT), עם HDMI CEC.OpenMV 2 — מנהל ההתקן של מצלמת OV2640 הופעל.
Arduino Portenta H7 — תמיכת Ethernet.
שינויי API שוברים¶
שינויי API גלויים למשתמש בין v3.7.0 ל-v3.8.0. היקף: מודולי C של Python ב-modules/ וספריות Python ב-scripts/libraries/.
כל שינוי מתויג לפי ההשפעה שלו:
minor — ממשק צר; משפיע רק על סקריפטים שהשתמשו בו.
behavior — אותו ממשק, תוצאות שונות; בדקו מחדש סקריפטים מכוונים.
השינויים מקובצים לפי השפעה בסדר זה. אם אתם רק רוצים להעביר את הקוד שלכם, דלגו אל רשימת ההגירה בסוף. כל hash של קומיט מקשר ל-diff שלו ב-GitHub.
המודולים time / utime מוזגו (minor)¶
המודולים time ו-utime מוזגו ומחלקת ה-clock של OpenMV הועברה ל-utime. כל הדוגמאות המצורפות עודכנו ל-import utime / clock = utime.clock(). סקריפטים שהסתמכו על import time עבור מחלקת ה-clock צריכים לייבא utime במקום.
קומיטים: 20587f308
פונקציות DMA של pyb.DAC ב-F4 הושבתו (minor)¶
בלוחות מבוססי F4, פונקציות pyb.DAC הדורשות DMA הושבתו מכיוון שה-heap של F4 שוכן ב-CCM, שאינו נגיש ל-DMA. סקריפטים של F4 שהשתמשו בכתיבות לחוצץ DMA של DAC חייבים להימנע מפונקציות אלו.
קומיטים: d61f236f2
MicroPython עודכן ל-1.13 (behavior)¶
ליבת MicroPython המצורפת עודכנה ל-1.13. התנהגות ספריית התקן והשפה עוקבת אחר MicroPython 1.13 שבמעלה הזרם; בדקו מחדש סקריפטים התלויים בהתנהגות ספציפית לגרסה של micropython / מודולים סטנדרטיים.
קומיטים: fb0a5e26d
התדרים הנתמכים של cpufreq תלויים ברוויזיה (behavior)¶
נוספו תדרי CPU נוספים והם נעשו מודעים לרוויזיית הסיליקון: cpufreq.get_supported_frequencies() מחזיר כעת רשימה תלוית-רוויזיה ב-H7 (50/100/200/400 MHz ב-rev X/Y, 60/120/240/480 MHz ב-rev V). סקריפטים שקידדו תדר באופן קשיח מהרשימה הקבועה הישנה צריכים לתשאל את הרשימה הנתמכת בזמן ריצה.
קומיטים: 825dd0742
רשימת הגירה¶
להעברה נקייה ל-v3.8.0 העבודה הטיפוסית היא:
שנו
import timeל-import utimeהיכן שאתם משתמשים במחלקת ה-clock(מיזוג time/utime).בלוחות F4, הפסיקו להשתמש בפונקציות חוצץ DMA של
pyb.DAC(שינוי ה-DAC של F4).אמתו מחדש סקריפטים התלויים בהתנהגות ספציפית לגרסה של MicroPython מול 1.13 (קפיצת MicroPython) ותשאלו את
cpufreq.get_supported_frequencies()בזמן ריצה במקום קידוד קשיח (שינוי cpufreq).
כל שאר הסקריפטים פועלים ללא שינוי.