v4.1.0¶
v4.1.0 aduce suport complet pentru Arduino Nano RP2040 Connect / Raspberry Pi Pico (WiFi, Bluetooth, captură de cameră, salt în bootloader), decodare directă a imaginilor JPEG, un client HTTP urequests integrat, suport pentru senzorul OV7670 și raportare standardizată a erorilor de senzor. API-ul WiFi și excepțiile de senzor s-au schimbat — citiți modificările incompatibile de mai jos.
Aspecte importante¶
Plăci RP2 — Arduino Nano RP2040 Connect / Pico capătă WiFi (NINA-W10), Bluetooth (NimBLE), captură de cameră/DCMI și salt în bootloader.
Decodare JPEG — operațiile pe imagini acceptă acum direct imagini JPEG comprimate.
Client HTTP
urequestsintegrat în firmware.Suport pentru senzorul de cameră OV7670.
Incompatibil: API-ul WiFi NINA/RP2 a fost reproiectat și mai multe erori de senzor generează acum
RuntimeError— vezi modificările incompatibile.
Funcții noi¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi prin driverul
networkNINA-W10, Bluetooth/NimBLE, captură de cameră (program DCMI PIO) și o comandă de salt în bootloader.Decodare de imagini JPEG —
find_apriltags(),lcd.display(),tv.display()și operațiile de imagine asociate acceptă acum direct imagini JPEG comprimate (decodare în binar/tonuri de gri/RGB565).urequests— clientul HTTP (GET/POST/PUT/…) este acum integrat pe OpenMV 4 / 4 Plus / Portenta / Nicla, cu un exempluhttp_post.py.Bibliotecă auxiliară
ble_advertising, integrată pe Nano RP2040 Connect.Gazdă/depanare —
pyopenmv.reset_to_bl()și o nouă comandăUSBDBG_SYS_RESET_TO_BL(0x0E) pentru resetare în bootloader; salt în bootloader pe Arduino Nano 33 BLE Sense.OV7670 — suport nou pentru senzorul de cameră OV7670, selectabil pe OpenMV 4.
Alte modificări și îmbunătățiri¶
Socket-urile UDP RP2 se leagă automat la un port efemer atunci când sunt folosite nelegate; submodulul MicroPython inclus a fost actualizat.
Corectări de erori¶
Rețelistică:
S-au corectat gestionarea accept/close/send/recv/bind a socket-urilor WiFi NINA și expirările de operație, precum și o condiție de cursă a tamponului de text de depanare RP2 care putea corupe ieșirea IDE.
Cameră și sistem:
S-au corectat resetarea HM01B0, magistrala I2C a camerei care rămânea blocată după o scanare eșuată a senzorului pe OpenMV H7, intrarea în modul de consum redus ULPI H7 la deconectarea USB, generarea pinilor ADC H7 și schema de pini a camerei Portenta / SPI-CS de pe shield.
Hardware și suport pentru plăci¶
Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, cameră, sistem de fișiere flash mai mare, bootloader MSC.
Senzor de cameră OV7670 (OpenMV 4).
Arduino Portenta H7 — breakout I2C4, pini PWM/clock suplimentari, senzori OV7725 / MT9V034.
Modificări incompatibile de API¶
Incompatibilități de API vizibile pentru utilizator între v4.0.2 și v4.1.0. Domeniu: module C Python din modules/ și biblioteci Python din scripts/libraries/.
Fiecare modificare este etichetată cu impactul său:
minor — API restrâns; afectează doar scripturile care l-au folosit.
comportament — același API, rezultate diferite; reverificați scripturile reglate.
Modificările sunt grupate după impact în această ordine. Dacă doar doriți să portați codul, săriți la lista de verificare pentru migrare de la final. Fiecare hash de commit duce la diff-ul său de pe GitHub.
API-ul WiFi NINA / RP2 reproiectat (minor)¶
Driverul WLAN NINA / RP2 a fost reproiectat pentru a se potrivi cu interfața network MicroPython / CYW43 din amonte: un constructor WLAN(interface) (mod STA/AP), o nouă metodă active([bool]), alias-urile config / start_ap ale lui connect, argumentul ssid al lui connect() redenumit essid, un nou cuvânt-cheie channel, iar nina.fw_version() returnează acum un tuplu (major, minor, patch) în loc de octeți bruți. O nepotrivire a versiunii de firmware NINA este acum un avertisment nefatal în loc de un OSError.
Erorile de senzor generează acum RuntimeError (comportament)¶
Raportarea erorilor de senzor a fost standardizată în jurul unui tabel unificat de coduri de eroare: defectele camerei (expirare a capturii, framesize/pixformat/window/framerate invalide, eroare de framebuffer, depășire JPEG, senzor nedetectat, …) generează acum mesaje consecvente și descriptive, iar mai multe condiții care anterior generau ValueError generează acum RuntimeError (inclusiv sensor.reset()). Codul care prindea ValueError pentru aceste cazuri trebuie să prindă în schimb RuntimeError.
Listă de verificare pentru migrare¶
Pentru o portare curată la v4.1.0, munca tipică este:
Portați codul WiFi NINA/RP2 la interfața standard
network.WLAN(WLAN(interface),active(),essid=) și așteptați-vă la un tuplu de lanina.fw_version()(modificarea API-ului WiFi).Schimbați
except ValueErrorînexcept RuntimeErrorîn jurul gestionării erorilor de cameră /sensor.reset()(modificarea erorilor de senzor).