v4.8.9

v4.8.9 là bản phát hành cải thiện hiệu quả khi nhàn rỗi và độ tin cậy ngắt kết nối, được xây dựng trên Qt Creator 14.0.2. Nó cải tổ cách IDE theo dõi phần cứng để ngừng polling khi không có gì xảy ra, thắt chặt đường dẫn kết nối/ngắt kết nối, và thu gọn kho mô hình đi kèm. Không có rebase Qt Creator trong phạm vi này, nhưng một số hành vi mặc định và tên mô hình đi kèm đã thay đổi, vì vậy hãy xem lại các thay đổi phá vỡ tương thích bên dưới.

Điểm nổi bật

  • Theo dõi phần cứng dựa trên sự kiện thay thế polling thiết bị liên tục: IDE nay ngừng bộ hẹn giờ quét khi nhàn rỗi và chỉ quét lại cổng serial và ổ đĩa khi có sự kiện cắm/rút USB và gắn/tháo đĩa thực sự, giảm đáng kể mức sử dụng CPU và tài nguyên khi nhàn rỗi.

  • Bộ hẹn giờ nhàn rỗi được kiểm soát theo hoạt động: bộ hẹn giờ sự kiện bộ đệm khung hình (trước đây kích hoạt mỗi 1ms) nay chỉ chạy khi đang kết nối, và bộ hẹn giờ nháy con trỏ terminal (500ms) nay chỉ chạy khi terminal được focus.

  • Đồng bộ import nền tắt theo mặc định: tự động đồng bộ các thư mục import ExamplesDocuments/OpenMV hiện bị tắt và nút bật/tắt menu của nó bị ẩn, do đó IDE không còn liên tục quét lại các thư mục đó nữa.

  • Ngắt kết nối nhanh hơn, đáng tin cậy hơn: cổng serial được đóng và camera được giải phóng ngay lập tức, thời gian chờ giao thức được điều chỉnh giảm, và camera bị treo giờ phục hồi thay vì bị treo.

  • Nút chế độ bộ đệm khung hình rõ ràng hơn hiển thị JPG Mode hoặc RAW Mode để làm cho trạng thái nén hiện tại hiển thị rõ ràng.

Tính năng mới

  • Theo dõi sự kiện phần cứng gốc qua HardwareMonitor mới phát ra hardwareEventDetected sử dụng IOKit và DiskArbitration trên macOS, cửa sổ chỉ nhận tin nhắn WM_DEVICECHANGE trên Windows, và socket netlink NETLINK_KOBJECT_UEVENT trên Linux. Bộ hẹn giờ quét serial và quét ổ đĩa hiện được kiểm soát phía sau cửa sổ quét 10 giây khởi động lại trên mỗi sự kiện (a6612fec9, 462b55f7b, 17c2e93c7).

Các thay đổi và cải tiến khác

  • Bộ hẹn giờ xử lý sự kiện bộ đệm khung hình (trước đây kích hoạt mỗi 1ms) giờ được khởi động khi kết nối và dừng khi ngắt kết nối, và bộ hẹn giờ nháy con trỏ terminal (500ms) giờ khởi động và dừng khi terminal được focus/mất focus thay vì luôn chạy (a02afea53).

  • Tự động đồng bộ các thư mục import ExamplesDocuments/OpenMV bị tắt theo mặc định và nút bật/tắt bị ẩn; bộ hẹn giờ quét thư mục không còn khởi động khi init và chỉ chạy khi hành động (hiện bị ẩn) được bật (478f83e97).

  • Nút bật/tắt định dạng bộ đệm khung hình giờ hiển thị JPG Mode khi nén JPEG đang bật và RAW Mode khi tắt (c48831224).

  • Khi kết nối, IDE giờ luôn áp dụng mặc định ưu tiên JPEG của bo mạch cho bộ đệm khung hình thay vì khôi phục lựa chọn JPG/RAW đã lưu trước đó theo từng bo mạch (c48831224).

Sửa lỗi

  • Ngắt kết nối giờ đóng cổng serial và giải phóng camera (và cổng) ngay trong close(), làm cho ngắt kết nối nhanh hơn và đáng tin cậy hơn (1e8941080, 9d31bcf80).

  • Bộ hẹn giờ nhàn rỗi serial giờ được dừng và cờ giao thức v2 được xóa khi cổng đóng, sửa hành vi bộ hẹn giờ nhàn rỗi lỗi thời sau ngắt kết nối (4bd2fd9ea).

  • Thời gian chờ lệnh giao thức được điều chỉnh (thời gian chờ mở giảm từ 5s xuống 2s, resync và CHANNEL_SIZE sử dụng thời gian chờ ngắn 1s) và mọi lệnh serial giờ hủy đối tượng camera khi thất bại, do đó camera bị treo phục hồi và ngắt kết nối nhanh hơn thay vì bị treo (04aa6aea3).

  • Đã sửa lỗi khóa/treo khi dừng tập lệnh: sự kiện tập lệnh đã dừng giờ cũng xóa trạng thái sự kiện khung hình và đặt lại bộ hẹn giờ sẵn sàng khung hình (3695b0704).

  • Giao thức giờ chấp nhận đọc ngắn từ camera, trả về payload hoặc văn bản một phần thay vì loại bỏ hoặc báo lỗi (0c8ccd58e).

Hỗ trợ nền tảng và công cụ

  • Cơ sở Qt Creator: 14.0.2.

  • Các bo mạch kết hợp module AE3 hoặc N6 với cảm biến PAG7936 hoặc PS5520 giờ nhận được mặc định QVGA cao hơn (trước đây chỉ AE3 + PAG7936), do đó các ví dụ bị ảnh hưởng tự động nâng cấp từ QQVGA lên QVGA (fcc0c3227).

  • Kho mô hình ước tính tư thế ST MoveNet đi kèm đã được dọn dẹp: các biến thể per-tensor (_pt) dư thừa và các biến thể singlepose/st_movenet trùng lặp đã bị xóa, và các mô hình heatmap per-channel còn lại được đổi tên thành movenet_singlepose_192, movenet_singlepose_224, và movenet_singlepose_256 (18f66c4c1).

  • Đã loại bỏ mô hình phân vùng ngữ nghĩa DeepLabV3 đi kèm và các tài sản ví dụ của nó khỏi kho mô hình (a929e0dc1).

Các thay đổi phá vỡ tương thích

Các thay đổi hành vi hiển thị với người dùng và tài sản đi kèm giữa v4.8.8 và v4.8.9.

  • Khi kết nối, bộ đệm khung hình giờ luôn sử dụng mặc định ưu tiên JPEG của bo mạch và bỏ qua mọi lựa chọn JPG/RAW đã lưu trước đó theo từng bo mạch (c48831224).

  • Đồng bộ nền của các thư mục import ExamplesDocuments/OpenMV bị tắt theo mặc định và nút bật/tắt của nó bị ẩn (478f83e97).

  • Một số mô hình đi kèm đã bị xóa hoặc đổi tên: mô hình phân vùng ngữ nghĩa DeepLabV3 đã bị xóa, và các mô hình ST MoveNet đã được thu gọn và đổi tên thành movenet_singlepose_192/224/256. Các tập lệnh tham chiếu tên tệp mô hình cũ phải được cập nhật (a929e0dc1, 18f66c4c1).