v1.3.0¶
يعيد الإصدار v1.3.0 كتابة طبقة الاتصال مع الكاميرا حول بروتوكول أمر/استجابة منظم، ويضيف التحديث التلقائي داخل الـ IDE لكل من الـ IDE وموارده المرفقة. وهو مبني على Qt Creator 4.0.2 ويتضمن برنامج كاميرا OpenMV الثابت بإصدار 2.0.0. على macOS وLinux، يتطلب تفليش البرنامج الثابت عبر DFU الآن تثبيتاً لمرة واحدة لـ Python بالإضافة إلى libusb وpyusb؛ راجع التغييرات الجذرية.
أبرز النقاط¶
طبقة اتصال معاد كتابتها. أُعيد بناء شيفرة التصحيح التسلسلي/USB حول بروتوكول أمر/استجابة منظم مع أطوال استجابة لكل أمر وفترات انتظار للبدء/الانتهاء، من أجل عمليات اتصال وتشغيل برنامج نصي ومخزن إطارات ومحمّل إقلاع أكثر موثوقية.
أداة تحديث تلقائي داخل الـ IDE. يتحقق الـ IDE الآن من
openmv.ioبحثاً عن إصدار أحدث ويعرض زر Download، كما يقوم بشكل منفصل بتنزيل وتثبيت حزم الموارد المحدّثة (الأمثلة، البرنامج الثابت، التوثيق) ثم يطالب بإعادة التشغيل.تحديث البرنامج الثابت بنقرة واحدة. أصبح إصدار البرنامج الثابت في شريط الحالة الآن زراً قابلاً للنقر يقارن الكاميرا المتصلة بالبرنامج الثابت المرفق ويعرض تحديثاً بنقرة واحدة عند توفر إصدار أحدث.
تفليش البرنامج الثابت عبر DFU على كل منصة. يمكن الآن تفليش البرنامج الثابت عبر DFU على Windows وmacOS وLinux x86 وLinux x86_64، ويقبل منتقي البرنامج الثابت ملفات
.dfuبالإضافة إلى.bin.رجوع تلقائي إلى DFU. عندما يتعذر الوصول إلى محمّل الإقلاع التسلسلي أثناء تحديث البرنامج الثابت، يعرض الـ 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بدء محمّل الإقلاع التسلسلي، يبلّغ الـ IDE الآن عنUnable to connect to the bootloader!ثم يعرض الترقية باستخدام محمّل إقلاع DFU الخاص بالكاميرا بدلاً من ذلك، محذّراً من أن DFU يمسح نظام ملفات الفلاش الداخلي ومرشداً إياك خلال إضافة وصلة جسرBOOT/RSTوإعادة التوصيل قبل أن يشغّلDfuSeCommand.exe(على Windows) (4ad2be5f9).مثال HoG. أُضيف مثال لتصوّر مدرج تكراري للتدرجات الموجّهة (
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).
إصلاحات الأخطاء¶
أُصلح تعطّل تفليش البرنامج الثابت والاتصال داخل الأجهزة الافتراضية، وتم تخفيف العديد من مهل الأوامر واستطلاع مخزن الإطارات/مخزن الإرسال بحيث أصبح الاتصال والتشغيل أكثر متانة. ويشير مربع حوار إعادة البرمجة الآن إلى أنه "قد يستغرق حتى 5 دقائق"، ورُفعت مهلة عملية 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" عندما يتعذر فتح عنوان URL بدلاً من عدم القيام بشيء بصمت (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 أُضيف باستخدام ملف ST
DfuSeCommand.exeالمرفق، وحزمة مشغّل 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(الكاميرا VID 1209/PID abd1 tty وSTM DFU 0483/df11) بحيث تعمل روابط الجهاز وDFU الرمزية على Linux بنظام 32 بت، وحُمي اتباع طلبات الشبكة لإعادة التوجيه لإصدارات Qt الأقدم (194acd828).
التغييرات الجذرية¶
أُزيلت ثنائيات dfu-util المستقلة المرفقة لـ macOS وLinux واستُبدلت بأداة تفليش Python pydfu.py. على macOS وLinux، يتطلب تفليش البرنامج الثابت عبر DFU الآن تثبيتاً لمرة واحدة لـ Python بالإضافة إلى libusb وpyusb (يعرض الـ IDE أوامر MacPorts/HomeBrew/apt-get الدقيقة). ويواصل Windows استخدام مسار DfuSe المرفق. لا توجد أي تغييرات جذرية في واجهة برمجة البرامج النصية، وقاعدة Qt Creator 4.0.2 لم تتغير.