v4.4.0

v4.4.0 voegt een tf.regression()-API toe, FLIR Lepton-ondersteuning op de OpenMV Cam H7 Pro, Cortex-M4-coprocessorondersteuning op de Arduino Nicla Vision, en MicroPython 1.19. Enkele bordspecifieke modules en WiFi-/LCD-gedragingen zijn gewijzigd — lees de breaking changes hieronder.

Hoogtepunten

  • tf.regression() — voer TensorFlow Lite-regressiemodellen met 1D-invoer/1D-uitvoer uit.

  • FLIR Lepton thermische sensor-ondersteuning op de OpenMV Cam H7 Pro.

  • Arduino Nicla Vision — Cortex-M4-coprocessorondersteuning, werkende MicroSpeech, LPUART1.

  • MicroPython bijgewerkt naar 1.19; ulab bijgewerkt naar 5.1.1.

  • Breaking: de lcd-/tv-modules van de Nicla Vision zijn uitgeschakeld en de WiFi-driver van de RP2040 Connect is gewijzigd — zie de breaking changes.

Nieuwe functies

  • tf.regression(model, input_array) — een nieuwe functie voor TensorFlow Lite-regressiemodellen met 1D-invoer/-uitvoer, die een lijst met float-uitvoer retourneert.

  • GC2145-besturingsensor.set_auto_exposure() en sensor.set_auto_whitebal() zijn nu functioneel op de GC2145 (automatische belichting / witbalans kan worden uitgeschakeld; expliciete belichting/versterking wordt nog niet ondersteund).

  • Arduino Nicla Vision — Cortex-M4 (CM4)-coprocessorondersteuning en het LPUART1-randapparaat zijn ingeschakeld.

  • machine.Pin — de USB_VBUS-pin wordt nu blootgesteld aan gebruikersscripts.

Overige wijzigingen en verbeteringen

  • MicroPython bijgewerkt naar 1.19; ulab naar 5.1.1; de meegeleverde cyw43 WiFi-driver is bijgewerkt.

  • De RP2- (Arduino Nano RP2040 Connect) en nRF-poorten (Arduino Nano 33 BLE Sense) zijn overgeschakeld naar de nieuwe TinyUSB-gebaseerde debugger voor de IDE-/hostverbinding.

  • De OV7670 XCLK is verhoogd van 12 MHz naar 24 MHz (bijgewerkte registerset).

Bugfixes

Camera en sensoren:

  • OpenMV Pure Thermal blob-temperatuurstatistieken gebruiken nu de IR-afbeelding in plaats van de kleurenafbeelding, zodat de gemiddelde temperatuur per blob correct is.

  • ROI-afhandeling en gebiedsschaling van draw_image() gecorrigeerd voor nauwkeurigere geschaalde uitvoer.

  • De IMU wordt na een soft-reset opnieuw geïnitialiseerd, zodat deze blijft werken wanneer de IMU SPI-bus is ingeschakeld.

Systeem:

  • Problemen met signed/unsigned-vergelijkingen opgelost in FAST/AGAST-kenmerkdetectie, blob-detectie, CLAHE en de LCD-/TV-drivers; STM32 camera-GPIO / SPI / DAC-de-initialisatie, H7 LPUART-pinmapping en de registratie van de STM32Cube.AI nn-module gecorrigeerd.

Arduino Nicla Vision:

  • MicroSpeech werkt nu (verdubbelde PDM-buffer, voorbeeld toegevoegd) en de energiezuinige standby-modus is gecorrigeerd.

Hardware- en bordondersteuning

  • OpenMV Cam H7 Pro — FLIR Lepton thermische sensor-ondersteuning.

  • Arduino Nicla Vision — CM4-coprocessor, LPUART1, MicroSpeech, energiezuinige standby.

Breaking API-wijzigingen

Voor gebruikers zichtbare API-breaks tussen v4.3.3 en v4.4.0. Bereik: Python C-modules in modules/ en Python-bibliotheken in scripts/libraries/.

Elke wijziging is gemarkeerd met de impact ervan:

  • minor — beperkte API; treft alleen scripts op een specifiek bord.

  • behavior — dezelfde API, andere resultaten; controleer afgestemde scripts opnieuw.

Wijzigingen zijn op impact gegroepeerd in die volgorde. Als je alleen je code wilt porten, ga dan naar de migratiechecklist aan het einde. Elke commit-hash linkt naar de bijbehorende diff op GitHub.

Nicla Vision-modules en RP2040 WiFi (minor)

Op de Arduino Nicla Vision zijn de lcd- en tv-modules uitgeschakeld om geheugen vrij te maken voor CM4-coprocessorondersteuning — scripts die deze modules op de Nicla Vision gebruiken, zullen ze niet langer vinden. De Arduino Nano RP2040 Connect is overgeschakeld van de OpenMV-eigen WiFi-/nina-implementatie naar de upstream MicroPython NINA-W10-driver/-module, waarvan de API verschilt.

Commits: f78d191e3, ddf01cb09

WiFi-sockettime-out en verticale LCD-spiegeling (behavior)

Een WINC1500-sockettime-out retourneert nu een niet-blokkerende fout (EWOULDBLOCK) in plaats van ETIMEDOUT, zodat verlopen sockets niet langer onverwacht worden gesloten — code die ETIMEDOUT opving moet worden bijgewerkt. De SPI LCD-shield display werpt nu ValueError (“Vertical flip requires triple buffering!”) wanneer een negatieve y_scale wordt aangevraagd zonder dat triple buffering is ingeschakeld.

Commits: 1dc4bea88, 7e52cf751

Migratiechecklist

Voor een schone port naar v4.4.0 is het typische werk:

  1. Stop op de Nicla Vision met het gebruik van lcd/tv; port op de Nano RP2040 Connect WiFi-code naar de upstream NINA-W10-driver (de bordmodulewijzigingen).

  2. Werk WINC1500-socketcode bij om EWOULDBLOCK bij een time-out te verwachten, en schakel triple buffering in voor verticaal gespiegelde LCD-uitvoer (de gedragswijzigingen).