v4.5.9¶
A v4.5.9 nyers előnézet-streamelést hoz a hardveres JPEG-kódoló nélküli lapokhoz, hardveres érzékelő-vágást több RAM felszabadításához, gyorsabb Helium-gyorsított debayeringet, valamint egy csomag kamera-/USB-hibakeresési javítást. Megváltoztatja továbbá az AprilTag eredmény-API-t és az alapértelmezett AprilTag-családkészletet, ezért olvasd el az alábbi visszafelé nem kompatibilis változásokat.
Kiemelt változások¶
Nyers előnézet-streamelés — a hardveres JPEG-kódoló nélküli lapok mostantól lekicsinyített nyers képkockákat küldhetnek az IDE-nek/gazdagépnek ahelyett, hogy az előnézet meghiúsulna.
Hardveres érzékelő-vágás — kisebb képkockaméret beállítása mostantól csökkenti a pufferenkénti memóriát, és RAM-ot szabadít fel az
fb_alloc()számára.Gyorsabb debayering — a Bayer→RGB/szürkeárnyalatos konverzió mostantól Helium-SIMD-gyorsított a Cortex-M55 lapokon.
Visszafelé nem kompatibilis: az AprilTag eredményobjektum attribútum-hozzáférésre váltott, és az alapértelmezett AprilTag-családkészlet csökkent (lásd az AprilTag változásai és az AprilTag-család változása).
Új funkciók¶
Nyers előnézet-streamelés — a hardveres JPEG-kódoló nélküli lapok megkerülhetik a JPEG-et, és lekicsinyített nyers képkockákat (~60 KB-ra korlátozva) streamelhetnek az IDE-nek/gazdagépnek, így az élő előnézet ezeken a lapokon is működik.
Egyéb változások és fejlesztések¶
A hardveres vágás mostantól engedélyezve van az összes STM32/NXP lapon (Giga, Nicla Vision, Portenta H7, OpenMV 1–4 / 4 Plus / Pure Thermal / RT1060). Képkockaméret vagy ablak beállításakor a pufferenkénti memória a levágott méretre csökken, így több RAM szabadul fel az
fb_alloc()számára.Gyorsabb debayering — a Bayer→RGB565/szürkeárnyalatos konverzió mostantól ARM Helium/MVE SIMD-gyorsított a Cortex-M55 lapokon (pl. RT1060), megosztott SIMD JPEG-kódoló útvonallal.
Gyorsabb IDE-hibakeresés — a hibakereső mostantól, amikor csak lehetséges, közvetlenül az USB-veremből továbbítja az adatokat, elkerülve egy extra másolást.
A MicroPython almodul frissítve — a lapok átméretezhetik a TinyUSB CDC-puffert, valamint GC- és build-szabály-javítások.
Hibajavítások¶
Kamera és érzékelők:
Javítva az OV7725 Bayer/CFA mintázat (GBRG → BGGR), ami helyrehozza a debayerelt színkimenetet az OV7725 kamerákon; az OV7725 mostantól a Bayer képpontformátumot jelenti, a csak Bayer érzékelők pedig mostantól 1 bájt/képpont forrásmélységet jelentenek.
Javítva a nyers/Bayer framebuffer méretszámítása.
Gépi tanulás:
A TensorFlow Lite Micro mostantól a GC-halom szabad memóriáját használja az átmeneti tenzoraréna méretezésekor, megelőzve a modellbetöltési foglalási hibákat a korlátozott képkocka-puffermemóriájú lapokon.
Gazdagép / IDE:
Javítva az USB-hibakeresési CDC-puffer kezelése a TinyUSB lapokon a megbízhatóbb soros/hibakeresési átviteli teljesítmény érdekében.
tools/pyopenmv: javítva az RGB565 bájtsorrend, hozzáadva egyscaleargumentum, a képkocka-puffer eszköz pedig mostantól jelenti a kép méretét/formátumát.
Hardver- és laptámogatás¶
OV7725 — mostantól a Bayer képpontformátumot jelenti (helyes nyers/CFA kezelés).
Hardveres vágás engedélyezve az STM32/NXP laptartomány egészén.
Visszafelé nem kompatibilis API-változások¶
Felhasználó számára látható API-törések a v4.5.8 és v4.5.9 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 API; csak az azt használó szkripteket érinti.
behavior — azonos API, eltérő eredmények; ellenőrizd újra a finomhangolt szkripteket.
A változások ebben a sorrendben, hatás szerint vannak csoportosítva. Ha csak portolni szeretnéd a kódodat, ugorj a végén lévő migrációs ellenőrzőlistához. Minden commit-hash a hozzá tartozó diffre mutat a GitHubon.
AprilTag eredményobjektumok és set_buffers (minor)¶
A find_apriltags() AprilTag eredményei mostantól attribútumokként teszik elérhetővé az adataikat metódusok helyett — használd a tag.cx, tag.cy, tag.rotation, tag.family, tag.corners formát a tag.cx(), tag.family() stb. helyett. Új name (családnév-karakterlánc) és lebegőpontos pontosságú cxf / cyf hozzáférők kerültek hozzáadásra.
Külön változás, hogy az automatikus videopuffer-konfiguráció megváltozott: a set_buffers váltja fel az auto_adjust-ot — adj át -1-et a képkockaméretű, legfeljebb három puffer használatához (vagy ahány elfér), és 1-et a teljes képkocka-puffer használatához. A puffer méretezése mostantól bit/képpont-tudatos, így 1 bpp formátumokhoz több puffer foglalható le.
A ble_advertising és a hálózati RPC eltávolítva (minor)¶
A ble_advertising segédkönyvtár és a ble_temperature.py példa eltávolításra került — használd helyette az aioble csomagot (egy aioble hőmérséklet-példa biztosított). A hálózati RPC master/slave osztályok eltávolításra kerültek az rpc.py-ból.
Az AprilTag-családok alapértelmezetten letiltva (behavior)¶
Az AprilTag-családok mostantól egyenként, fordítási időben választhatók ki, és a nem használtak alapértelmezetten le vannak tiltva. Standard lapokon a find_apriltags() mostantól csak a TAG36H11 családot észleli, hacsak a firmware-t újra nem fordítják más családok engedélyezésével. Azok a szkriptek, amelyek más családokra (TAG16H5, TAG25H9, …) támaszkodnak egy standard buildben, csendben abbahagyják azok észlelését.
Commit: effe12f2c
Migrációs ellenőrzőlista¶
A v4.5.9-re való tiszta portoláshoz a tipikus teendők:
Változtasd meg az AprilTag eredmény-hozzáférést metódushívásokról attribútumokra (
tag.cx()→tag.cx), és válts azauto_adjust-ról aset_buffers-re (az AprilTag / puffer változásai).Cseréld le a
ble_advertising-et azaioblecsomagra, és hagyd el a hálózati RPC master/slave használatát (az eltávolítások).Ha a
TAG36H11-en kívül más AprilTag-családokat használsz egy standard buildben, vedd figyelembe, hogy ezek alapértelmezetten már nem kerülnek észlelésre (az AprilTag-család változása).