v4.2.2

v4.2.2 přidává podporu obrazu PNG (dekódování/kódování přes lodepng), tabulkově řízený zavaděč vestavěných modelů, podporu Portenta OV5640, aktualizaci TensorFlow pro Edge Impulse a ulab 4.0. Změnilo se API pro konfiguraci RPC CAN — přečtěte si níže uvedené zásadní změny.

Hlavní novinky

  • Podpora PNGImage.to_png(), image.PNG a čtení/zápis souborů PNG.

  • tf.load_builtin_model() — tabulkově řízené vestavěné modely, které lze při sestavení nahradit nebo přidat.

  • Portenta H7 — podpora kamery OV5640 (s automatickým ostřením).

  • MicroPython/ulab — ulab aktualizován na 4.0.0.

  • Zásadní změna: změnilo se API pro konfiguraci RPC CAN — viz zásadní změny.

Nové funkce

  • Obrazový formát PNG — nová metoda Image.to_png(), konstanta image.PNG / PIXFORMAT_PNG, načítání/ukládání souborů PNG (čtení/zápis .png) a výstup PNG v konverzích image.to(), prostřednictvím integrovaného kodeku lodepng.

  • tf.load_builtin_model(path) — načte model vestavěný do firmware a vrátí n-tici (labels, net); vestavěné modely jsou nyní tabulkově řízené, takže je lze při sestavení nahradit nebo přidat.

Další změny a vylepšení

  • TensorFlow / Edge Impulse — přibalená inferenční knihovna byla aktualizována na Edge Impulse ei-V2.5.0, model person_detection byl přesunut do tabulky vestavěných modelů a do všech sestavení Cortex-M0+/M4/M7/M55 byly přidány chybějící operátory TensorFlow, takže lze spustit více modelů Edge Impulse.

  • ulab aktualizován na 4.0.0.

  • Otevření virtuálního sériového portu USB rychlostí 1200 bps nyní spustí reset v Arduino stylu (touch reset) do bootloaderu.

  • Firmware WiFi modulu WINC1500 byl aktualizován na 19.7.6 (společně s aktualizačním skriptem) a nyní hlásí skutečnou verzi hostitelského ovladače.

  • Port RP2 vypisuje „MPY: soft reboot“ a získal inicializaci/deinicializaci UART.

Opravy chyb

  • Opravena velikost surového frame bufferu u Arduino Nano RP2040 Connect a USB Product ID u Arduino Nicla Vision (správná enumerace USB).

Podpora hardwaru a desek

  • Arduino Portenta H7 — podpora kamery OV5640 (s automatickým ostřením); GC2145 je na Portentě deaktivována.

  • Arduino Nano RP2040 Connect — konfigurace paměti a šablony čistého souborového systému.

  • WiFi Shield (WINC1500) — firmware aktualizován na 19.7.6.

Zásadní změny API

Pro uživatele viditelné změny API mezi v4.2.1 a v4.2.2. 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; ovlivní pouze skripty, které jej používaly.

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

Změny jsou seskupeny podle dopadu v tomto pořadí. Každý hash commitu odkazuje na svůj diff na GitHubu.

API pro konfiguraci RPC CAN (minor)

V knihovně rpc byl klíčový argument CAN sampling_point u rpc_can_master / rpc_can_slave přejmenován na sample_point (aby odpovídal upstream MicroPythonu) a pomocná funkce pro ruční nastavení časování bitů CAN byla odstraněna — sběrnice CAN se nyní konfiguruje přes CAN(..., baudrate=, sample_point=). Skripty, které předávaly sampling_point nebo spoléhaly na starý výpočet časování bitů, musí být aktualizovány.

Commity: b565eca58, 06d716986

image.format() a komprimované obrazy (behavior)

S jednotnou cestou pro komprimované obrazy přidanou pro PNG nyní image.format() vrací PIXFORMAT_INVALID pro neznámý formát a indexování / iterace / výpis komprimovaných obrazů nyní pokrývá PNG i JPEG. Kód, který zkoumal předchozí návratovou hodnotu pro neznámé formáty, by měl být znovu zkontrolován.

Commit: f12a4659c

Kontrolní seznam pro migraci

Pro čistý přechod na v4.2.2: přejmenujte RPC CAN sampling_pointsample_point a vynechte jakékoli ruční nastavení časování bitů CAN (změna RPC CAN) a znovu zkontrolujte jakýkoli kód, který zkoumal image.format() pro neznámé formáty (změna format()).