v4.1.0¶
A v4.1.0 teljes körű Arduino Nano RP2040 Connect / Raspberry Pi Pico támogatást hoz (WiFi, Bluetooth, kamerafelvétel, ugrás a rendszerbetöltőbe), közvetlen JPEG-képdekódolást, egy beépített urequests HTTP-klienst, OV7670 érzékelőtámogatást és egységesített érzékelőhiba-jelentést. A WiFi API és az érzékelő-kivételek megváltoztak — olvasd el a lentebbi töréses változásokat.
Kiemelt újdonságok¶
RP2 lapok — az Arduino Nano RP2040 Connect / Pico WiFi-t (NINA-W10), Bluetooth-t (NimBLE), kamera/DCMI felvételt és ugrás-a-rendszerbetöltőbe funkciót kap.
JPEG-dekódolás — a képműveletek mostantól közvetlenül elfogadnak tömörített JPEG-képeket.
Az
urequestsHTTP-kliens beépítve a firmware-be.OV7670 kameraérzékelő-támogatás.
Töréses: a NINA/RP2 WiFi API-t átdolgozták, és több érzékelőhiba mostantól
RuntimeErrorkivételt vált ki — lásd a töréses változásokat.
Új funkciók¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi a NINA-W10
networkillesztőprogramon keresztül, Bluetooth/NimBLE, kamerafelvétel (DCMI PIO program) és ugrás-a-rendszerbetöltőbe parancs.JPEG-képdekódolás — a
find_apriltags(),lcd.display(),tv.display()és a kapcsolódó képműveletek mostantól közvetlenül elfogadnak tömörített JPEG-képeket (dekódolás binárisra/szürkeárnyalatosra/RGB565-re).urequests— a HTTP-kliens (GET/POST/PUT/…) mostantól be van építve az OpenMV 4 / 4 Plus / Portenta / Nicla lapokra, egyhttp_post.pypéldával együtt.ble_advertisingsegédkönyvtár, beépítve a Nano RP2040 Connectre.Host/hibakeresés —
pyopenmv.reset_to_bl()és egy újUSBDBG_SYS_RESET_TO_BL(0x0E) parancs a rendszerbetöltőbe való újraindításhoz; ugrás-a-rendszerbetöltőbe az Arduino Nano 33 BLE Sense-en.OV7670 — új OV7670 kameraérzékelő-támogatás, OpenMV 4-en kiválasztható.
Egyéb változások és fejlesztések¶
Az RP2 UDP socketek automatikusan egy efemer porthoz kötődnek, ha kötés nélkül használják őket; a beépített MicroPython almodul frissítve lett.
Hibajavítások¶
Hálózatkezelés:
Javítva a NINA WiFi socket accept/close/send/recv/bind kezelése és a műveleti időtúllépések, valamint egy RP2 hibakeresési szövegpuffer-versenyhelyzet, amely megsérthette az IDE kimenetét.
Kamera és rendszer:
Javítva a HM01B0 resetelése, a kamera I2C buszának beragadása egy sikertelen érzékelő-keresés után az OpenMV H7-en, a H7 ULPI alacsony fogyasztású belépés USB-leválasztáskor, a H7 ADC láb generálása, valamint a Portenta kamera-lábkiosztás / shield SPI-CS.
Hardver- és laptámogatás¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, kamera, nagyobb flash fájlrendszer, MSC rendszerbetöltő.
OV7670 kameraérzékelő (OpenMV 4).
Arduino Portenta H7 — breakout I2C4, további PWM/órajel lábak, OV7725 / MT9V034 érzékelők.
Töréses API-változások¶
Felhasználó által észlelhető API-törések a v4.0.2 és v4.1.0 között. Hatókör: Python C-modulok a modules/ mappában és Python könyvtárak a scripts/libraries/ mappában.
Minden változás meg van jelölve a hatásával:
minor — szűk API; csak az azt használó szkripteket érinti.
behavior — ugyanaz az API, eltérő eredmények; ellenőrizd újra a hangolt szkripteket.
A változások hatás szerint, ebben a sorrendben vannak csoportosítva. Ha csak át szeretnéd portolni a kódodat, ugorj a migrációs ellenőrzőlistához a végén. Minden commit hash a GitHubon lévő diffjére hivatkozik.
NINA / RP2 WiFi API átdolgozva (minor)¶
A NINA / RP2 WLAN illesztőprogramot átdolgozták, hogy megfeleljen az upstream MicroPython / CYW43 network interfésznek: egy WLAN(interface) konstruktor (STA/AP mód), egy új active([bool]) metódus, a connect config / start_ap aliasai, a connect() ssid argumentum átnevezve essid-re, egy új channel kulcsszó, és a nina.fw_version() mostantól egy (major, minor, patch) tuple-t ad vissza nyers bájtok helyett. A NINA firmware-verzió eltérése mostantól nem végzetes figyelmeztetés egy OSError helyett.
Az érzékelőhibák mostantól RuntimeError kivételt váltanak ki (behavior)¶
Az érzékelőhiba-jelentést egy egységes hibakód-tábla köré szabványosították: a kamera-hibák (felvételi időtúllépés, érvénytelen framesize/pixformat/window/framerate, framebuffer-hiba, JPEG-túlcsordulás, fel nem ismert érzékelő, …) mostantól következetes, leíró üzeneteket váltanak ki, és több olyan állapot, amely korábban ValueError kivételt váltott ki, mostantól RuntimeError kivételt vált ki (beleértve a sensor.reset() függvényt is). Az ezeket az eseteket ValueError kivételre elkapó kódnak ezentúl RuntimeError kivételt kell elkapnia.
Migrációs ellenőrzőlista¶
A v4.1.0-ra való tiszta portoláshoz a tipikus munka a következő:
Portold át a NINA/RP2 WiFi kódot a szabványos
network.WLANinterfészre (WLAN(interface),active(),essid=), és számíts arra, hogy anina.fw_version()egy tuple-t ad vissza (a WiFi API változása).Cseréld le az
except ValueErrorkifejezéstexcept RuntimeErrorkifejezésre a kamera /sensor.reset()hibakezelése körül (az érzékelőhiba változása).