v1.1.0

A v1.1.0 az alapvető architektúra-kiadás: elveti a korai egyedi perifériamodulokat a szabványos MicroPython beépített modulok javára, áthelyezi a képkezelő API-t a image modulba és a képkockasebesség-órát a time modulba, valamint hozzáad beépített Haar-kaszkádokat, get_pixel() / set_pixel() függvényeket, OpenMV 2 lap-támogatást és USB-CDC hibakeresést. Ez egy erősen kompatibilitást törő, API-meghatározó kiadás — olvasd el az alábbi kompatibilitást törő változásokat.

Kiemelt újdonságok

  • MicroPython beépített modulok — az egyedi gpio / led / spi / socket / wlan / uart / file / select modulok eltávolításra kerültek a MicroPython pyb / machine moduljainak javára.

  • image modul — az Image() / HaarCascade() / leírók mostantól a image modulban vannak.

  • time.clock — a képkockasebesség-óra áthelyezve a time modulba.

  • Beépített Haar-kaszkádokHaarCascade("frontalface") / HaarCascade("eye") (nincs szükség fájlra).

  • OpenMV 2 lap-támogatás és USB-CDC hibakeresés.

  • Kompatibilitást törő: a modulstruktúra újradefiniálásra került — lásd a kompatibilitást törő változásokat.

Új funkciók

  • Image — hozzáadva az Image.get_pixel(x, y) / set_pixel() és az img[i] indexelt képpont-hozzáférés; beépített flash memória Haar-kaszkádok (HaarCascade("frontalface") / HaarCascade("eye")) és egy stages= kulcsszó a kaszkádlépcsők korlátozására; a draw_string() szürkeárnyalatos képeken is működik.

  • Sensor — hozzáadva a sensor.set_colorbar(), a sensor.set_saturation() és a QQVGA2 képkockaméret.

  • mlxmlx.read(type) mlx.RAINBOW / mlx.GRAYSCALE kimenettel.

  • Hibakeresés — megvalósítva a hibakeresés USB CDC-n keresztül, egy firmware fw_version() lekérdezés, laponkénti firmware (OpenMV 1 / OpenMV 2), valamint öntesztelő / colorbar szkriptek; a végzetes/elemzési hibák a flash memóriába naplózódnak.

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

  • A memóriahiány mostantól MemoryError kivételt vált ki OSError helyett; a szkriptek kivétel-újradobással futnak, így a hibák kiíródnak ahelyett, hogy összeomlanának; a soros átviteli sebesség (baud) konfigurálható (alapértelmezett 921600); nagyobb flash memória fájlrendszer; az érzékelő képpontórája 54 MHz-re csökkentve a rögzítés stabilitása érdekében; a sensor.reset() kizárólag az érzékelő szoftveres visszaállítására támaszkodik.

Hibajavítások

  • Javítva a sablonillesztés, a find_features() első objektumot ismétlő hibája, az SCCB/I2C atomi regiszter-hozzáférés, az SD-kártya chip-felismerés, a szoftveres I2C láb-leképezés, a fast_cbrtf / LAB szín pontossága, valamint az integrálkép / mediánszűrő memóriahasználata az OpenMV 1 / 2 eszközökön.

Hardver- és lap-támogatás

  • OpenMV 2 (STM32F427) lap-támogatás (és OpenMV 3 hardvertervezés); az MCO-t használja az érzékelő órajeleként az OpenMV 2 eszközön.

Kompatibilitást törő API-változások

Felhasználó által látható API-törések a v1.0.3-beta és a v1.1.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:

  • major — a funkciót használó szkriptek többségét érinti; a kódot át kell portolni.

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

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

Egyedi perifériamodulok eltávolítva (major)

A korai egyedi clock / file / gpio / led / select / socket / spi / wlan / uart modulok eltávolításra kerültek a MicroPython beépített pyb / machine perifériáinak javára. Portold át a szkripteket a szabványos MicroPython megfelelőkre (pl. pyb.Pin / pyb.LED / pyb.SPI / pyb.UART).

Commitok: 6d2fafa94

A képkezelő API áthelyezve a image modulba (major)

Az Image(), a HaarCascade() és a leíró mentő/betöltő függvények már nem önálló beépített elemek — az új image modulban élnek. A szkripteknek import image kell, és az image.Image / image.HaarCascade() használata.

Commitok: 54288c535

A képkockasebesség-óra áthelyezve a time modulba (major)

Az önálló clock modul eltávolításra került; a képkockasebesség-óra mostantól a time modulban él. Használd az import time és a clock = time.clock() formát — a visszaadott objektum továbbra is biztosítja a .tick() / .fps() / .avg() / .reset() metódusokat.

Commitok: a8928ca3b

A /flash és a /sd többé nem kerül a sys.path listába (behavior)

A kötetcímkék / gyökérkönyvtár javításra kerültek, és a /flash és a /sd többé nem fűződik automatikusan a sys.path listához. Azoknak a szkripteknek, amelyek segédmodulokat importáltak puszta névvel ezekről a helyekről, explicit módon hozzá kell adniuk az útvonalat (vagy oda kell helyezniük a modulokat, ahol megtalálhatók).

Commitok: 09e77b5da

Migrációs ellenőrzőlista

A v1.1.0-ra való tiszta átportoláshoz a szokásos teendők:

  1. Cseréld le az egyedi gpio / led / spi / uart / socket / wlan / file / select modulokat a MicroPython pyb / machine moduljaira (az egyedi modulok eltávolítása).

  2. import image és az Image() / HaarCascade() elé tedd az image. előtagot (az image modul áthelyezése).

  3. Használd az import time és a clock = time.clock() formát (az óra áthelyezése).

  4. Add hozzá a /flash / /sd útvonalat explicit módon a sys.path listához, ha segédmodulokat importáltál puszta névvel (a sys.path változás).

Minden más szkript változatlanul fut.