v4.4.0

v4.4.0 lägger till ett tf.regression()-API, stöd för FLIR Lepton på OpenMV Cam H7 Pro, stöd för Cortex-M4-koprocessorn på Arduino Nicla Vision samt MicroPython 1.19. Några kortspecifika moduler och WiFi/LCD-beteenden ändrades — läs de bakåtinkompatibla ändringarna nedan.

Höjdpunkter

  • tf.regression() — kör TensorFlow Lite-regressionsmodeller med 1D-indata/1D-utdata.

  • FLIR Lepton-värmesensorstöd på OpenMV Cam H7 Pro.

  • Arduino Nicla Vision — stöd för Cortex-M4-koprocessorn, fungerande MicroSpeech, LPUART1.

  • MicroPython uppdaterad till 1.19; ulab uppdaterad till 5.1.1.

  • Bakåtinkompatibelt: modulerna lcd/tv på Nicla Vision inaktiverades och WiFi-drivrutinen för RP2040 Connect ändrades — se de bakåtinkompatibla ändringarna.

Nya funktioner

  • tf.regression(model, input_array) — en ny funktion för TensorFlow Lite-regressionsmodeller med 1D in-/utdata, som returnerar en lista med flyttalsutdata.

  • GC2145-kontrollersensor.set_auto_exposure() och sensor.set_auto_whitebal() är nu funktionella på GC2145 (automatisk exponering / vitbalans kan inaktiveras; explicit exponering/förstärkning stöds ännu inte).

  • Arduino Nicla Vision — stöd för Cortex-M4-koprocessorn (CM4) och kringutrustningen LPUART1 aktiverades.

  • machine.Pin — stiftet USB_VBUS exponeras nu för användarskript.

Övriga ändringar och förbättringar

  • MicroPython uppdaterad till 1.19; ulab till 5.1.1; den medföljande cyw43-WiFi-drivrutinen uppdaterades.

  • RP2-porten (Arduino Nano RP2040 Connect) och nRF-porten (Arduino Nano 33 BLE Sense) bytte till den nya TinyUSB-baserade felsökaren för IDE-/värdanslutningen.

  • OV7670:s XCLK höjdes från 12 MHz till 24 MHz (uppdaterad registeruppsättning).

Buggfixar

Kamera och sensorer:

  • Blob-temperaturstatistiken på OpenMV Pure Thermal använder nu IR-bilden istället för färgbilden, så att medeltemperaturen per blob blir korrekt.

  • Åtgärdade ROI-hantering och areaskalning i draw_image() för mer korrekt skalad utdata.

  • IMU:n återinitieras efter en mjuk omstart så att den fortsätter fungera när IMU:ns SPI-buss är aktiverad.

System:

  • Åtgärdade problem med jämförelser mellan tecken/teckenlösa värden i FAST/AGAST-särdragsdetektering, blob-detektering, CLAHE och LCD/TV-drivrutinerna; åtgärdade de-initialisering av STM32-kamerans GPIO / SPI / DAC, H7:s LPUART-stiftmappning samt registreringen av STM32Cube.AI:s nn-modul.

Arduino Nicla Vision:

  • MicroSpeech fungerar nu (dubblerad PDM-buffert, exempel tillagt) och lågeffektsläget för viloläge åtgärdades.

Maskinvaru- och kortstöd

  • OpenMV Cam H7 Pro — stöd för FLIR Lepton-värmesensor.

  • Arduino Nicla Vision — CM4-koprocessor, LPUART1, MicroSpeech, lågeffektsviloläge.

Bakåtinkompatibla API-ändringar

Användarsynliga API-brott mellan v4.3.3 och v4.4.0. Omfattning: Python-C-moduler i modules/ och Python-bibliotek i scripts/libraries/.

Varje ändring är märkt med sin påverkan:

  • minor — smalt API; påverkar endast skript på ett specifikt kort.

  • behavior — samma API, andra resultat; kontrollera finjusterade skript på nytt.

Ändringarna är grupperade efter påverkan i den ordningen. Om du bara vill porta din kod, hoppa till migreringschecklistan i slutet. Varje commit-hash länkar till sin diff på GitHub.

Nicla Vision-moduler och RP2040 WiFi (minor)

På Arduino Nicla Vision inaktiverades modulerna lcd och tv för att frigöra minne till stödet för CM4-koprocessorn — skript som använder dessa moduler på Nicla Vision kommer inte längre att hitta dem. Arduino Nano RP2040 Connect bytte från den OpenMV-anpassade WiFi-/nina-implementeringen till den uppströms MicroPython NINA-W10-drivrutinen/modulen, vars API skiljer sig.

Commits: f78d191e3, ddf01cb09

WiFi-sockettimeout och LCD vertikal spegling (behavior)

En WINC1500-sockettimeout returnerar nu ett icke-blockerande fel (EWOULDBLOCK) istället för ETIMEDOUT, så att socketar som fått timeout inte längre stängs oväntat — kod som fångade ETIMEDOUT måste uppdateras. SPI LCD-skärmens display genererar nu ValueError (”Vertical flip requires triple buffering!”) när en negativ y_scale begärs utan att trippelbuffring är aktiverad.

Commits: 1dc4bea88, 7e52cf751

Migreringschecklista

För en ren portning till v4.4.0 är det typiska arbetet:

  1. På Nicla Vision, sluta använda lcd/tv; på Nano RP2040 Connect, porta WiFi-kod till den uppströms NINA-W10-drivrutinen (kortmodulsändringarna).

  2. Uppdatera WINC1500-socketkod till att förvänta sig EWOULDBLOCK vid timeout, och aktivera trippelbuffring för vertikalt speglad LCD-utdata (beteendeändringarna).