v4.4.0¶
v4.4.0 เพิ่ม API tf.regression() รองรับ FLIR Lepton บน OpenMV Cam H7 Pro รองรับโคโปรเซสเซอร์ Cortex-M4 บน Arduino Nicla Vision และอัปเดต MicroPython เป็นเวอร์ชัน 1.19 โมดูลเฉพาะบอร์ดและพฤติกรรม WiFi/LCD บางส่วนเปลี่ยนแปลง — อ่านรายละเอียดการเปลี่ยนแปลงที่ส่งผลกระทบด้านล่าง
จุดเด่น¶
tf.regression()— รันโมเดล regression ของ TensorFlow Lite แบบ 1D-input/1D-outputรองรับเซนเซอร์ความร้อน FLIR Lepton บน OpenMV Cam H7 Pro
Arduino Nicla Vision — รองรับโคโปรเซสเซอร์ Cortex-M4, MicroSpeech ทำงานได้, LPUART1
อัปเดต MicroPython เป็น 1.19; อัปเดต ulab เป็น 5.1.1
การเปลี่ยนแปลงที่ส่งผลกระทบ: โมดูล
lcd/tvบน Nicla Vision ถูกปิดใช้งาน และไดรเวอร์ WiFi ของ RP2040 Connect เปลี่ยนแปลง — ดูรายละเอียดการเปลี่ยนแปลงที่ส่งผลกระทบ
ฟีเจอร์ใหม่¶
tf.regression(model, input_array)— ฟังก์ชันใหม่สำหรับโมเดล regression ของ TensorFlow Lite แบบ 1D input/output คืนค่าเป็นรายการของ floatการควบคุม GC2145 —
sensor.set_auto_exposure()และsensor.set_auto_whitebal()ตอนนี้ทำงานได้บน GC2145 (สามารถปิดการปรับแสงอัตโนมัติ/การปรับสมดุลสีขาวได้ แต่ยังไม่รองรับการตั้งค่า exposure/gain โดยตรง)Arduino Nicla Vision — เปิดใช้งานโคโปรเซสเซอร์ Cortex-M4 (CM4) และอุปกรณ์ต่อพ่วง LPUART1 แล้ว
machine.Pin— พินUSB_VBUSเปิดเผยให้ใช้งานในสคริปต์ผู้ใช้แล้ว
การเปลี่ยนแปลงและการปรับปรุงอื่น ๆ¶
อัปเดต MicroPython เป็น 1.19; ulab เป็น 5.1.1; อัปเดตไดรเวอร์ WiFi cyw43 ที่รวมมาด้วย
พอร์ต RP2 (Arduino Nano RP2040 Connect) และ nRF (Arduino Nano 33 BLE Sense) เปลี่ยนมาใช้ดีบักเกอร์แบบ TinyUSB ใหม่สำหรับการเชื่อมต่อ IDE/host
XCLK ของ OV7670 ถูกเพิ่มจาก 12 MHz เป็น 24 MHz (อัปเดตชุดรีจิสเตอร์)
การแก้ไขบัก¶
กล้องและเซนเซอร์:
ค่าสถิติอุณหภูมิของ blob ใน OpenMV Pure Thermal ตอนนี้ใช้ภาพ IR แทนภาพสี ดังนั้นอุณหภูมิเฉลี่ยต่อ blob จึงถูกต้อง
แก้ไขการจัดการ ROI ของ
draw_image()และการปรับขนาดพื้นที่ให้ได้ผลลัพธ์ที่ปรับขนาดแม่นยำยิ่งขึ้นIMU จะถูก re-initialized หลังจาก soft-reset เพื่อให้ทำงานต่อไปได้เมื่อเปิดใช้งาน SPI bus ของ IMU
ระบบ:
แก้ไขปัญหาการเปรียบเทียบ signed/unsigned ใน FAST/AGAST feature detection, blob detection, CLAHE และไดรเวอร์ LCD/TV; แก้ไขการ de-initialize camera-GPIO / SPI / DAC ของ STM32, การแมปพิน LPUART ของ H7 และการลงทะเบียนโมดูล
nnของ STM32Cube.AI
Arduino Nicla Vision:
MicroSpeech ทำงานได้แล้ว (เพิ่มขนาดบัฟเฟอร์ PDM เป็นสองเท่า, เพิ่มตัวอย่าง) และแก้ไขโหมด low-power standby แล้ว
ฮาร์ดแวร์และการรองรับบอร์ด¶
OpenMV Cam H7 Pro — รองรับเซนเซอร์ความร้อน FLIR Lepton
Arduino Nicla Vision — โคโปรเซสเซอร์ CM4, LPUART1, MicroSpeech, low-power standby
การเปลี่ยนแปลง API ที่ส่งผลกระทบ¶
การเปลี่ยนแปลง API ที่ผู้ใช้มองเห็นได้ระหว่าง v4.3.3 และ v4.4.0 ขอบเขต: Python C-modules ใน modules/ และไลบรารี Python ใน scripts/libraries/
การเปลี่ยนแปลงแต่ละรายการมีป้ายกำกับผลกระทบ:
minor — API แคบ; ส่งผลกระทบเฉพาะสคริปต์บนบอร์ดเฉพาะเจาะจง
behavior — API เหมือนเดิม แต่ผลลัพธ์ต่างกัน; ตรวจสอบสคริปต์ที่ปรับแต่งไว้ใหม่
การเปลี่ยนแปลงถูกจัดกลุ่มตามผลกระทบตามลำดับนั้น หากต้องการ port โค้ดของคุณเพียงอย่างเดียว ให้ข้ามไปที่ รายการตรวจสอบการ migration ที่ท้ายเอกสาร แต่ละ commit hash เชื่อมโยงไปยัง diff บน GitHub
Nicla Vision modules และ RP2040 WiFi (minor)¶
บน Arduino Nicla Vision โมดูล lcd และ tv ถูกปิดใช้งานเพื่อเพิ่มหน่วยความจำสำหรับรองรับโคโปรเซสเซอร์ CM4 — สคริปต์ที่ใช้โมดูลเหล่านั้นบน Nicla Vision จะไม่พบโมดูลเหล่านั้นอีกต่อไป Arduino Nano RP2040 Connect เปลี่ยนจากการใช้ WiFi/nina แบบ OpenMV-custom ไปใช้ไดรเวอร์/โมดูล NINA-W10 ของ MicroPython upstream ซึ่งมี API ที่แตกต่างกัน
การหมดเวลา WiFi socket และการพลิก LCD แนวตั้ง (behavior)¶
การหมดเวลาของ WINC1500 socket ตอนนี้คืนค่าข้อผิดพลาดแบบ non-blocking (EWOULDBLOCK) แทน ETIMEDOUT ดังนั้น socket ที่หมดเวลาจะไม่ถูกปิดโดยไม่คาดคิดอีกต่อไป — โค้ดที่ดักจับ ETIMEDOUT ต้องได้รับการอัปเดต SPI LCD shield display ตอนนี้ raise ValueError ("Vertical flip requires triple buffering!") เมื่อมีการร้องขอ y_scale ติดลบโดยไม่ได้เปิดใช้งาน triple buffering
รายการตรวจสอบการ migration¶
สำหรับการ port ที่สะอาดไปยัง v4.4.0 งานทั่วไปคือ:
บน Nicla Vision หยุดใช้
lcd/tv; บน Nano RP2040 Connect ให้ port โค้ด WiFi ไปใช้ไดรเวอร์ NINA-W10 upstream (การเปลี่ยนแปลงโมดูลบอร์ด)อัปเดตโค้ด WINC1500 socket ให้รับมือกับ
EWOULDBLOCKเมื่อหมดเวลา และเปิดใช้งาน triple buffering สำหรับ LCD output ที่พลิกแนวตั้ง (การเปลี่ยนแปลงพฤติกรรม)