v4.4.3

v4.4.3 introducerar kortet OpenMV RT1060 (NXP i.MX RT1060), ett kraftigt utökat API för MJPEG-inspelning, nya ISP-bildmetoder (automatisk vitbalans, färgkorrigeringsmatris, gamma) samt MicroPython 1.20. Arduino-kortnamnen ändrades och MJPEG-standardvärdena skiftade — läs de bakåtinkompatibla ändringarna nedan.

Höjdpunkter

  • OpenMV RT1060 — nytt NXP i.MX RT1060-kort (och en REV2-revision).

  • Utökat MJPEG-APIwrite(), count, is_closed, sync(), nyckelorden ROI/palette/alpha samt en finalizer.

  • Nya ISP-metoderimage.awb(), image.ccm(), image.gamma().

  • MicroPython uppdaterad till 1.20.0.

  • Bakåtinkompatibelt: Arduino-kortmålen döptes om och MJPEG:s standardkvalitet ändrades — se de bakåtinkompatibla ändringarna.

Nya funktioner

  • OpenMV RT1060 — fullständig NXP i.MX RT1060-port (sensor-, GPIO-, I2C-, SPI-drivrutiner) och kortkonfiguration, plus stöd för kortrevisionen RT1060 REV2 och machine.RTC-alarm/väckning på i.MX RT-porten.

  • MJPEG — en ny metod Mjpeg.write() (med nyckelorden roi, rgb_channel, alpha, color_palette, alpha_palette, hint) plus count, is_closed, sync() och en __del__-finalizer, samt konstruktoraliasen MJPEG / Mjpeg / mjpeg.

  • ISP-bildmetoderimage.awb([max]) (automatisk vitbalans), image.ccm(matrix) (3x3-/4x3-färgkorrigeringsmatris) och image.gamma(gamma, contrast, brightness).

  • AprilTag — nya flyttalsattribut för tyngdpunkt cxf / cyf (cx / cy returnerar fortfarande avrundade heltal).

  • MLtf.regression() accepterar nu en ulab-ndarray och stöder 2D-indatatensorer (1D stöds fortfarande); ytterligare TensorFlow Lite-operationer aktiverades i de medföljande libtf-biblioteken.

Övriga ändringar och förbättringar

  • MicroPython uppdaterad till 1.20.0; ulab uppdaterad till 6.0.12.

  • image.gamma / gamma_corr omarbetades till en ISP-metod och utökades med stöd för Bayer- och YUV-bilder (inte bara muterbara bilder).

  • STM32-kort (Portenta H7, Nicla Vision) bytte till den öppna källkods-cyw43-WiFi-drivrutinen.

  • Biblioteket rtsp gjordes portabelt (använder random/time istället för pyb); urequests stänger nu alltid sin socket.

Buggfixar

Kamera och sensorer:

  • Åtgärdade OV767x:s klockhastighet (CLKRC) på Arduino Nano 33 BLE Sense, OV7670:s hantering av CLKRC-bypass/förskalare samt omkastade D0/D1-datalinjer på Arduino Nicla Vision / ML-kit (nrf-port).

System och USB:

  • Åtgärdade hanteringen av korta USB-paket i TinyUSB-felsökningsläge (mer tillförlitliga IDE-/värdöverföringar).

  • Åtgärdade polariteten för den blinkande lysdioden på OpenMV RT1060 och SD-kortsdetekteringen vid påslagning.

Maskinvaru- och kortstöd

  • OpenMV RT1060 — nytt NXP i.MX RT1060-kort, plus REV2-revisionen.

  • STM32 — Portenta H7 / Nicla Vision flyttades till den öppna källkods-cyw43-WiFi-drivrutinen.

Bakåtinkompatibla API-ändringar

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

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

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

  • tooling — påverkar kortnamngivning / flashning, inte Python-API:t.

Ändringarna är grupperade efter påverkan i den ordningen. Varje commit-hash länkar till sin diff på GitHub.

MJPEG-standardvärden och felhantering (behavior)

Koden för MJPEG-inspelning gjordes om grundligt. Standardvärdet för JPEG quality i add_frame() / write() höjdes från 50 till 90 (inspelningar blir större och håller högre kvalitet som standard), en ogiltig kvalitet genererar nu ValueError, åtgärder på en stängd fil genererar nu OSError, och inspelningsmetoderna returnerar nu Mjpeg-objektet. Skript som var beroende av den gamla standardkvaliteten eller det tidigare felbeteendet bör kontrolleras på nytt.

Commit: 3fc55ad31

Arduino-kortmål omdöpta (tooling)

Arduino-kortmålen döptes om till en uppdaterad namnkonvention och alla kortmanifest (frysta moduluppsättningar) uppdaterades. Detta ändrar inte Python-API:t, men de fasta programvarornas fil-/kortnamn som används för att bygga eller flasha Arduino-kort ändrades — uppdatera dina verktyg därefter.

Commits: 77a7d16c0, 59d9f2603

Migreringschecklista

För en ren portning till v4.4.3: kontrollera MJPEG-inspelningar på nytt för den nya standardkvaliteten och det nya felbeteendet (MJPEG-ändringen), och uppdatera bygg-/flashverktyg för de omdöpta Arduino-kortmålen (kortomdöpningen). Alla andra skript körs oförändrade.