v1.1.0¶
v1.1.0 är den grundläggande arkitekturutgåvan: den slopar de tidiga anpassade kringutrustningsmodulerna till förmån för standardiserade MicroPython-inbyggda funktioner, flyttar bild-API:t till image-modulen och bildfrekvensklockan till time, och lägger till inbyggda Haar-cascades, get_pixel() / set_pixel(), stöd för OpenMV 2-kort och USB-CDC-felsökning. Det är en kraftigt brytande, API-definierande utgåva — läs de brytande ändringarna nedan.
Höjdpunkter¶
MicroPython-inbyggda funktioner — de anpassade modulerna
gpio/led/spi/socket/wlan/uart/file/selecttogs bort till förmån för MicroPythonspyb/machine.image-modulen —Image()/HaarCascade()/ deskriptorer finns nu iimage-modulen.time.clock— bildfrekvensklockan flyttade tilltime-modulen.Inbyggda Haar-cascades —
HaarCascade("frontalface")/HaarCascade("eye")(ingen fil behövs).Stöd för OpenMV 2-kort och USB-CDC-felsökning.
Brytande: modulstrukturen omdefinierades — se de brytande ändringarna.
Nya funktioner¶
Image — lade till
Image.get_pixel(x, y)/set_pixel()och pixelåtkomst via indexeringimg[i]; inbyggda Haar-cascades i flashminne (HaarCascade("frontalface")/HaarCascade("eye")) och ettstages=-nyckelord för att begränsa cascade-steg;draw_string()fungerar på gråskalebilder.Sensor — lade till
sensor.set_colorbar(),sensor.set_saturation()och bildstorlekenQQVGA2.mlx—mlx.read(type)med utdatamlx.RAINBOW/mlx.GRAYSCALE.Felsökning — implementerade felsökning över USB CDC, en
fw_version()-fråga för fast programvara, fast programvara per kort (OpenMV 1 / OpenMV 2) och självtest- / colorbar-skript; allvarliga fel/tolkningsfel loggas till flashminne.
Övriga ändringar och förbättringar¶
Slut på minne ger nu
MemoryErrori stället förOSError; skript körs med återkastade undantag så att fel skrivs ut i stället för att krascha; den seriella baudhastigheten är konfigurerbar (standard 921600); ett större flashminnesfilsystem; sensorns pixelklocka sänktes till 54 MHz för stabil tagning;sensor.reset()förlitar sig endast på en mjuk återställning av sensorn.
Buggfixar¶
Rättade mallmatchning,
find_features()som upprepade det första objektet, atomär registeråtkomst för SCCB/I2C, chip-detektering för SD-kort, pin-mappning för mjuk-I2C,fast_cbrtf/ LAB-färgnoggrannhet samt minnesanvändning för integralbild / medianfilter på OpenMV 1 / 2.
Hårdvaru- och kortstöd¶
Stöd för OpenMV 2-kort (STM32F427) (och hårdvarudesign för OpenMV 3); MCO används som sensorklocka på OpenMV 2.
Brytande API-ändringar¶
Användarsynliga API-brott mellan v1.0.3-beta och v1.1.0. Omfattning: Python C-moduler i modules/ och Python-bibliotek i scripts/libraries/.
Varje ändring är taggad med sin påverkan:
major — påverkar de flesta skript som använde funktionen; du behöver porta kod.
behavior — samma API, andra resultat; kontrollera om finjusterade skript på nytt.
Ändringar grupperas efter påverkan i den ordningen. Om du bara vill porta din kod, hoppa till migrationschecklistan i slutet. Varje commit-hash länkar till sin diff på GitHub.
Anpassade kringutrustningsmoduler borttagna (major)¶
De tidiga anpassade modulerna clock / file / gpio / led / select / socket / spi / wlan / uart togs bort till förmån för MicroPythons inbyggda pyb / machine-kringutrustning. Porta skript till motsvarande standardfunktioner i MicroPython (t.ex. pyb.Pin / pyb.LED / pyb.SPI / pyb.UART).
Commits: 6d2fafa94
Bild-API flyttat in i image-modulen (major)¶
Image(), HaarCascade() och funktionerna för att spara/läsa in deskriptorer är inte längre rena inbyggda funktioner — de finns i den nya image-modulen. Skript måste använda import image och image.Image / image.HaarCascade().
Commits: 54288c535
Bildfrekvensklocka flyttad in i time (major)¶
Den fristående clock-modulen togs bort; bildfrekvensklockan finns nu i time. Använd import time och clock = time.clock() — det returnerade objektet tillhandahåller fortfarande .tick() / .fps() / .avg() / .reset().
Commits: a8928ca3b
/flash och /sd läggs inte längre till i sys.path (behavior)¶
Volymetiketterna / rotkatalogen rättades och /flash och /sd läggs inte längre till automatiskt i sys.path. Skript som importerade hjälpmoduler med bara namnet från de platserna måste lägga till sökvägen uttryckligen (eller placera modulerna där de hittas).
Commits: 09e77b5da
Migrationschecklista¶
För en ren portning till v1.1.0 är det typiska arbetet:
Ersätt de anpassade modulerna
gpio/led/spi/uart/socket/wlan/file/selectmed MicroPythonspyb/machine(borttagningen av anpassade moduler).import imageoch prefixaImage()/HaarCascade()medimage.(flytten av image-modulen).Använd
import timeochclock = time.clock()(klockflytten).Lägg till
/flash//sdisys.pathuttryckligen om du importerade hjälpmoduler med bara namnet (ändringen av sys.path).
Alla andra skript körs oförändrade.