v4.2.2¶
v4.2.2 bổ sung hỗ trợ ảnh PNG (giải mã/mã hóa qua lodepng), trình tải mô hình tích hợp dựa trên bảng, hỗ trợ Portenta OV5640, cập nhật Edge-Impulse TensorFlow, và ulab 4.0. API cấu hình RPC CAN đã thay đổi — hãy đọc các thay đổi gây phá vỡ tương thích bên dưới.
Điểm nổi bật¶
Hỗ trợ PNG —
Image.to_png(),image.PNG, và đọc/ghi tệp PNG.tf.load_builtin_model()— mô hình tích hợp dựa trên bảng có thể được thay thế hoặc thêm vào tại thời điểm biên dịch.Portenta H7 — hỗ trợ camera OV5640 (với lấy nét tự động).
MicroPython/ulab — ulab được cập nhật lên 4.0.0.
Thay đổi gây phá vỡ: API cấu hình RPC CAN đã thay đổi — xem các thay đổi gây phá vỡ.
Tính năng mới¶
Định dạng ảnh PNG — phương thức
Image.to_png()mới, hằng sốimage.PNG/PIXFORMAT_PNG, tải/lưu tệp PNG (đọc/ghi.png), và đầu ra PNG trong các chuyển đổiimage.to(), thông qua codec lodepng tích hợp.tf.load_builtin_model(path)— tải mô hình tích hợp trong firmware và trả về bộ giá trị(labels, net); các mô hình tích hợp hiện được điều khiển bằng bảng để có thể thay thế hoặc thêm vào tại thời điểm biên dịch.
Các thay đổi và cải tiến khác¶
TensorFlow / Edge Impulse — thư viện suy luận đi kèm đã được cập nhật lên Edge Impulse ei-V2.5.0, mô hình
person_detectionđã được chuyển vào bảng mô hình tích hợp, và các toán tử TensorFlow còn thiếu đã được thêm vào tất cả các bản build Cortex-M0+/M4/M7/M55 để hỗ trợ chạy thêm nhiều mô hình Edge Impulse.ulab được cập nhật lên 4.0.0.
Mở cổng serial ảo USB ở 1200 bps giờ đây kích hoạt reset kiểu Arduino vào bootloader.
Firmware module WiFi WINC1500 đã được cập nhật lên 19.7.6 (với script cập nhật), và giờ đây nó báo cáo phiên bản driver host thực tế.
Cổng RP2 in "MPY: soft reboot" và đã thêm khởi tạo/hủy khởi tạo UART.
Sửa lỗi¶
Đã sửa kích thước bộ đệm khung hình thô của Arduino Nano RP2040 Connect và USB Product ID của Arduino Nicla Vision (liệt kê USB chính xác).
Hỗ trợ phần cứng và board¶
Arduino Portenta H7 — hỗ trợ camera OV5640 (với lấy nét tự động); GC2145 bị vô hiệu hóa trên Portenta.
Arduino Nano RP2040 Connect — cấu hình bộ nhớ và các mẫu filesystem mới.
WiFi Shield (WINC1500) — firmware được cập nhật lên 19.7.6.
Thay đổi API gây phá vỡ tương thích¶
Các thay đổi API hiển thị với người dùng giữa v4.2.1 và v4.2.2. Phạm vi: các C-module Python trong modules/ và thư viện Python trong scripts/libraries/.
Mỗi thay đổi được gắn nhãn theo mức độ ảnh hưởng:
minor — API hẹp; chỉ ảnh hưởng đến các tập lệnh đã sử dụng nó.
behavior — API giống nhau, kết quả khác nhau; hãy kiểm tra lại các tập lệnh đã tinh chỉnh.
Các thay đổi được nhóm theo mức độ ảnh hưởng theo thứ tự đó. Mỗi hash commit liên kết đến diff của nó trên GitHub.
API cấu hình RPC CAN (minor)¶
Trong thư viện rpc, tham số từ khóa CAN sampling_point của rpc_can_master / rpc_can_slave đã được đổi tên thành sample_point (để khớp với MicroPython upstream), và hàm trợ giúp cấu hình bit-timing CAN thủ công đã bị xóa — bus CAN giờ được cấu hình qua CAN(..., baudrate=, sample_point=). Các tập lệnh đã truyền sampling_point hoặc phụ thuộc vào tính toán bit-timing cũ phải được cập nhật.
image.format() và ảnh nén (behavior)¶
Với đường dẫn ảnh nén hợp nhất được thêm vào cho PNG, image.format() giờ trả về PIXFORMAT_INVALID cho định dạng không xác định, và lập chỉ mục/lặp/in ảnh nén giờ bao gồm cả PNG lẫn JPEG. Code kiểm tra giá trị trả về trước đó cho các định dạng không xác định cần được kiểm tra lại.
Commit: f12a4659c
Danh sách kiểm tra di chuyển¶
Để chuyển đổi sạch sang v4.2.2: đổi tên sampling_point → sample_point trong RPC CAN và bỏ mọi cài đặt bit-timing CAN thủ công (thay đổi RPC CAN), và kiểm tra lại bất kỳ code nào kiểm tra image.format() cho các định dạng không xác định (thay đổi format()).