v5.0.0#

v5.0.0 ist ein Major-Release. Es führt den OpenMV Viewer ein — einen separaten, schreibgeschützten Build zum Vorführen eines fertigen Produkts —, einen neuen OpenMV Cam Settings Editor, das v2 Kamera-Debug-Protokoll für v5.0.0 Kameras sowie eine große Reihe von Verbesserungen an Editor-, Terminal-, Firmware- und Machine-Vision-Arbeitsabläufen. Es basiert auf Qt Creator 14.0.2.

Der Versionssprung auf 5.0.0 markiert das Erscheinen der v5.0.0 Kamerageneration und der zugehörigen Werkzeuge; bestehende v4-Projekte und Arbeitsabläufe funktionieren unverändert weiter.

Highlights#

  • OpenMV Viewer — eine neue, separat installierte Build-Variante, die die IDE als abgeschottete, schreibgeschützte Telemetrie-Ansicht ausführt. Sie zeigt den Frame Buffer, das serielle Terminal und das Histogramm der Kamera und kann ein festes Skript ausführen, verbirgt aber die Authoring-, KI-/Modell- und Einstellungswerkzeuge, sodass ein Kunde ein auf OpenMV basierendes Produkt ohne die vollständige Entwicklungsumgebung vorführen kann.

  • OpenMV Cam Settings Editor — ein grafischer Editor für die on-board Einstellungs-Konfigurationsdatei der Kamera, sodass Sie Board-Einstellungen über ein Formular ansehen und ändern können, statt die Datei von Hand zu bearbeiten.

  • v2 Kamera-Debug-Protokoll — v5.0.0 Kameras verwenden ein neues, robusteres Debug-Protokoll mit Header-CRC-Validierung, Wiederherstellung bei Sequenzlücken und einer geteilten Bildratenanzeige, die die FPS an der Kamera und die Anzeige-FPS der IDE getrennt ausweist.

  • Benutzerdefinierte Firmware aus einer .zip laden — der Firmware-Installer akzeptiert jetzt direkt das .zip-Bundle der Build-Ausgabe eines Boards, wodurch sich ein benutzerdefiniertes oder lokal erstelltes Firmware-Image einfach flashen lässt.

  • Protokoll-Debug-Logging im seriellen Terminal — ein Schalter im seriellen Terminal protokolliert das Kamera-Debug-Protokoll mit lesbaren, emoji-markierten Zeilen zur Diagnose von Verbindungsproblemen.

  • Überarbeitetes Hilfemenü und Dokumentation im Editor — ein Untermenü OpenMV Docs ersetzt die alten flachen Links, F1 öffnet die Dokumentation für das Python-Symbol unter dem Cursor, das Überfahren eines API-Namens zeigt dessen Dokumentation inline an, und der Info-Dialog wurde modernisiert.

Neue Funktionen#

  • OpenMV Viewer Build-Variante. Ein Build im erzwungenen Viewer-Modus, unter dem Namen OpenMV Viewer gebrandet und installiert, mit eigener Executable-ID, eigenem Einstellungsspeicher und eigener Bundle-ID, sodass er neben der vollständigen IDE koexistiert. Er präsentiert sich als schreibgeschützte Telemetrie-Ansicht: Run/Stop und Stop-on-Connect funktionieren und führen ein Skript von der Festplatte aus (über -auto_run), die Menüs File/Edit und die Preferences bleiben erhalten, und die Firmware-/ROMFS-Wiederherstellung bleibt bestehen, während Authoring-Werkzeuge, Entwickler-Machine-Vision-Werkzeuge, Entwickler-Einstellungskategorien und KI-/Modell-/Dokumentationsressourcen aus Build und UI entfernt werden. ROMFS wird nur-laden und in das Tools-Menü verschoben, und die Abschlussdialoge des Firmware-Updates werden generisch gehalten (07722e78a8b, 5cd12ee260e, b97bf5447e4, 952b86de391, 1103f7988ed, f0f60261485, c743d5d67b9, b4bcdc2d71a, a37c032b6ff, 480e5668d29, 11c064cac93).

  • OpenMV Cam Settings Editor — ein GUI-Editor für die Einstellungs-Konfigurationsdatei der Kamera, geöffnet über das Tools-Menü (Issue #205) (f55a0d7fa58, 2d7f80b03cf).

  • v2 Kamera-Debug-Protokoll für v5.0.0 Kameras, mit Header-CRC-Validierung, bevor einem Header-Feld vertraut wird, Wiederherstellung bei Sequenzlücken, die über verlorene Pakete hinweg vorwärts rollt, statt zu stocken, und einer Bildraten-Anzeige, die in die Rate an der Kamera und die Anzeige-Rate der IDE aufgeteilt ist (c377bdbaea8, a3f0488ddcb, 29108dd40f7, c15e6c02789).

  • Benutzerdefinierte Firmware laden akzeptiert ein .zip-Bundle — wählen Sie die Build-Ausgabe-Zip eines Boards, und die IDE flasht die darin enthaltene Firmware (und ROMFS) (55e4eb2d900).

  • Debug-Logging im seriellen Terminal — eine Schaltfläche schaltet ein gestuftes Debug-Logging des Kameraprotokolls um, wobei jede Zeile emoji-markiert und zur besseren Lesbarkeit in der Emoji-Schriftart gerendert wird (09990c62810, 42e23c3c11e, 997705548c7, d2208de77d4).

  • Aktuelles Skript kopieren/konvertieren — eine Tools-Aktion, die das aktuelle Skript kopiert oder konvertiert, mit einem Schutz gegen das Speichern einer kompilierten main.py/boot.py (81a954f33cd).

  • F1-Dokumentationshilfe für das Python-Symbol unter dem Cursor, die den Symbol-Resolver mit den Hover-Tooltips teilt (c341330bc16).

  • Dokumentations-Tooltips im Editor — wenn Sie mit dem Mauszeiger über einen OpenMV-API-Namen fahren, wird dessen Dokumentation inline angezeigt, aufgelöst aus den mitgelieferten .pyi-Stubs und der eigenen Dokumentation des Moduls, sodass Sie nachlesen können, was eine Funktion, Methode, Konstante oder ein Modul tut, ohne Ihr Skript zu verlassen (7ebde92d2a6, f225824ba13, 59ad01a364a, 02c1e61a2a6).

  • Kamera benennen — ein IDE-lokaler Alias, den Sie einer verbundenen Kamera geben können, anstelle des Namens des seriellen Ports angezeigt, sodass sich identische Kameras unterscheiden lassen (c600158ca34).

  • Tastenkürzel-Seite — die Tastenkürzel-Seite in den Preferences wird jetzt angezeigt und auf die tatsächlich erreichbaren Aktionen gefiltert, mit klarerer Herkunft und Anordnung (4f5eae52e8e, 2d472fe5b40).

Verbesserungen an Editor, Terminal und UI#

  • Hilfemenü umstrukturiert in ein Untermenü OpenMV Docs (unter Wegfall der alten flachen Pinout-Links), mit Release-Notes-Links, die den Versionspfaden offizieller Releases hinzugefügt wurden (e1337ff67c4, 9eacc0994e6).

  • Info-Dialog modernisiert — automatisches Copyright-Jahr, eine Partner-Logo-Tabelle und ein einzeiliger Release-Notes-Link (d89fb74138d).

  • Das Frame-Buffer-Panel zeigt jetzt die Auflösungsanzeige und ein Frame-Buffer-Modus-Label neben der festen JPG-Schaltfläche; das Modus-Label ist ausgegraut, damit es nicht anklickbar wirkt (cb735f82337, 376b17d4e77, 39c6ffc3b26).

  • Histogramm-Bereich: Die Plots sind Spline-geglättet, der Bereich kann komprimieren (Labels werden ausgelassen und Plots stauchbar), und das Kanal-Label sitzt neben den Statistiken (327324ef7e9, 9f8c7035483, d204e93d5e4).

  • Gekoppelte Panel-Trenner — das Ziehen eines Trenners mit Strg/Cmd bewegt die Editor-/Terminal- und Frame-Buffer-/Histogramm-Splitter gemeinsam, und die Mini-Splitter-Griffe erhalten einen Hover-Halo mit einem breiteren Greifbereich (379dee250d6, 96b83984342).

  • Serielles Terminal — das automatische Scrollen wird nicht mehr bei jedem Ausgabe-Chunk neu fixiert, sodass das Hochscrollen bei schneller Ausgabe erhalten bleibt; das Terminal kann eine Datei von der Festplatte ausführen, wenn kein Editor vorhanden ist (af67a076e95, bc132aef536).

  • Docs-Befehle werden nach Seite statt nach Index benannt (a3201e9a4b4).

  • High-DPI / fraktionale Skalierung — Symbole, Overlays und der Splash-Screen werden bei fraktionalen Skalierungsfaktoren (125 %, 150 % und Ähnlichem) korrekt gerendert, und das Hauptfenster merkt sich seine Geometrie und seinen Bildschirm über Neustarts hinweg bei Multi-Monitor-Konfigurationen (c60711e4950, 60901b6e13f, f241d2ea8ce, 54a1bc31fbd).

Firmware, Boards und Werkzeuge#

  • Ein Board kann seine zuletzt ausgelieferte Firmware-Version fixieren, sodass ein Board, das keine neuere Firmware mehr erhält, nicht als veraltet markiert wird (bd987d32f42).

  • Veraltete Firmware: Der Statustext ist jetzt rot eingefärbt, um hervorzustechen (9b18d96bac5).

  • Hinweis zur Bootloader-Wiederherstellung — eine Abweichung bei bootloader.bin weist jetzt darauf hin, in den Bootloader-Wiederherstellungsmodus zu wechseln (d46b998c76e).

  • Videowiedergabe ist robuster: Der FFmpeg-Pfad wird angezeigt, wenn Werkzeuge ihn nicht starten können, die Meldung ist klarer, wenn eine Architektur keine Wiedergabe unterstützt, Eingabeformate werden mit ffmpeg -demuxers abgefragt, und Linux-Terminal-Fallbacks wurden hinzugefügt (0cc0e74a438, a75ec4898d0, 28e1ef10326, 51651780723).

  • Dataset-Capture-Skript auf das csi-Modul aktualisiert (41a781651e4).

  • Windows-Installer: Das Erscheinungsbild des Assistenten wurde verbessert (250599d9d9e).

Fehlerbehebungen#

  • Installation von Entwicklungs-Firmware für .lst-Boards (AE3) legt jetzt die in der Auflistung referenzierten Binärdateien im Flash-Verzeichnis ab, und die Dev-/Custom-Installation legt das ROMFS-Image des Bundles ab, wobei zuvor jede veraltete romfs*.img entfernt wird, sodass das heruntergeladene ROMFS geflasht wird statt eines übrig gebliebenen Editor-Dumps (3cf56e98668, 43bedc8c591).

  • libjpeg-Warnungen für abgeschnittene/beschädigte Frames werden aus dem Log herausgefiltert, sodass ein verlustbehafteter Stream das Terminal nicht zuspammt (6e2a8bed6cf, a5166abbdc1).

  • Die Beispielliste zeigt die interne index.json nicht mehr an (14ac8ca48a7).

  • Firmware-Upgrade- und Onboarding-Pop-ups werden im Viewer-Modus unterdrückt, sodass eine Produktdemo niemals auffordert, die Firmware des Kunden zu überschreiben (7b8528c3ad6).

  • Verwaiste und nur zum Authoring gehörende Tastenkürzel, die von entfernten Menüs übrig geblieben waren, wurden deaktiviert (be3bee8bb58, 27d1afc8705).

Lokalisierung#

  • Vier neue Sprachen — Indonesisch, Rumänisch, Thailändisch und Vietnamesisch — womit die IDE 37 übersetzte Sprachen erreicht, und jeder Katalog wurde über alle Sprachen hinweg aktualisiert, übersetzt und bereinigt (fcf04090843, c830e6c4de3, 5e22679923f).

Befehlszeile#

  • Optionsaliase im GNU-Stil ``–word`` werden jetzt neben den Formen mit einem einzelnen Bindestrich akzeptiert, und die -help-Ausgabe weist auf die Gleichwertigkeit hin (66414213dd9, 768c5d0e159).

Plattform- und Tool-Unterstützung#

  • Qt Creator Basis: 14.0.2.

  • OpenMV IDE Version auf 5.0.0 angehoben.

  • Neu: die separat installierte Build-Variante OpenMV Viewer.

  • Unterstützung für Python 3.14 — der mitgelieferte parso-Parser wurde auf 0.8.7 aktualisiert, wodurch Code-Vervollständigung und Language-Server mit der neuesten Python-Syntax funktionieren (578a4e39d97).

Breaking Changes#

Keine für bestehende Projekte. Das v2-Debug-Protokoll gilt für v5.0.0 Kameras; Kameras der v4-Generation verwenden weiterhin das bestehende Protokoll, und bestehende Skripte und Arbeitsabläufe sind nicht betroffen.