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.binweist 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 -demuxersabgefragt, 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 veralteteromfs*.imgentfernt 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.jsonnicht 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.