v1.7.0¶
v1.7.0 bổ sung tính năng phân mảnh và tái hợp bộ đệm khung hình nối tiếp để các khung hình lớn có thể được truyền qua liên kết nối tiếp debug, làm cho ngắt kết nối với reset an toàn hơn bằng cách xả (và trên Windows, đẩy ra) ổ đĩa lưu trữ USB mass-storage của camera, và làm mới bộ ví dụ. Bản phát hành dựa trên Qt Creator 4.0.2 (cùng nền tảng với bản phát hành trước) và thêm hỗ trợ biên dịch cho các mục tiêu Linux nhúng cross-compiled như Raspberry Pi. Không có thay đổi phá vỡ tương thích.
Điểm nổi bật¶
Phân mảnh bộ đệm khung hình nối tiếp — các lần truyền bộ đệm khung hình lớn được chia thành các mảnh kích thước MTU và tái hợp trong pixel buffer, vì vậy các khung hình lớn có thể được truyền qua liên kết nối tiếp debug.
Ngắt kết nối với reset an toàn hơn — ổ đĩa USB mass-storage của camera được xả trước khi reset (và force-eject trên Windows) để đồng bộ hệ thống tệp trước.
Lưu tệp nguyên tử —
main.pyvà các tệp keypoint được ghi nguyên tử, ngăn ngừa hỏng dữ liệu và sửa lỗi đường dẫn ghimain.pyvào vị trí sai.Raspberry Pi / Linux nhúng — hỗ trợ biên dịch cross-compile hiện được bao gồm.
Làm mới ví dụ — bộ Servo Shield, các demo Feature-Detection mới, và các ví dụ video Image Reader/Writer.
Tính năng mới¶
Phân mảnh và tái hợp bộ đệm khung hình nối tiếp. Các lần truyền bộ đệm khung hình được chia thành các mảnh kích thước MTU và tái hợp trong pixel buffer, vì vậy các khung hình lớn có thể được truyền qua liên kết nối tiếp debug với MTU mặc định. Một bắt tay tự động thương lượng MTU runtime đã được thêm với cổng phiên bản firmware đặt ở 2.5.0, khớp với firmware 2.5.0 được đóng gói trong cùng commit (96458ccef). Cổng sau đó được nâng lên
9.9.9để phát hành, mà không có firmware nào được vận chuyển báo cáo, vì vậy các camera sử dụng MTU mặc định và không có thương lượng nào xảy ra (abd1dacb9).Xả/đẩy ra khi ngắt kết nối với reset. Ngắt kết nối với reset hiện xả ổ đĩa USB mass-storage của camera trước khi reset: trên Windows ổ đĩa được force-eject, trong khi trên Linux và macOS hệ thống tệp của ổ đĩa được đồng bộ (
syncfs/sync_volume_np). LỗiFailed to ejectđược báo cáo khi thất bại trên cả ba nền tảng (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Các ví dụ Servo Shield. Đã thêm bộ ví dụ
15-Servo-Shieldminh họa servo được điều khiển bởi PCA9685, bao gồm driverpca9685.pyvà helperservo.py(abd1dacb9).Các ví dụ Feature-Detection mới. Đã thêm
find_circles(Hough),find_rects(quad-threshold),find_numbers(nhận dạng chữ số LeNet), và các ví dụ hồi quy tuyến tính nhanh và mạnh dưới09-Feature-Detection(abd1dacb9).Các ví dụ video và điều khiển bo mạch. Đã thêm các ví dụ Image Reader/Writer để ghi và phát lại các luồng ảnh chụp từ thẻ SD, một ví dụ điều khiển bo mạch RTC, và một trình chạy unit-test trên camera (abd1dacb9).
Các thay đổi và cải tiến khác¶
Đã đổi tên thư mục ví dụ
99-Tests(trước đây là15-Tests) và thêm trình chạyunittests.py(abd1dacb9).
Sửa lỗi¶
Đã tăng cường lưu tệp
main.pyvà keypoint. Các lần ghi đã được chuyển sang ghi nguyên tửFileSaver(ghi rồi hoàn tất) trong (4fd4e89cf), và một dấu phân cách đường dẫn bị thiếu ghimain.pyvào vị trí sai đã được sửa trong (1865ffd31).Cải thiện độ tin cậy nối tiếp bằng cách mở rộng bộ đệm đọc nối tiếp lên 1MB trên tất cả các cổng và tăng timeout tạm dừng đọc, giải quyết vấn đề mất dữ liệu với
QSerialPort(7f68368dc).Đã sửa lỗi bố cục thanh chia cửa sổ bằng cách xuất
MainWindowvà phát tín hiệu show-event để plugin OpenMV có thể khôi phục bố cục khi cửa sổ chính được hiển thị (4895e20b7).
Hỗ trợ nền tảng và công cụ¶
Nền tảng Qt Creator: 4.0.2.
Đã thêm hỗ trợ biên dịch cho các mục tiêu Linux nhúng cross-compiled như Raspberry Pi: triển khai font Qt, sửa xử lý
chrpath/RPATH, biên dịch các bản dịch với binary host, và thêm dependencyqmlcòn thiếu (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).Đã cập nhật firmware OpenMV đi kèm từ 2.4.1 lên 2.5.0 (96458ccef).
Đã đổi tên các thư mục firmware
OMV2/OMV3thànhOPENMV2/OPENMV3và cung cấp firmware và binary bootloader STM32F427 (OPENMV2) và STM32F765 (OPENMV3) đã được cập nhật và biên dịch lại (abd1dacb9).
Thay đổi phá vỡ tương thích¶
Không có. Bản phát hành này không có thay đổi quy trình làm việc hay hành vi nào hướng đến người dùng, và các dự án hiện có tiếp tục hoạt động bình thường.