v1.1.0¶
v1.1.0 je základní architektonické vydání: vyřazuje rané vlastní periferní moduly ve prospěch standardních vestavěných modulů MicroPythonu, přesouvá obrazové API do modulu image a hodiny snímkové frekvence do time a přidává vestavěné kaskády Haar, get_pixel() / set_pixel(), podporu desky OpenMV 2 a ladění přes USB-CDC. Jde o vydání s rozsáhlými zásadními změnami, které definuje API — přečtěte si zásadní změny níže.
Hlavní novinky¶
Vestavěné moduly MicroPythonu — vlastní moduly
gpio/led/spi/socket/wlan/uart/file/selectbyly odstraněny ve prospěch modulůpyb/machinez MicroPythonu.Modul
image—Image()/HaarCascade()/ deskriptory jsou nyní v moduluimage.time.clock— hodiny snímkové frekvence se přesunuly do modulutime.Vestavěné kaskády Haar —
HaarCascade("frontalface")/HaarCascade("eye")(není potřeba žádný soubor).Podpora desky OpenMV 2 a ladění přes USB-CDC.
Zásadní změna: struktura modulů byla předefinována — viz zásadní změny.
Nové funkce¶
Image — přidány
Image.get_pixel(x, y)/set_pixel()a indexový přístup k pixelůmimg[i]; vestavěné flashové kaskády Haar (HaarCascade("frontalface")/HaarCascade("eye")) a klíčové slovostages=pro omezení stupňů kaskády;draw_string()funguje na obrazech ve stupních šedi.Sensor — přidány
sensor.set_colorbar(),sensor.set_saturation()a velikost snímkuQQVGA2.mlx—mlx.read(type)s výstupemmlx.RAINBOW/mlx.GRAYSCALE.Ladění — implementováno ladění přes USB CDC, dotaz na verzi firmwaru
fw_version(), firmware pro jednotlivé desky (OpenMV 1 / OpenMV 2) a skripty pro autotest / colorbar; fatální chyby a chyby parsování se zapisují do flash paměti.
Další změny a vylepšení¶
Nedostatek paměti nyní vyvolá
MemoryErrormístoOSError; skripty běží se znovuvyvoláním výjimky, takže se chyby vypíší místo pádu; přenosová rychlost (baud rate) sériové linky je konfigurovatelná (výchozí 921600); větší souborový systém ve flash paměti; pixelové hodiny senzoru byly sníženy na 54 MHz pro stabilitu snímání;sensor.reset()se spoléhá pouze na softwarový reset senzoru.
Opravy chyb¶
Opraveno porovnávání šablon, opakování prvního objektu funkcí
find_features(), atomický přístup k registrům SCCB/I2C, detekce čipu SD karty, mapování pinů soft-I2C, přesnostfast_cbrtf/ barev LAB a využití paměti integrálním obrazem / mediánovým filtrem na OpenMV 1 / 2.
Podpora hardwaru a desek¶
Podpora desky OpenMV 2 (STM32F427) (a hardwarový návrh OpenMV 3); na OpenMV 2 se jako hodiny senzoru používá MCO.
Zásadní změny API¶
Změny API viditelné pro uživatele mezi v1.0.3-beta a v1.1.0. Rozsah: C-moduly Pythonu v modules/ a knihovny Pythonu v scripts/libraries/.
Každá změna je označena svým dopadem:
major — ovlivňuje většinu skriptů, které funkci používaly; budete muset kód portovat.
behavior — stejné API, jiné výsledky; znovu zkontrolujte vyladěné skripty.
Změny jsou seskupeny podle dopadu v tomto pořadí. Pokud chcete jen portovat svůj kód, přejděte na kontrolní seznam migrace na konci. Každý hash commitu odkazuje na svůj diff na GitHubu.
Vlastní periferní moduly odstraněny (major)¶
Rané vlastní moduly clock / file / gpio / led / select / socket / spi / wlan / uart byly odstraněny ve prospěch vestavěných periferií pyb / machine z MicroPythonu. Portujte skripty na standardní ekvivalenty MicroPythonu (např. pyb.Pin / pyb.LED / pyb.SPI / pyb.UART).
Commity: 6d2fafa94
Obrazové API přesunuto do modulu image (major)¶
Image(), HaarCascade() a funkce pro ukládání/načítání deskriptorů již nejsou holé vestavěné funkce — žijí v novém modulu image. Skripty musí použít import image a image.Image / image.HaarCascade().
Commity: 54288c535
Hodiny snímkové frekvence přesunuty do time (major)¶
Samostatný modul clock byl odstraněn; hodiny snímkové frekvence nyní žijí v time. Použijte import time a clock = time.clock() — vrácený objekt stále poskytuje .tick() / .fps() / .avg() / .reset().
Commity: a8928ca3b
/flash a /sd se již nepřidávají do sys.path (behavior)¶
Návěští svazků / kořenový adresář byly opraveny a /flash a /sd se již automaticky nepřipojují k sys.path. Skripty, které importovaly pomocné moduly holým názvem z těchto umístění, musí cestu přidat explicitně (nebo umístit moduly tam, kde jsou nalezeny).
Commity: 09e77b5da
Kontrolní seznam migrace¶
Pro čistý přechod na v1.1.0 obvykle stačí:
Nahraďte vlastní moduly
gpio/led/spi/uart/socket/wlan/file/selectmoduly MicroPythonupyb/machine(odstranění vlastních modulů).import imagea předřaďteimage.předImage()/HaarCascade()(přesun modulu image).Použijte
import timeaclock = time.clock()(přesun hodin).Přidejte
/flash//sddosys.pathexplicitně, pokud jste importovali pomocné moduly holým názvem (změna sys.path).
Všechny ostatní skripty běží beze změny.