v1.3.0¶
v1.3.0 כותב מחדש את שכבת התקשורת עם המצלמה סביב פרוטוקול פקודה/תגובה מובנה ומוסיף עדכון אוטומטי בתוך ה-IDE עבור ה-IDE עצמו ועבור המשאבים המצורפים אליו. הוא בנוי על Qt Creator 4.0.2 ומצורף עם קושחת מצלמת OpenMV בגרסה 2.0.0. במערכות macOS ו-Linux, צריבת קושחה ב-DFU דורשת כעת התקנה חד-פעמית של Python יחד עם libusb ו-pyusb; ראו שינויים שוברי תאימות.
עיקרי הדברים¶
שכבת תקשורת שנכתבה מחדש. קוד ניפוי השגיאות הטורי/USB נבנה מחדש סביב פרוטוקול פקודה/תגובה מובנה עם אורכי תגובה לכל פקודה והשהיות המתנה בהתחלה/בסוף, לקבלת פעולות חיבור, הרצת סקריפט, חוצץ פריימים (frame buffer) ומאתחל (bootloader) אמינות יותר.
עדכון אוטומטי בתוך ה-IDE. ה-IDE בודק כעת ב-
openmv.ioאם קיימת גרסה חדשה יותר ומציע כפתור Download, ובנפרד מוריד ומתקין חבילות משאבים מעודכנות (דוגמאות, קושחה, תיעוד) ולאחר מכן מבקש להפעיל מחדש.עדכון קושחה בלחיצה אחת. גרסת הקושחה בשורת הסטטוס היא כעת כפתור לחיץ שמשווה את המצלמה המחוברת מול הקושחה המצורפת ומציע עדכון בלחיצה אחת כאשר זמינה גרסה חדשה יותר.
צריבת קושחה ב-DFU בכל פלטפורמה. ניתן כעת לצרוב קושחה דרך DFU ב-Windows, macOS, Linux x86 ו-Linux x86_64, ובוחר הקושחה מקבל קבצי
.dfuבנוסף ל-.bin.מנגנון נסיגה אוטומטי ל-DFU. כאשר לא ניתן להגיע למאתחל (bootloader) הטורי במהלך עדכון קושחה, ה-IDE מציע כעת לשדרג דרך מאתחל ה-DFU של המצלמה במקום זאת, ומדריך אתכם בהוספת ג’מפר
BOOT/RST.
תכונות חדשות¶
מנגנון עדכון בתוך ה-IDE. בודק ב-
openmv.ioאם קיימת גרסת IDE חדשה יותר ומציע כפתור Download שפותח אתopenmv.io/download, ומוריד, פורק ומתקין חבילות משאביםopenmv-ide-resources-X.Y.Z.zipישירות לתוך ה-IDE לפני שהוא מבקש להפעיל מחדש (8a1f92bb1, 194acd828, b0be97e3e).כפתור גרסת קושחה לחיץ. תווית הגרסה בשורת הסטטוס הפכה ל-
QToolButtonהמחובר לתהליךupdateCam()שקורא אתfirmware/firmware.txtהמצורף, משווה אותו למצלמה המחוברת, ומציע Firmware Update עם מחיקת מערכת קבצים פנימית אופציונלית כאשר קיימת גרסה חדשה יותר (b2ac8defe).תמיכה בקבצי DFU. דיאלוג צריבת המאתחל/קושחה מקבל כעת קבצי
.dfuבנוסף ל-.binוכופה מחיקה מלאה של מערכת הקבצים הפנימית בעת צריבת.dfu. מסנן בוחר הקושחה הורחב ל-Firmware Binary (*.bin *.dfu)ותהליך המחיקה הכפויה של.dfuהוצג ב-4ad2be5f9, עם תיבת הסימון של המחיקה המסומנת-תמיד והמושבתת שמתחלפת אוטומטית בהתאם לסיומת הקובץ הנבחר שנוספה ב-b2ac8defe(4ad2be5f9, b2ac8defe).מנגנון נסיגה אוטומטי ל-DFU בכשל מאתחל. כאשר עדכון קושחת
.binאינו יכול להפעיל את המאתחל (bootloader) הטורי, ה-IDE מדווח כעתUnable to connect to the bootloader!ולאחר מכן מציע לשדרג באמצעות מאתחל ה-DFU של המצלמה במקום זאת, מזהיר ש-DFU מוחק את מערכת הקבצים שבזיכרון הפלאש (flash) הפנימי ומדריך אתכם בהוספת חוט ג’מפרBOOT/RSTובחיבור מחדש לפני שהוא מריץ אתDfuSeCommand.exe(Windows) (4ad2be5f9).דוגמת HoG. נוספה דוגמת המחשה של היסטוגרמה של גרדיאנטים מכוונים (Histogram of Oriented Gradients) (
09-Feature-Detection/hog.py) המשתמשת ב-img.find_hog()(b03a707f7).
שינויים ושיפורים נוספים¶
הוחלף קוד קצב הבָּאוּד/החבילות הישן והאד-הוקי במחלקות
OpenMVPluginSerialPortCommand/Result, באופקודים__USBDBG_*ו-__BOOTLDR_*ובעוזריםcommand()/commandResult()במקוםwrite()/readAll()/isOpen()(b03a707f7, 141122e21, b2ac8defe, 1d72fe4bf, b4cf2fe43, c60936d5f).התקנת מנהל ההתקן של היציאה הטורית ב-Windows היא כעת שקטה/לא-מלווה, ומחליפה את סקריפטי מנהל ההתקן
openmv.cmd/pybcdc.cmdלמתקינים מבוססיdpinstבמקוםInfDefaultInstallאינטראקטיבי, ומתקין ה-Visual C++ Redistributable (vcr.cmd, המריץ אתvcredist_x86.exeו-vcredist_x64.exeבשקט) נוסף ותוקן (a5a6e0590, 754d0776d, b0be97e3e, 452a29f0d, c051c6e30, ad1b674ef, 565f1eccd).
תיקוני באגים¶
תוקנו צריבת קושחה ותקשורת שנשברו בתוך מכונות וירטואליות, והורפו פסקי-זמן שונים של פקודות ותשאול חוצץ פריימים (frame buffer)/חוצץ-שידור כך שהחיבור וההרצה עמידים יותר. דיאלוג התכנות-מחדש מציין כעת שהוא ”may take up to 5 minutes“ ופסק הזמן של תהליך ה-DFU הועלה מ-240 שניות ל-300 שניות ב-
324f243f9(c051c6e30, b0be97e3e, 1d72fe4bf, b4cf2fe43, 324f243f9, c60936d5f).תוקנה השוואת עדכון-זמין של הקושחה/IDE כך שגרסת מינור או תיקון חדשה יותר אינה מפעילה עוד התראת שווא כאשר שדה גבוה יותר שווה, ונדרש מדיאלוג המאתחל להחזיק קובץ נבחר תקין לפני הצריבה (4ad2be5f9).
ידיות קבצים (רשימת לוחות, קבצי קושחה/גרסה) נסגרות כעת לאחר הקריאה, וריפוד חלקי-הצריבה של הקושחה תוקן לריפוד עד
FLASH_WRITE_CHUNK_SIZE, ומונע ידיות דולפות וחלקים סופיים בעלי ריפוד שגוי במהלך עדכוני קושחה (4ad2be5f9).תוקנו תפריט ה-
Helpשל OpenMV וחלוניות הפלט: הפריט About OpenMV Cam אינו מתנגש עוד עם תפקיד ה-About של הפלטפורמה (AboutRole→ApplicationSpecificRole), וחלוניות הפלט אינן תופסות עוד את קיצורי המקשיםAlt/Cmd+ מספר (a0694eac7).פתיחת קישורי אינטרנט חיצוניים של OpenMV (פורומים, הורדה, תמיכה) מדווחת כעת בדיאלוג שגיאת ”Failed to open“ כאשר לא ניתן להפעיל את הכתובת במקום לא לעשות דבר בשקט (b0be97e3e).
תמיכה בפלטפורמות וכלים¶
בסיס Qt Creator: 4.0.2.
קושחת מצלמה מצורפת: עודכנה ל-2.0.0, עם
firmware.bin/openmv.binחדשים ועםfirmware.dfu/bootloader.dfu/firmware.elf/bootloader.elfשנוספו לאחרונה עבור OMV2 ו-OMV7.צריבת DFU ב-Windows נוספה באמצעות
DfuSeCommand.exeשל ST המצורף, חבילת מנהל ההתקן ST DfuSe USB (DfuSe v3.0.4.0 ב-Win7/Win8, v3.0.5.0 ב-Win8.1) ומתקין מנהל התקןdfuse.cmd(4ad2be5f9).צריבת DFU ב-macOS וב-Linux עברה מקבצי
dfu-utilבנויים מראש לצורבpydfu.pyמצורף, כאשר ה-IDE מציג את פקודות ההתקנה הנדרשות של libusb/pyusb.ac248c0ecהוסיף לזמן קצר קבציdfu-util/dfu-prefix/dfu-suffixעבור Linux x86_64, אך324f243f9הסיר לאחר מכן את כולם לטובתpydfu.py. אף קובץdfu-utilאינו נשלח בגרסה הסופית;static.proמצרף את ספריית הנתונים שלpydfuעבור כל המארחים שאינם Windows, בעוד ש-Windows משתמש בתהליך ה-DfuSe המצורף (ac248c0ec, 324f243f9, 7837a07da).כללי udev של Linux עודכנו לשימוש בהתאמת
SUBSYSTEM(cam VID 1209/PID abd1 tty ו-STM DFU 0483/df11) כך שקישורי ההתקן וה-DFU עובדים ב-Linux 32-ביט, ובקשות רשת העוקבות אחר הפניות הוגנו עבור Qt ישן יותר (194acd828).
שינויים שוברי תאימות¶
קבצי ה-dfu-util העצמאיים המצורפים עבור macOS ו-Linux הוסרו והוחלפו בצורב pydfu.py של Python. במערכות macOS ו-Linux, צריבת קושחה ב-DFU דורשת כעת התקנה חד-פעמית של Python יחד עם libusb ו-pyusb (ה-IDE מציג את פקודות ה-MacPorts/HomeBrew/apt-get המדויקות). Windows ממשיך להשתמש בתהליך מבוסס ה-DfuSe המצורף. אין שבירות בממשק הסקריפטים (scripting-API), ובסיס Qt Creator 4.0.2 אינו משתנה.