v1.9.0

v1.9.0 ist das Internationalisierungs-Release und fügt eine vollständig übersetzte Benutzeroberfläche in mehr als einem Dutzend Sprachen hinzu, daneben ein neues Bootloader-Abfrageprotokoll, das das tatsächliche Flash-Lösch-Sektorlayout jedes Boards für ein sichereres Firmware-Flashen ausliest. Die IDE basiert weiterhin auf Qt Creator 4.0.2, und die mitgelieferte OpenMV-Firmware wurde auf 2.9.0 aktualisiert. Es gibt keine breaking changes für bestehende Projekte.

Highlights

  • Mehrsprachige UI ist nun verfügbar und fügt Übersetzungen für Chinesisch (vereinfacht und traditionell), Japanisch, Französisch, Italienisch, Spanisch, Russisch, Deutsch, Arabisch, Tschechisch, Ungarisch, Polnisch, Slowenisch und Ukrainisch hinzu.

  • Bootloader-Flash-Sektorabfrage lässt die IDE das tatsächliche Lösch-Sektorlayout einer verbundenen Kamera über den Bootloader auslesen, anstatt sich ausschließlich auf hartcodierte Standardwerte zu verlassen.

  • Board-spezifische Löschbereiche werden nun aus boards.txt gelesen, sodass jedes Kameramodell beim erneuten Flashen der Firmware die korrekten Flash-Sektoren löscht.

  • Hinweis auf veraltete Firmware bietet an, die Kamera automatisch zu aktualisieren, wenn beim Verbinden eine veraltete Firmware-Version erkannt wird.

  • Neue mitgelieferte Beispiele fügen Zeichen-Grundelemente, Bildfilter, ein Zeitraffer-Foto-Skript, eine CMSIS-CNN-Objektklassifizierungs-Demo und Motor-Shield-Beispiele hinzu.

  • Mitgelieferte Firmware 2.9.0 aktualisiert die M7- (OPENMV3) und H7- (OPENMV4) Firmware und DFU-Images (sowie den H7-Bootloader).

Neue Funktionen

  • Mehrsprachige UI-Übersetzungen fügen Chinesisch (vereinfacht und traditionell), Japanisch, Französisch, Italienisch, Spanisch, Russisch, Deutsch, Arabisch, Tschechisch, Ungarisch, Polnisch, Slowenisch und Ukrainisch hinzu, mit einer Build-Regel, die die Übersetzungen neu generierbar macht (8350ff9ac, 4ef99202b, 0a7c85bfc, c678482dd, 052113877, e48ff5d34, 9dddbc498).

  • Bootloader-Flash-Sektorabfrage fügt ein neues Bootloader-Protokoll hinzu, bei dem die IDE die verbundene Kamera abfragt, um ihr tatsächliches Flash-Lösch-Sektorlayout (Start-, All-Start- und letzte Sektoren) auszulesen, anstatt sich ausschließlich auf hartcodierte Standardwerte zu verlassen (38a84883e).

  • Board-spezifische Löschbereiche werden nun aus boards.txt gelesen (nachgestellte Sektornummern pro Zeile), sodass jedes Kameramodell die korrekten Sektoren löscht, anstatt einen einzigen globalen Standardwert zu verwenden. Die ursprüngliche Implementierung passte nicht zu boards.txt (das bereits durch Leerzeichen getrennte nachgestellte Zahlen verwendete), bis 8217b94c3 die Board-Abgleichsbedingung korrigierte und das Trennzeichen-Regex für nachgestellte Sektoren von + auf Leerraum änderte; 4843e46a8 entfernte dann eine übrig gebliebene qDebug()-Debug-Ausgabe (68a45da02, 8217b94c3, 4843e46a8).

  • Hinweis auf veraltete Firmware: beim Verbinden fordert die IDE nun, falls die Firmware der Kamera als veraltet erkannt wird, zur Aktualisierung auf und startet bei Bestätigung das Firmware-Update automatisch (a79a40b45, 8217b94c3).

  • Neue mitgelieferte Beispiele fügen Zeichen-Grundelemente (Pfeil, Kreis, Kreuz, Linie, Rechteck, Text, Bild, Flood Fill), neue Bildfilter (Weichzeichnen, Cartoon, Kante, bilateral für Farbe und Graustufen, Lichtentfernung, Kernel, Unsharp, Histogramm- und adaptive Histogramm-Equalisierung), ein Zeitraffer-Foto-Beispiel, ein CMSIS-CNN-Objektklassifizierungs-Beispiel mit img.classify_object() und CIFAR-Labels sowie Motor-Shield-Beispiele hinzu (909016427).

Weitere Änderungen und Verbesserungen

  • Das Standard-Projektverzeichnis ist nun standardmäßig ein Ordner ~/OpenMV, und Öffnen-/Speichern-Dialoge merken sich das zuletzt besuchte Verzeichnis und öffnen es sitzungsübergreifend erneut (fbdac7576).

  • Das Info-Fenster zeigt nun einen Abschnitt Credits, der den (englischen) Übersetzungsautor nennt; lokalisierte Builds ersetzen den Übersetzer-String (e8e823a11, 2efbe1e29).

  • Aktualisierte mitgelieferte Offline-Dokumentation, insbesondere mit erweiterter omv.image-API-Referenz und weiteren MicroPython-Bibliotheksseiten (aef76b825, b0f4701af).

  • Der zusätzliche Disk-Flush-Schreibvorgang (die Temp-Datei openmv.null), der beim Trennen ausgeführt wurde, wurde deaktiviert, um unnötige Festplattenaktivität auf dem Massenspeicherlaufwerk der Kamera zu vermeiden (6be486c62).

Fehlerbehebungen

  • Eine Bootloader-Abfrage, die die Reihenfolge der Flash-Lösch-Sektorwerte vertauschte (all-start, start, last), wurde behoben und korrigiert damit, welche Flash-Sektoren beim Firmware- und Bootloader-Flashen gelöscht werden (fbdac7576).

  • Der Konverter und Player für Videoaufnahmen wurde überarbeitet, um ffmpeg und ffplay unter Windows, macOS und Linux über ein generiertes Temp-Skript zu starten, sodass Dateipfade mit Leerzeichen zuverlässig funktionieren, und der vom Konverter verwendete Pfad zur mitgelieferten Linux-ffmpeg wurde korrigiert (8f17f888d, 83cd73144).

  • Beim Verbinden mit einer Kamera wird nun automatisch bis zu 10-mal erneut versucht, wenn der Firmware-Versions-Handshake eine Zeitüberschreitung hat, bevor der Timeout-Fehler angezeigt wird, was störende Verbindungsfehler reduziert (ae18dca93).

  • Das Timing serieller Befehle unter macOS wurde durch Abstimmung der Start- und End-Verzögerungen zwischen den Befehlen behoben: die meisten wurden erhöht (Architektur-String, Skriptausführung, Speichern von Deskriptor/Template, Sys-Reset und Frame Buffer-Aktivierung auf 25-50 ms), während die Firmware-Versions-Verzögerung neu ausbalanciert wurde (kürzerer Start, längeres Ende), was Kommunikations-Timeouts verhindert (763357a08).

  • Der im Dialog für benutzerdefinierte Boards eingegebene Board-Registrierungsschlüssel entfernt nun jeglichen Leerraum, sodass versehentliche Leerzeichen im eingegebenen Schlüssel ignoriert werden (6be486c62, 8217b94c3).

Plattform- und Werkzeugunterstützung

  • Qt Creator-Basis: 4.0.2.

  • Mitgelieferte OpenMV-Firmware: die globale firmware.txt-Version ist nun 2.9.0 (von 2.7.0 über 2.8.0). Die Anhebung auf 2.9.0 aktualisierte nur die M7- (OPENMV3) und H7- (OPENMV4) Firmware und DFU-Images sowie den H7-Bootloader (die M7 aktualisierte nur bootloader.elf); die M4- (OPENMV2) Images wurden zuletzt bei 2.8.0 aktualisiert (bfc0b188e, c0a86dd35).

  • OpenMV IDE-Version intern auf 1.9.0 angehoben (von 1.8.2) (8f17f888d).

Breaking changes

Keine. Dieses Release bringt keine Workflow- oder Verhaltensbrüche mit sich; bestehende Projekte funktionieren unverändert weiter.