v4.3.0

v4.3.0 เพิ่มการถอดรหัส JPEG แบบเร่งด้วยฮาร์ดแวร์ โหมดอุณหภูมิสูงของ FLIR Lepton และการตรวจจับโมเดล การแปลงสีพื้นที่ JPEG ใหม่ และ MicroPython 1.18 รวมถึงชุดแก้ไข RTC และ WiFi API โหมดการวัดของ Lepton มีการเปลี่ยนแปลง — โปรดอ่านการเปลี่ยนแปลงที่ไม่เข้ากันด้านล่าง

ไฮไลท์

  • การถอดรหัส JPEG แบบฮาร์ดแวร์ บน STM32 (H7) — การคลายการบีบอัด JPEG ที่เร็วขึ้น

  • โหมดอุณหภูมิสูงของ FLIR Lepton (สูงถึง ~600 °C บน Lepton 3.5) และการตรวจจับโมเดลอัตโนมัติ (1.5–3.5)

  • การแปลง JPEG ใหม่ — ถอดรหัส JPEG YCbCr ไปยัง grayscale และ JPEG grayscale ไปยัง RGB565

  • อัปเดต MicroPython เป็น 1.18

  • เปลี่ยนแปลงที่ไม่เข้ากัน: ioctl โหมดการวัดของ Lepton มีการเปลี่ยนแปลง — ดูการเปลี่ยนแปลงที่ไม่เข้ากัน

ฟีเจอร์ใหม่

  • การถอดรหัส JPEG แบบเร่งด้วยฮาร์ดแวร์ — ตอนนี้ใช้ JPEG codec ในชิป STM32 สำหรับการคลายการบีบอัด

  • การแปลงสีพื้นที่ JPEG — ตัวถอดรหัสสามารถถอดรหัส JPEG YCbCr ไปยัง GRAYSCALE และ JPEG GRAYSCALE ไปยัง RGB565

  • โหมดอุณหภูมิสูงของ Lepton — โหมดการวัด high_temp ใหม่ใช้ค่าเกนต่ำเพื่อขยายช่วงไปถึงประมาณ 600 °C บน Lepton 3.5

  • Arduino Nano RP2040 Connect — โมดูลไดรเวอร์ onewire, dht, และ neopixel ถูก frozen ลงในเฟิร์มแวร์แล้ว

การเปลี่ยนแปลงและปรับปรุงอื่นๆ

  • อัปเดต MicroPython เป็น 1.18

  • ตอนนี้ไดรเวอร์ FLIR Lepton ตรวจจับและรายงานโมเดล Lepton เฉพาะ (1.5 / 1.6 / 2.0 / 2.5 / 3.0 / 3.5) ไปยัง IDE

แก้ไขบัก

การประมวลผลภาพ:

  • Image.to_grayscale() / การแปลงช่อง L ไม่ส่งคืนค่า L ที่เป็นลบสำหรับพิกเซล RGB565 มืดอีกต่อไป ตัวถอดรหัส JPEG ไม่ fault (MemManage) บนภาพที่มีขนาดเป็นเลขคี่อีกต่อไป

กล้องและเซนเซอร์:

  • แก้ไขอัตราส่วน subsampling หน้าต่าง GC2145 และลำดับพิกเซล Bayer เพื่อคุณภาพภาพที่ถูกต้องที่ความละเอียดต่ำกว่า QVGA และในโหมด BAYER

เครือข่ายและการจัดเก็บ:

  • แก้ไขการจัดการ timeout socket แบบ non-blocking ของ WINC1500 และเพิ่มการแมป errno ของ MicroPython ที่ถูกต้องสำหรับข้อผิดพลาด socket แก้ไขการจัดการไฟล์ USB disk ของ STM32 OpenMV

นาฬิกาเวลาจริง:

  • แก้ไขแหล่งนาฬิกา RTC / การเลือก LSE-vs-LSI และ LSE oscillator errata ในบอร์ด OpenMV Cam H7 Plus และ Pure Thermal

ฮาร์ดแวร์และการรองรับบอร์ด

  • STM32 (H7) — การถอดรหัส JPEG แบบฮาร์ดแวร์

  • OpenMV Cam H7 Plus / Pure Thermal — แก้ไขแหล่งนาฬิกา RTC

  • Arduino Nano RP2040 Connect — ไดรเวอร์ frozen onewire / dht / neopixel

การเปลี่ยนแปลง API ที่ไม่เข้ากัน

การเปลี่ยนแปลง API ที่ผู้ใช้มองเห็นได้ระหว่าง v4.2.3 และ v4.3.0 ขอบเขต: Python C-modules ใน modules/ และไลบรารี Python ใน scripts/libraries/

การเปลี่ยนแปลงแต่ละอย่างถูกติดแท็กด้วยผลกระทบ:

  • minor — API ที่มีขอบเขตแคบ ส่งผลต่อสคริปต์ที่ใช้เท่านั้น

  • behavior — API เดิม ผลลัพธ์ต่างออกไป ควรตรวจสอบสคริปต์ที่ปรับแต่งไว้

การเปลี่ยนแปลงที่ไม่เข้ากันทั้งสองส่งผลต่อเซนเซอร์ความร้อน FLIR Lepton เท่านั้น แต่ละ commit hash เชื่อมโยงไปยัง diff บน GitHub

ioctl โหมดการวัดของ Lepton (minor)

sensor.ioctl(SET_MEASUREMENT_MODE, ...) ยอมรับอาร์กิวเมนต์ high_temp ใหม่แบบเลือกได้ และ GET_MEASUREMENT_MODE ตอนนี้คืนค่า 2-tuple (enabled, high_temp) แทนค่า boolean เดี่ยว โค้ดที่อ่านค่า boolean ที่ส่งคืนก่อนหน้าต้องได้รับการอัปเดตเพื่อ unpack tuple

Commit: 6b2cd1008

ช่วงอุณหภูมิเริ่มต้นของ Lepton (behavior)

ช่วงอุณหภูมิเริ่มต้นของ FLIR Lepton เปลี่ยนจาก −17.78 °C…37.78 °C เป็น −10.0 °C…40.0 °C การแมปสีและอุณหภูมิที่รายงานสำหรับฉากที่อาศัยช่วงเริ่มต้นเดิมจะต่างกัน — กำหนดช่วงที่ชัดเจนหากต้องการพฤติกรรมก่อนหน้า

Commit: bc07e0131

รายการตรวจสอบการย้ายระบบ

เฉพาะสคริปต์ FLIR Lepton เท่านั้นที่ได้รับผลกระทบ: unpack tuple GET_MEASUREMENT_MODE (enabled, high_temp) ใหม่ (การเปลี่ยนแปลงโหมดการวัด) และกำหนดช่วงอุณหภูมิที่ชัดเจนหากคุณพึ่งพาค่าเริ่มต้นเดิม (การเปลี่ยนแปลงช่วงเริ่มต้น) สคริปต์อื่นๆ ทั้งหมดทำงานได้โดยไม่ต้องแก้ไข