v4.1.0

v4.1.0 donosi punu podršku za Arduino Nano RP2040 Connect / Raspberry Pi Pico (WiFi, Bluetooth, snimanje kamerom, skok u bootloader), izravno dekodiranje JPEG slika, ugrađeni urequests HTTP klijent, podršku za senzor OV7670 te standardizirano prijavljivanje pogrešaka senzora. WiFi API i iznimke senzora su se promijenili — pročitajte prelomne promjene u nastavku.

Najvažnije

  • RP2 ploče — Arduino Nano RP2040 Connect / Pico dobivaju WiFi (NINA-W10), Bluetooth (NimBLE), snimanje kamerom/DCMI te skok u bootloader.

  • Dekodiranje JPEG-a — operacije nad slikom sada izravno prihvaćaju komprimirane JPEG slike.

  • urequests HTTP klijent ugrađen je u firmware.

  • Podrška za senzor kamere OV7670.

  • Prelomno: NINA/RP2 WiFi API je preuređen, a nekoliko pogrešaka senzora sada izaziva RuntimeError — pogledajte prelomne promjene.

Nove značajke

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi putem NINA-W10 network upravljačkog programa, Bluetooth/NimBLE, snimanje kamerom (DCMI PIO program) te naredba za skok u bootloader.

  • Dekodiranje JPEG slikafind_apriltags(), lcd.display(), tv.display() i povezane operacije nad slikom sada izravno prihvaćaju komprimirane JPEG slike (dekodiranje u binary/sive tonove/RGB565).

  • urequests — HTTP klijent (GET/POST/PUT/…) sada je ugrađen na OpenMV 4 / 4 Plus / Portenta / Nicla, uz primjer http_post.py.

  • Pomoćna biblioteka ble_advertising, ugrađena na Nano RP2040 Connect.

  • Host/debugpyopenmv.reset_to_bl() i nova naredba USBDBG_SYS_RESET_TO_BL (0x0E) za ponovno pokretanje u bootloader; skok u bootloader na Arduino Nano 33 BLE Sense.

  • OV7670 — nova podrška za senzor kamere OV7670, dostupan za odabir na OpenMV 4.

Ostale promjene i poboljšanja

  • RP2 UDP utičnice automatski se vežu na efemerni port kad se koriste nepovezane; ažuriran je uključeni MicroPython podmodul.

Ispravci grešaka

Umrežavanje:

  • Ispravljeno rukovanje NINA WiFi utičnicama (accept/close/send/recv/bind) i istekom operacija te utrka međuspremnika za debug tekst na RP2 koja je mogla iskvariti izlaz u IDE-u.

Kamera i sustav:

  • Ispravljen reset HM01B0, zaglavljivanje I2C sabirnice kamere nakon neuspjelog skeniranja senzora na OpenMV H7, ulazak u nisku potrošnju ULPI na H7 pri odspajanju USB-a, generiranje ADC pinova na H7 te raspored pinova Portenta kamere / shield SPI-CS.

Hardver i podrška za ploče

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, kamera, veći flash datotečni sustav, MSC bootloader.

  • Senzor kamere OV7670 (OpenMV 4).

  • Arduino Portenta H7 — breakout I2C4, dodatni PWM/clock pinovi, senzori OV7725 / MT9V034.

Prelomne promjene API-ja

Korisniku vidljivi prelomi API-ja između v4.0.2 i v4.1.0. Opseg: Python C-moduli u modules/ i Python biblioteke u scripts/libraries/.

Svaka je promjena označena svojim utjecajem:

  • minor — uski API; utječe samo na skripte koje su ga koristile.

  • behavior — isti API, drukčiji rezultati; ponovno provjerite ugođene skripte.

Promjene su grupirane prema utjecaju tim redoslijedom. Ako samo želite prenijeti svoj kod, prijeđite na kontrolnu listu migracije na kraju. Svaki hash commita vodi na njegov diff na GitHubu.

NINA / RP2 WiFi API preuređen (minor)

NINA / RP2 WLAN upravljački program preuređen je kako bi odgovarao matičnom MicroPython / CYW43 network sučelju: konstruktor WLAN(interface) (STA/AP način), nova metoda active([bool]), config / start_ap aliasi za connect, argument ssid u connect() preimenovan u essid, nova ključna riječ channel te nina.fw_version() koji sada vraća n-torku (major, minor, patch) umjesto sirovih bajtova. Neusklađenost verzije NINA firmwarea sada je nefatalno upozorenje umjesto OSError.

Commitovi: eb2f98277, e14470f68, 0c40f4832

Pogreške senzora sada izazivaju RuntimeError (behavior)

Prijavljivanje pogrešaka senzora standardizirano je oko jedinstvene tablice kodova pogrešaka: kvarovi kamere (istek snimanja, nevaljani framesize/pixformat/window/framerate, pogreška međuspremnika slike, prelijevanje JPEG-a, neotkriveni senzor, …) sada izazivaju dosljedne, opisne poruke, a nekoliko stanja koja su prije izazivala ValueError sada izaziva RuntimeError (uključujući sensor.reset()). Kod koji je za te slučajeve hvatao ValueError mora umjesto toga hvatati RuntimeError.

Commitovi: 0491a6a88, c8bf0af6f, 2fb226562

Kontrolna lista migracije

Za čist prijenos na v4.1.0 uobičajeni posao je:

  1. Prenesite NINA/RP2 WiFi kod na standardno network.WLAN sučelje (WLAN(interface), active(), essid=) i očekujte n-torku od nina.fw_version() (promjena WiFi API-ja).

  2. Promijenite except ValueError u except RuntimeError oko rukovanja pogreškama kamere / sensor.reset() (promjena pogrešaka senzora).