v3.1.0

v3.1.0 führt das fir Thermopile-Modul (MLX90620 / MLX90640 / AMG8833), WiFi-IDE-Debugging und -Erkennung über den WINC1500, eine UVC-Webcam-Firmware, sensor.shutdown(), image.selective_search() sowie die Module uctypes und pyb.CAN ein. Einige image-Methoden wurden auf der OpenMV Cam M4 entfernt — lesen Sie die nachfolgenden Breaking Changes.

Höhepunkte

  • fir-Modul — Unterstützung für MLX90620 / MLX90640 / AMG8833 Thermopile-Wärmebildkameras.

  • WiFi-IDE — Debugging und Programmierung über WiFi (WINC1500) mit UDP-Broadcast-Erkennung (keine fest codierte IP erforderlich).

  • UVC-Webcam — eine USB-Video-Class-Firmware, um die Kamera als Webcam zu verwenden.

  • Neue APIssensor.shutdown(), image.selective_search() sowie die Module uctypes / pyb.CAN.

  • Breaking: image.mean() und image.morph() sind auf der OpenMV Cam M4 nicht mehr verfügbar — siehe die Breaking Changes.

Neue Funktionen

  • fir — das Thermopile-Modul mit Unterstützung für MLX90620 / MLX90640 / AMG8833 hinzugefügt: fir.init(), fir.snapshot(), fir.read_ir(), fir.draw_ir() sowie die Konstanten FIR_MLX90640 / FIR_AMG8833, mit sensorspezifischen Thermopile-Shield-Beispielen.

  • WiFi-IDE — WiFi-Programmierung/-Debugging über den WINC1500 mit UDP-Broadcast-Erkennung, sodass OpenMV IDE Kameras automatisch finden kann (die Firmware liest die STA-/AP-Einstellungen aus der IDE).

  • UVC-Webcam — eine USB-Video-Class-Webcam-Firmware hinzugefügt.

  • sensor.shutdown() — die Kamera über den PWDN-Pin herunterfahren.

  • image.selective_search() — Rechtecke für Regionsvorschläge, mit einem selective_search.py-Beispiel.

  • Module — das Modul uctypes aktiviert, pyb.CAN reaktiviert und zusätzliche MicroPython-Module aktiviert; ein USB-HID-Beispiel und eine Funktion zur Prüfung, ob die IDE verbunden ist, hinzugefügt.

Weitere Änderungen und Verbesserungen

  • Einen Empfangspuffer pro Socket für zuverlässigeres recv von WiFi-Sockets hinzugefügt; die image-Mathematikmethoden (top_hat / black_hat / negate / replace / add / sub / mul / div / min / max / difference / blend) liegen nun hinter einem IMLIB_ENABLE_MATH_OPS-Build-Flag (in der Standard-Firmware standardmäßig aktiviert).

Fehlerbehebungen

Bildverarbeitung und Kamera:

  • Behoben, dass image.save() die Datei nach dem Schreiben von Rohbildern nicht schloss (abgeschnittene/beschädigte Speicherungen), sowie die SPI-GPIO-Konfiguration des FLIR Lepton.

System und Konnektivität:

  • Das STM32F7-SPI-BUSY-Flag-Erratum (2.11.2) umgangen, das Broadcast-Intervall / die Socket-Bereinigung / den Debug-Timer des WiFi-IDE-Debuggings, das Parsen von Ganzzahlen in openmv.ini und die H7-Flash-Latenz behoben.

Hardware- und Board-Unterstützung

  • MLX90620 / MLX90640 / AMG8833 Thermopile-(FIR-)Sensoren.

  • UVC-Webcam — USB-Video-Class-Firmware.

  • WINC1500 — WiFi-IDE-Debugging und -Erkennung.

Breaking API-Änderungen

Für Benutzer sichtbare API-Brüche zwischen v3.0.0 und v3.1.0. Umfang: Python-C-Module in modules/ und Python-Bibliotheken in scripts/libraries/.

Die Breaking Changes sind behavior-Änderungen, die auf die OpenMV Cam M4 beschränkt sind — überprüfen Sie betroffene Skripte erneut. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.

image.mean() / image.morph() auf der OpenMV Cam M4 entfernt (behavior)

Um Flash/RAM auf der OpenMV Cam M4 (OMV2) einzusparen, wurden image.mean() und image.morph() auf diesem Board herauskompiliert; ihr Aufruf wirft nun einen Fehler „unavailable“. Verwenden Sie einen anderen Filter (z. B. image.median() / image.midpoint()) oder führen Sie die Morphologie- / Mittelwertfilterung auf einer neueren Kamera (M7 / H7) aus. Andere Boards sind nicht betroffen.

Commits: abe97a73b, 4e34b32ec

Migrations-Checkliste

Ersetzen Sie auf der OpenMV Cam M4 image.mean() / image.morph() durch einen anderen Filter oder verlagern Sie diese Verarbeitung auf eine M7- / H7-Kamera (die Entfernung der M4-Methoden). Alle anderen Skripte laufen unverändert.