v4.4.0

v4.4.0 přidává API tf.regression(), podporu FLIR Lepton na OpenMV Cam H7 Pro, podporu koprocesoru Cortex-M4 na Arduino Nicla Vision a MicroPython 1.19. Změnilo se několik modulů specifických pro desky a chování WiFi/LCD — přečtěte si přelomové změny níže.

Nejdůležitější novinky

  • tf.regression() — spouštění regresních modelů TensorFlow Lite s 1D vstupem/1D výstupem.

  • Podpora tepelného senzoru FLIR Lepton na OpenMV Cam H7 Pro.

  • Arduino Nicla Vision — podpora koprocesoru Cortex-M4, funkční MicroSpeech, LPUART1.

  • MicroPython aktualizován na 1.19; ulab aktualizován na 5.1.1.

  • Přelomové: moduly lcd/tv na Nicla Vision byly zakázány a změnil se WiFi ovladač RP2040 Connect — viz přelomové změny.

Nové funkce

  • tf.regression(model, input_array) — nová funkce pro regresní modely TensorFlow Lite s 1D vstupem/výstupem, která vrací seznam float výstupů.

  • Ovládání GC2145sensor.set_auto_exposure() a sensor.set_auto_whitebal() jsou nyní na GC2145 funkční (automatickou expozici / vyvážení bílé lze zakázat; explicitní nastavení expozice/zisku zatím není podporováno).

  • Arduino Nicla Vision — byla povolena podpora koprocesoru Cortex-M4 (CM4) a periferie LPUART1.

  • machine.Pin — pin USB_VBUS je nyní zpřístupněn uživatelským skriptům.

Další změny a vylepšení

  • MicroPython aktualizován na 1.19; ulab na 5.1.1; přibalený WiFi ovladač cyw43 byl aktualizován.

  • Porty RP2 (Arduino Nano RP2040 Connect) a nRF (Arduino Nano 33 BLE Sense) přešly na nový debugger založený na TinyUSB pro připojení k IDE/hostiteli.

  • XCLK senzoru OV7670 byl zvýšen z 12 MHz na 24 MHz (aktualizovaná sada registrů).

Opravy chyb

Kamera a senzory:

  • Statistiky teploty blobů na OpenMV Pure Thermal nyní používají IR obraz místo barevného obrazu, takže průměrná teplota na jednotlivé bloby je správná.

  • Opraveno zpracování ROI a škálování plochy ve funkci draw_image() pro přesnější škálovaný výstup.

  • IMU je po měkkém resetu znovu inicializována, takže nadále funguje, když je sběrnice SPI pro IMU povolena.

Systém:

  • Opraveny problémy s porovnáváním se znaménkem/bez znaménka napříč detekcí příznaků FAST/AGAST, detekcí blobů, CLAHE a ovladači LCD/TV; opravena de-inicializace GPIO kamery / SPI / DAC na STM32, mapování pinů H7 LPUART a registrace modulu nn v STM32Cube.AI.

Arduino Nicla Vision:

  • MicroSpeech nyní funguje (zdvojnásobený PDM buffer, přidán příklad) a opraven byl nízkopříkonový pohotovostní režim.

Hardware a podpora desek

  • OpenMV Cam H7 Pro — podpora tepelného senzoru FLIR Lepton.

  • Arduino Nicla Vision — koprocesor CM4, LPUART1, MicroSpeech, nízkopříkonový pohotovostní režim.

Přelomové změny API

Pro uživatele viditelné změny API mezi v4.3.3 a v4.4.0. Rozsah: Python C-moduly v modules/ a Python knihovny v scripts/libraries/.

Každá změna je označena svým dopadem:

  • minor — úzké API; ovlivňuje pouze skripty na konkrétní desce.

  • behavior — stejné API, jiné výsledky; znovu zkontrolujte vyladěné skripty.

Změny jsou seskupeny podle dopadu v tomto pořadí. Pokud chcete jen přenést svůj kód, přejděte na kontrolní seznam migrace na konci. Každý hash commitu odkazuje na svůj diff na GitHubu.

Moduly Nicla Vision a RP2040 WiFi (minor)

Na Arduino Nicla Vision byly moduly lcd a tv zakázány, aby se uvolnila paměť pro podporu koprocesoru CM4 — skripty používající tyto moduly na Nicla Vision je již nenajdou. Arduino Nano RP2040 Connect přešlo z vlastní WiFi/nina implementace OpenMV na upstreamový MicroPython ovladač/modul NINA-W10, jehož API se liší.

Commity: f78d191e3, ddf01cb09

Timeout WiFi socketu a vertikální převrácení LCD (behavior)

Timeout socketu WINC1500 nyní vrací neblokující chybu (EWOULDBLOCK) místo ETIMEDOUT, takže sokety s vypršeným časem již nejsou neočekávaně zavírány — kód, který zachytával ETIMEDOUT, je nutné aktualizovat. SPI LCD shield display nyní vyvolá ValueError („Vertical flip requires triple buffering!“), když je požadováno záporné y_scale bez povoleného trojitého bufferování.

Commity: 1dc4bea88, 7e52cf751

Kontrolní seznam migrace

Pro čistý přenos na v4.4.0 je typická práce následující:

  1. Na Nicla Vision přestaňte používat lcd/tv; na Nano RP2040 Connect přeneste WiFi kód na upstreamový ovladač NINA-W10 (změny modulů desek).

  2. Aktualizujte kód socketů WINC1500 tak, aby při timeoutu očekával EWOULDBLOCK, a povolte trojité bufferování pro vertikálně převrácený LCD výstup (změny chování).