v1.7.0¶
يقدّم الإصدار v1.7.0 وحدة cpufreq (التحكم في تردد وحدة المعالجة المركزية / رفع تردد التشغيل)، ووحدة os الخاصة بـ MicroPython، والتحكم في تحديث / دقة مستشعر MLX الحراري، إلى جانب الدعم الأولي للوحة OpenMV Cam M7 (STM32F7). تغيّر توقيع fir.init()، ومعالجة الإطارات كبيرة الحجم، وجودة JPEG الافتراضية — اقرأ التغييرات الجذرية أدناه.
أبرز النقاط¶
وحدة
cpufreq— استعلم عن تردد وحدة المعالجة المركزية / اضبطه، مع مثال على رفع تردد التشغيل.MLX الحراري — يقبل
fir.init()الآن معدل تحديث ودقة ADC.OpenMV Cam M7 — الدعم الأولي للوحة STM32F7.
تغيير جذري: أصبح
fir.init()يعتمد على الكلمات المفتاحية فقط، وتُقتطع الإطارات كبيرة الحجم تلقائيًا، وانخفضت جودة JPEG الافتراضية — راجع التغييرات الجذرية.
ميزات جديدة¶
cpufreq— أُضيفت وحدةcpufreqمعcpufreq.get_frequency()/cpufreq.set_frequency()والثوابتCPUFREQ_120MHZ/144/168/192/216MHZ، إضافة إلى مثالoverclocking.py.MLX / FIR — يقبل
fir.init()الآن معدل تحديث ودقة ADC، مع عناصر تحكمrefresh/resolutionمتطابقة لمستشعر MLX الحراري.
تغييرات وتحسينات أخرى¶
ضبط منطقة AGC/AEC في OV7725 (تقليل ضبابية الحركة)، وتفعيل شريط الألوان الصلب DSP لـ OV7725، وإصلاح بث مخزن الإطارات في IDE (لا إطارات قديمة / مكررة).
إصلاحات الأخطاء¶
إصلاح تجاوز حجم نقل DCMI/DMA في
sensor.snapshot()، وتنظيف معالجة تجاوز سعة مخزن ضغط JPEG، وتحسين منطقة تشغيل AEC/AGC في OV7725 من أجل تعريض/كسب تلقائي أفضل، وتصحيح برامج شريط الألوان / الاختبار الذاتي الخاصة بـ OV7725.
دعم العتاد واللوحات¶
OpenMV Cam M7 (STM32F7 / OPENMV7) — دعم أولي للوحة ومحمّل الإقلاع.
OpenMV 2 — قيادة ساعة المستشعر عبر خرج MCO.
تغييرات جذرية في واجهة برمجة التطبيقات¶
تغييرات جذرية في واجهة برمجة التطبيقات المرئية للمستخدم بين v1.6.0 و v1.7.0. النطاق: وحدات Python C في modules/ ومكتبات Python في scripts/libraries/.
كل تغيير موسوم بأثره:
طفيف — واجهة ضيقة؛ يؤثر فقط على البرامج النصية التي استخدمتها.
سلوكي — الواجهة نفسها، نتائج مختلفة؛ أعد فحص البرامج النصية المضبوطة.
التغييرات مُجمَّعة حسب الأثر بهذا الترتيب. إذا كنت ترغب فقط في نقل شيفرتك، فانتقل إلى قائمة الترحيل في النهاية. كل تجزئة commit ترتبط بفرقها على GitHub.
أصبح fir.init() يعتمد على الكلمات المفتاحية فقط (طفيف)¶
أُعيدت صياغة fir.init() ليأخذ وسائط بالكلمات المفتاحية (type= / refresh= / resolution=، القيمة الافتراضية لـ refresh هي 64 هرتز، والحد الأقصى 512 هرتز) بدلاً من الوسائط الموضعية. حدّث استدعاءات fir.init(...) الموضعية إلى صيغة الكلمات المفتاحية.
Commits: 958c5b7f7
تُقتطع الإطارات كبيرة الحجم تلقائيًا إلى QVGA (سلوكي)¶
لم يعد sensor.snapshot() يطلق استثناءً عندما يتجاوز الإطار الخام الحد الأقصى لحجم الإطار الخام للوحة — تُحجَّم / تُقتطع الآن الإطارات الخام كبيرة الحجم إلى QVGA بدلاً من ذلك (لا يزال الخام في وضع JPEG مرفوضًا فقط). اختر حجم إطار مدعومًا إذا كنت تعتمد على الخطأ السابق.
خُفِّض الحد الأقصى لحجم الإطار في OpenMV 2 إلى QVGA (سلوكي)¶
في OpenMV 2، خُفِّض الحد الأقصى لحجم إطار الصورة التكاملية / الخام / الكتلة من VGA إلى QVGA. طلب VGA لعمليات تدرج الرمادي / RGB565 / الكتلة / الصورة التكاملية على OpenMV 2 يقتطع الآن إلى QVGA — أعد تصميم البرامج النصية التي اعتمدت على معالجة VGA على تلك اللوحة.
Commits: 7499062bd
خُفِّضت جودة JPEG الافتراضية (سلوكي)¶
خُفِّضت جودة JPEG الافتراضية (من 50 → 35، مع عتبات اعتيان فرعي أقل في IDE) من أجل بث أكثر موثوقية. تكون صور JPEG الملتقطة / المبثوثة أقل جودة بشكل ملحوظ افتراضيًا — مرّر قيمة quality صريحة إلى image.compress() إذا كنت بحاجة إلى الجودة السابقة.
Commits: d9c8b1535
قائمة الترحيل¶
للنقل النظيف إلى v1.7.0، يكون العمل المعتاد كالتالي:
حوّل استدعاءات
fir.init(...)الموضعية إلى صيغة الكلمات المفتاحية (تغيير fir.init).استخدم حجم إطار مدعومًا بدلاً من الاعتماد على خطأ الإطار كبير الحجم القديم (تغيير الإطار كبير الحجم)، وأعد تصميم معالجة VGA على OpenMV 2 (تغيير حجم إطار OpenMV 2).
مرّر قيمة
qualityصريحة إلىimage.compress()إذا كنت بحاجة إلى جودة JPEG السابقة (تغيير جودة JPEG).
تعمل جميع البرامج النصية الأخرى دون تغيير.