v4.0.1¶
v4.0.1 הוא מודרניזציה מהיסוד שמעבירה את OpenMV IDE מהבסיס הוותיק של Qt Creator 4.0.2 אל Qt Creator 10.0.1. כל מחסנית התוסף של OpenMV (מציג חוצץ הפריימים, סריאל/פרוטוקול, טרמינל, היסטוגרמה, עורכי סף ונקודות מפתח, כלי וידאו, ועוטפי צריבת קושחה) מיושמת מחדש על גבי הבסיס החדש, לצד צמד ערכות נושא מלוטשות Flat Light/Flat Dark, הדגשת תחביר Python מודעת-OpenMV, דיאלוג מאוחד לטעינת קושחה, ותמיכה רחבה בזיהוי התקנים ב-Linux ARM64 וב-macOS. שינוי בסיס Qt Creator הוא מודרניזציה פנימית גדולה אך אינו שובר פרויקטים של משתמשים; מספר התנהגויות ברירת מחדל והגדרות לוחות אכן השתנו (ראו שינויים שוברי תאימות).
עיקרי הדברים¶
מעבר ל-Qt Creator 10.0.1. ה-IDE עובר מ-Qt Creator 4.0.2 ל-10.0.1: גרסת ה-upstream של Qt Creator מצומצמת ליסודות הבנייה שלה (98b95fd3b) וכל תוסף OpenMV מתווסף מחדש על הבסיס החדש (0e8047372).
ערכות הנושא Flat Light ו-Flat Dark. צמד ערכות בהירה/כהה מלוטש מסופק עם סגנונות הדגשת תחביר מותאמים אישית של העורך; בורר ערכות הנושא נחשף מחדש בהגדרות הכלליות ומוגבל לשתי אלה בלבד, וכעת ברירת המחדל היא
flat-dark(21348924b, 13c3849e8).טרמינל סריאלי Raw-REPL. הטרמינל מריץ, קוטע, טוען מחדש ומדביק סקריפטים כעת דרך מכונת מצבים תקינה של MicroPython raw-REPL (CTRL-A/CTRL-D), ומטפל באמינות בסקריפטים גדולים יותר (a7241079c).
עריכת Python מודעת-OpenMV. מודולים, מחלקות, פונקציות, מתודות וארגומנטים של OpenMV מודגשים תחבירית מתוך התיעוד המצורף, עם השלמה אוטומטית חכמה יותר ומזחן אוטומטי מודע-סוגריים/נקודתיים (801eab8a8, 8e9f967e7, 9fdff9c6d).
דיאלוג מאוחד לטעינת קושחה. הצריבה מציגה כעת דיאלוג הקשרי יחיד (מחיקת דיסק / צריבת קושחה / צריבת מאתחל) עם פס התקדמות ויומן Show/Hide Details מתקפל וזוכר-מצב (5b51356f8).
תמיכה ב-OpenMV Cam RT1062. קושחה, טוענני DFU/flash, מנייה של SDP/blhost, ושלב תכנות של צריבת eFuse התווספו עבור הלוח החדש ממשפחת i.MX RT1060 (a6595f5f7), שלאחר מכן ניתן לו וריאנט לוח נפרד של Secure Bootloader (SBL) (d2b11c6c8).
תכונות חדשות¶
דגלי אוטומציה. הדגלים
-auto_update(release/development/ נתיב),-auto_erase, ו--auto_runמאפשרים ל-IDE לטעון/למחוק קושחה ואז להריץ את הסקריפט הפתוח בעת ההתחברות; לאחר התחברות מחדש של המאתחל ה-IDE ממתין עד 10 שניות לכך שהמצלמה תמנה מחדש לפני שהוא ממשיך (b54affe79, f4e03d978).הדגל ``-disable_stop`` ומתג תפריט
stop on connect/disconnectמאפשרים למשתמשים להשבית את עצירת הסקריפט בעת התחברות או התנתקות (02724ca7d).מתג Stop Script on Connect/Disconnect (פעיל כברירת מחדל) מנתק את ההתחברות/התנתקות מעצירת הסקריפט הרץ; Auto Reconnect כעת מכובה כברירת מחדל (a0e78057f).
הצעת בחירת סוג לוח. כאשר לוח מחובר מדווח על ארכיטקטורה שאינה במיפוי הקושחה, ה-IDE מבקש כעת מהמשתמש לבחור את סוג הלוח (תוך זכירת הבחירה האחרונה) במקום להיכשל עם שגיאת ”Unsupported board architecture!“ (b7165eb3d).
הדגשת תחביר Python של OpenMV צובעת מודולים, מחלקות, נתונים, פונקציות, מתודות וארגומנטים מוכרים של OpenMV באמצעות רשימות מילות מפתח המאוכלסות מהתיעוד המצורף (801eab8a8, b4d481bf5).
כ-300 הגדרות שפה של KSyntaxHighlighting מסופקות עם העורך, כך שקובצי מקור בשפות רבות מודגשים מהקופסה (39674a4dc).
סקריפטי דוגמה מצורפים של OpenMV (Hello World, snapshot, הקלטת וידאו, optical flow, מצלמות אירוע, global shutter, FLIR Lepton, ועוד) מוטמעים כעת ומסופקים יחד עם ה-IDE (938ac6bbe).
עורך בינארי/הקסה מופעל כך שמשתמשים יכולים לפתוח ולבדוק קבצים בינאריים, עם סרגל כלים מקוצץ שמתאים לממשק של OpenMV (675bda966).
השוואת מסמכים בזיכרון. קבצים חדשים ודוגמאות לקריאה-בלבד מקבלים כעת קובץ זמני מגבה כך שניתן להשוות מסמכים שלא נשמרו, ודיאלוג השוואת הקבצים החיצוניים זוכר את התיקייה האחרונה ששימשה (5281e5f6c, 2934d5216).
תוסף עורך-עם-לשוניות מתווסף מחדש, ומעניק ל-IDE סרגל מסמכים עם לשוניות; מקור תוסף המפת-המיניאטורה הוסף מחדש אך הושאר מושבת בבנייה לגרסה זו (0e8047372).
צריבת fallback של DfuSe ו-pydfu משוחזרת עבור התקני DFU שלא ניתן למקד לפי מספר סידורי, עם טיפול מחיקה אוטומטי ללא דיאלוג במהלך ההתחברות (e42a5be7d).
צריבת eFuse של i.MX RT. תכנות הקושחה צורב כעת eFuse (
efuse-program-once) עבור הלוחות ממשפחת RT1060 (8053bb578, a6595f5f7).עמוד אשף Linux Root Installs מאפשר למשתמש להצטרף או לבחור שלא להשתתף בהתקנת ספריות apt המוגברת ובהתקנת כללי udev במקום להריץ אותן תמיד (6bac80984).
שינויים ושיפורים נוספים¶
סריקת יציאות סריאליות ברקע. מניית היציאות הועברה מתהליכון הממשק לעובד ייעודי
ScanSerialPortsThreadכך שה-IDE נשאר מגיב במהלך הסריקה (7be4dab26).זיהוי התקנים רחב יותר. סריקת היציאות שוכתבה לפונקציית עזר רב-שימושית
filterPorts()המכלילה התקני picotool ו-i.MX DFU ומסווגת מחדש יציאות סריאליות מוכרות של מאתחל Arduino (NRF/RPI ישנים ו-PID של טוענן) כהתקני DFU (25a5d30fd).יותר חלופות טרמינל. בעת הפעלת כלי הפעלת הווידאו המצורפים (Play Video File / Play RTSP Stream) ב-Linux, ה-IDE נופל כעת חזרה דרך
lxterminal,konsole, ו-xfce4-terminalבנוסף ל-xtermול-gnome-terminal(df54007e0).דיווח על מפתחות לוח. רישום המצלמה מנתח כעת תגובת ”Remaining N“ כדי לומר למשתמש כמה מפתחות לוח נותרו, ומוסיף הודעת שגיאה נפרדת ”Invalid Board Key for Board Type“ (5759e73eb).
הורדות מאוחסנות ב-GitHub. בדיקות גרסה והורדות משאבים משתמשות כעת ב-
raw.githubusercontent.com/openmv/openmv-ide-versionובגרסאותopenmv/openmv-ideבמקום ב-upload.openmv.io(994109c28).HTTPS בכל מקום. כל בקשות האינטרנט של OpenMV (בדיקות גרסה, רישום SWD ID, הורדות משאבים וקושחה) משתמשות כעת ב-
https://(54347cad0).אוטומציה של הגדרת Linux. המתקין מזהה ספריות וכללי udev חסרים, ובמידת הצורך מייצר
setup.shניתן-להרצה עם פקודות ההתקנה המדויקות של apt-get/pip וכללי udev (וקובץREADMEשאומר למשתמש להריץ אותו) (c6dc705e6).סובלנות ללוחות איטיים. הטרמינל הסריאלי מעלה את זמן ההמתנה לכל קריאה מ-1ms ל-10ms ופולט אישור ”OK“ כאשר סקריפט מסתיים (c935e4489).
התקדמות צריבה חלקה יותר. פסי התקדמות של טוען הקושחה עוברים כעת ממצב בלתי-מוגדר ל-0-100% מיד במקום לאחר ה-tick הראשון של האחוז, לאורך dfu-util, bossac, picotool, וצריבת i.MX (19d947308, 86d021f92).
שחזור מאתחל ישן מתווסף מחדש באמצעות מצב מאתחל לא-מהיר השולח פקודות מחיקה/כתיבה ללא ריפוד query-sync של המצב המהיר (c20112c07).
קונסולות כלים נקיות יותר. טרמינלי צריבת הקושחה (bossac, dfu-util, picotool, imx, כלי וידאו) רצים כעת כתהליכי קונסולה עצמאיים עם פלט פקודות מעוצב טוב יותר (8053bb578).
ליטוש השלמה אוטומטית. ההשלמה מבחינה בין מחלקות, מתודות ופונקציות עם רמזי ארגומנטים נפרדים, משתמשת בסמלי code-model תקינים, ומכבדת היקף public/protected/private לפי קידומת קו תחתון; מעבד השלמת מילות המפתח גם מדלג על רווחים מובילים לפני הסמן בהשלמה שמופעלת במפורש (ידנית) (8e9f967e7, 68b26b5fc).
דיאלוגים מאוחדים. הדיאלוגים האד-הוק של OpenMV מסוג ”Don’t show this again“ – כולל דיאלוג המידע של האתחול
OpenMV Cam LED Colorsושאלות שדרוג הקושחה והדוגמאות – מאוחדים לדיאלוגים מסוגCheckableMessageBox”Do Not Ask/Show Again“, כפתור ”Reset Do Not Ask/Show Again Dialogs“ התווסף להגדרות הכלליות, וסמני קיפול הקוד מושבתים כברירת מחדל (9fdff9c6d).מיתוג מודע-ערכת-נושא. מסכי פתיחה במצב כהה, לוגואים של שבבי ST ו-NXP בכהה/בהיר בתיבת About, צבעי tooltip במצב כהה, וצבעי סמל השלמה אוטומטית תקינים התווספו (d85fdeb19, 9895a8395, f45ceaaea, 7f3e1f383).
ניקוי מציג התמונות. הפעולות שיתוף, רקע, מתאר, ו“הגדר כברירת מחדל“ מוסתרות, פעולת התאמה-למסך התווספה, וגודל התמונות המונפשות תוקן (b37c55e25).
ניקוי תפריט-הקשר. הערכים ”Show in File System View“, ”Open Terminal“, ”File Properties“, ו-”Add/Delete UTF-8 BOM on Save“ מוסתרים (5d862c78e).
טרמינל סריאלי כהה. הטרמינל העצמאי משתמש בערכת נושא כהה תקינה עם פסי גלילה מעוצבים, סמלי סרגל כלים מעודכנים, וטעינה מחדש נכונה של סמל פס הגלילה ב-high-DPI על פני מסכים שונים (5c3af6880).
ניקוי Find/Search. לוח התוצאות מקבל ערכת נושא כהה, בורר מנוע החיפוש מוסתר, התוויות פושטות, ו-Find-in-Files מוגדר כברירת מחדל לתיקיית Documents/OpenMV (20a806550).
זהות יישום. ה-IDE מציג כעת את סמל OpenMV התקין בשולחן העבודה, בשורת הכותרת, ובשורת המשימות (עם טיפול high-DPI ב-Windows), וה-id של ה-IDE שונה ל-
openmvide(8ad1eed1f).מסך פתיחה High-DPI מציג תמונת פתיחה פי 2 במסכי Retina/קנה-מידה 200% (626ff673e).
תיקון סרגל פעולות. סרגל הפעולות בצד שמאל (New File, Open, Save, Undo, Redo, Cut, Copy, Paste) תוקן וקיבל סמלי OpenMV מותאמים אישית (b8479b5d0).
לוגואים בדיאלוג About. שני הלוגואים של השותפים Arduino ו-Edge Impulse מוצגים כעת (Edge Impulse היה מוסתר בעבר) עם וריאנטים פי 2 ב-high-DPI, ועיצוב מסך הפתיחה המצורף עודכן (
splash-small-2/splash-large-2) (5facd8d9a).Select Word Under Cursor מופעל; הפקודות Go to Block Start/End (Ctrl+[ / Ctrl+]) ו-Select Block Up/Down הופעלו מחדש לזמן קצר (36ed5b1a8) אך הושארו מושבתות בגרסה (626ff673e).
רשומת שולחן עבודה ב-Linux מקבלת קטגוריית Electronics, הערת תיאור Comment, ומילות מפתח לחיפוש Keywords (embedded electronics, microcontroller, micropython, computer/machine vision) (470e5702e).
הגירת משאבים. משאבי המשתמש הועברו למיקום עם גרסאות (תיקיית qtcreator הישנה מוסרת באתחול), ואזהרות font-face לא-מזיקות של DirectWrite ב-Windows מודחקות (a04af5351, 70765dc2a).
אפשרויות פנימיות מוסתרות. האפשרויות הפנימיות של Core
-colorו--themeמוסתרות מפלט העזרה, ומצב המצגת הופעל מחדש (434c7b4cc).התאמות ליבה שיושמו מחדש לסרגל הפעולות/וידג’ט הלשוניות המהודר, מנהל ההודעות/חלון הפלט, פעולות proxy, מדגיש התחביר, ועורך הטקסט (0e8047372).
QCustomPlot 2.1.1. ספריית התרשום המצורפת עודכנה לתאימות עם Qt 6.4 ולטיפול נכון בשינוי דינמי של DPI התצוגה (8801415fe).
ניקוי ממשק קוסמטי לסמלי חיצי פס הגלילה, שורת המצב, כפתורי הסגירה של סרגל לשוניות המסמכים, ורוחב הגוללן של העורך; מחוון ”Display File Line Ending“ של העורך כבוי כעת כברירת מחדל (e0c4d2325, 6a26f4430, e130988fb).
תיקוני באגים¶
תוקן זיהוי VID/PID ב-Linux על ידי קריאת
/sys/class/tty/<port>/device/ueventלקבלת ה-VID/PID האמיתי של ההתקן, תוך עקיפתQSerialPortInfoשמחזיר את המזהים של רכזת ה-USB, כך שמצלמות מאחורי רכזות מזוהות נכון (28220b351).תוקנה צריבת קושחת מאתחל ב-Mac על ידי הרפיית טענות גודל-endpoint וצירוף חבילת שאילתת הסנכרון רק כאשר כתיבה היא בדיוק בגודל endpoint אחד של USB (86d021f92).
תוקנו כלי הפעלת הווידאו ב-Linux: Play Video File / Play RTSP Stream מוסתרים כעת ב-Linux 32-bit וב-ARM (אין ffplay מצורף), עם חלופת gnome-terminal כאשר xterm אינו זמין, ובינארי ffmpeg של macOS שוחזר ממציין-מקום (d342649cc, d896f4225).
השהיות התחלה/סיום של איפוס המאתחל הוגדלו מ-0 ל-5 כדי למנוע חפיפה של פקודות מחיקה וכתיבה במהלך עדכוני קושחה (fabc168b6).
שחזור המאתחל יועל: כפיית המאתחל לתיקון מצלמה תקועה מדלגת על שאלות מיותרות, ולאחר איפוס מאתחל DFU ה-IDE מנסה אוטומטית לעדכן שוב במקום לבקש מהמשתמש להתחבר מחדש (12b924088).
אופשרה הפסקת פקודות dump של חוצץ הפריימים/חוצץ ה-TX הסריאליות באמצע העסקה (4a4afae1b).
הוסר העקיפה של ויתור-על-תקיעת-קריאה ביציאה הסריאלית שיכלה לרפד תגובות בבתים אפסיים, מה ששיפר את אמינות העברת ה-USB המהירה (0ee1d8e91).
תוקן ניפוי באגים ב-WiFi והתחברות-מחדש אוטומטית: יציאות WiFi מרעננות את חותמת הזמן של הראייה-האחרונה שלהן בעת גילוי מחדש, מספר באגים של iterator-לאחר-מחיקה בפרישת יציאות WiFi ובזיהוי DFU/מאתחל תוקנו, וההתחברות-מחדש האוטומטית ממתינה כעת עד שה-IDE אינו עסוק לפני שהיא מתחברת מחדש (cf0b67dc6).
תוקן ממיר הווידאו-ל-MJPEG כך שינתח את קצב הפריימים מפלט המקודד ויכתוב את דלתת המילישנייה הנכונה לכל פריים, כך שווידאו ממומר מתנגן במהירות הנכונה (4a7ad2057).
תוקן כשל בהפעלת צריבת הקושחה וכלי שורת הפקודה המצורפים על ידי כפיית מנגנון ה-QProcess ותיקון המשמר של לולאת האירועים של תהליך חוסם (200fe9f3c).
תוקנו סמלי ענף הרחבה/כיווץ של עץ עורך מערך הנתונים כך שיוצגו נכון במסכי HiDPI על ידי טעינה מחדש של גיליון סגנון הסמלים בעת שינוי device-pixel-ratio (a0e78057f).
עדכוני חבילה/משאבים מפעילים כעת אוטומטית מחדש את OpenMV IDE במקום פשוט לצאת לאחר ההתקנה (178ee1b8e).
תוקנה הדגשת תוצאות Find/חיפוש ופעולות תוצאת-חיפוש/פתיחת-קובץ נופלות חזרה לעורך הגלוי הראשון כאשר אין עורך נוכחי (48c402dfc).
תוקן דיאלוג טוען הקושחה כך שטקסט האזהרה שלו נמחק והחלון משנה את גודלו נכון כאשר פעולת צריבה מסתיימת (c505c6ade).
תוקנו מספר באגי ממשק ב-macOS: סרגל הלשוניות אינו מציף עוד שגיאות טעינת-סמל ומוצג נכון בעת פתיחת קובץ (9be8c58de, 5322cf968).
תוקן עיצוב שורת המצב / לוח הפלט ויישור הבסיס ב-macOS וב-Linux (4fc4545de, d29b2baa0, a440d5cd8).
תוקנה הדפסת קוד-מקור כך שכותרת כותרת-העמוד תהיה בעלת שוליים עליונים וצדדיים תקינים במקום לגעת בקצה העמוד (786d6012c).
תמיכת פלטפורמה וכלים¶
בסיס Qt Creator: 10.0.1 (מעבר מ-4.0.2).
OpenMV IDE: 4.0.0 -> 4.0.1.
OpenMV Cam RT1062 (i.MX RT1060): קושחת RT1062 הראשונית, טוען ה-flash, תמונות חתומות, רשומת
imx.txt, ומפתחות תצורתblhostשל מאתחל-מאובטח/eFuse התווספו בתיקיית הקושחהOPENMV5(a6595f5f7); לאחר מכן הלוח אוחד לתיקייה יחידהOPENMV_RT1060, ווריאנט לוח נפרד של Secure Bootloader (SBL) (OpenMV_Cam_RT1062_SBL) התווסף (d2b11c6c8, 5baf28c6e).שרשרת כלי הצריבה המצורפת (blhost, bossac, dfu-util, dfuse + מנהלי התקן STM32, picotool, sdphost, ffmpeg, מנהלי התקן FTDI/Arduino) צורפה מחדש עבור Windows/macOS/Linux, כאשר הבינאריים של Linux מסומנים כניתנים-להרצה (fbfa4903a, bfb6b32e2, 9551c64da).
ARM64 Linux DFU:
dfu-utilaarch64 מצורף בתוספת זיהוי arm64 ברשימת ההתקנים ובהורדת הקושחה מאפשר צריבת DFU על מארחים כגון Raspberry Pi (16bc6fe0f, 470e5702e).זיהוי התקני i.MX עובד כעת ב-Linux (ניתוח
lsusb) וב-macOS (סריקתioreg), ומאפשר טעינת קושחת i.MX RT על פלטפורמות אלה (e03ccbe71, 7cf505d09).הגבלת פלטפורמה: השימוש ב-i.MX מוגבל ל-Windows/macOS/Linux-x86_64 עם שגיאה קריטית במקומות אחרים, וצריבת Portenta/Nicla על Linux ARM/ARM64 מציגה אזהרת ”DFU Util may not be stable on this platform“ (9513f6475).
OpenGL ב-Windows: עיבוד תוכנה שוחזר על ידי צירוף
opengl32sw,Qt6OpenGL, ותמיכת Qt6Gui OpenGL בחבילה הפרוסה (aaaa1928f).תיקיות/מזהי לוחות Arduino שונו. תיקיות הקושחה של Portenta, Nicla Vision, ו-Nano 33 BLE Sense ומזהי הלוח ב-
boards.txtשונו ל-ARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISION, ו-ARDUINO_NANO_33_BLE_SENSE(a70d6562a); תיקיית/מזהה הלוח של Nano 33 BLE Sense הומרו לאחר מכן לאותיות קטנותarduino_nano_33_ble_senseכדי להתאים לשם הלוח שההתקן מדווח (22750d8c7, a801a81de).מאתחל OPENMV_RT1060 טועני ה-flash (
blhost_flash_loader.bin,sdphost_flash_loader.bin) עודכנו (5baf28c6e).QCustomPlot: 2.1.1 (ספריית תרשום מצורפת) (8801415fe).
תמונות קושחה על-הדיסק צורפו מחדש עבור כל לוחות OpenMV/Arduino הנתמכים (
OPENMV1-4P,OPENMV4_PRO,OPENMVPT,ARDUINO_NICLA_VISION,arduino_nano_33_ble_sense,ARDUINO_PORTENTA_H7,ARDUINO_NANO_RP2040_CONNECT,OPENMV_RT1060,CYW4343, בתוספת קושחת WiFiWINC1500), עם קושחה, ובמקום הרלוונטי, תמונות מאתחל/uvc (fbfa4903a).
שינויים שוברי תאימות¶
אלה שינויי זרימת עבודה והתנהגות הנראים למשתמש; מעבר Qt Creator 10.0.1 עצמו אינו שובר פרויקטים או סקריפטים של משתמשים.
הגדרות לוח i.MX RT1060 השתנו. הרשומות
EVKBMIMXRT1060ו-OPENMV5הוחלפו בלוח יחידOPENMV_RT1060(OpenMV Cam RT1062, בתוספת וריאנט SBL), ותיקיות הקושחה הישנות הוסרו (d2b11c6c8).זמן הקצוב המהוגדר של תגובת-פקודה הוא 10000 ms (היה 5000 ms ב-4.0.0); טקסט העזרה של
-override_read_timeoutעודכן כך שיתאים (4a4afae1b).התנהגות התחברות/התנתקות השתנתה. Auto Reconnect כעת מכובה כברירת מחדל, והתחברות או התנתקות אינן עוצרות עוד את הסקריפט הרץ כברירת מחדל אלא אם המתג החדש ”Stop Script on Connect/Disconnect“ מופעל (הוא מופעל כברירת מחדל) (a0e78057f).
זרימת העדכון מפעילה מחדש את ה-IDE. עדכוני חבילה/משאבים מפעילים כעת אוטומטית מחדש את OpenMV IDE במקום לצאת לאחר ההתקנה (178ee1b8e).
מזהי לוחות Arduino שונו. מזהי הלוח ב-
boards.txtותיקיות הקושחה של Portenta, Nicla Vision, ו-Nano 33 BLE Sense שונו ל-ARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISION, ו-ARDUINO_NANO_33_BLE_SENSE(האחרון הומר לאחר מכן לאותיות קטנותarduino_nano_33_ble_sense) (a70d6562a, 22750d8c7, a801a81de).