v1.7.0

v1.7.0 introduceert de cpufreq-module (CPU-frequentie / overklokbesturing), de MicroPython os-module, vernieuwing van de MLX-warmtesensor / resolutiebesturing, en de eerste bring-up van het OpenMV Cam M7 (STM32F7) board. De signatuur van fir.init(), de afhandeling van te grote frames en de standaard JPEG-kwaliteit zijn gewijzigd — lees de breaking changes hieronder.

Hoogtepunten

  • cpufreq-module — vraag de CPU-frequentie op of stel deze in, met een overklokvoorbeeld.

  • os-module — de MicroPython os-module is nu beschikbaar.

  • MLX thermalfir.init() accepteert een verversingssnelheid en ADC-resolutie.

  • OpenMV Cam M7 — eerste bring-up van het STM32F7-board.

  • Breaking: fir.init() is nu keyword-only, te grote frames worden automatisch bijgesneden, en de standaard JPEG-kwaliteit is verlaagd — zie de breaking changes.

Nieuwe functies

  • cpufreq — de cpufreq-module toegevoegd met cpufreq.get_frequency() / cpufreq.set_frequency() en de constanten CPUFREQ_120MHZ / 144 / 168 / 192 / 216MHZ, plus een overclocking.py-voorbeeld.

  • os — de MicroPython os-module ingeschakeld.

  • MLX / FIRfir.init() accepteert nu een verversingssnelheid en ADC-resolutie, met bijbehorende refresh / resolution besturingen voor de MLX-warmtesensor.

Overige wijzigingen en verbeteringen

  • De AGC/AEC-regio van de OV7725 afgesteld (minder bewegingsonscherpte), de DSP solid colorbar voor de OV7725 ingeschakeld, en de framebuffer-streaming van de IDE gerepareerd (geen verouderde / dubbele frames).

Bugfixes

  • Een DCMI/DMA-overdrachtsgrootte-overloop in sensor.snapshot() gerepareerd, de afhandeling van JPEG-compressie buffer-overloop opgeschoond, de AEC/AGC-werkregio van de OV7725 verbeterd voor betere automatische belichting/versterking, en de colorbar- / zelftestscripts voor de OV7725 gecorrigeerd.

Hardware- en boardondersteuning

  • OpenMV Cam M7 (STM32F7 / OPENMV7) — eerste board- en bootloaderondersteuning.

  • OpenMV 2 — sensorklok aangestuurd door de MCO-uitgang.

Breaking API-wijzigingen

Voor de gebruiker zichtbare API-breaks tussen v1.6.0 en v1.7.0. Bereik: Python C-modules in modules/ en Python-bibliotheken in scripts/libraries/.

Elke wijziging is gemarkeerd met de impact ervan:

  • minor — beperkte API; raakt alleen scripts die deze gebruikten.

  • behavior — dezelfde API, andere resultaten; controleer afgestelde scripts opnieuw.

Wijzigingen zijn in die volgorde gegroepeerd op impact. Als je je code alleen wilt porten, ga dan naar de migratiechecklist aan het einde. Elke commit-hash linkt naar de bijbehorende diff op GitHub.

fir.init() is nu keyword-only (minor)

fir.init() is herwerkt om keyword-argumenten te accepteren (type= / refresh= / resolution=, standaard refresh 64 Hz, max 512 Hz) in plaats van positionele argumenten. Werk positionele fir.init(...)-aanroepen bij naar de keyword-vorm.

Commits: 958c5b7f7

Te grote frames worden automatisch bijgesneden naar QVGA (behavior)

sensor.snapshot() werpt geen fout meer op wanneer het raw frame de maximale raw-framegrootte van het board overschrijdt — te grote raw frames worden nu in plaats daarvan gewindowd/bijgesneden naar QVGA (alleen raw in JPEG-modus wordt nog geweigerd). Kies een ondersteunde framesize als je op de vorige fout vertrouwde.

Commits: b655a5488, abace9e4f

Maximale framesize van OpenMV 2 verlaagd naar QVGA (behavior)

Op de OpenMV 2 is de maximale framesize voor integral-image / raw / blob verlaagd van VGA naar QVGA. Het aanvragen van VGA voor grijswaarden- / RGB565- / blob- / integral-image-bewerkingen op de OpenMV 2 snijdt nu bij naar QVGA — herontwerp scripts die afhingen van VGA-verwerking op dat board.

Commits: 7499062bd

Standaard JPEG-kwaliteit verlaagd (behavior)

De standaard JPEG-kwaliteit is verlaagd (standaard 50 → 35, met lagere IDE-subsample-drempelwaarden) voor betrouwbaardere streaming. Vastgelegde/gestreamde JPEG’s zijn standaard zichtbaar van lagere kwaliteit — geef een expliciete quality door aan image.compress() als je de vorige kwaliteit nodig hebt.

Commits: d9c8b1535

Migratiechecklist

Voor een schone port naar v1.7.0 is het typische werk:

  1. Converteer positionele fir.init(...)-aanroepen naar de keyword-vorm (de fir.init-wijziging).

  2. Gebruik een ondersteunde framesize in plaats van te vertrouwen op de oude fout bij te grote frames (de wijziging voor te grote frames), en herontwerp VGA-verwerking op de OpenMV 2 (de OpenMV 2-framesize-wijziging).

  3. Geef een expliciete quality door aan image.compress() als je de vorige JPEG-kwaliteit nodig hebt (de JPEG-kwaliteitswijziging).

Alle overige scripts draaien ongewijzigd.