v4.4.0

v4.4.0 bổ sung API tf.regression(), hỗ trợ FLIR Lepton trên OpenMV Cam H7 Pro, hỗ trợ đồng xử lý Cortex-M4 trên Arduino Nicla Vision, và MicroPython 1.19. Một số mô-đun dành riêng cho board và các hành vi WiFi/LCD đã thay đổi — hãy đọc các thay đổi không tương thích bên dưới.

Điểm nổi bật

  • tf.regression() — chạy các mô hình hồi quy TensorFlow Lite với đầu vào/đầu ra 1 chiều.

  • Hỗ trợ cảm biến nhiệt FLIR Lepton trên OpenMV Cam H7 Pro.

  • Arduino Nicla Vision — hỗ trợ đồng xử lý Cortex-M4, MicroSpeech hoạt động, LPUART1.

  • MicroPython cập nhật lên 1.19; ulab cập nhật lên 5.1.1.

  • Thay đổi không tương thích: các mô-đun lcd/tv trên Nicla Vision bị vô hiệu hóa và driver WiFi RP2040 Connect đã thay đổi — xem phần thay đổi không tương thích.

Tính năng mới

  • tf.regression(model, input_array) — hàm mới cho các mô hình hồi quy TensorFlow Lite với đầu vào/đầu ra 1 chiều, trả về danh sách các giá trị float.

  • Điều khiển GC2145sensor.set_auto_exposure()sensor.set_auto_whitebal() hiện hoạt động trên GC2145 (có thể tắt tự động phơi sáng / cân bằng trắng; chưa hỗ trợ thiết lập phơi sáng/độ khuếch đại thủ công).

  • Arduino Nicla Vision — hỗ trợ đồng xử lý Cortex-M4 (CM4) và ngoại vi LPUART1 được kích hoạt.

  • machine.Pin — chân USB_VBUS nay được công khai cho tập lệnh người dùng.

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

  • MicroPython cập nhật lên 1.19; ulab lên 5.1.1; driver WiFi cyw43 đi kèm đã được cập nhật.

  • Các cổng RP2 (Arduino Nano RP2040 Connect) và nRF (Arduino Nano 33 BLE Sense) chuyển sang debugger dựa trên TinyUSB mới cho kết nối IDE/máy chủ.

  • XCLK của OV7670 tăng từ 12 MHz lên 24 MHz (cập nhật bộ thanh ghi).

Sửa lỗi

Camera và cảm biến:

  • Thống kê nhiệt độ vùng màu (blob) của OpenMV Pure Thermal nay sử dụng ảnh IR thay vì ảnh màu, nên nhiệt độ trung bình mỗi blob là chính xác.

  • Sửa xử lý ROI của draw_image() và tỷ lệ diện tích để có đầu ra tỷ lệ chính xác hơn.

  • IMU được khởi tạo lại sau khi reset mềm để tiếp tục hoạt động khi bus SPI của IMU được kích hoạt.

Hệ thống:

  • Sửa các vấn đề so sánh có dấu/không dấu trong phát hiện đặc trưng FAST/AGAST, phát hiện blob, CLAHE, và driver LCD/TV; sửa khởi tạo camera-GPIO / SPI / DAC trên STM32, ánh xạ chân LPUART trên H7, và đăng ký mô-đun nn của STM32Cube.AI.

Arduino Nicla Vision:

  • MicroSpeech hoạt động (tăng gấp đôi bộ đệm PDM, thêm ví dụ) và chế độ chờ tiêu thụ điện thấp đã được sửa.

Phần cứng và hỗ trợ board

  • OpenMV Cam H7 Pro — hỗ trợ cảm biến nhiệt FLIR Lepton.

  • Arduino Nicla Vision — đồng xử lý CM4, LPUART1, MicroSpeech, chế độ chờ tiêu thụ điện thấp.

Thay đổi API không tương thích

Các thay đổi API hiển thị với người dùng giữa v4.3.3 và v4.4.0. Phạm vi: Python C-modules 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:

  • nhỏ — API hẹp; chỉ ảnh hưởng đến tập lệnh trên một board cụ thể.

  • hành vi — cùng API, kết quả khác; 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ự đó. Nếu bạn chỉ muốn chuyển đổi code, hãy chuyển đến danh sách kiểm tra di chuyển ở cuối. Mỗi mã hash commit liên kết đến diff trên GitHub.

Các mô-đun Nicla Vision và WiFi RP2040 (nhỏ)

Trên Arduino Nicla Vision, các mô-đun lcdtv bị vô hiệu hóa để giải phóng bộ nhớ cho hỗ trợ đồng xử lý CM4 — các tập lệnh sử dụng các mô-đun đó trên Nicla Vision sẽ không còn tìm thấy chúng. Arduino Nano RP2040 Connect chuyển từ triển khai WiFi/nina tùy chỉnh của OpenMV sang driver/mô-đun NINA-W10 MicroPython thượng nguồn, có API khác.

Commits: f78d191e3, ddf01cb09

Timeout socket WiFi và lật dọc LCD (hành vi)

Timeout socket WINC1500 nay trả về lỗi không chặn (EWOULDBLOCK) thay vì ETIMEDOUT, vì vậy các socket hết thời gian chờ không bị đóng bất ngờ nữa — code bắt ETIMEDOUT cần được cập nhật. Shield LCD SPI display nay phát sinh ValueError ("Vertical flip requires triple buffering!") khi yêu cầu y_scale âm mà không bật triple buffering.

Commits: 1dc4bea88, 7e52cf751

Danh sách kiểm tra di chuyển

Để chuyển đổi sạch sang v4.4.0, công việc điển hình là:

  1. Trên Nicla Vision, ngừng sử dụng lcd/tv; trên Nano RP2040 Connect, chuyển code WiFi sang driver NINA-W10 thượng nguồn (các thay đổi mô-đun board).

  2. Cập nhật code socket WINC1500 để xử lý EWOULDBLOCK khi timeout, và bật triple buffering cho đầu ra LCD lật dọc (các thay đổi hành vi).