v2.4.0¶
v2.4.0 สร้างบน Qt Creator 4.0.2 และมุ่งเน้นที่บูตโหลดเดอร์ V3 ใหม่ (การสอบถามเลย์เอาต์ QSPI flash ระหว่างการโหลดเฟิร์มแวร์ และการลบข้อมูลระหว่างการลบ onboard-data-flash แบบสมบูรณ์) การรายงาน sensor และบอร์ดแบบสดในแถบสถานะ และโปรโตคอล USB debug 32 บิตใหม่ที่ตรงกับเฟิร์มแวร์ที่รวมมา นอกจากนี้ยังเพิ่มคู่มือ LED สำหรับการเริ่มต้นใช้งานครั้งแรกและตัวอย่างใหม่จำนวนมากสำหรับ TensorFlow, Modbus, และ WiFi เนื่องจากโปรโตคอล debug เปลี่ยนแปลง กล้องจึงต้องใช้เฟิร์มแวร์ที่รวมมาใหม่เพื่อเชื่อมต่อ
ไฮไลต์¶
การรองรับ V3 bootloader สอบถามเลย์เอาต์ QSPI flash ภายนอกของบอร์ดระหว่างการโหลดเฟิร์มแวร์ และลบข้อมูลระหว่างการลบ onboard-data-flash แบบสมบูรณ์ (d953df62f).
การรายงาน sensor และบอร์ด สอบถามโมดูล sensor ของกล้องที่เชื่อมต่อเมื่อเชื่อมต่อ และแสดงผลในแถบสถานะ (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) พร้อมกับป้ายกำกับประเภทบอร์ดใหม่ (0ffa82958).
การคัดลอกโมเดล TensorFlow ให้คุณคัดลอกโมเดล
.tfliteไปยัง cam ได้ ไม่ใช่แค่ไฟล์โครงข่ายประสาทเทียม.network(ad1aa98f0).Erase Onboard Data Flash เป็นคำสั่ง
Toolsใหม่ที่ลบเฉพาะ flash ระบบไฟล์ onboard ของ cam หลังจากการยืนยัน โดยไม่ต้องแฟลชเฟิร์มแวร์ใหม่ (d953df62f, 98686ac46).คู่มือ LED สำหรับการเริ่มต้นใช้งานครั้งแรก เป็นกล่องโต้ตอบ
OpenMV Cam LED Colorsใหม่ที่อธิบายสถานะ LED onboard และสามารถปิดได้อย่างถาวร (c2d00422f).
คุณสมบัติใหม่¶
V3 bootloader สอบถามเลย์เอาต์ QSPI flash ระหว่างการโหลดเฟิร์มแวร์ และลบ QSPI flash ภายนอกเฉพาะระหว่างการลบ onboard-data-flash แบบสมบูรณ์ โดย
connectClickedจะขับbootloaderQSPIFLayoutบนบอร์ด V3 เสมอ แต่รันbootloaderQSPIFEraseเฉพาะเมื่อตั้งค่าforceFlashFSErase(คำสั่ง QSPI write/memtest ถูก implement ในชั้น IO แต่ loader ยังไม่ได้ใช้งาน) (d953df62f).สถานะ sensor และบอร์ด สอบถามโมดูล sensor ของกล้องเมื่อเชื่อมต่อ และแสดงผล (OV2640, OV5640, OV7690, OV7725, OV9650, MT9V034, LEPTON) ในแถบสถานะ พร้อมกับป้ายกำกับประเภทบอร์ดใหม่ โดยใช้ map id-to-name ใน
sensors.txtใหม่ (0ffa82958).คู่มือ LED สำหรับการเริ่มต้นใช้งานครั้งแรก เพิ่มกล่องโต้ตอบ
OpenMV Cam LED Colorsใหม่ที่แสดงขึ้นหลังจากดีเลย์สั้นๆ เมื่อhelloworld_1.pyเป็นเอกสารที่เปิดอยู่ในการรันครั้งแรก อธิบายสถานะ LED onboard (กะพริบสีเขียว = bootloader กำลังทำงาน, สีน้ำเงิน = กำลังรันmain.py, สีขาว = panic ความล้มเหลวของฮาร์ดแวร์) โดยช่องทำเครื่องหมาย "Don't show this message again." จะบันทึกการปิดผ่านการตั้งค่าDONT_SHOW_LED_STATES_AGAIN(c2d00422f).เปิดโฟลเดอร์ไดรฟ์ OpenMV Cam เป็นรายการเมนู
Toolsใหม่ที่เปิดไดรฟ์ที่ mount ของกล้องในเบราว์เซอร์ไฟล์ระบบ (a49f54305).Erase Onboard Data Flash เป็นคำสั่ง
Toolsใหม่ที่ลบเฉพาะ flash ระบบไฟล์ onboard หลังจากการยืนยัน โดยไม่ต้องแฟลชเฟิร์มแวร์ใหม่ (d953df62f, 98686ac46).การคัดลอกโมเดล TensorFlow ให้กล่องโต้ตอบคัดลอกโมเดลสามารถคัดลอกโมเดล
.tfliteไปยัง cam นอกจากไฟล์โครงข่ายประสาทเทียม.networkโดยตัวกรองกล่องโต้ตอบยังได้รับรายการLabel Files (*.txt)และAll Filesเพิ่มเติม (ad1aa98f0, 0ffa82958, c0dbdd9e5).การสลับเวอร์ชันโปรโตคอล debug แยกคำสั่ง serial
GetAttribute,SetAttribute,FBEnableและJPEGEnableเมื่อสื่อสารกับเฟิร์มแวร์ 3.5.3+ เพื่อความน่าเชื่อถือ (83b9ca18f).ตัวอย่างที่รวมมาใหม่ เพิ่มสคริปต์ mobilenet และ person-detection sliding-window ของ TensorFlow Lite พร้อมตัวอย่าง STM32Cube.AI (
nn_stm32cubeai.py) MNIST โฟลเดอร์32-modbusใหม่ (modbus_rtu_slave.py,modbus_apriltag.py), การเพิ่มเติม WiFi shield (http_client_ssl,static_ip,mqtt_pub/mqtt_sub), Arduino UART/SPI-slave และ CAN (e26b90d79, 42ba8f5c4).
การเปลี่ยนแปลงและการปรับปรุงอื่นๆ¶
อัปเดตโปรโตคอล USB debug เป็นเฟิร์มแวร์ใหม่ โดยการอ่าน attribute ใช้คำสั่ง
ATTR_READ_2(0xCA) 32 บิตใหม่ และ payload ของ attribute, value และ framebuffer-enable ส่งเป็น long 32 บิตแทน word 16 บิต (55d7cfe70).เปลี่ยนชื่อ Save open script to OpenMV Cam เป็น Save open script to OpenMV Cam (as main.py) เพื่อชี้แจงว่าเขียน
main.py(a49f54305).เปลี่ยนชื่อ Run Bootloader เป็น Run Bootloader (Load Firmware) เพื่อชี้แจงวัตถุประสงค์ (ad1aa98f0).
เมนูตัวอย่างตอนนี้จัดเรียงตามคำนำหน้าตัวเลขของโฟลเดอร์/ไฟล์ และตัวเลข
NN-นำหน้าถูกตัดออกจากชื่อที่แสดง (ad1aa98f0).เทอร์มินัลเอาต์พุตและ serial ตอนนี้แสดง tab เป็นช่องว่างโดยใช้ความกว้าง tab ของ serial terminal ที่กำหนดค่าได้จากการตั้งค่าตัวแก้ไขข้อความ แทนที่ความกว้างคงที่ 8 (98686ac46).
การตรวจจับไดรฟ์ Linux ตอนนี้ยังรับ filesystem ที่ mount ด้วย
fuseblk(เช่น volume exFAT/NTFS) เมื่อเชื่อมโยงไดรฟ์กล้อง (c0dbdd9e5).อัปเดตชุดเอกสาร HTML ของ MicroPython ที่รวมมา (reference ไลบรารี, บทช่วยสอน esp8266/esp32, หน้าและรูปภาพที่สร้างขึ้น) ที่แสดงในความช่วยเหลือของ IDE (e69d71f7c, 90b5c6eb5, 97b0f645a).
การแก้ไขข้อบกพร่อง¶
แก้ไข numeric overflow ในสถิติฮิสโตแกรม (ค่าเฉลี่ย, ควอร์ไทล์, มัธยฐาน, ส่วนเบี่ยงเบนมาตรฐาน) โดยขยาย accumulator จาก
intเป็น 64 บิต ป้องกันสถิติที่ผิดพลาดสำหรับภาพขนาดใหญ่ (55d7cfe70).ปรับปรุงการ disconnect/eject บน Linux ใหม่: การ flush
syncfs/closedirที่ไม่น่าเชื่อถือถูกลบออก และตอนนี้ไดรฟ์ถูก unmount ด้วยคำสั่งumountธรรมดา โดยไม่มีกล่องโต้ตอบความคืบหน้า (b86d5c62c, c0dbdd9e5, 30d4a7d2d).ตอนนี้ไดรฟ์ USB ของบอร์ดจะถูกเชื่อมโยงเฉพาะเมื่อเฟิร์มแวร์ใหม่พอหรือมีไฟล์ marker
.openmv_diskอยู่ ป้องกัน IDE จากการจับไดรฟ์แบบถอดได้ที่ผิด (e464eaed4).แก้ไข logic การเชื่อมต่อใหม่ให้การเรียกใช้งาน bootloader/erase ขณะเชื่อมต่ออยู่จะ disconnect ก่อนแล้วจึง retry อย่างสะอาด หลีกเลี่ยงสถานะที่ติดค้าง (d953df62f).
เขียน comment/whitespace stripper ที่ใช้เมื่อส่งสคริปต์ไปยัง cam ใหม่เป็น state machine ที่รับรู้ string เพื่อให้อักขระ
#ภายใน string ไม่ถูกเข้าใจผิดว่าเป็น comment และจัดการ whitespace ท้ายและ docstring ได้ (24dff1b2f).แก้ไขการจัดการ translation string สำหรับข้อความกล่องโต้ตอบ connection/terminal หลายรายการ เพื่อให้คำสั่ง shell ที่ฝังอยู่ (
sudo adduser, ขั้นตอนการติดตั้งpydfu) ไม่เป็นส่วนหนึ่งของข้อความที่แปลได้และแสดงผลอย่างถูกต้อง (b5705a57e).
การรองรับแพลตฟอร์มและเครื่องมือ¶
ฐาน Qt Creator: 4.0.2.
เปลี่ยนชื่อบอร์ด/เฟิร์มแวร์ OpenMV Cam H7 Plus จาก
OPENMV4Rเป็นOPENMV4P(OMV4P_H7_32768_SDRAM) และรวมเฟิร์มแวร์ภายใต้ชื่อใหม่ (c0dbdd9e5).แก้ไขชื่อแสดงผลของบอร์ด H7 Plus ให้ใช้ underscore แทนช่องว่าง (
OpenMV_Cam_H7_Plus_(STM32H743_w/_SDRAM)) (75764132c).เฟิร์มแวร์ที่รวมมาถูกอัปเดตตลอดการเปิดตัว โดยสิ้นสุดที่เวอร์ชัน 3.5.2 สำหรับ OPENMV2/3/4/4P (การเพิ่มขั้นสุดท้ายใน 15c07498c; การเพิ่มขั้นสะสมก่อนหน้าใน 42ba8f5c4 เป็น 3.4.2, a99c2e3e1 เป็น 3.4.3, e26b90d79 เป็น 3.5.0 และ 97b0f645a เป็น 3.5.1).
เวอร์ชันเฟิร์มแวร์ที่รวมมา: OPENMV2 (Cam M4) 1.4.11, OPENMV3 (Cam M7) 1.4.11, OPENMV4 (Cam H7) 1.2.15, OPENMV4P (Cam H7 Plus) 1.2.15.
เวอร์ชัน OpenMV IDE เพิ่มจาก 2.2.1 เป็น 2.4.0.
การเปลี่ยนแปลงที่ทำให้ไม่สามารถใช้งานร่วมกันได้¶
โปรโตคอลการอ่าน attribute USB debug ถูกเปลี่ยนจากคำสั่ง ATTR_READ (0x8A) 16 บิตเก่าเป็นคำสั่ง ATTR_READ_2 (0xCA) 32 บิตใหม่ และ payload ของ attribute, value และ enable ตอนนี้ส่งเป็น long 32 บิต IDE ยังสอบถาม sensor ID ของกล้องเมื่อเชื่อมต่อด้วย การดำเนินการนี้ต้องการเฟิร์มแวร์ที่ implement โปรโตคอลใหม่ เฟิร์มแวร์ 1.2.15 / 1.4.11 ที่รวมมาให้มีไว้แล้ว ดังนั้นกล้องรุ่นเก่าจะต้องแฟลชเป็นเฟิร์มแวร์ใหม่เพื่อเชื่อมต่อ