v3.9.4¶
v3.9.4 เพิ่มโมดูล buzzer ioctl สำหรับ การตรวจจับการเคลื่อนไหว HM01B0 ของ Himax (พร้อมตัวอย่างการปลุกจากสถานะพลังงานต่ำ) การควบคุมหน้าต่างการอ่านค่า MT9V034 ฟังก์ชันพลังงานต่ำสำหรับ Ethernet ไดรเวอร์กล้อง OV7670 และกล้องสำหรับ Arduino Nano 33 BLE Sense นอกจากนี้ยังมีการปรับปรุงความเร็วครั้งใหญ่สำหรับ JPEG / LCD / TV API เอาต์พุต VSYNC ถูกแทนที่ด้วยคอลแบ็ก และการคำนวณค่าเกน/การรับแสงของ MT9V034 ได้รับการแก้ไข — โปรดอ่านการเปลี่ยนแปลงที่ทำให้สคริปต์เสียหายด้านล่าง
ไฮไลต์¶
โมดูล Buzzer — โมดูล
buzzerใหม่ (freq(),duty(),RESONANT_FREQ) สำหรับ OpenMV Pure Thermalการตรวจจับการเคลื่อนไหว HM01B0 — ioctl สำหรับตรวจจับการเคลื่อนไหวของ Himax ใหม่ พร้อมตัวอย่างการปลุกจากสถานะพลังงานต่ำ
หน้าต่างการอ่านค่า MT9V034 — ควบคุมหน้าต่างการอ่านค่าชัตเตอร์แบบโกลบอลผ่าน
sensor.ioctl()กล้องและบอร์ดใหม่ — ไดรเวอร์ OV7670 เบื้องต้น กล้องสำหรับ Arduino Nano 33 BLE Sense และบอร์ด Bormio
ไปป์ไลน์เร็วขึ้น — เขียน SIMD JPEG encoder ใหม่ การดีเบเยอร์เร็วขึ้น และการถ่ายโอน LCD/TV ที่เร็วขึ้นอย่างมาก
การเปลี่ยนแปลงที่ทำให้สคริปต์เสียหาย:
sensor.set_vsync_output()ถูกแทนที่ด้วยsensor.set_vsync_callback()และการคำนวณค่าเกน/การรับแสงของ MT9V034 ได้รับการแก้ไข — ดูการเปลี่ยนแปลงที่ทำให้สคริปต์เสียหาย
ฟีเจอร์ใหม่¶
Buzzer — เพิ่มโมดูล
buzzerพร้อมbuzzer.freq(),buzzer.duty(), และค่าคงที่buzzer.RESONANT_FREQ(สำหรับ OpenMV Pure Thermal)การตรวจจับการเคลื่อนไหว HM01B0 — เพิ่ม ioctl
IOCTL_HIMAX_MD_ENABLE/MD_WINDOW/MD_THRESHOLD/MD_CLEARและIOCTL_HIMAX_OSC_ENABLEพร้อมตัวอย่างการตรวจจับการเคลื่อนไหวของ Himax และตัวอย่างการปลุกจากสถานะพลังงานต่ำhimax_wakeup_on_motion_detection.pyหน้าต่างการอ่านค่า MT9V034 — เพิ่ม
IOCTL_SET_READOUT_WINDOW/IOCTL_GET_READOUT_WINDOWสำหรับการควบคุมหน้าต่างการอ่านค่า MT9V034 ผ่านsensor.ioctl()Ethernet พลังงานต่ำ — เพิ่มฟังก์ชันปิดพลังงาน/พลังงานต่ำสำหรับ Ethernet
Portenta — เพิ่มฟังก์ชันคอลแบ็กสำหรับเปิด/ปิด oscillator ภายนอก
การเปลี่ยนแปลงและการปรับปรุงอื่น ๆ¶
เขียน JPEG encoder ด้วย SIMD ใหม่และเร่งความเร็วการเข้ารหัส Bayer→YCbCr รักษาแกน JPEG ฮาร์ดแวร์ให้ทำงานระหว่างรันสคริปต์ เพิ่มความเร็วการดีเบเยอร์ (~19.5 มิลลิวินาทีสำหรับ VGA) ย้ายการบีบอัด JPEG ไปที่ MDMA เร่งความเร็วเส้นทางการถ่ายโอน TV/LCD ด้วย SIMD/DMA ที่มีประสิทธิภาพ และลดการใช้งาน SPI LCD bus อย่างมาก เพิ่มไดรเวอร์ USB3320 ULPI PHY สำหรับ USB ความเร็วสูง
การแก้ไขข้อบกพร่อง¶
กล้องและเซนเซอร์:
แก้ไขการเริ่มต้นและการสตรีมของไดรเวอร์ HM01B0 และปรับเป้าหมาย AE / ค่าเกนสูงสุด แก้ไขการจำกัดค่าเกน AGC/AEC ของ MT9V034 และแก้ไขการโหลดเฟิร์มแวร์โฟกัสอัตโนมัติของ OV5640 (ลำดับไบต์)
จอแสดงผล:
แก้ไขการถ่ายโอน DMA ของ SPI LCD ที่ใหญ่กว่า 64 KB ขั้วเอาต์พุต LCD และความเสถียรของ LCD bus (AXI QOS)
ระบบและการเชื่อมต่อ:
แก้ไขอินสแตนซ์ SDMMC ที่ใช้โดยไดรเวอร์ CYW43 WiFi (พร้อมอินสแตนซ์ SDMMC ที่กำหนดโดยบอร์ด) ปรับปรุงประสิทธิภาพ DMA ของ FLIR Lepton (VOSPI เพิ่มขึ้นเป็น 20 MHz บน H7) แก้ไขพฤติกรรมพลังงานต่ำ/สแตนด์บายของ Portenta (ขีดจำกัดกระแส PMIC SW1 พลังงานต่ำสำหรับ Ethernet และ ULPI) ทำให้เซิร์ฟเวอร์ RTSP รองรับ
CSeqและPLAY Rangeheaders ที่ไม่เป็นลำดับ (FFPLAY) แก้ไขการจัดแนว EABI 8-ไบต์ของสแต็กในลิงเกอร์ และแก้ไขการ import ที่เสียหายในตัวอย่างmqtt_sub.pyของ Portenta
ฮาร์ดแวร์และการรองรับบอร์ด¶
เซนเซอร์กล้อง OV7670 — ไดรเวอร์เบื้องต้น
Arduino Nano 33 BLE Sense — ไดรเวอร์เซนเซอร์กล้อง (nrf port) พร้อมการแก้ไขพิน reset และ I2C bus
HM01B0 — เพิ่มความละเอียด 320x320
Bormio — การกำหนดค่านาฬิกา PLL เลย์เอาต์แฟลช และ GPIO PORT K (เปิดใช้งานบน Portenta ด้วย)
USB3320 ULPI PHY — USB ความเร็วสูง
การเปลี่ยนแปลง API ที่ทำให้สคริปต์เสียหาย¶
การเปลี่ยนแปลง API ที่ผู้ใช้มองเห็นได้ระหว่าง v3.9.3 และ v3.9.4 ขอบเขต: Python C-modules ใน modules/ และ Python libraries ใน scripts/libraries/
การเปลี่ยนแปลงแต่ละรายการถูกแท็กด้วยผลกระทบ:
major — ส่งผลกระทบต่อสคริปต์ส่วนใหญ่ที่ใช้ฟีเจอร์นั้น คุณจะต้องพอร์ตโค้ด
behavior — API เหมือนเดิม แต่ผลลัพธ์ต่างออกไป โปรดตรวจสอบสคริปต์ที่ปรับแต่งไว้อีกครั้ง
การเปลี่ยนแปลงถูกจัดกลุ่มตามผลกระทบตามลำดับนั้น หากคุณต้องการพอร์ตโค้ดเท่านั้น ไปที่ รายการตรวจสอบการย้าย ที่ท้ายเอกสาร แต่ละแฮช commit เชื่อมโยงไปยัง diff บน GitHub
เอาต์พุต VSYNC ถูกแทนที่ด้วยคอลแบ็ก (major)¶
sensor.set_vsync_output(pin) ถูกลบออกและแทนที่ด้วย sensor.set_vsync_callback(callback) สาย VSYNC ไม่ขับเคลื่อน Pin โดยตรงอีกต่อไป แต่จะเรียก Python callable พร้อมสถานะ VSYNC และคอลแบ็กของคุณจะสลับ Pin เอง โค้ดที่ใช้ sensor.set_vsync_output() จะต้องถูกพอร์ต (ดูตัวอย่าง vsync_gpio_output.py ที่อัปเดตแล้ว)
Commits: 5bbe25c20
การคำนวณค่าเกน/การรับแสงของ MT9V034 ได้รับการแก้ไข (behavior)¶
ความเร็วนาฬิกาและการคำนวณค่าเกน/การรับแสงของ MT9V034 ได้รับการแก้ไข ดังนั้น sensor.set_auto_gain() / sensor.set_auto_exposure() จะให้ค่าที่ถูกต้อง (และด้วยเหตุนี้จึงแตกต่างจากเดิม) สคริปต์ที่ฮาร์ดโค้ดค่าเกน/การรับแสงเพื่อชดเชยการคำนวณที่ผิดพลาดเดิมบนกล้อง MT9V034 แบบโกลบอลชัตเตอร์ควรลบค่าชดเชยเหล่านั้นออกและปรับแต่งใหม่
Commits: 4420536c4
รายการตรวจสอบการย้าย¶
สำหรับการพอร์ตที่สะอาดไปยัง v3.9.4 งานทั่วไปคือ:
แทนที่
sensor.set_vsync_output(pin)ด้วยsensor.set_vsync_callback(callback)และสลับPinจากภายในคอลแบ็ก (การเปลี่ยนแปลง VSYNC)ปรับแต่งค่าเกน/การรับแสงที่ชดเชยสำหรับ MT9V034 ใหม่ตามการคำนวณที่แก้ไขแล้ว (การเปลี่ยนแปลง MT9V034)
สคริปต์อื่น ๆ ทั้งหมดทำงานได้โดยไม่ต้องแก้ไข