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/selectmodulok eltávolításra kerültek a MicroPythonpyb/machinemoduljainak javára.imagemodul — azImage()/HaarCascade()/ leírók mostantól aimagemodulban vannak.time.clock— a képkockasebesség-óra áthelyezve atimemodulba.Beépített Haar-kaszkádok —
HaarCascade("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 azimg[i]indexelt képpont-hozzáférés; beépített flash memória Haar-kaszkádok (HaarCascade("frontalface")/HaarCascade("eye")) és egystages=kulcsszó a kaszkádlépcsők korlátozására; adraw_string()szürkeárnyalatos képeken is működik.Sensor — hozzáadva a
sensor.set_colorbar(), asensor.set_saturation()és aQQVGA2képkockaméret.mlx—mlx.read(type)mlx.RAINBOW/mlx.GRAYSCALEkimenettel.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
MemoryErrorkivételt vált kiOSErrorhelyett; 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; asensor.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, afast_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:
Cseréld le az egyedi
gpio/led/spi/uart/socket/wlan/file/selectmodulokat a MicroPythonpyb/machinemoduljaira (az egyedi modulok eltávolítása).import imageés azImage()/HaarCascade()elé tedd azimage.előtagot (az image modul áthelyezése).Használd az
import timeés aclock = time.clock()formát (az óra áthelyezése).Add hozzá a
/flash//sdútvonalat explicit módon asys.pathlistához, ha segédmodulokat importáltál puszta névvel (a sys.path változás).
Minden más szkript változatlanul fut.