v4.1.0¶
v4.1.0 biedt volledige ondersteuning voor de Arduino Nano RP2040 Connect / Raspberry Pi Pico (WiFi, Bluetooth, cameraopname, jump-to-bootloader), directe JPEG-afbeeldingsdecodering, een ingevroren urequests HTTP-client, ondersteuning voor de OV7670-sensor en gestandaardiseerde rapportage van sensorfouten. De WiFi-API en sensor-excepties zijn gewijzigd — lees de breaking changes hieronder.
Hoogtepunten¶
RP2-boards — de Arduino Nano RP2040 Connect / Pico krijgen WiFi (NINA-W10), Bluetooth (NimBLE), camera-/DCMI-opname en jump-to-bootloader.
JPEG-decodering — afbeeldingsbewerkingen accepteren nu rechtstreeks gecomprimeerde JPEG-afbeeldingen.
urequestsHTTP-client ingevroren in de firmware.Ondersteuning voor de OV7670 camerasensor.
Breaking: de NINA/RP2 WiFi-API is herzien en diverse sensorfouten genereren nu een
RuntimeError— zie de breaking changes.
Nieuwe functies¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi via de NINA-W10
network-driver, Bluetooth/NimBLE, cameraopname (DCMI PIO-programma) en een jump-to-bootloader-commando.JPEG-afbeeldingsdecodering —
find_apriltags(),lcd.display(),tv.display()en verwante afbeeldingsbewerkingen accepteren nu rechtstreeks gecomprimeerde JPEG-afbeeldingen (decoderen naar binair/grijswaarden/RGB565).urequests— de HTTP-client (GET/POST/PUT/…) is nu ingevroren op de OpenMV 4 / 4 Plus / Portenta / Nicla, met eenhttp_post.py-voorbeeld.ble_advertising-hulpbibliotheek, ingevroren op de Nano RP2040 Connect.Host/debug —
pyopenmv.reset_to_bl()en een nieuwUSBDBG_SYS_RESET_TO_BL(0x0E)-commando om in de bootloader te resetten; jump-to-bootloader op de Arduino Nano 33 BLE Sense.OV7670 — nieuwe ondersteuning voor de OV7670-camerasensor, selecteerbaar op de OpenMV 4.
Overige wijzigingen en verbeteringen¶
RP2 UDP-sockets binden automatisch aan een vluchtige poort wanneer ze ongebonden worden gebruikt; de meegeleverde MicroPython-submodule is bijgewerkt.
Bugfixes¶
Netwerken:
Verholpen: de afhandeling van accept/close/send/recv/bind van NINA WiFi-sockets en bewerkingstime-outs, en een RP2-debugtekstbuffer-race die de IDE-uitvoer kon corrumperen.
Camera en systeem:
Verholpen: de HM01B0-reset, de camera-I2C-bus die vastliep na een mislukte sensorscan op de OpenMV H7, de H7 ULPI low-power-ingang bij USB-loskoppeling, de H7 ADC-pingeneratie en de Portenta camerapinout / shield SPI-CS.
Hardware- en boardondersteuning¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, camera, groter flashbestandssysteem, MSC-bootloader.
OV7670-camerasensor (OpenMV 4).
Arduino Portenta H7 — breakout I2C4, extra PWM-/klokpinnen, OV7725 / MT9V034-sensoren.
Breaking API-wijzigingen¶
Voor de gebruiker zichtbare API-breaks tussen v4.0.2 en v4.1.0. Bereik: Python C-modules in modules/ en Python-bibliotheken in scripts/libraries/.
Elke wijziging is gemarkeerd met de bijbehorende impact:
minor — beperkte API; treft alleen scripts die deze gebruikten.
behavior — dezelfde API, andere resultaten; controleer afgestemde scripts opnieuw.
Wijzigingen zijn in die volgorde gegroepeerd op impact. Wil je alleen je code porten, ga dan naar de migratiechecklist aan het einde. Elke commit-hash linkt naar de bijbehorende diff op GitHub.
NINA / RP2 WiFi-API herzien (minor)¶
De NINA / RP2 WLAN-driver is herzien om aan te sluiten op de upstream MicroPython / CYW43 network-interface: een WLAN(interface)-constructor (STA/AP-modus), een nieuwe active([bool])-methode, config / start_ap als aliassen van connect, het hernoemen van het ssid-argument van connect() naar essid, een nieuw channel-keyword, en nina.fw_version() retourneert nu een (major, minor, patch)-tuple in plaats van ruwe bytes. Een NINA-firmwareversiemismatch is nu een niet-fatale waarschuwing in plaats van een OSError.
Sensorfouten genereren nu een RuntimeError (behavior)¶
De rapportage van sensorfouten is gestandaardiseerd rond een uniforme foutcodetabel: camerafouten (opnametime-out, ongeldige framesize/pixformat/window/framerate, framebufferfout, JPEG-overflow, niet-gedetecteerde sensor, …) genereren nu consistente, beschrijvende meldingen, en diverse situaties die voorheen een ValueError genereerden, genereren nu een RuntimeError (inclusief sensor.reset()). Code die voor deze gevallen ValueError opving, moet in plaats daarvan RuntimeError opvangen.
Migratiechecklist¶
Voor een schone port naar v4.1.0 bestaat het typische werk uit:
Port NINA/RP2 WiFi-code naar de standaard
network.WLAN-interface (WLAN(interface),active(),essid=) en verwacht een tuple vannina.fw_version()(de WiFi-API-wijziging).Wijzig
except ValueErrorinexcept RuntimeErrorrond camera- /sensor.reset()-foutafhandeling (de sensorfout-wijziging).