v1.8.0

v1.8.0 เป็นรุ่นที่เพิ่มฟีเจอร์สำคัญด้านระบบเครือข่ายและวิดีโอ ได้แก่ การโปรแกรม OpenMV Cam ผ่าน WiFi การบันทึกวิดีโอจาก Frame Buffer และเมนู Tools > Video Tools ที่ใช้ ffmpeg/ffplay ที่แนบมาในตัว นอกจากนี้ยังรองรับบอร์ด OpenMV Cam H7 (OMV4) ใหม่ และขยายการรองรับ IDE ไปยัง Raspberry Pi (Linux ARM) รุ่นนี้ยังคงใช้ฐาน Qt Creator 4.0.2 และไม่มีการเปลี่ยนแปลงที่กระทบโปรเจกต์เดิม

ไฮไลต์

  • การโปรแกรมผ่าน WiFi IDE จะฟัง UDP broadcast จาก OpenMV Cam ที่ติดตั้ง WiFi shield รายการกล้องที่ค้นพบ (ชื่อพร้อม IP:port) จะแสดงในหน้าต่างเชื่อมต่อ และสื่อสารผ่าน TCP แทนพอร์ตอนุกรม (69dc7dfbf)

  • ตัวบันทึกวิดีโอจาก Frame Buffer ปุ่ม Record/Stop ใหม่บนแถบเครื่องมือจะบันทึกสตรีมภาพสดลงในไฟล์ OpenMV ImageWriter พร้อมแสดงป้ายสถานะเวลาที่ผ่านไป/ขนาด/FPS (39142ef70, 5aceab31a)

  • เมนู Video Tools Tools > Video Tools เพิ่ม Convert Video File และ Play Video File โดยใช้ ffmpeg/ffplay ที่แนบมาในตัวสำหรับแปลงและเล่นวิดีโอ รวมถึงแปลงไฟล์บันทึก .bin ของ ImageWriter เป็น MJPEG AVI โดยอัตโนมัติ ทั้งนี้ Play Video File ใช้ได้เฉพาะ Windows และ macOS เนื่องจาก ffplay ไม่ได้แนบมาสำหรับ Linux/Raspberry Pi (d35f8d1ca, 8a99c994f)

  • OpenMV Cam H7 (OMV4) บอร์ด STM32H743 ใหม่ถูกรู้จักแล้วและมาพร้อม bootloader และ เฟิร์มแวร์ของตัวเอง (e14810382)

  • รองรับ Raspberry Pi เปิดใช้งาน IDE บน Linux ARM ทำให้ OpenMV IDE ทำงานบน Raspberry Pi ได้ (f551b5f97)

ฟีเจอร์ใหม่

  • กำหนดค่าไฟล์การตั้งค่า OpenMV Cam Tools เพิ่มหน้าต่างสำหรับเขียนการตั้งค่า main.ini ของกล้อง ครอบคลุมการเปิด WiFi การเลือกโหมด client หรือ access-point, SSID/รหัสผ่าน/ประเภทความปลอดภัย, ชื่อบอร์ด และตัวเลือก Duplicate REPL on the UART on startup ที่เก็บไว้ใน main.ini (69dc7dfbf, 39142ef70)

  • ตัวเลือกบรรทัดคำสั่งสำหรับเทอร์มินัลเครือข่าย เพิ่ม -open_udp_client_terminal, -open_udp_server_terminal, -open_tcp_client_terminal, และ -open_tcp_server_terminal นอกเหนือจากตัวเลือกเทอร์มินัลอนุกรมเดิม (6362066a8, d75209269)

  • ตัวเลือกบรรทัดคำสั่งเพิ่มเติม เปิดเผย -update_resources, -open_serial_terminal (port_name:baud_rate), -override_read_timeout, และ -override_read_stall_timeout (061aacf15)

  • โหมดเซิร์ฟเวอร์เทอร์มินัล การเชื่อมต่อเทอร์มินัล UDP/TCP สามารถทำงานในโหมดเซิร์ฟเวอร์ได้แล้ว โดยผูกกับพอร์ตท้องถิ่น (พอร์ต 0 จะเลือกพอร์ตใดก็ได้) แทนที่จะเชื่อมต่อออกไปยังโฮสต์เท่านั้น (956e8a2f5)

  • สคริปต์ตัวอย่างใหม่ เพิ่มตัวอย่างการแก้ไข lens, การแก้ไขการหมุน 3D และโหมดประหยัดพลังงาน sensor sleep รวมถึงเขียนตัวอย่างการตรวจจับส่วนเส้นใหม่ด้วย API find_line_segments(merge_distance, max_theta_diff) (061aacf15)

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

  • คำแนะนำอาร์กิวเมนต์ฟังก์ชันและการเน้นไวยากรณ์ตอนนี้ครอบคลุมหลายบรรทัดได้อย่างถูกต้อง ทำให้การเรียกฟังก์ชันหลายบรรทัดยังคงแสดงคำแนะนำอาร์กิวเมนต์และการเน้นสีต่อไป (6535e9fdd, 4638bdd18)

  • แถบสถานะ resolution/ROI ของเทอร์มินัลแสดงจำนวนพิกเซลใน ROI ด้วย (956e8a2f5)

  • หน้าต่างลงทะเบียน OpenMV Cam ตอนนี้แสดงบอร์ด/ID และอีเมลสนับสนุน และหน้าต่างความคืบหน้า Connecting... แนะนำให้กด Cancel หลัง 5 วินาที (4638bdd18, e14810382)

  • แผง Search Results ปรับสไตล์ช่องหมายเลขบรรทัดและข้อความผลลัพธ์ด้วยสีธีมมืดที่ชัดเจน เพื่อให้อ่านได้ง่ายบน UI สีมืด (b2599f9ea)

  • ลูปเขียนเทอร์มินัล Serial/UDP/TCP ตอนนี้หยุดพักสั้นๆ ระหว่างการเขียนเพื่อให้ UI ตอบสนองได้ดีและเพิ่ม ปริมาณงานที่ผ่านได้ (c4700e2b0)

  • ช่องค่าสถิติ ฮิสโตแกรม ตอนนี้มีความกว้างขั้นต่ำคงที่เพื่อไม่ให้แผงเปลี่ยนเลย์เอาต์เมื่อตัวเลขเปลี่ยน และปุ่มสลับโหมดจะยืดขยายแทนการใช้ความกว้างคงที่ 160px (5aceab31a)

  • ระงับคำเตือน JIT is disabled for QML ที่ไม่จำเป็นตอนเริ่มต้นด้วย Qt message handler แบบกำหนดเอง (954220e39)

การแก้ไขข้อบกพร่อง

  • คำอธิบายเครื่องมือเอกสารและการเน้นสีตอนนี้รู้จักประเภทข้อยกเว้น Python (ถือว่าเป็นข้อมูล) และแก้ไขรายการเอกสาร module/index หลายรายการให้แสดงผลถูกต้อง (4638bdd18, 3613a7867, 897b9b0e2, e3e41c56e)

  • เสริมความแข็งแกร่งให้ตัวตรวจสอบการอัปเดตแพ็คเกจ และการแยกวิเคราะห์ broadcast/ลงทะเบียนกล้อง ด้วย regex ที่มีการ anchor, trim และการจับคู่ HTML response ที่เข้มงวดยิ่งขึ้นเพื่อหลีกเลี่ยงการจับคู่ผิด (461af1148, 4638bdd18)

  • แก้ไข identifier ของบอร์ด OpenMV Cam M4 (OpenMV2) ที่ใช้สำหรับตรวจจับ API เฟิร์มแวร์เก่า จาก OMV2 เป็น OPENMV2 (449024fe8)

  • เสริมความแข็งแกร่งให้ I/O กล้องและตัวแปลงวิดีโอด้วยการตรวจสอบขอบเขต width/height/bpp/duration ที่เข้มงวดยิ่งขึ้นสำหรับข้อมูลเฟรมที่เสียหาย/ใหญ่เกินไป และหลีกเลี่ยงการหารด้วยศูนย์เมื่อคำนวณ FPS วิดีโอ (08248f208, d0cbc27e5)

  • เครื่องมือแปลง/เล่นวิดีโอตอนนี้ทำงานได้บน macOS, 32-bit และ Linux-ARM โดยเรียก ffmpeg/ffplay ผ่าน shell script หรือ cmd.exe wrapper ที่สร้างขึ้น และรวม Linux ffmpeg binaries มาด้วย (b9644e859, 9f0520bbe, 35eb69bce, c4700e2b0)

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

  • ฐาน Qt Creator: 4.0.2

  • OpenMV Cam H7 (OMV4, STM32H743): บอร์ดใหม่ถูกรู้จักพร้อม bootloader และ เฟิร์มแวร์ของตัวเอง (e14810382)

  • เฟิร์มแวร์ OpenMV ที่แนบมา: อัปเดตเป็น 2.6.0 สำหรับ OPENMV2/OPENMV3/OPENMV4 (e14810382)

  • ffmpeg/ffplay ที่แนบมา: เพิ่ม ffmpeg 3.3.3 แบบ static build สำหรับ Windows, macOS, Linux x86, Linux x86_64 และ Linux ARM (Raspberry Pi) โดย ffplay แนบมาเฉพาะ Windows และ macOS (2193d7923, af92ad59e)

  • Raspberry Pi (Linux ARM): เปิดใช้งาน build โดยปิด HelpManager แบบออฟไลน์และเปลี่ยนการแพ็กเกจ bindist เป็น tar.gz (f551b5f97)

การเปลี่ยนแปลงที่กระทบความเข้ากันได้

ไม่มี รุ่นนี้ยังคงใช้ฐาน Qt Creator 4.0.2 และโปรเจกต์กับ workflow เดิมไม่ได้รับผลกระทบ