v4.3.1

v4.3.1 fügt VL53L5CX-Multizonen-Time-of-Flight-Unterstützung, verbessertes CAN FD, einen automatisch schließenden ImageIO-Finalizer sowie eine breite Reihe von Zuverlässigkeitskorrekturen für Kamera, USB und Soft-Reboot hinzu.

Höhepunkte

  • VL53L5CX-Multizonen-Time-of-Flight-Sensorunterstützung (Python-Modul + Beispiele).

  • Verbessertes CAN FD auf STM32.

  • ImageIO-Auto-Close — Streams schließen sich jetzt selbst, wenn sie per Garbage Collection bereinigt werden.

  • Breaking: stdout ist jetzt gepuffert — siehe den Breaking Change.

Neue Funktionen

  • VL53L5CX — neues Python-Modul für den VL53L5CX-Multizonen-ToF-Sensor, ST-Treiber und ToF-Beispielskripte.

  • ImageIO-Finalizer — ein ImageIO-Stream wird jetzt automatisch geschlossen, wenn das Objekt per Garbage Collection bereinigt wird.

  • CAN FD — verbesserte CAN-FD-Unterstützung auf STM32.

  • I2C-Busse mit mehreren Geräten — der Kamera-Bus-Scan kann mehrere Geräte zurückgeben, und die FIR-Wärmesensoren unterstützen mit anderen Geräten gemeinsam genutzte Busse; der RP2-Port hat I2C-General-Call-Unterstützung erhalten.

Fehlerbehebungen

Bildverarbeitung:

  • Behebung eines quad_segment_maxima-Speicherlecks (AprilTag-/Quad-Erkennung), der SIMD-YCbCr→RGB-Farbkonvertierung, schwarzer Linien im ersten Einzelbild sowie der LCD-Cache-Nutzung auf dem OpenMV Pure Thermal.

Kamera und Sensoren:

  • Behebung der MLX9064x-Einzelbild-Lesesynchronisierung, der VSYNC-EXTI-Behandlung auf dem Portenta H7 / STM32 sowie des Stromversorgungsmodus und des HSE-Taktwerts der Arduino Nicla Vision.

System und USB:

  • Behebung des USB-High-Speed-Endpunkt-Deskriptor-Offsets, der Modul-De-Initialisierung beim Übergang main.py → IDE, der Soft-Reboot-Bereinigung (mp_deinit() und CDC-Pufferreset), der nRF-sys.path-Initialisierung sowie der RP2-I2C-Fast-Mode-Plus-Frequenz.

Hardware- und Board-Unterstützung

  • VL53L5CX-Multizonen-ToF-Sensor.

  • OpenMV Cam H7 — größerer Zeilenpuffer für Einzelbilder (verarbeitet breitere Bilder).

  • Arduino Nicla Vision — Korrekturen bei Stromversorgung und Takt.

Breaking API-Änderungen

Für Benutzer sichtbare API-Brüche zwischen v4.3.0 und v4.3.1.

Der einzige Breaking Change ist eine behavior-Änderung (gleiche API, anderes Timing).

Gepufferte stdout (behavior)

Die Standardausgabe ist jetzt gepuffert. Die Ausgabe von print() erscheint möglicherweise nicht sofort auf dem Host/in der IDE — sie wird bei einem Zeilenumbruch oder wenn der Puffer voll ist geleert. Skripte, die auf eine ungepufferte Zeichen-für-Zeichen-Ausgabe angewiesen waren, sollten dort, wo sofortige Ausgabe erforderlich ist, ein explizites Flush hinzufügen (oder einen Zeilenumbruch ausgeben).

Commit: 8cddada54

Migrations-Checkliste

Nur das Ausgabe-Timing ist betroffen: Fügen Sie dort, wo Sie auf sofortige print()-Ausgabe angewiesen sind, ein explizites Flush hinzu (die Änderung an der gepufferten stdout). Alle anderen Skripte laufen unverändert.