v4.4.0¶
v4.4.0 fügt eine tf.regression()-API, FLIR-Lepton-Unterstützung auf der OpenMV Cam H7 Pro, Cortex-M4-Coprozessor-Unterstützung auf der Arduino Nicla Vision und MicroPython 1.19 hinzu. Einige boardspezifische Module sowie das WiFi-/LCD-Verhalten haben sich geändert — lesen Sie die nachstehenden Breaking Changes.
Highlights¶
tf.regression()— Ausführen von TensorFlow-Lite-Regressionsmodellen mit 1D-Eingabe/1D-Ausgabe.Unterstützung des Wärmesensors FLIR Lepton auf der OpenMV Cam H7 Pro.
Arduino Nicla Vision — Cortex-M4-Coprozessor-Unterstützung, funktionierendes MicroSpeech, LPUART1.
MicroPython auf 1.19 aktualisiert; ulab auf 5.1.1 aktualisiert.
Breaking: Die
lcd-/tv-Module der Nicla Vision wurden deaktiviert und der WiFi-Treiber des RP2040 Connect wurde geändert — siehe die Breaking Changes.
Neue Funktionen¶
tf.regression(model, input_array)— eine neue Funktion für TensorFlow-Lite-Regressionsmodelle mit 1D-Eingabe/-Ausgabe, die eine Liste von Float-Ausgaben zurückgibt.GC2145-Steuerungen —
sensor.set_auto_exposure()undsensor.set_auto_whitebal()sind auf dem GC2145 nun funktionsfähig (automatische Belichtung / automatischer Weißabgleich können deaktiviert werden; explizite Belichtung/Verstärkung wird noch nicht unterstützt).Arduino Nicla Vision — Cortex-M4-Coprozessor-Unterstützung (CM4) und das LPUART1-Peripheriegerät wurden aktiviert.
machine.Pin— derUSB_VBUS-Pin wird nun für Benutzerskripte verfügbar gemacht.
Weitere Änderungen und Verbesserungen¶
MicroPython auf 1.19 aktualisiert; ulab auf 5.1.1; der mitgelieferte cyw43-WiFi-Treiber wurde aktualisiert.
Die Ports RP2 (Arduino Nano RP2040 Connect) und nRF (Arduino Nano 33 BLE Sense) wechselten für die IDE-/Host-Verbindung zum neuen TinyUSB-basierten Debugger.
Der XCLK des OV7670 wurde von 12 MHz auf 24 MHz angehoben (aktualisierter Registersatz).
Fehlerbehebungen¶
Kamera und Sensoren:
Die Blob-Temperaturstatistik der OpenMV Pure Thermal verwendet nun das IR-Bild anstelle des Farbbilds, sodass die mittlere Temperatur pro Blob korrekt ist.
Behebung der ROI-Behandlung und Flächenskalierung in
draw_image()für eine genauere skalierte Ausgabe.Die IMU wird nach einem Soft-Reset neu initialisiert, sodass sie weiterhin funktioniert, wenn der IMU-SPI-Bus aktiviert ist.
System:
Behebung von Problemen mit signed/unsigned-Vergleichen bei der FAST/AGAST-Merkmalserkennung, der Blob-Erkennung, CLAHE und den LCD/TV-Treibern; Behebung der STM32-Kamera-GPIO-/SPI-/DAC-De-Initialisierung, des H7-LPUART-Pin-Mappings und der Registrierung des STM32Cube.AI-Moduls
nn.
Arduino Nicla Vision:
MicroSpeech funktioniert nun (verdoppelter PDM-Puffer, Beispiel hinzugefügt) und der Standby-Modus mit niedrigem Stromverbrauch wurde korrigiert.
Hardware- und Board-Unterstützung¶
OpenMV Cam H7 Pro — Unterstützung des FLIR-Lepton-Wärmesensors.
Arduino Nicla Vision — CM4-Coprozessor, LPUART1, MicroSpeech, Standby mit niedrigem Stromverbrauch.
Breaking API-Änderungen¶
Für Benutzer sichtbare API-Brüche zwischen v4.3.3 und v4.4.0. Umfang: Python-C-Module in modules/ und Python-Bibliotheken in scripts/libraries/.
Jede Änderung ist mit ihrer Auswirkung gekennzeichnet:
minor — eng begrenzte API; betrifft nur Skripte auf einem bestimmten Board.
behavior — gleiche API, andere Ergebnisse; überprüfen Sie abgestimmte Skripte erneut.
Die Änderungen sind in dieser Reihenfolge nach Auswirkung gruppiert. Wenn Sie nur Ihren Code portieren möchten, springen Sie zur Migrations-Checkliste am Ende. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.
Nicla-Vision-Module und RP2040-WiFi (minor)¶
Auf der Arduino Nicla Vision wurden die Module lcd und tv deaktiviert, um Speicher für die CM4-Coprozessor-Unterstützung freizugeben — Skripte, die diese Module auf der Nicla Vision verwenden, finden sie nicht mehr. Der Arduino Nano RP2040 Connect wechselte von der OpenMV-eigenen WiFi-/nina-Implementierung zum vorgelagerten MicroPython-NINA-W10-Treiber/-Modul, dessen API sich unterscheidet.
WiFi-Socket-Timeout und vertikales LCD-Spiegeln (behavior)¶
Ein WINC1500-Socket-Timeout gibt nun einen nicht-blockierenden Fehler (EWOULDBLOCK) anstelle von ETIMEDOUT zurück, sodass abgelaufene Sockets nicht mehr unerwartet geschlossen werden — Code, der ETIMEDOUT abgefangen hat, muss aktualisiert werden. Das display des SPI-LCD-Shields löst nun ValueError aus („Vertical flip requires triple buffering!“), wenn eine negative y_scale ohne aktiviertes Triple-Buffering angefordert wird.
Migrations-Checkliste¶
Für eine saubere Portierung auf v4.4.0 ist üblicherweise Folgendes zu tun:
Verwenden Sie auf der Nicla Vision
lcd/tvnicht mehr; portieren Sie auf dem Nano RP2040 Connect den WiFi-Code auf den vorgelagerten NINA-W10-Treiber (die Board-Modul-Änderungen).Aktualisieren Sie den WINC1500-Socket-Code, sodass er bei einem Timeout
EWOULDBLOCKerwartet, und aktivieren Sie Triple-Buffering für vertikal gespiegelte LCD-Ausgabe (die Verhaltensänderungen).