v1.9.0

v1.9.0 เป็นรุ่น internationalization เพิ่มการแปล UI ครบถ้วนมากกว่าสิบภาษา พร้อมโปรโตคอล bootloader query ใหม่ที่อ่านเลย์เอาต์เซกเตอร์ลบ flash จริงของแต่ละบอร์ดเพื่อแฟลช เฟิร์มแวร์ ที่ปลอดภัยยิ่งขึ้น IDE ยังคงสร้างบน Qt Creator 4.0.2 และ OpenMV firmware ที่แนบมาอัปเดตเป็น 2.9.0 ไม่มีการเปลี่ยนแปลงที่กระทบโปรเจกต์เดิม

ไฮไลต์

  • UI หลายภาษา พร้อมใช้งานแล้ว เพิ่มการแปลภาษาจีน (ตัวย่อและตัวเต็ม) ญี่ปุ่น ฝรั่งเศส อิตาลี สเปน รัสเซีย เยอรมัน อาหรับ เช็ก ฮังการี โปแลนด์ สโลวีเนีย และยูเครน

  • Bootloader flash-sector query ให้ IDE อ่านเลย์เอาต์เซกเตอร์ลบ flash จริงของกล้องที่เชื่อมต่อผ่าน bootloader แทนที่จะพึ่งค่าเริ่มต้นที่กำหนดไว้แบบ hardcoded เท่านั้น

  • เซกเตอร์ลบต่อบอร์ด ตอนนี้อ่านจาก boards.txt เพื่อให้แต่ละรุ่นกล้องลบเซกเตอร์ flash ที่ถูกต้องเมื่อแฟลช เฟิร์มแวร์ ใหม่

  • การแจ้งเตือน firmware ล้าสมัย เสนอให้อัปเกรดกล้องโดยอัตโนมัติเมื่อตรวจพบว่า firmware เวอร์ชันล้าสมัยเมื่อเชื่อมต่อ

  • ตัวอย่างใหม่ที่แนบมา เพิ่ม drawing primitives, image filters, สคริปต์ time-lapse, demo การจำแนกประเภท วัตถุด้วย CMSIS CNN และตัวอย่าง motor-shield

  • firmware 2.9.0 ที่แนบมา อัปเดต เฟิร์มแวร์ และ DFU images สำหรับ M7 (OPENMV3) และ H7 (OPENMV4) รวมถึง bootloader ของ H7

ฟีเจอร์ใหม่

  • การแปล UI หลายภาษา เพิ่มภาษาจีน (ตัวย่อและตัวเต็ม) ญี่ปุ่น ฝรั่งเศส อิตาลี สเปน รัสเซีย เยอรมัน อาหรับ เช็ก ฮังการี โปแลนด์ สโลวีเนีย และยูเครน พร้อมกฎ build ที่ช่วยให้สร้างการแปลใหม่ได้ (8350ff9ac, 4ef99202b, 0a7c85bfc, c678482dd, 052113877, e48ff5d34, 9dddbc498)

  • Bootloader flash-sector query เพิ่มโปรโตคอล bootloader ใหม่ที่ IDE query กล้องที่เชื่อมต่อเพื่ออ่านเลย์เอาต์เซกเตอร์ลบ flash จริง (start, all-start และ last sectors) แทนที่จะพึ่งค่า hardcoded เท่านั้น (38a84883e)

  • เซกเตอร์ลบต่อบอร์ด ตอนนี้อ่านจาก boards.txt (หมายเลขเซกเตอร์ท้ายต่อบรรทัด) เพื่อให้แต่ละรุ่นกล้องลบเซกเตอร์ที่ถูกต้องแทนการใช้ค่าเริ่มต้น global เดียว การ implement เริ่มต้นไม่ตรงกับ boards.txt (ซึ่งใช้หมายเลขท้ายคั่นด้วย space อยู่แล้ว) จนกระทั่ง 8217b94c3 แก้ไขเงื่อนไขการจับคู่บอร์ดและเปลี่ยน regex ตัวคั่นเซกเตอร์ท้ายจาก + เป็น whitespace จากนั้น 4843e46a8 ลบ debug print qDebug() ที่เหลืออยู่ (68a45da02, 8217b94c3, 4843e46a8)

  • การแจ้งเตือน firmware ล้าสมัย: เมื่อเชื่อมต่อ หาก firmware ของกล้องถูกตรวจพบว่าล้าสมัย IDE จะแจ้งให้อัปเกรดและเมื่อยืนยันแล้วจะเปิดการอัปเดต firmware โดยอัตโนมัติ (a79a40b45, 8217b94c3)

  • ตัวอย่างใหม่ที่แนบมา เพิ่ม drawing primitives (arrow, circle, cross, line, rectangle, text, image, flood fill), image filters ใหม่ (blur, cartoon, edge, bilateral สีและ ระดับสีเทา, light removal, kernel, unsharp, histogram และ adaptive-histogram equalization), ตัวอย่าง time-lapse, ตัวอย่าง CMSIS CNN object-classification ที่ใช้ img.classify_object() กับ CIFAR labels และตัวอย่าง motor-shield (909016427)

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

  • ไดเรกทอรีโปรเจกต์เริ่มต้น ตอนนี้ใช้โฟลเดอร์ ~/OpenMV เป็นค่าเริ่มต้น และหน้าต่าง Open/Save จดจำและเปิดไดเรกทอรีล่าสุดที่เยี่ยมชมระหว่างเซสชัน (fbdac7576)

  • About box ตอนนี้แสดงส่วน Credits ที่ระบุผู้เขียนการแปล (ภาษาอังกฤษ) และ build ที่แปลแล้วจะใช้ string ผู้แปลแทน (e8e823a11, 2efbe1e29)

  • เอกสาร offline ที่แนบมาอัปเดตใหม่ โดยเฉพาะการขยายเอกสาร API omv.image และหน้า MicroPython library อื่นๆ (aef76b825, b0f4701af)

  • ปิดใช้งานการเขียน flush ดิสก์พิเศษ (ไฟล์ temp openmv.null) ที่ดำเนินการเมื่อตัดการเชื่อมต่อเพื่อหลีกเลี่ยงกิจกรรมดิสก์ที่ไม่จำเป็นบน mass-storage drive ของกล้อง (6be486c62)

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

  • แก้ไข bootloader query ที่สลับลำดับค่าเซกเตอร์ลบ flash (all-start, start, last) เพื่อให้ลบเซกเตอร์ flash ที่ถูกต้องระหว่างการแฟลช firmware และ bootloader (fbdac7576)

  • ปรับปรุงตัวแปลงและตัวเล่นวิดีโอใหม่ให้เปิด ffmpeg และ ffplay ผ่าน temp script ที่สร้างขึ้นบน Windows, macOS และ Linux เพื่อให้ path ไฟล์ที่มีช่องว่างทำงานได้อย่างเชื่อถือได้ และแก้ไข path ffmpeg ของ Linux ที่แนบมาที่ตัวแปลงใช้ (8f17f888d, 83cd73144)

  • การเชื่อมต่อกับกล้องตอนนี้ลองใหม่โดยอัตโนมัติสูงสุด 10 ครั้งเมื่อ handshake เวอร์ชัน firmware หมดเวลาก่อนแสดงข้อผิดพลาด timeout ลดความล้มเหลวในการเชื่อมต่อที่ไม่ถูกต้อง (ae18dca93)

  • แก้ไขจังหวะเวลา serial command บน macOS โดยปรับ delays ระหว่าง command ตอนเริ่มและตอนสิ้นสุด ส่วนใหญ่เพิ่มขึ้น (arch string, script exec, descriptor/template save, sys reset และ frame-buffer enable เป็น 25-50 ms) ในขณะที่ delay เวอร์ชัน firmware ถูกปรับสมดุลใหม่ (เริ่มสั้นลง, สิ้นสุดนานขึ้น) เพื่อป้องกัน communication timeout (763357a08)

  • registration key ของบอร์ดที่กรอกในหน้าต่าง custom-board dialog ตอนนี้ตัด whitespace ทั้งหมดออก เพื่อละเว้นช่องว่างที่เกิดจากการพิมพ์โดยไม่ตั้งใจ (6be486c62, 8217b94c3)

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

  • ฐาน Qt Creator: 4.0.2

  • OpenMV firmware ที่แนบมา: เวอร์ชัน firmware.txt global ตอนนี้เป็น 2.9.0 (จาก 2.7.0 ผ่าน 2.8.0) การ bump 2.9.0 อัปเดตเฉพาะ firmware และ DFU images ของ M7 (OPENMV3) และ H7 (OPENMV4) พร้อม bootloader ของ H7 (M7 อัปเดตเฉพาะ bootloader.elf) ส่วน images ของ M4 (OPENMV2) อัปเดตล่าสุดที่ 2.8.0 (bfc0b188e, c0a86dd35)

  • เวอร์ชัน OpenMV IDE bump เป็น 1.9.0 ภายใน (จาก 1.8.2) (8f17f888d)

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

ไม่มี รุ่นนี้ไม่มีการเปลี่ยนแปลง workflow หรือพฤติกรรม โปรเจกต์เดิมยังคงทำงานได้โดยไม่ต้องเปลี่ยนแปลง