v1.7.0¶
v1.7.0 เปิดตัวโมดูล cpufreq (การควบคุมความถี่ CPU / overclocking) โมดูล os ของ MicroPython การควบคุม refresh rate / resolution ของเซนเซอร์ thermal MLX และการรองรับบอร์ด OpenMV Cam M7 (STM32F7) เบื้องต้น ลายเซ็นของ fir.init() การจัดการเฟรมที่ใหญ่เกินไป และค่าเริ่มต้นคุณภาพ JPEG เปลี่ยนแปลง — โปรดอ่านการเปลี่ยนแปลงที่ไม่เข้ากันด้านล่าง
ไฮไลต์¶
โมดูล
cpufreq— สอบถาม / ตั้งค่าความถี่ CPU พร้อมตัวอย่าง overclockingMLX thermal —
fir.init()รับ refresh rate และความละเอียด ADCOpenMV Cam M7 — การรองรับบอร์ด STM32F7 เบื้องต้น
ไม่เข้ากัน:
fir.init()ใช้ keyword-only แล้ว เฟรมที่ใหญ่เกินไปถูก auto-crop และค่าเริ่มต้นคุณภาพ JPEG ลดลง — ดูการเปลี่ยนแปลงที่ไม่เข้ากัน
ฟีเจอร์ใหม่¶
cpufreq— เพิ่มโมดูลcpufreqพร้อมcpufreq.get_frequency()/cpufreq.set_frequency()และค่าคงที่CPUFREQ_120MHZ/144/168/192/216MHZบวกตัวอย่างoverclocking.pyMLX / FIR — ขณะนี้
fir.init()รับ refresh rate และความละเอียด ADC พร้อมตัวควบคุมrefresh/resolutionที่ตรงกันสำหรับเซนเซอร์ thermal MLX
การเปลี่ยนแปลงและปรับปรุงอื่นๆ¶
ปรับแต่งบริเวณ AGC/AEC ของ OV7725 (ลด motion blur) เปิดใช้งาน DSP solid colorbar สำหรับ OV7725 และแก้ไขการสตรีมบัฟเฟอร์เฟรมของ IDE (ไม่มีเฟรมเก่าหรือซ้ำกัน)
การแก้ไขบัก¶
แก้ไข DCMI/DMA transfer-size overflow ใน
sensor.snapshot()ปรับปรุงการจัดการ buffer-overflow ในการบีบอัด JPEG ปรับปรุงบริเวณการทำงาน AEC/AGC ของ OV7725 สำหรับ auto exposure/gain ที่ดีขึ้น และแก้ไขสคริปต์ colorbar / self-test สำหรับ OV7725
การรองรับฮาร์ดแวร์และบอร์ด¶
OpenMV Cam M7 (STM32F7 / OPENMV7) — การรองรับบอร์ดและบูตโหลดเดอร์เบื้องต้น
OpenMV 2 — นาฬิกาเซนเซอร์ขับเคลื่อนโดยเอาต์พุต MCO
การเปลี่ยนแปลง API ที่ไม่เข้ากัน¶
การเปลี่ยนแปลง API ที่ผู้ใช้มองเห็นได้ระหว่าง v1.6.0 และ v1.7.0 ขอบเขต: Python C-modules ใน modules/ และ Python libraries ใน scripts/libraries/
การเปลี่ยนแปลงแต่ละรายการถูกแท็กด้วยผลกระทบ:
minor — API แคบ ส่งผลกระทบเฉพาะสคริปต์ที่ใช้มัน
behavior — API เดิม ผลลัพธ์ต่างกัน ตรวจสอบสคริปต์ที่ปรับแต่งอีกครั้ง
การเปลี่ยนแปลงถูกจัดกลุ่มตามผลกระทบตามลำดับนั้น หากต้องการย้ายโค้ดโดยตรง ข้ามไปที่ รายการตรวจสอบการย้าย ที่ท้ายหน้า แต่ละ hash ของ commit เชื่อมโยงไปยัง diff บน GitHub
fir.init() ใช้ keyword-only แล้ว (minor)¶
fir.init() ได้รับการปรับปรุงให้รับอาร์กิวเมนต์แบบ keyword (type= / refresh= / resolution= ค่าเริ่มต้น refresh 64 Hz สูงสุด 512 Hz) แทนอาร์กิวเมนต์แบบตำแหน่ง อัปเดตการเรียก fir.init(...) แบบตำแหน่งเป็นรูปแบบ keyword
Commits: 958c5b7f7
เฟรมที่ใหญ่เกินไปถูก auto-crop เป็น QVGA (พฤติกรรม)¶
sensor.snapshot() ไม่ raise อีกต่อไปเมื่อเฟรม raw เกินขนาดเฟรม raw สูงสุดของบอร์ด — ขณะนี้เฟรม raw ที่ใหญ่เกินไปจะถูก windowed/cropped เป็น QVGA แทน (เฉพาะ JPEG-mode raw ยังคงถูกปฏิเสธ) เลือกขนาดเฟรมที่รองรับหากคุณพึ่งพา error เดิม
ขนาดเฟรมสูงสุดของ OpenMV 2 ลดลงเป็น QVGA (พฤติกรรม)¶
บน OpenMV 2 ขนาดเฟรม integral-image / raw / blob สูงสุดถูกลดจาก VGA เป็น QVGA การร้องขอ VGA สำหรับการทำงาน grayscale / RGB565 / blob / integral-image บน OpenMV 2 ขณะนี้จะถูก crop เป็น QVGA — ออกแบบสคริปต์ที่ขึ้นอยู่กับการประมวลผล VGA บนบอร์ดนั้นใหม่
Commits: 7499062bd
ค่าเริ่มต้นคุณภาพ JPEG ลดลง (พฤติกรรม)¶
ค่าเริ่มต้นคุณภาพ JPEG ถูกลด (ค่าเริ่มต้น 50 → 35 พร้อมค่าขีดแบ่ง subsample ของ IDE ที่ต่ำลง) เพื่อการสตรีมที่เชื่อถือได้มากขึ้น JPEG ที่ถ่าย/สตรีมมีคุณภาพต่ำกว่าโดยค่าเริ่มต้น — ส่ง quality ที่ชัดเจนให้กับ image.compress() หากต้องการคุณภาพเดิม
Commits: d9c8b1535
รายการตรวจสอบการย้าย¶
สำหรับการย้ายที่ราบรื่นไปยัง v1.7.0 งานทั่วไปคือ:
แปลงการเรียก
fir.init(...)แบบตำแหน่งเป็นรูปแบบ keyword (การเปลี่ยนแปลง fir.init)ใช้ขนาดเฟรมที่รองรับแทนการพึ่งพา error เฟรมที่ใหญ่เกินไปเดิม (การเปลี่ยนแปลงเฟรมที่ใหญ่เกินไป) และออกแบบการประมวลผล VGA บน OpenMV 2 ใหม่ (การเปลี่ยนแปลงขนาดเฟรม OpenMV 2)
ส่ง
qualityที่ชัดเจนให้กับimage.compress()หากต้องการคุณภาพ JPEG เดิม (การเปลี่ยนแปลงคุณภาพ JPEG)
สคริปต์อื่นๆ ทั้งหมดทำงานได้โดยไม่มีการเปลี่ยนแปลง