v3.6.8¶
v3.6.8 เพิ่มบอร์ด OpenMV Cam Pure Thermal ทำให้การอนุมาน tf เร็วขึ้นประมาณ 4 เท่า โดยย้าย TensorFlow ไปใช้ CMSIS-NN ขยายไลบรารี rpc บนเดสก์ท็อปด้วยอินเทอร์เฟซ UART / Kvaser CAN / I2C / SPI และเปิดใช้งาน SD card บน Arduino Portenta H7 การจัดการพาร์ติชัน SD card และ import sensor บนบอร์ดที่ไม่มี sensor มีการเปลี่ยนแปลง — อ่านการเปลี่ยนแปลงที่ทำให้เกิดความเสียหายด้านล่าง
Highlights¶
OpenMV Cam Pure Thermal — รองรับบอร์ดใหม่
TensorFlow เร็วขึ้น ~4 เท่า — การอนุมาน
tfตอนนี้ทำงานบน CMSIS-NNไลบรารี
rpc— เพิ่มอินเทอร์เฟซ UART, Kvaser CAN และ I2C/SPI master/slavePortenta H7 SD card — เปิดใช้งาน SD card พร้อมการแก้ไขนาฬิกา PLL1/HSE/ADC
ความเสียหาย: การบูต SD card ตอนนี้ตรวจจับพาร์ติชันโดยอัตโนมัติ และ
import sensorจะแสดงข้อผิดพลาดเมื่อไม่มี image sensor — ดูการเปลี่ยนแปลงที่ทำให้เกิดความเสียหาย
New features¶
rpc— เพิ่มอินเทอร์เฟซ UART, Kvaser CAN และ I2C/SPI master/slave ในไลบรารี RPC บนเดสก์ท็อป (rpc_uart_master/rpc_uart_slave,rpc_kvarser_can_master/rpc_kvarser_can_slaveและ I2C/SPI master/slave)บอร์ดที่ไม่มี sensor — เฟิร์มแวร์ตอนนี้รองรับบอร์ดที่ไม่มี image sensor (เปิดใช้งานบอร์ด Pure Thermal)
เรขาคณิต JPEG — เพิ่ม struct สำหรับอ่านค่าตั้งค่า JPEG (
jpg_w/jpg_h/jpg_size) สำหรับการอ่านเรขาคณิต JPEG
Other changes and improvements¶
TensorFlow ถูกเปลี่ยนไปใช้ CMSIS-NN เพื่อให้การอนุมาน
tfเร็วขึ้นประมาณ 4 เท่า (ปรับการตั้งค่า imlib ต่อบอร์ด); ตัวอย่างulabใช้ulab.numerical.mean/std; ตัวอย่าง deep-sleep ตอนนี้เรียกsensor.sleep(True)ก่อนการเขียนรีจิสเตอร์ regulator-bypass ของ OV7725
Bug fixes¶
Camera and imaging:
แก้ไขการโหลดภาพ JPEG จากดิสก์ (เรขาคณิต JPEG ถูกปฏิเสธว่าเป็นรูปแบบที่ไม่รองรับ) ทำให้
sensor.reset()ทำการรีเซ็ตแบบ hard reset เพื่อให้ sensor ฟื้นตัวหลังจากการปิดตัว regulator แก้ไขการตั้งค่า alternate-function / clock ของ FLIR Lepton SPI บน OpenMV 4 / 4 Plus และแก้ไขการกำหนดพิน FSYNC บน OpenMV 4 / 4 Plus
Connectivity and system:
แก้ไขการเขียน
pyb.DACแบบมีเวลาบน H7 ทำให้ WINC1500WLAN.start_ap()ไม่ต้องใช้ key สำหรับความปลอดภัย OPEN แก้ไขการใช้ I2C bus ร่วมกันระหว่าง camera และอุปกรณ์ต่อพ่วงของผู้ใช้บน Portenta และทำให้ self-test SWD framebuffer marker เป็นแบบต่อบอร์ดเพื่อไม่ให้เขียนทับ framebufferbppบนบอร์ดที่ไม่มี
Hardware and board support¶
OpenMV Cam Pure Thermal — บอร์ดใหม่
Arduino Portenta H7 — เปิดใช้งาน SD card พร้อม PLL1 (400 MHz/40 MHz, USB/RNG บน HSI48), HSE (25 MHz) และการแก้ไขแหล่งนาฬิกา ADC
Breaking API changes¶
การเปลี่ยนแปลง API ที่ผู้ใช้มองเห็นได้ระหว่าง v3.6.7 และ v3.6.8 ขอบเขต: Python C-modules ใน modules/ และ Python libraries ใน scripts/libraries/
การเปลี่ยนแปลงที่ทำให้เกิดความเสียหายทั้งสองอย่างเป็นการเปลี่ยนแปลง พฤติกรรม (API เดิม ผลลัพธ์ต่างกัน) — ตรวจสอบสคริปต์ที่ได้รับผลกระทบอีกครั้ง แต่ละ commit hash เชื่อมโยงไปยัง diff บน GitHub
การตรวจจับพาร์ติชัน SD card อัตโนมัติ (พฤติกรรม)¶
การบูต SD card ตอนนี้ตรวจจับพาร์ติชันโดยอัตโนมัติแทนที่จะ mount พาร์ติชัน 1 เสมอ การ์ดที่ใช้พฤติกรรม fixed-partition-1 เดิมอาจ mount filesystem ที่แตกต่างออกไป ตรวจสอบ SD card หลายพาร์ติชันและ mount ที่คาดหวังอีกครั้ง
Commits: 1f7f003b8
import sensor แสดงข้อผิดพลาดบนบอร์ดที่ไม่มี sensor (พฤติกรรม)¶
เพื่อรองรับบอร์ดที่ไม่มี image sensor การตรวจสอบการเริ่มต้นของโมดูล sensor จะทำงานเมื่อ import ดังนั้น import sensor จะ raise RuntimeError เมื่อไม่พบ image sensor (แทนที่จะล้มเหลวในภายหลัง) บนบอร์ดที่มีเฉพาะ thermal ให้ป้องกัน import sensor ด้วย try / except หรือหลีกเลี่ยงการ import
Commits: 17b444ad1
Migration checklist¶
ตรวจสอบ SD card หลายพาร์ติชันกับการตรวจจับพาร์ติชันอัตโนมัติใหม่อีกครั้ง (การเปลี่ยนแปลง SD card) และป้องกัน import sensor บนบอร์ดที่ไม่มี sensor / thermal-only (การเปลี่ยนแปลง sensor-import) สคริปต์อื่นๆ ทั้งหมดทำงานได้โดยไม่ต้องแก้ไข