v1.6.0

يتمحور الإصدار v1.6.0 حول تسجيل OpenMV Cam وسير عمل أغنى للرؤية الآلية: تكتشف بيئة التطوير الآن الكاميرات غير المسجَّلة عند الاتصال، وتكتسب محرِّر عتبات مدمجاً مع محرِّر الكود، وتضيف ألواحاً قابلة للطيّ، وتُطوِّر البرنامج الثابت المرفق من 2.3.0 إلى 2.4.1 (مضيفةً كشف الخطوط في غضون ذلك). ويستمر في تتبُّع Qt Creator 4.0.2 دون إعادة دمج. وهناك كسر واحد مرئي للمستخدم: توصيل كاميرا غير مسجَّلة يطالب الآن بمفتاح لوحة عند كل اتصال (انظر التغييرات الكاسرة).

أبرز النقاط

  • تسجيل OpenMV Cam أصبح الآن مكتشَفاً عند الاتصال: تستعلم بيئة التطوير عن معمارية اللوحة، وتتحقق من اللوحة/المعرِّف مقابل openmv.io، وتطالب المستخدم بتسجيل الكاميرا بمفتاح لوحة.

  • البرنامج الثابت المرفق 2.4.1 لكل من كاميرات OMV2 (M4) وOMV3 (M7) يضيف كشف الخطوط (find_lines / find_line_segments عبر تحويل هاف) وكائن نتيجة image.match_descriptor جديداً في 2.4.0؛ ويتبع البرنامج الثابت 2.4.1 بإعادة تسمية واجهة برمجة تطبيقات العمليات الثنائية.

  • تكامل محرِّر العتبات: النقر بزر الفأرة الأيمن على صفّ عتبة بالتدرج الرمادي أو LAB محدَّد في المحرِّر يفتح محرِّر العتبات مُحمَّلاً مسبقاً بتلك القيم ويكتب الصفّ المُعدَّل مرة أخرى إلى المصدر عند الإغلاق.

  • ألواح قابلة للطيّ: اكتسب لوحا مخزن الإطارات والطرفية التسلسلية أزرار أدراج تُخفي لوحاً وتُعيد إظهاره وتستعيد حالته من الإعدادات.

  • شريط عنوان مخزن الإطارات الحيّ يعرض الآن الدقة الحالية ومنطقة الاهتمام المحددة، ويعرض مخزن الإطارات المعطَّل طبقة فوقية في مكانه.

ميزات جديدة

  • تسجيل OpenMV Cam يُكتشَف عند الاتصال. تستعلم بيئة التطوير عن معمارية اللوحة وتتحقق من اللوحة/المعرِّف مقابل openmv.io (openmv-swd-ids-check.php / openmv-swd-ids-register.php)، مطالِبةً المستخدم بتسجيل الكاميرا بمفتاح لوحة. وقد أُدرج مربع حوار تسجيل يتضمن رابطاً تشعبياً للشراء يعمل، وعرضاً للتقدُّم، ومعالجةً للأخطاء (c61052eb3، 9fa8a253e).

  • محرِّر العتبات من المحرِّر: النقر بزر الفأرة الأيمن على عتبة (g_min, g_max) بالتدرج الرمادي محددة أو عتبة LAB سداسية الصفّ يعرض إجراء Edit ... threshold with Threshold Editor الذي يفتح المحرِّر مُحمَّلاً مسبقاً بتلك القيم ويُحدِّث صفّ المصدر عند الإغلاق (3d12e6ee7، 992d3bdf8).

  • ألواح قابلة للطيّ: اكتسب لوحا مخزن الإطارات والطرفية التسلسلية أزرار أدراج علوية/سفلية/يسرى/يمنى تُخفي لوحاً وتُعيد إظهاره وتستعيد حالته من الإعدادات (abaf628ff، 7461e3b55، b51faa8f5).

  • دقة ومنطقة اهتمام حيّتان في شريط عنوان مخزن الإطارات، مثل Frame Buffer - Res (w:.., h:..) - ROI (x:.., y:.., w:.., h:..) (992d3bdf8).

  • تمت إضافة مدخلَي DataMatrix Generator وBarcode Generator إلى قائمة Machine Vision Tools، حيث يفتح كل منهما بحثاً على الويب عبر Google عن مولِّد عبر الإنترنت (bf284997b).

تغييرات وتحسينات أخرى

  • عند تعطيل مخزن الإطارات، تُعرض الآن في مكانه طبقة فوقية موسَّطة Frame Buffer Disabled - click the disable button again to enable (top right) (bf284997b).

  • أصبح محرِّر العتبات الآن يحفظ ويستعيد حالة منزلقاته (قيم combo/invert/min-max) بين الجلسات، وليس فقط هندسة النافذة (bf284997b).

  • تمت إعادة صياغة تمييز بناء جملة Python لتلوين أسماء أصناف/دوال/أساليب/وسائط OpenMV وكلمات الاستيراد المفتاحية بشكل أفضل في المحرِّر والطرفية (38c00e5a2، 7461e3b55).

  • اللصق في الطرفية التسلسلية أصبح الآن يرسل بايتات الحافظة حرفاً واحداً في كل مرة ويُدرج فجوة قدرها 1ms بين حزم serial/UDP/TCP الصادرة كي لا تتجاوز سعة REPL الخاص بـ MicroPython، ويُصدِر CR وLF منفصلَين عند الضغط على Enter (c61052eb3).

  • الإكمال التلقائي للأعضاء أصبح الآن يُفعَّل عند كتابة . بعد قوس إغلاق مثل ) أو ] أو }، بحيث تظهر الإكمالات بعد استدعاءات الدوال والفهرسة (9fa8a253e).

إصلاحات الأخطاء

  • تم إصلاح مربع حوار تسجيل SWD-ID لـ OpenMV Cam بحيث يقوم زرّا Cancel وإتمام الطلب بإغلاقه بشكل موثوق بدلاً من الاعتماد على رمز نتيجة محوَّل بنوع المؤشر (6599856c4).

  • تم إصلاح مطابقة البرنامج الثابت للوحات المسجَّلة عبر تجريد رمز التسجيل [board:id] من سلسلة المعمارية قبل البحث عنه في جدول تخطيطات البرنامج الثابت (a1be146f1).

  • تم إصلاح انحدار في التسجيل حيث لم تكن معالجة النجاح/الخطأ تعمل أبداً بسبب فحص إلغاء مقلوب وتعبير منتظم لمعرِّف اللوحة غير مهروب، وكان يتخطى فحص التسجيل للكاميرات المبنية على M4 (9fa8a253e).

  • تم تعطيل توصيل الشريط الجانبي للتنقل الأيسر في Qt Creator الأصلي لإصلاح أداة التنقل في تخطيط OpenMV (bf284997b).

دعم المنصات والأدوات

  • أساس Qt Creator: 4.0.2.

  • البرنامج الثابت المرفق لـ OpenMV: تقدَّم من 2.3.0 -> 2.4.1 لكل من كاميرات OMV2 (M4) وOMV3 (M7) عبر خطوتين. أضافت خطوة 2.3.0 -> 2.4.0 كشف الخطوط (find_lines / find_line_segments عبر تحويل هاف)، وكائن نتيجة image.match_descriptor / kptmatch جديداً، وأمثلة لفك ترميز DataMatrix (find_datamatrices.py / find_datamatrices_w_lens_zoom.py)، وأمثلة find_lines.py / find_line_segments.py، وأسلوب sensor.set_vsync_output() (f0cd4d75c). وأضافت خطوة 2.4.0 -> 2.4.1 عمليتي الصورة المنطقيتين الجديدتين AND/OR b_and / b_or وأعادت تسمية nand / nor / xor / xnor إلى b_nand / b_nor / b_xor / b_xnor (يتم الاحتفاظ بالأسماء القديمة كأسماء بديلة) (4fc16559e).

  • برامج تشغيل Windows: تمت إعادة صياغة برامج أوامر تثبيت برامج تشغيل DfuSe / FTDI / OpenMV / PybCDC وإرفاق ثنائيات برامج تشغيل DfuSe وFTDI/OpenMV/PybCDC ومكتبات الـ DLL وحزم VC القابلة لإعادة التوزيع التي كانت مفقودة سابقاً واللازمة للتثبيت (b51faa8f5، c2633fc04، 4fc16559e).

تغييرات كاسرة

توصيل OpenMV Cam التي يُبلِّغ openmv.io عن كونها غير مسجَّلة يُطلِق الآن ما يصل إلى ثلاثة مطالبات تطلب من المستخدم إدخال مفتاح لوحة، وتتكرر عند كل اتصال إلى أن يتم تسجيل الكاميرا. واللوحات المبنية على M4 معفاة من هذا الفحص. وإعادة تسمية عمليات الصورة الثنائية في البرنامج الثابت 2.4.1 متوافقة مع الإصدارات السابقة، إذ تبقى أسماء الأساليب القديمة nand / nor / xor / xnor متاحة كأسماء بديلة.