v3.6.8

v3.6.8 fügt das Board OpenMV Cam Pure Thermal hinzu, macht die tf-Inferenz etwa 4× schneller, indem TensorFlow auf CMSIS-NN verlagert wird, erweitert die Desktop-Bibliothek rpc um UART-/Kvaser-CAN-/I2C-/SPI-Schnittstellen und aktiviert die SD-Karte auf dem Arduino Portenta H7. Die Handhabung von SD-Karten-Partitionen und import sensor auf sensorlosen Boards haben sich geändert — lesen Sie die brechenden Änderungen weiter unten.

Höhepunkte

  • OpenMV Cam Pure Thermal — Unterstützung für ein neues Board.

  • ~4× schnelleres TensorFlow — die tf-Inferenz läuft nun auf CMSIS-NN.

  • rpc-Bibliothek — UART-, Kvaser-CAN- und I2C-/SPI-Master-/Slave-Schnittstellen hinzugefügt.

  • Portenta H7 SD-Karte — SD-Karten-Unterstützung aktiviert, mit Korrekturen an den PLL1-/HSE-/ADC-Taktquellen.

  • Brechend: Der SD-Karten-Boot erkennt die Partition nun automatisch, und import sensor löst nun eine Ausnahme aus, wenn kein Bildsensor vorhanden ist — siehe die brechenden Änderungen.

Neue Funktionen

  • rpc — UART-, Kvaser-CAN- und I2C-/SPI-Master-/Slave-Schnittstellen zur Desktop-RPC-Bibliothek hinzugefügt (rpc_uart_master / rpc_uart_slave, rpc_kvarser_can_master / rpc_kvarser_can_slave sowie I2C-/SPI-Master/Slave).

  • Sensorlose Boards — die Firmware unterstützt nun Boards ohne Bildsensor (was das Pure-Thermal-Board ermöglicht).

  • JPEG-Geometrie — eine Struktur für JPEG-Leseeinstellungen (jpg_w / jpg_h / jpg_size) zum Auslesen der JPEG-Geometrie hinzugefügt.

Weitere Änderungen und Verbesserungen

  • TensorFlow wurde auf CMSIS-NN umgestellt, um eine etwa 4× schnellere tf-Inferenz zu erreichen (die boardspezifische imlib-Konfiguration wurde angepasst); das ulab-Beispiel verwendet ulab.numerical.mean / std; das Deep-Sleep-Beispiel ruft nun sensor.sleep(True) vor dem Schreiben des Regulator-Bypass-Registers des OV7725 auf.

Fehlerbehebungen

Kamera und Bildverarbeitung:

  • Das Laden von JPEG-Bildern von der Festplatte korrigiert (die JPEG-Geometrie wurde als nicht unterstütztes Format abgelehnt), sensor.reset() so geändert, dass es einen Hard-Reset durchführt, damit sich der Sensor nach einer Regulator-Abschaltung erholt, die SPI-Alternativfunktions-/Takt-Konfiguration des FLIR Lepton auf OpenMV 4 / 4 Plus korrigiert und die Zuweisung des FSYNC-Pins auf OpenMV 4 / 4 Plus korrigiert.

Konnektivität und System:

  • Den zeitgesteuerten pyb.DAC-Schreibvorgang auf dem H7 korrigiert, dafür gesorgt, dass WINC1500 WLAN.start_ap() für OPEN-Sicherheit keinen Schlüssel mehr benötigt, das gemeinsame Nutzen des I2C-Busses zwischen Kamera und Benutzer-Peripheriegeräten auf dem Portenta korrigiert und den Self-Test-SWD-Framebuffer-Marker boardspezifisch gemacht, sodass er die Framebuffer-bpp auf Boards ohne diesen Marker nicht mehr überschreibt.

Hardware- und Board-Unterstützung

  • OpenMV Cam Pure Thermal — neues Board.

  • Arduino Portenta H7 — SD-Karte aktiviert, mit Korrekturen an PLL1 (400 MHz/40 MHz, USB/RNG auf HSI48), HSE (25 MHz) und der ADC-Taktquelle.

API-brechende Änderungen

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

Beide brechenden Änderungen sind Verhaltensänderungen (gleiche API, andere Ergebnisse) — überprüfen Sie betroffene Skripte erneut. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.

Automatische Erkennung der SD-Karten-Partition (Verhalten)

Der SD-Karten-Boot erkennt die Partition nun automatisch, anstatt immer Partition 1 einzuhängen. Karten, die sich auf das alte Verhalten mit fester Partition 1 verließen, hängen nun möglicherweise ein anderes Dateisystem ein; überprüfen Sie SD-Karten mit mehreren Partitionen und den erwarteten Mount-Punkt erneut.

Commits: 1f7f003b8

import sensor löst auf sensorlosen Boards eine Ausnahme aus (Verhalten)

Um Boards ohne Bildsensor zu unterstützen, läuft die Initialisierungsprüfung des Moduls sensor nun beim Import, sodass import sensor einen RuntimeError auslöst, wenn kein Bildsensor erkannt wird (statt später fehlzuschlagen). Schützen Sie auf einem reinen Thermal-Board import sensor mit try / except oder verzichten Sie auf den Import.

Commits: 17b444ad1

Migrations-Checkliste

Überprüfen Sie SD-Karten mit mehreren Partitionen erneut anhand der neuen automatischen Partitionserkennung (die SD-Karten-Änderung) und schützen Sie import sensor auf sensorlosen / reinen Thermal-Boards (die Sensor-Import-Änderung). Alle anderen Skripte laufen unverändert weiter.