v1.7.0

v1.7.0 introducerar modulen cpufreq (kontroll av CPU-frekvens / överklockning), MicroPython-modulen os, uppdatering av MLX-värmesensorns uppdateringsfrekvens / upplösning samt en första uppstart av kortet OpenMV Cam M7 (STM32F7). Signaturen för fir.init(), hanteringen av för stora bildrutor och standardvärdet för JPEG-kvalitet har ändrats — läs de brytande ändringarna nedan.

Höjdpunkter

  • cpufreq-modulen — läs av / ställ in CPU-frekvensen, med ett exempel på överklockning.

  • os-modulen — MicroPython-modulen os är nu tillgänglig.

  • MLX-värmesensorfir.init() accepterar en uppdateringsfrekvens och ADC-upplösning.

  • OpenMV Cam M7 — första uppstart av STM32F7-kortet.

  • Brytande: fir.init() är nu enbart nyckelordsbaserad, för stora bildrutor beskärs automatiskt och standardvärdet för JPEG-kvalitet sänktes — se de brytande ändringarna.

Nya funktioner

  • cpufreq — lade till modulen cpufreq med cpufreq.get_frequency() / cpufreq.set_frequency() och konstanterna CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ, plus ett overclocking.py-exempel.

  • os — aktiverade MicroPython-modulen os.

  • MLX / FIRfir.init() accepterar nu en uppdateringsfrekvens och ADC-upplösning, med motsvarande refresh / resolution-kontroller för MLX-värmesensorn.

Övriga ändringar och förbättringar

  • Justerade OV7725:s AGC/AEC-region (mindre rörelseoskärpa), aktiverade den fasta DSP-färgbaren för OV7725 och åtgärdade IDE:ns bildbuffertströmning (inga inaktuella / dubblerade bildrutor).

Buggfixar

  • Åtgärdade ett DCMI/DMA-överflöde i överföringsstorleken i sensor.snapshot(), städade upp hanteringen av buffertöverflöde vid JPEG-komprimering, förbättrade OV7725:s AEC/AGC-driftsregion för bättre automatisk exponering/förstärkning och korrigerade färgbar- / självtestskripten för OV7725.

Hårdvaru- och kortstöd

  • OpenMV Cam M7 (STM32F7 / OPENMV7) — första kort- och startladdarstöd.

  • OpenMV 2 — sensorklockan drivs av MCO-utgången.

Brytande API-ändringar

Användarsynliga API-brytningar mellan v1.6.0 och v1.7.0. Omfattning: Python-C-moduler i modules/ och Python-bibliotek i scripts/libraries/.

Varje ändring är märkt med sin påverkan:

  • minor — smalt API; påverkar bara skript som använde det.

  • behavior — samma API, olika resultat; kontrollera justerade skript på nytt.

Ändringarna är grupperade efter påverkan i den ordningen. Om du bara vill porta din kod, hoppa till migreringschecklistan i slutet. Varje commit-hash länkar till sin diff på GitHub.

fir.init() är nu enbart nyckelordsbaserad (minor)

fir.init() omarbetades för att ta nyckelordsargument (type= / refresh= / resolution=, standard refresh 64 Hz, max 512 Hz) i stället för positionsargument. Uppdatera positionsbaserade fir.init(...)-anrop till nyckelordsformen.

Commits: 958c5b7f7

För stora bildrutor beskärs automatiskt till QVGA (behavior)

sensor.snapshot() utlöser inte längre ett fel när den råa bildrutan överskrider kortets maximala råbildrutestorlek — för stora råbildrutor fönstras/beskärs nu i stället till QVGA (endast rå JPEG-läge avvisas fortfarande). Välj en bildrutestorlek som stöds om du förlitade dig på det tidigare felet.

Commits: b655a5488, abace9e4f

OpenMV 2:s max-bildrutestorlek sänkt till QVGA (behavior)

På OpenMV 2 sänktes den maximala bildrutestorleken för integralbild / rå / blob från VGA till QVGA. Att begära VGA för gråskala / RGB565 / blob / integralbildsoperationer på OpenMV 2 beskär nu till QVGA — designa om skript som var beroende av VGA-bearbetning på det kortet.

Commits: 7499062bd

Standardvärdet för JPEG-kvalitet sänkt (behavior)

Standardvärdet för JPEG-kvalitet sänktes (standard 50 → 35, med lägre IDE-undersamplingströsklar) för pålitligare strömning. Tagna/strömmade JPEG-bilder har som standard synbart lägre kvalitet — skicka en explicit quality till image.compress() om du behöver den tidigare kvaliteten.

Commits: d9c8b1535

Migreringschecklista

För en ren portning till v1.7.0 är det typiska arbetet:

  1. Konvertera positionsbaserade fir.init(...)-anrop till nyckelordsformen (fir.init-ändringen).

  2. Använd en bildrutestorlek som stöds i stället för att förlita dig på det gamla felet för för stora bildrutor (ändringen för för stora bildrutor), och designa om VGA-bearbetning på OpenMV 2 (OpenMV 2:s bildrutestorleksändring).

  3. Skicka en explicit quality till image.compress() om du behöver den tidigare JPEG-kvaliteten (JPEG-kvalitetsändringen).

Alla övriga skript körs oförändrade.