v2.4.0

تم بناء v2.4.0 على Qt Creator 4.0.2 ويتمحور حول محمّل الإقلاع V3 الجديد (الاستعلام عن تخطيط ذاكرة فلاش QSPI أثناء تحميل البرنامج الثابت ومسحها أثناء المسح الكامل لذاكرة البيانات المدمجة على اللوحة)، والإبلاغ المباشر عن المستشعر واللوحة في شريط الحالة، وبروتوكول تصحيح أخطاء USB جديد بعرض 32 بت يطابق البرنامج الثابت المرفق. كما يضيف دليل LED عند التشغيل الأول ومجموعة كبيرة من أمثلة TensorFlow وModbus وWiFi الجديدة. ونظرًا لتغيّر بروتوكول التصحيح، يجب أن تعمل الكاميرات بالبرنامج الثابت المرفق الجديد لكي تتصل.

أبرز الميزات

  • دعم محمّل الإقلاع V3 يستعلم عن تخطيط ذاكرة فلاش QSPI الخارجية للوحة أثناء تحميل البرنامج الثابت ويمسحها أثناء المسح الكامل لذاكرة البيانات المدمجة على اللوحة (d953df62f).

  • الإبلاغ عن المستشعر واللوحة يستعلم عن وحدة مستشعر الكاميرا المتصلة عند الاتصال ويعرضها في شريط الحالة (OV2640، OV5640، OV7690، OV7725، OV9650، MT9V034، LEPTON) إلى جانب تسمية جديدة لنوع اللوحة (0ffa82958).

  • نسخ نماذج TensorFlow يتيح لك نسخ نماذج .tflite إلى الكاميرا، وليس فقط ملفات الشبكة العصبية .network (ad1aa98f0).

  • مسح ذاكرة البيانات المدمجة على اللوحة هو أمر Tools جديد يمسح فقط ذاكرة فلاش نظام الملفات المدمجة في الكاميرا، بعد رسالة تأكيد، دون إعادة كتابة البرنامج الثابت (d953df62f، 98686ac46).

  • دليل LED عند التشغيل الأول هو مربع حوار OpenMV Cam LED Colors جديد يشرح حالات LED المدمجة على اللوحة ويمكن إخفاؤه بشكل دائم (c2d00422f).

ميزات جديدة

  • محمّل الإقلاع V3 يستعلم عن تخطيط ذاكرة فلاش QSPI أثناء تحميل البرنامج الثابت ويمسح ذاكرة فلاش QSPI الخارجية فقط أثناء المسح الكامل لذاكرة البيانات المدمجة على اللوحة؛ يقوم connectClicked دائمًا بتشغيل bootloaderQSPIFLayout على لوحات V3 لكنه يشغّل bootloaderQSPIFErase فقط عند تعيين forceFlashFSErase (أوامر الكتابة/اختبار الذاكرة QSPI منفّذة في طبقة الإدخال/الإخراج لكن المحمّل لا يستخدمها) (d953df62f).

  • حالة المستشعر واللوحة تستعلم عن وحدة مستشعر الكاميرا عند الاتصال وتعرضها (OV2640، OV5640، OV7690، OV7725، OV9650، MT9V034، LEPTON) في شريط الحالة، إلى جانب تسمية جديدة لنوع اللوحة، باستخدام خريطة جديدة sensors.txt لربط المعرّف بالاسم (0ffa82958).

  • دليل LED عند التشغيل الأول يضيف مربع حوار OpenMV Cam LED Colors جديدًا يظهر بعد تأخير قصير عندما يكون helloworld_1.py هو المستند المفتوح عند التشغيل الأول، ويشرح حالات LED المدمجة على اللوحة (أخضر وامض = محمّل الإقلاع قيد التشغيل، أزرق = تشغيل main.py، أبيض = ذعر بسبب فشل في العتاد)؛ ويحفظ مربع اختيار "Don't show this message again." قرار الإخفاء عبر إعداد DONT_SHOW_LED_STATES_AGAIN (c2d00422f).

  • فتح مجلد محرك OpenMV Cam هو عنصر قائمة Tools جديد يفتح محرك الكاميرا المركّب في مستعرض ملفات النظام (a49f54305).

  • مسح ذاكرة البيانات المدمجة على اللوحة هو أمر 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 ونافذة الانزلاق لكشف الأشخاص بالإضافة إلى مثال STM32Cube.AI (nn_stm32cubeai.py) لـ MNIST، ومجلد 32-modbus جديد (modbus_rtu_slave.py، modbus_apriltag.py)، وإضافات درع WiFi (http_client_ssl، static_ip، mqtt_pub/mqtt_sub)، وUART/SPI-slave لـ Arduino، وCAN (e26b90d79، 42ba8f5c4).

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

  • تم تحديث بروتوكول تصحيح أخطاء USB إلى البرنامج الثابت الجديد: تستخدم قراءات السمات الأمر الجديد بعرض 32 بت ATTR_READ_2 (0xCA)، وتُرسل حمولات السمة والقيمة وتمكين مخزن الإطارات كأعداد طويلة بعرض 32 بت بدلاً من كلمات بعرض 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).

  • تم تحديث مجموعة وثائق MicroPython بصيغة HTML المرفقة (مرجع المكتبة، ودروس esp8266/esp32، والصفحات والصور المولّدة) المعروضة في تعليمات IDE (e69d71f7c، 90b5c6eb5، 97b0f645a).

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

  • تم إصلاح تجاوز رقمي في إحصاءات المدرج التكراري (المتوسط، والأرباع، والوسيط، والانحراف المعياري) عن طريق توسيع المُراكِمات من int إلى 64 بت، مما يمنع الإحصاءات الخاطئة على الصور الكبيرة (55d7cfe70).

  • أُعيدت صياغة قطع الاتصال/الإخراج على Linux: تمت إزالة عملية التفريغ غير الموثوقة syncfs/closedir ويُفصل المحرك الآن بأمر umount عادي، دون مربع حوار تقدم (b86d5c62c، c0dbdd9e5، 30d4a7d2d).

  • أصبح محرك USB الخاص باللوحة الآن يُربط فقط عندما يكون البرنامج الثابت جديدًا بما يكفي أو عند وجود ملف علامة .openmv_disk، مما يمنع IDE من الاستيلاء على المحرك القابل للإزالة الخاطئ (e464eaed4).

  • تم إصلاح منطق إعادة الاتصال بحيث إن تشغيل عملية محمّل إقلاع/مسح أثناء الاتصال يقطع الاتصال أولاً بشكل نظيف ثم يعيد المحاولة، مما يتجنب حالة عمل عالقة (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)، وتُرسل الآن حمولات السمة والقيمة والتمكين كأعداد طويلة بعرض 32 بت؛ كما يستعلم IDE عن معرّف مستشعر الكاميرا عند الاتصال. ويتطلب ذلك برنامجًا ثابتًا ينفّذ البروتوكول الجديد. ويوفّره البرنامج الثابت المرفق 1.2.15 / 1.4.11، لذا يجب كتابة البرنامج الثابت الجديد على الكاميرات الأقدم لكي تتصل.