v4.1.0¶
v4.1.0 přináší plnou podporu Arduino Nano RP2040 Connect / Raspberry Pi Pico (WiFi, Bluetooth, snímání kamerou, skok do bootloaderu), přímé dekódování JPEG obrazu, zamrzlý HTTP klient urequests, podporu senzoru OV7670 a standardizované hlášení chyb senzoru. WiFi API a výjimky senzoru se změnily — přečtěte si níže uvedené nekompatibilní změny.
Hlavní novinky¶
Desky RP2 — Arduino Nano RP2040 Connect / Pico získávají WiFi (NINA-W10), Bluetooth (NimBLE), snímání kamerou/DCMI a skok do bootloaderu.
Dekódování JPEG — obrazové operace nyní přijímají komprimované JPEG obrazy přímo.
HTTP klient
urequestszamrzlý do firmwaru.Podpora kamerového senzoru OV7670.
Nekompatibilní: NINA/RP2 WiFi API bylo přepracováno a několik chyb senzoru nyní vyvolává
RuntimeError— viz nekompatibilní změny.
Nové funkce¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi přes ovladač
networkNINA-W10, Bluetooth/NimBLE, snímání kamerou (DCMI PIO program) a příkaz pro skok do bootloaderu.Dekódování JPEG obrazu —
find_apriltags(),lcd.display(),tv.display()a související obrazové operace nyní přijímají komprimované JPEG obrazy přímo (dekódování do binárního formátu/stupňů šedi/RGB565).urequests— HTTP klient (GET/POST/PUT/…) je nyní zamrzlý na OpenMV 4 / 4 Plus / Portenta / Nicla, s příklademhttp_post.py.Pomocná knihovna
ble_advertising, zamrzlá na Nano RP2040 Connect.Hostitel/ladění —
pyopenmv.reset_to_bl()a nový příkazUSBDBG_SYS_RESET_TO_BL(0x0E) pro restart do bootloaderu; skok do bootloaderu na Arduino Nano 33 BLE Sense.OV7670 — nová podpora kamerového senzoru OV7670, volitelná na OpenMV 4.
Ostatní změny a vylepšení¶
UDP sokety RP2 se při použití bez vazby automaticky navážou na efemérní port; přibalený submodul MicroPython byl aktualizován.
Opravy chyb¶
Síťování:
Opraveno zpracování accept/close/send/recv/bind soketů NINA WiFi a časové limity operací a souběh textového bufferu ladění na RP2, který mohl poškodit výstup IDE.
Kamera a systém:
Opraven reset HM01B0, zaseknutí I2C sběrnice kamery po neúspěšném skenování senzoru na OpenMV H7, vstup do úsporného režimu H7 ULPI při odpojení USB, generování ADC pinů H7 a pinout kamery Portenta / SPI-CS shieldu.
Hardware a podpora desek¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, kamera, větší flash souborový systém, MSC bootloader.
Kamerový senzor OV7670 (OpenMV 4).
Arduino Portenta H7 — vyvedené I2C4, další PWM/clock piny, senzory OV7725 / MT9V034.
Nekompatibilní změny API¶
Pro uživatele viditelné nekompatibilní změny API mezi v4.0.2 a v4.1.0. Rozsah: Python C-moduly v modules/ a Python knihovny v scripts/libraries/.
Každá změna je označena svým dopadem:
minor — úzké API; ovlivňuje pouze skripty, které jej používaly.
behavior — stejné API, jiné výsledky; znovu zkontrolujte vyladěné skripty.
Změny jsou seskupeny podle dopadu v tomto pořadí. Pokud chcete jen přenést svůj kód, přejděte na kontrolní seznam migrace na konci. Každý hash commitu odkazuje na svůj diff na GitHubu.
NINA / RP2 WiFi API přepracováno (minor)¶
Ovladač NINA / RP2 WLAN byl přepracován tak, aby odpovídal upstreamovému rozhraní MicroPython / CYW43 network: konstruktor WLAN(interface) (režim STA/AP), nová metoda active([bool]), aliasy config / start_ap pro connect, argument ssid v connect() přejmenovaný na essid, nové klíčové slovo channel a nina.fw_version() nyní vrací n-tici (major, minor, patch) místo surových bajtů. Nesoulad verze firmwaru NINA je nyní nefatální varování místo OSError.
Chyby senzoru nyní vyvolávají RuntimeError (behavior)¶
Hlášení chyb senzoru bylo standardizováno kolem jednotné tabulky chybových kódů: selhání kamery (časový limit snímání, neplatná framesize/pixformat/window/framerate, chyba snímkového bufferu, přetečení JPEG, nedetekovaný senzor, …) nyní vyvolávají konzistentní, popisné zprávy a několik podmínek, které dříve vyvolávaly ValueError, nyní vyvolává RuntimeError (včetně sensor.reset()). Kód, který v těchto případech zachytával ValueError, musí místo toho zachytávat RuntimeError.
Kontrolní seznam migrace¶
Pro čistý přechod na v4.1.0 obvykle stačí:
Přeneste WiFi kód NINA/RP2 na standardní rozhraní
network.WLAN(WLAN(interface),active(),essid=) a očekávejte n-tici odnina.fw_version()(změna WiFi API).Změňte
except ValueErrornaexcept RuntimeErrorkolem zpracování chyb kamery /sensor.reset()(změna chyb senzoru).