v4.4.0

A v4.4.0 hozzáad egy tf.regression() API-t, FLIR Lepton támogatást az OpenMV Cam H7 Pro-n, Cortex-M4 koprocesszor támogatást az Arduino Nicla Vision-on, valamint a MicroPython 1.19-et. Néhány kártyaspecifikus modul és a WiFi/LCD viselkedés megváltozott — olvasd el az alábbi törést okozó változásokat.

Kiemelt változások

  • tf.regression() — 1D-bemenetű/1D-kimenetű TensorFlow Lite regressziós modellek futtatása.

  • FLIR Lepton hőérzékelő támogatás az OpenMV Cam H7 Pro-n.

  • Arduino Nicla Vision — Cortex-M4 koprocesszor támogatás, működő MicroSpeech, LPUART1.

  • A MicroPython 1.19-re frissült; az ulab 5.1.1-re.

  • Törést okozó: a Nicla Vision lcd/tv moduljait letiltottuk, és az RP2040 Connect WiFi-illesztőprogramja megváltozott — lásd a törést okozó változásokat.

Új funkciók

  • tf.regression(model, input_array) — egy új függvény 1D bemenetű/kimenetű TensorFlow Lite regressziós modellekhez, amely lebegőpontos kimenetek listáját adja vissza.

  • GC2145 vezérlők — a sensor.set_auto_exposure() és a sensor.set_auto_whitebal() mostantól működik a GC2145-ön (az automatikus expozíció / fehéregyensúly letiltható; az explicit expozíció/erősítés egyelőre nem támogatott).

  • Arduino Nicla Vision — engedélyeztük a Cortex-M4 (CM4) koprocesszor támogatását és az LPUART1 perifériát.

  • machine.Pin — az USB_VBUS láb mostantól elérhető a felhasználói szkriptek számára.

Egyéb változások és fejlesztések

  • A MicroPython 1.19-re frissült; az ulab 5.1.1-re; a beépített cyw43 WiFi-illesztőprogram frissült.

  • Az RP2 (Arduino Nano RP2040 Connect) és az nRF (Arduino Nano 33 BLE Sense) portok az IDE/host kapcsolathoz az új, TinyUSB-alapú hibakeresőre váltottak.

  • Az OV7670 XCLK-jét 12 MHz-ről 24 MHz-re emeltük (frissített regiszterkészlet).

Hibajavítások

Kamera és érzékelők:

  • Az OpenMV Pure Thermal folt-hőmérsékleti statisztikái mostantól az IR képet használják a színes kép helyett, így a foltonkénti átlaghőmérséklet helyes.

  • Javítottuk a draw_image() ROI-kezelését és a területskálázást a pontosabb skálázott kimenet érdekében.

  • Az IMU újrainicializálódik egy szoftveres újraindítás után, így továbbra is működik, ha az IMU SPI busz engedélyezve van.

Rendszer:

  • Javítottuk az előjeles/előjel nélküli összehasonlítási problémákat a FAST/AGAST jellemzőészlelésben, a foltészlelésben, a CLAHE-ben és az LCD/TV illesztőprogramokban; javítottuk az STM32 kamera-GPIO / SPI / DAC deinicializálását, a H7 LPUART lábkiosztását és az STM32Cube.AI nn modul regisztrációját.

Arduino Nicla Vision:

  • A MicroSpeech mostantól működik (megduplázott PDM puffer, hozzáadott példa), és javítottuk az alacsony fogyasztású készenléti módot.

Hardver- és kártyatámogatás

  • OpenMV Cam H7 Pro — FLIR Lepton hőérzékelő támogatás.

  • Arduino Nicla Vision — CM4 koprocesszor, LPUART1, MicroSpeech, alacsony fogyasztású készenlét.

Törést okozó API-változások

A felhasználó számára látható API-törések a v4.3.3 és a v4.4.0 között. Hatókör: Python C-modulok a modules/ mappában és Python könyvtárak a scripts/libraries/ mappában.

Minden változás meg van jelölve a hatásával:

  • minor — szűk hatókörű API; csak egy adott kártyán futó szkripteket érint.

  • behavior — ugyanaz az API, eltérő eredmények; ellenőrizd újra a finomhangolt szkripteket.

A változások hatás szerint, ebben a sorrendben vannak csoportosítva. Ha csak át szeretnéd portolni a kódodat, ugorj a végén található migrációs ellenőrzőlistához. Minden commit-hash a GitHub-on lévő diffjére hivatkozik.

Nicla Vision modulok és RP2040 WiFi (minor)

Az Arduino Nicla Vision-on az lcd és tv modulokat letiltottuk, hogy memóriát szabadítsunk fel a CM4 koprocesszor támogatásához — az ezeket a modulokat használó szkriptek a Nicla Vision-on már nem fogják megtalálni őket. Az Arduino Nano RP2040 Connect az OpenMV-egyedi WiFi/nina implementációról az upstream MicroPython NINA-W10 illesztőprogramra/modulra váltott, amelynek API-ja eltér.

Commitok: f78d191e3, ddf01cb09

WiFi socket időtúllépés és LCD függőleges tükrözés (behavior)

A WINC1500 socket időtúllépése mostantól egy nem blokkoló hibát (EWOULDBLOCK) ad vissza az ETIMEDOUT helyett, így az időtúllépett socketek nem záródnak be váratlanul — az ETIMEDOUT-ot elkapó kódot frissíteni kell. Az SPI LCD shield display mostantól ValueError kivételt vált ki („Vertical flip requires triple buffering!”), ha negatív y_scale értéket kérnek anélkül, hogy a tripla pufferelés engedélyezve lenne.

Commitok: 1dc4bea88, 7e52cf751

Migrációs ellenőrzőlista

A v4.4.0-ra való tiszta portoláshoz a tipikus teendők a következők:

  1. A Nicla Vision-on hagyj fel az lcd/tv használatával; a Nano RP2040 Connect-en portold a WiFi kódot az upstream NINA-W10 illesztőprogramra (a kártyamodul-változások).

  2. Frissítsd a WINC1500 socket kódot, hogy időtúllépéskor EWOULDBLOCK-ra számítson, és engedélyezd a tripla pufferelést a függőlegesen tükrözött LCD kimenethez (a viselkedési változások).