v2.8.1

v2.8.1 นำการรองรับบอร์ด Arduino อย่างเต็มรูปแบบมาสู่ OpenMV IDE โดยเพิ่มการโหลดเฟิร์มแวร์สำหรับ Arduino Nano RP2040 Connect และ Nano 33 BLE พร้อมกับตัวแก้ไขแบบแท็บและ code minimap รุ่นนี้ยังคงใช้ Qt Creator 4.0.2 base และรวมเฟิร์มแวร์ OpenMV 4.1.0 ใหม่ มีการเปลี่ยนแปลงที่ทำให้ไม่เข้ากัน: การเยื้องอัตโนมัติปิดอยู่โดยค่าเริ่มต้นแล้ว และอิมเมจเฟิร์มแวร์ openmv.bin / openmv.dfu รวมถูกลบออกสำหรับบอร์ด OPENMV2/3/4/4P, OPENMVPT และ PORTENTA ซึ่งเป็นการเปลี่ยนแปลงขั้นตอนการทำงานและพฤติกรรมสำหรับผู้ที่ใช้ค่าเริ่มต้นหรือชื่อไฟล์เหล่านั้น

ไฮไลต์

  • การโหลดเฟิร์มแวร์บอร์ด Arduino สำหรับ Nano RP2040 Connect และ Nano 33 BLE โดยโปรแกรมผ่านชุดเครื่องมือ bossac (SAM-BA) และ picotool/elf2uf2/rp2040load ที่รวมมาใหม่

  • ตัวแก้ไขแบบแท็บ ทำให้ไฟล์ที่เปิดอยู่ปรากฏเป็นแท็บที่สลับได้ที่ด้านบนของตัวแก้ไข พร้อมทางลัดสำหรับสลับและจัดเรียงแท็บใหม่

  • Minimap สำหรับโค้ด แถบเลื่อนที่แสดงภาพรวมขนาดเล็กของเอกสาร พร้อมหน้าการตั้งค่า Text Editor เพื่อเปิด/ปิดและกำหนดความกว้าง

  • ตัวอย่าง Arduino และ Portenta ใหม่ รวมถึงชุดตัวอย่าง Nano RP2040 Connect ครบชุดและสคริปต์ WiFi สำหรับ Portenta-H7 สิบรายการ

  • เฟิร์มแวร์ที่รวมมาอัปเดตเป็น 4.1.0 ทั่วทุกกล้อง OpenMV และอิมเมจ Arduino Nano 33 / Nano RP2040

  • ไดรเวอร์ USB สำหรับ Windows สำหรับ Arduino Nano RP2040 Connect และ Portenta H7 ได้รับการติดตั้งโดยตัวติดตั้งแล้ว

ฟีเจอร์ใหม่

  • การรองรับบอร์ด Arduino: เพิ่มการรองรับการโหลดเฟิร์มแวร์อย่างเต็มรูปแบบสำหรับ Arduino Nano RP2040 Connect และ Nano 33 BLE โดยโปรแกรมผ่านชุดเครื่องมือ bossac (SAM-BA) และ picotool/elf2uf2/rp2040load ที่รวมมา ขับเคลื่อนด้วย descriptors bossac.txt/boards.txt ใหม่ (บวกกับ picotool.txt ที่มีอยู่แล้ว) (deccee676, 34e0c0ee1, ef5334782, eb9c00a33)

  • ตัวแก้ไขแบบแท็บ: เพิ่ม plugin แถบแท็บตัวแก้ไข ทำให้ไฟล์ที่เปิดอยู่ปรากฏเป็นแท็บที่สลับได้ที่ด้านบน พร้อมทางลัดสำหรับแท็บก่อนหน้า/ถัดไป (Ctrl+Page Down / Ctrl+Page Up) (325cd8d87, 5501a4082)

  • Code minimap: เพิ่ม plugin แถบเลื่อน minimap สำหรับโค้ด พร้อมหน้าการตั้งค่า Text Editor (สลับเปิด/ปิด, ความกว้าง, เกณฑ์จำนวนบรรทัด, และความโปร่งใสของแถบเลื่อน) ที่แสดงภาพรวมขนาดเล็กของเอกสารในแถบเลื่อน (325cd8d87)

  • ตัวอย่าง WiFi ของ Portenta-H7: เพิ่มสคริปต์ตัวอย่าง WiFi สิบรายการ (connect, scan, static IP, DNS, NTP, HTTP client, HTTP-SSL client, MJPEG streamer, MQTT publish/subscribe) (b2133f9f5)

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

  • การจัดเรียงแท็บใหม่: เพิ่มทางลัดสำหรับย้ายแท็บปัจจุบันไปซ้ายหรือขวา (Ctrl+Shift+Page Down / Ctrl+Shift+Page Up) และปิดการผูกปุ่มลัดค่าเริ่มต้นที่ขัดแย้งของตัวแก้ไข Ctrl+PgUp/Ctrl+PgDown/Ctrl+Up/ Ctrl+Down เพื่อให้ทางลัดแถบแท็บทำงานได้ (5501a4082)

  • ตัวอย่าง Nano RP2040 Connect: รวมชุดตัวอย่างสคริปต์ Python ครบชุดที่ครอบคลุมพื้นฐาน เซนเซอร์ IMU, BLE, WiFi, audio FFT และกล้องความร้อน (91847b183)

  • กล่องโต้ตอบการเชื่อมต่อ Arduino: เพิ่มกล่องโต้ตอบขั้นตอนการเชื่อมต่อใหม่สองกล่อง: คำแนะนำการกู้คืนที่แนะนำให้ผู้ใช้ต่อ REC กับ GND และรีเซ็ตบอร์ดเมื่อตรวจพบ USB PID แบบเก่าของ Arduino RP2040 และประกาศข้อมูลว่า Nano 33 BLE ไม่มีดิสก์แฟลชข้อมูลบนบอร์ดเมื่อมีการร้องขอลบ flash-FS (91847b183)

  • ตัวอย่าง Arduino และ Portenta เพิ่มเติม: เพิ่มตัวอย่าง Python ใหม่สำหรับ Arduino Nano 33 BLE Sense (blinky), Portenta H7 BLE temperature, Portenta H7 PWM control ที่ปรับปรุงแล้ว, สคริปต์ Portenta H7 Ethernet peer-to-peer ที่อัปเดต และตัวอย่างฟิลเตอร์ ulab ที่อัปเดต (45a4564f4) รวมถึงตัวอย่าง Portenta H7 Ethernet cable-test (af1b2fcff)

  • ตัวอย่าง OpenMV WiFi-Shield: เพิ่มตัวอย่าง HTTP POST http_post.py ใหม่ใน 14-WiFi-Shield (c73d9fdcf)

  • การหมดเวลาการอ่าน WiFi: แบ่งการหมดเวลาการอ่านออก ให้การเชื่อมต่อ WiFi มีการหมดเวลาการหยุดนิ่งนานขึ้น (3000ms เทียบกับ 1000ms สำหรับ serial) และส่งคำสั่งที่รอดำเนินการซ้ำหลังจาก WiFi หยุดนิ่งแทนที่จะล้มเหลว (81f00ac58)

  • ลดความซับซ้อนของ editor chrome: ซ่อนปุ่ม split และ close-split ของแถบเครื่องมือตัวแก้ไข และบังคับการปรับขนาด high-DPI อัตโนมัติบน Linux เพื่อให้เค้าโครงตัวแก้ไขสม่ำเสมอ (bc14a2290)

  • เอกสารออฟไลน์: รีเฟรชเอกสารออฟไลน์ที่รวมมา เพิ่มรูปภาพ pinout กล้องสำหรับแต่ละเซนเซอร์ (H7 OV7725, H7 Plus OV5640, ตัวแปร M4/M7) และอัปเดตหน้าภาพรวม IDE และหน้าบทแนะนำ (97ff73ebd)

แก้ไขบั๊ก

  • แก้ไข offset การลบแฟลช RP2040 (PICO) ที่ใช้ระหว่างการโปรแกรมเฟิร์มแวร์ เพื่อให้ลบบริเวณแฟลชที่ถูกต้อง (91847b183)

  • ทำให้ไบนารี bossac และ picotool สำหรับ Linux/macOS ที่รวมมาสามารถรันได้ เพื่อให้การโหลดเฟิร์มแวร์ทำงานบนแพลตฟอร์มเหล่านั้น และป้องกัน renderer ของ minimap ให้ทำงานเฉพาะบน Qt >= 5.6 (76613152f)

  • แก้ไขการแจ้งเตือนการอัปเกรดเฟิร์มแวร์ให้ตอบสนองต่อปุ่มในกล่องโต้ตอบ (ตรวจสอบ QDialog::Accepted) และทำให้การจัดการการหยุดนิ่งของการถ่ายโอน serial/TCP รีสตาร์ทตัวจับเวลาเมื่อมีข้อมูลใหม่เข้ามา เพื่อไม่ให้การถ่ายโอนระยะยาวหมดเวลาโดยไม่ควร (dd4ce12a5)

การรองรับแพลตฟอร์มและเครื่องมือ

  • Qt Creator base: 4.0.2.

  • เฟิร์มแวร์ที่รวมมา: อัปเดตเฟิร์มแวร์ OpenMV ที่รวมมาเป็นรุ่น 4.1.0 (firmware.txt: 4.0.2 -> 4.1.0) (b78603045); ก่อนหน้านี้ในรอบเดียวกัน ไฟล์เดียวกันผ่านบิลด์ขั้นกลาง 4.0.1 และ 4.0.2 (beec4d25b, eb9c00a33)

  • ชุดเครื่องมือแฟลชใหม่: รวม bossac และชุดเครื่องมือ picotool/elf2uf2/rp2040load สำหรับทุกแพลตฟอร์ม (windows/osx/linux32/linux64/arm/aarch64)

  • ไดรเวอร์ USB สำหรับ Windows: เพิ่มการติดตั้งไดรเวอร์ที่ลงนามแล้วสำหรับ Arduino Nano RP2040 Connect และ Portenta H7 รันผ่านตัวติดตั้ง (bc14a2290, a8ae96e1b)

  • เซนเซอร์ที่รู้จักใหม่: เพิ่ม image sensor PAJ6100 (914546e78) และ camera sensor GC2145 (0x21) และ MT9M114 ในตารางเซนเซอร์ share/qtcreator/firmware/sensors.txt ที่รวมมา (9a8b1c762); ID ของ MT9M114 เดิมเป็น 0x81 และต่อมาแก้ไขเป็น 0x2481 (eb9c00a33)

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

การเปลี่ยนแปลงขั้นตอนการทำงานและพฤติกรรมที่ผู้ใช้สังเกตเห็นได้ในรุ่นนี้

  • การเยื้องอัตโนมัติปิดอยู่โดยค่าเริ่มต้นแล้ว ค่าเริ่มต้น auto-indent ของตัวแก้ไขถูกเปลี่ยนเป็นปิด (และบังคับปิดเมื่อโหลด) และปุ่ม tab จะไม่เยื้องอีกต่อไป; ตัวควบคุม Auto indent และ Tab key performs auto-indent ถูกลบออกจากหน้าการตั้งค่า Text Editor > Behavior ดังนั้นการพิมพ์จะไม่เยื้องบรรทัดใหม่โดยอัตโนมัติเว้นแต่จะเปลี่ยนในเฟิร์มแวร์/ซอร์ส (bc14a2290)

  • อิมเมจเฟิร์มแวร์ openmv.bin / openmv.dfu รวม (เฉพาะ openmv.bin สำหรับ OPENMVPT ที่ไม่เคยมี openmv.dfu) ถูกลบออกสำหรับบอร์ด OPENMV2/3/4/4P, OPENMVPT และ PORTENTA; เหลือเฉพาะอิมเมจ bootloader/firmware/uvc แยกกัน (84cd4cd2d)

  • ตัวอย่าง vsync_gpio_output (ทั้งในชุดตัวอย่าง OpenMV และ Arduino/Portenta-H7 02-Board-Control) ต้องใช้ API set_vsync_callback ใหม่ของเฟิร์มแวร์แทน set_vsync_output และ callback ตอนนี้สลับ LED_BLUE แทน IR LED (f13453bdc)