v1.1.0¶
v1.1.0 on perustavanlaatuinen arkkitehtuurijulkaisu: se poistaa varhaiset mukautetut oheislaitemoduulit standardien MicroPython-sisäänrakennettujen hyväksi, siirtää kuvankäsittelyrajapinnan image-moduuliin ja kehysnopeuskellon time-moduuliin sekä lisää sisäänrakennetut Haar-kaskadit, get_pixel() / set_pixel(), OpenMV 2 -korttituen ja USB-CDC-virheenkorjauksen. Se on voimakkaasti rikkova, rajapintaa määrittelevä julkaisu — lue alla olevat rikkovat muutokset.
Kohokohdat¶
MicroPython-sisäänrakennetut — mukautetut
gpio/led/spi/socket/wlan/uart/file/select-moduulit poistettiin MicroPythoninpyb/machine-moduulien hyväksi.image-moduuli —Image()/HaarCascade()/ kuvaajat ovat nytimage-moduulissa.time.clock— kehysnopeuskello siirtyitime-moduuliin.Sisäänrakennetut Haar-kaskadit —
HaarCascade("frontalface")/HaarCascade("eye")(tiedostoa ei tarvita).OpenMV 2 -korttituki ja USB-CDC-virheenkorjaus.
Rikkova: moduulirakenne määriteltiin uudelleen — katso rikkovat muutokset.
Uudet ominaisuudet¶
Image — lisättiin
Image.get_pixel(x, y)/set_pixel()jaimg[i]-alaindeksoitu pikselien käyttö; sisäänrakennetut flash-muistissa olevat Haar-kaskadit (HaarCascade("frontalface")/HaarCascade("eye")) jastages=-avainsana kaskadin vaiheiden rajoittamiseen;draw_string()toimii harmaasävykuvilla.Sensor — lisättiin
sensor.set_colorbar(),sensor.set_saturation()jaQQVGA2-kehyskoko.mlx—mlx.read(type)mlx.RAINBOW/mlx.GRAYSCALE-tulostuksella.Virheenkorjaus — toteutettiin virheenkorjaus USB CDC:n yli, laiteohjelmiston
fw_version()-kysely, korttikohtainen laiteohjelmisto (OpenMV 1 / OpenMV 2) ja itsetesti- / colorbar-skriptit; vakavat virheet / jäsennysvirheet kirjataan flash-muistiin.
Muut muutokset ja parannukset¶
Muistin loppuminen nostaa nyt
MemoryError-poikkeuksenOSError-poikkeuksen sijaan; skriptit suoritetaan poikkeuksen uudelleennostolla, jotta virheet tulostuvat sen sijaan, että ne kaataisivat järjestelmän; sarjaliikenteen siirtonopeus on määritettävissä (oletus 921600); suurempi flash-tiedostojärjestelmä; sensorin pikselikellotaajuus laskettiin 54 MHz:iin kuvankaappauksen vakauden vuoksi;sensor.reset()luottaa vain sensorin ohjelmistonollaukseen.
Virhekorjaukset¶
Korjattiin mallisovitus,
find_features()toisti ensimmäisen objektin, SCCB/I2C-rekisterien atominen käyttö, SD-kortin sirun tunnistus, ohjelmisto-I2C:n nastakartoitus,fast_cbrtf/ LAB-värin tarkkuus sekä integraalikuvan / mediaanisuodattimen muistinkäyttö OpenMV 1 / 2 -korteilla.
Laitteisto- ja korttituki¶
OpenMV 2 (STM32F427) -korttituki (ja OpenMV 3 -laitteistosuunnittelu); MCO:ta käytetään sensorikellona OpenMV 2:ssa.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkomukset v1.0.3-beta:n ja v1.1.0:n välillä. Laajuus: Python-C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksensa mukaan:
major — vaikuttaa useimpiin skripteihin, jotka käyttivät ominaisuutta; sinun on portattava koodia.
behavior — sama rajapinta, eri tulokset; tarkista viritetyt skriptit uudelleen.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain portata koodisi, hyppää lopussa olevaan siirtymistarkistuslistaan. Jokainen commit-hash linkittää diffiinsä GitHubissa.
Mukautetut oheislaitemoduulit poistettu (major)¶
Varhaiset mukautetut clock / file / gpio / led / select / socket / spi / wlan / uart -moduulit poistettiin MicroPythonin sisäänrakennettujen pyb / machine -oheislaitteiden hyväksi. Porttaa skriptit standardeihin MicroPython-vastineisiin (esim. pyb.Pin / pyb.LED / pyb.SPI / pyb.UART).
Commitit: 6d2fafa94
Kuvankäsittelyrajapinta siirretty image-moduuliin (major)¶
Image(), HaarCascade() ja kuvaajien tallennus-/latausfunktiot eivät ole enää paljaita sisäänrakennettuja — ne sijaitsevat uudessa image-moduulissa. Skriptien on käytettävä import image ja käytettävä image.Image / image.HaarCascade().
Commitit: 54288c535
Kehysnopeuskello siirretty time-moduuliin (major)¶
Erillinen clock-moduuli poistettiin; kehysnopeuskello sijaitsee nyt time-moduulissa. Käytä import time ja clock = time.clock() — palautettu objekti tarjoaa edelleen .tick() / .fps() / .avg() / .reset().
Commitit: a8928ca3b
/flash ja /sd ei enää lisätä sys.path-polkuun (behavior)¶
Taltioiden nimet / juurihakemisto korjattiin, eikä /flash ja /sd lisätä enää automaattisesti sys.path-polkuun. Skriptien, jotka toivat apumoduuleja paljaalla nimellä noista sijainneista, on lisättävä polku eksplisiittisesti (tai sijoitettava moduulit paikkaan, josta ne löytyvät).
Commitit: 09e77b5da
Siirtymistarkistuslista¶
Siisti portti v1.1.0:aan vaatii tyypillisesti seuraavan työn:
Korvaa mukautetut
gpio/led/spi/uart/socket/wlan/file/select-moduulit MicroPythoninpyb/machine-moduuleilla (mukautettujen moduulien poisto).import imageja lisääImage()/HaarCascade()-kutsujen eteenimage.(image-moduulin siirto).Käytä
import timejaclock = time.clock()(kellon siirto).Lisää
/flash//sdsys.path-polkuun eksplisiittisesti, jos toit apumoduuleja paljaalla nimellä (sys.path-muutos).
Kaikki muut skriptit toimivat muuttumattomina.