v1.1.0¶
v1.1.0 je temeljno arhitektonsko izdanje: napušta rane prilagođene periferijske module u korist standardnih MicroPython ugrađenih funkcija, premješta slikovni API u modul image i mjerač vremena za brzinu sličica u time te dodaje ugrađene Haar kaskade, get_pixel() / set_pixel(), podršku za OpenMV 2 pločicu i otklanjanje pogrešaka preko USB-CDC-a. Riječ je o izdanju koje uvelike narušava kompatibilnost i definira API — pročitajte promjene koje narušavaju kompatibilnost u nastavku.
Istaknuto¶
MicroPython ugrađene funkcije — prilagođeni moduli
gpio/led/spi/socket/wlan/uart/file/selectuklonjeni su u korist MicroPythonovihpyb/machine.Modul
image—Image()/HaarCascade()/ deskriptori sada su u moduluimage.time.clock— mjerač vremena za brzinu sličica premješten je u modultime.Ugrađene Haar kaskade —
HaarCascade("frontalface")/HaarCascade("eye")(datoteka nije potrebna).Podrška za OpenMV 2 pločicu i otklanjanje pogrešaka preko USB-CDC-a.
Narušava kompatibilnost: struktura modula je redefinirana — pogledajte promjene koje narušavaju kompatibilnost.
Nove značajke¶
Image — dodani
Image.get_pixel(x, y)/set_pixel()i pristup pikselima indeksiranjemimg[i]; ugrađene flash Haar kaskade (HaarCascade("frontalface")/HaarCascade("eye")) i ključna riječstages=za ograničavanje faza kaskade;draw_string()radi na slikama u sivim tonovima.Sensor — dodani
sensor.set_colorbar(),sensor.set_saturation()i veličina sličiceQQVGA2.mlx—mlx.read(type)smlx.RAINBOW/mlx.GRAYSCALEizlazom.Otklanjanje pogrešaka — implementirano otklanjanje pogrešaka preko USB CDC-a, upit
fw_version()za verziju ugrađenog programa, ugrađeni program po pločici (OpenMV 1 / OpenMV 2) te skripte za samotestiranje / colorbar; fatalne pogreške i pogreške pri raščlanjivanju bilježe se u flash memoriju.
Ostale promjene i poboljšanja¶
Nedostatak memorije sada podiže
MemoryErrorumjestoOSError; skripte se izvode s ponovnim podizanjem iznimki pa se pogreške ispisuju umjesto da ruše sustav; brzina prijenosa (baud) serijskog porta je podesiva (zadano 921600); veći flash datotečni sustav; takt piksela senzora snižen je na 54 MHz radi stabilnosti snimanja;sensor.reset()oslanja se samo na softverski reset senzora.
Ispravci pogrešaka¶
Ispravljeno podudaranje predložaka,
find_features()koji ponavlja prvi objekt, atomski pristup SCCB/I2C registrima, detekcija SD-kartice, mapiranje pinova softverskog I2C-a, točnostfast_cbrtf/ LAB boje te korištenje memorije integralne slike / medijan filtra na OpenMV 1 / 2.
Podrška za hardver i pločice¶
Podrška za OpenMV 2 (STM32F427) pločicu (i hardverski dizajn OpenMV 3); MCO korišten kao takt senzora na OpenMV 2.
Promjene API-ja koje narušavaju kompatibilnost¶
Promjene API-ja vidljive korisniku između v1.0.3-beta i v1.1.0. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.
Svaka je promjena označena svojim utjecajem:
major — utječe na većinu skripti koje su koristile značajku; morat ćete prilagoditi kod.
behavior — isti API, drugačiji rezultati; ponovno provjerite ugođene skripte.
Promjene su grupirane po utjecaju tim redoslijedom. Ako samo želite prilagoditi svoj kod, prijeđite na kontrolni popis za migraciju na kraju. Svaki hash commita vodi na svoj diff na GitHubu.
Prilagođeni periferijski moduli uklonjeni (major)¶
Rani prilagođeni moduli clock / file / gpio / led / select / socket / spi / wlan / uart uklonjeni su u korist MicroPythonovih ugrađenih pyb / machine periferija. Prilagodite skripte standardnim MicroPython ekvivalentima (npr. pyb.Pin / pyb.LED / pyb.SPI / pyb.UART).
Commitovi: 6d2fafa94
Slikovni API premješten u modul image (major)¶
Image(), HaarCascade() i funkcije za spremanje/učitavanje deskriptora više nisu gole ugrađene funkcije — nalaze se u novom modulu image. Skripte moraju import image i koristiti image.Image / image.HaarCascade().
Commitovi: 54288c535
Mjerač vremena za brzinu sličica premješten u time (major)¶
Samostalni modul clock je uklonjen; mjerač vremena za brzinu sličica sada se nalazi u time. Koristite import time i clock = time.clock() — vraćeni objekt i dalje pruža .tick() / .fps() / .avg() / .reset().
Commitovi: a8928ca3b
/flash i /sd više se ne dodaju u sys.path (behavior)¶
Oznake volumena / korijenski direktorij su ispravljeni i /flash i /sd više se ne dodaju automatski u sys.path. Skripte koje su uvozile pomoćne module golim imenom s tih lokacija moraju eksplicitno dodati putanju (ili smjestiti module tamo gdje se pronalaze).
Commitovi: 09e77b5da
Kontrolni popis za migraciju¶
Za čistu prilagodbu na v1.1.0 tipičan posao je:
Zamijenite prilagođene module
gpio/led/spi/uart/socket/wlan/file/selectMicroPythonovimpyb/machine(uklanjanje prilagođenih modula).import imagei dodajte prefiksimage.ispredImage()/HaarCascade()(premještanje modula image).Koristite
import timeiclock = time.clock()(premještanje clocka).Eksplicitno dodajte
/flash//sdusys.pathako ste uvozili pomoćne module golim imenom (promjena sys.path).
Sve ostale skripte rade nepromijenjeno.