v3.6.8

v3.6.8 מוסיפה את לוח OpenMV Cam Pure Thermal, הופכת את ההסקה של tf למהירה בערך פי 4 על ידי העברת TensorFlow אל CMSIS-NN, מרחיבה את ספריית ה-rpc לשולחן העבודה עם ממשקי UART / Kvaser CAN / I2C / SPI, ומפעילה את כרטיס ה-SD ב-Arduino Portenta H7. הטיפול במחיצות כרטיס SD ו-import sensor בלוחות ללא חיישן השתנו — קראו את השינויים השוברים שלהלן.

עיקרי הדברים

  • OpenMV Cam Pure Thermal — תמיכת לוח חדשה.

  • TensorFlow מהיר ~פי 4 — ההסקה של tf רצה כעת על CMSIS-NN.

  • ספריית rpc — נוספו ממשקי UART, Kvaser CAN, ו-I2C/SPI master/slave.

  • כרטיס SD ב-Portenta H7 — נוספה תמיכה בכרטיס SD, עם תיקוני שעון PLL1/HSE/ADC.

  • שובר: אתחול מכרטיס SD מזהה כעת אוטומטית את המחיצה, ו-import sensor זורק כעת שגיאה כאשר אין חיישן תמונה — ראו את השינויים השוברים.

תכונות חדשות

  • rpc — נוספו ממשקי UART, Kvaser CAN, ו-I2C/SPI master/slave לספריית ה-RPC לשולחן העבודה (rpc_uart_master / rpc_uart_slave, rpc_kvarser_can_master / rpc_kvarser_can_slave, ו-I2C/SPI master/slave).

  • לוחות ללא חיישן — הקושחה תומכת כעת בלוחות ללא חיישן תמונה (מה שמאפשר את לוח ה-Pure Thermal).

  • גאומטריית JPEG — נוסף struct של הגדרות קריאת JPEG (jpg_w / jpg_h / jpg_size) לקריאת גאומטריית JPEG.

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

  • TensorFlow הוחלף ל-CMSIS-NN להסקה של tf מהירה בערך פי 4 (הותאמה תצורת imlib לכל לוח); הדוגמה של ulab משתמשת ב-ulab.numerical.mean / std; הדוגמה של שינת עומק (deep-sleep) קוראת כעת ל-sensor.sleep(True) לפני כתיבת אוגר עקיפת הרגולטור של ה-OV7725.

תיקוני באגים

מצלמה והדמיה:

  • תוקנה טעינת תמונות JPEG מהדיסק (גאומטריית JPEG נדחתה כפורמט שאינו נתמך), sensor.reset() מבצעת כעת איפוס חומרה כך שהחיישן מתאושש לאחר כיבוי הרגולטור, תוקנה תצורת הפונקציה החלופית / השעון של FLIR Lepton SPI ב-OpenMV 4 / 4 Plus, ותוקן שיוך הפין של FSYNC ב-OpenMV 4 / 4 Plus.

קישוריות ומערכת:

  • תוקנה הכתיבה המתוזמנת של pyb.DAC ב-H7, WLAN.start_ap() של WINC1500 אינו דורש כעת מפתח עבור אבטחת OPEN, תוקנה שיתוף אפיק ה-I2C בין המצלמה להתקנים היקפיים של המשתמש ב-Portenta, וסמן ה-framebuffer של SWD בבדיקה העצמית הפך לפר-לוח כך שהוא אינו דורס יותר את ה-bpp של ה-framebuffer בלוחות ללא סמן כזה.

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

  • OpenMV Cam Pure Thermal — לוח חדש.

  • Arduino Portenta H7 — כרטיס SD הופעל, עם תיקוני PLL1 (400 MHz/40 MHz, USB/RNG על HSI48), HSE (25 MHz), ומקור שעון ADC.

שינויי API שוברים

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

שני השינויים השוברים הם שינויי התנהגות (אותו API, תוצאות שונות) — בדקו מחדש את הסקריפטים המושפעים. כל hash של commit מקשר ל-diff שלו ב-GitHub.

זיהוי אוטומטי של מחיצת כרטיס SD (התנהגות)

אתחול מכרטיס SD מזהה כעת אוטומטית את המחיצה במקום לעגן תמיד את מחיצה 1. כרטיסים שהסתמכו על התנהגות מחיצה-1-קבועה הישנה עשויים כעת לעגן מערכת קבצים שונה; בדקו מחדש כרטיסי SD מרובי-מחיצות ואת העיגון הצפוי.

Commits: 1f7f003b8

import sensor זורק שגיאה בלוחות ללא חיישן (התנהגות)

כדי לתמוך בלוחות ללא חיישן תמונה, בדיקת האתחול של מודול ה-sensor רצה כעת בעת הייבוא, כך ש-import sensor זורק RuntimeError כאשר לא מזוהה חיישן תמונה (במקום להיכשל מאוחר יותר). בלוח תרמי-בלבד, עטפו את import sensor ב-try / except או הימנעו מייבואו.

Commits: 17b444ad1

רשימת בדיקה למעבר

בדקו מחדש כרטיסי SD מרובי-מחיצות מול הזיהוי האוטומטי החדש של המחיצה (שינוי כרטיס ה-SD) ועטפו את import sensor בלוחות ללא חיישן / תרמיים-בלבד (שינוי ייבוא החיישן). כל יתר הסקריפטים רצים ללא שינוי.