v2.4.0¶
v2.4.0 בנויה על Qt Creator 4.0.2 וממוקדת ב-bootloader החדש מסוג V3 (שאילתת פריסת זיכרון QSPI flash בעת טעינת קושחה ומחיקה במהלך מחיקה מלאה של זיכרון הנתונים שעל הלוח), דיווח חי על החיישן והלוח בשורת המצב, ופרוטוקול ניפוי באגים חדש של 32 סיביות מעל USB התואם את הקושחה המצורפת. כמו כן נוספו מדריך LED להפעלה ראשונה ומערכת גדולה של דוגמאות TensorFlow, Modbus ו-WiFi חדשות. מכיוון שפרוטוקול ניפוי הבאגים השתנה, מצלמות חייבות להריץ את הקושחה המצורפת החדשה כדי להתחבר.
עיקרי הדברים¶
תמיכת bootloader מסוג V3 שולחת שאילתה על פריסת ה-QSPI flash החיצוני של לוח בעת טעינת קושחה ומוחקת אותו במהלך מחיקה מלאה של זיכרון הנתונים שעל הלוח (d953df62f).
דיווח על חיישן ולוח שולח שאילתה למודול החיישן של המצלמה המחוברת בעת ההתחברות ומציג אותו בשורת המצב (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) לצד תווית סוג לוח חדשה (0ffa82958).
העתקת מודל TensorFlow מאפשרת לך להעתיק מודלי
.tfliteלמצלמה, ולא רק קבצי רשת נוירונים מסוג.network(ad1aa98f0).Erase Onboard Data Flash היא פקודת
Toolsחדשה שמוחקת רק את זיכרון הפלאש של מערכת הקבצים שעל הלוח של המצלמה, לאחר בקשת אישור, ללא הקלטה מחדש של קושחה (d953df62f, 98686ac46).מדריך LED להפעלה ראשונה הוא דו-שיח
OpenMV Cam LED Colorsחדש שמסביר את מצבי ה-LED שעל הלוח וניתן לסגירה לצמיתות (c2d00422f).
תכונות חדשות¶
bootloader מסוג V3 שולח שאילתה על פריסת ה-QSPI flash בעת טעינת קושחה ומוחק את ה-QSPI flash החיצוני רק במהלך מחיקה מלאה של זיכרון הנתונים שעל הלוח;
connectClickedתמיד מפעיל אתbootloaderQSPIFLayoutבלוחות V3 אך מריץ אתbootloaderQSPIFEraseרק כאשרforceFlashFSEraseמוגדר (פקודות QSPI write/memtest ממומשות בשכבת ה-IO אך אינן מופעלות על ידי הטוען) (d953df62f).מצב חיישן ולוח שולח שאילתה למודול החיישן של המצלמה בעת ההתחברות ומציג אותו (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) בשורת המצב, יחד עם תווית סוג לוח חדשה, באמצעות מפת מזהה-לשם חדשה
sensors.txt(0ffa82958).מדריך LED להפעלה ראשונה מוסיף דו-שיח
OpenMV Cam LED Colorsחדש שקופץ לאחר השהיה קצרה כאשרhelloworld_1.pyהוא המסמך הפתוח בהפעלה הראשונה, ומסביר את מצבי ה-LED שעל הלוח (ירוק מהבהב = bootloader פועל, כחול = הרצתmain.py, לבן = פאניקה של כשל חומרה); תיבת סימון ”Don’t show this message again.“ שומרת את הסגירה באמצעות הגדרתDONT_SHOW_LED_STATES_AGAIN(c2d00422f).Open OpenMV Cam Drive folder הוא פריט תפריט
Toolsחדש שפותח את הכונן המחובר של המצלמה בדפדפן הקבצים של המערכת (a49f54305).Erase Onboard Data Flash היא פקודת
Toolsחדשה שמוחקת רק את זיכרון הפלאש של מערכת הקבצים שעל הלוח, לאחר בקשת אישור, ללא הקלטה מחדש של קושחה (d953df62f, 98686ac46).העתקת מודל TensorFlow מאפשרת לדו-שיח העתקת המודל להעתיק מודלי
.tfliteלמצלמה בנוסף לקבצי רשת נוירונים מסוג.network; מסנן הדו-שיח קיבל גם את הערכיםLabel Files (*.txt)ו-All Files(ad1aa98f0, 0ffa82958, c0dbdd9e5).מתג גרסת פרוטוקול ניפוי באגים מפצל את פקודות הסריאל
GetAttribute,SetAttribute,FBEnableו-JPEGEnableבעת תקשורת עם קושחה 3.5.3+ למען אמינות (83b9ca18f).דוגמאות מצורפות חדשות מוסיפות סקריפטים של TensorFlow Lite mobilenet ושל זיהוי אנשים מסוג חלון נע, וכן דוגמת MNIST של STM32Cube.AI (
nn_stm32cubeai.py), תיקייה חדשה32-modbus(modbus_rtu_slave.py,modbus_apriltag.py), תוספות למגן WiFi (http_client_ssl,static_ip,mqtt_pub/mqtt_sub), Arduino UART/SPI-slave, ו-CAN (e26b90d79, 42ba8f5c4).
שינויים ושיפורים נוספים¶
פרוטוקול ניפוי הבאגים מעל USB עודכן לקושחה החדשה: קריאות מאפיין משתמשות בפקודה החדשה של 32 סיביות
ATTR_READ_2(0xCA), ומטעני המאפיין, הערך והפעלת ה-framebuffer נשלחים כ-longs של 32 סיביות במקום words של 16 סיביות (55d7cfe70).שינוי שם של Save open script to OpenMV Cam ל-Save open script to OpenMV Cam (as main.py) כדי להבהיר שהוא כותב
main.py(a49f54305).שינוי שם של Run Bootloader ל-Run Bootloader (Load Firmware) כדי להבהיר את מטרתו (ad1aa98f0).
תפריטי הדוגמאות ממוינים כעת לפי תחילית המספר של התיקייה/הקובץ, וספרות ה-
NN-המובילות מוסרות מהשמות המוצגים (ad1aa98f0).מסופי הפלט והסריאל מעבדים כעת טאבים כרווחים באמצעות רוחב טאב של מסוף סריאל הניתן להגדרה מהגדרות עורך הטקסט, במקום רוחב קבוע של 8 (98686ac46).
זיהוי הכוננים ב-Linux מקבל כעת גם מערכות קבצים מעוגנות מסוג
fuseblk(לדוגמה כרכי exFAT/NTFS) בעת שיוך כונן המצלמה (c0dbdd9e5).עודכנה מערכת תיעוד ה-HTML המצורפת של MicroPython (מדריך הספרייה, מדריכי esp8266/esp32, עמודים ותמונות שנוצרו) המוצגת בעזרה של ה-IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).
תיקוני באגים¶
תוקנה גלישה מספרית בסטטיסטיקות ההיסטוגרמה (ממוצע, רבעונים, חציון, סטיית תקן) על ידי הרחבת הצוברים מ-
intל-64 סיביות, מה שמונע סטטיסטיקות שגויות בתמונות גדולות (55d7cfe70).ניתוק/הוצאה ב-Linux עוצב מחדש: השטיפה הלא אמינה של
syncfs/closedirהוסרה, והכונן מנותק כעת באמצעות פקודתumountפשוטה, ללא דו-שיח התקדמות (b86d5c62c, c0dbdd9e5, 30d4a7d2d).כונן ה-USB של הלוח משוייך כעת רק כאשר הקושחה חדשה מספיק או כאשר קיים קובץ סמן
.openmv_disk, מה שמונע מה-IDE לתפוס את הכונן הנשלף השגוי (e464eaed4).תוקנה לוגיקת ההתחברות מחדש כך שהפעלת פעולת bootloader/מחיקה בזמן מחובר מנתקת כעת באופן נקי תחילה ואז מנסה שוב, ובכך נמנע מצב עבודה תקוע (d953df62f).
מנקה ההערות/הרווחים הלבנים המשמש בעת שליחת סקריפטים למצלמה נכתב מחדש כמכונת מצבים מודעת-מחרוזות, כך שתווי
#בתוך מחרוזות אינם נחשבים עוד בטעות להערות, ורווחים לבנים נגררים ומחרוזות תיעוד מטופלים כראוי (24dff1b2f).תוקן טיפול במחרוזות תרגום עבור כמה הודעות דו-שיח של חיבור/מסוף כך שפקודות המעטפת המוטמעות (
sudo adduser, שלבי התקנתpydfu) אינן עוד חלק מהטקסט הניתן לתרגום ומוצגות כראוי (b5705a57e).
תמיכת פלטפורמה וכלים¶
בסיס Qt Creator: 4.0.2.
שינוי שם של הלוח/קושחה של OpenMV Cam H7 Plus מ-
OPENMV4Rל-OPENMV4P(OMV4P_H7_32768_SDRAM) וצירוף הקושחה שלו תחת השם החדש (c0dbdd9e5).תוקן שם התצוגה של לוח H7 Plus לשימוש בקווים תחתונים במקום רווחים (
OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).הקושחה המצורפת עודכנה לאורך כל הגרסה, ומסתיימת בגרסה 3.5.2 עבור OPENMV2/3/4/4P (הקפיצה הסופית ב-15c07498c; קפיצות מצטברות מוקדמות יותר ב-42ba8f5c4 ל-3.4.2, a99c2e3e1 ל-3.4.3, e26b90d79 ל-3.5.0, ו-97b0f645a ל-3.5.1).
גרסאות הקושחה המצורפת: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.
גרסת OpenMV IDE עודכנה מ-2.2.1 ל-2.4.0.
שינויים שוברי תאימות¶
פרוטוקול קריאת מאפיין ניפוי הבאגים מעל USB הוחלף מהפקודה הישנה של 16 סיביות ATTR_READ (0x8A) לפקודה החדשה של 32 סיביות ATTR_READ_2 (0xCA), ומטעני המאפיין, הערך וההפעלה נשלחים כעת כ-longs של 32 סיביות; ה-IDE גם שולח שאילתה למזהה חיישן המצלמה בעת ההתחברות. הדבר מחייב קושחה שמממשת את הפרוטוקול החדש. הקושחה המצורפת 1.2.15 / 1.4.11 מספקת אותו, ולכן מצלמות ישנות יותר חייבות להיות מוקלטות בקושחה החדשה כדי להתחבר.