v4.1.0

v4.1.0 tuo täyden Arduino Nano RP2040 Connect / Raspberry Pi Pico -tuen (WiFi, Bluetooth, kameran kaappaus, hyppy käynnistyslataimeen), suoran JPEG-kuvien dekoodauksen, kiinteästi käännetyn urequests-HTTP-asiakkaan, OV7670-sensorituen sekä yhdenmukaistetun sensorivirheiden raportoinnin. WiFi-API ja sensoripoikkeukset muuttuivat — lue alla olevat rikkovat muutokset.

Kohokohdat

  • RP2-kortit — Arduino Nano RP2040 Connect / Pico saavat WiFin (NINA-W10), Bluetoothin (NimBLE), kamera-/DCMI-kaappauksen ja hypyn käynnistyslataimeen.

  • JPEG-dekoodaus — kuvaoperaatiot hyväksyvät nyt pakatut JPEG-kuvat suoraan.

  • urequests-HTTP-asiakas käännetty kiinteästi laiteohjelmistoon.

  • OV7670-kamerasensorituki.

  • Rikkova: NINA/RP2 WiFi-API uudistettiin ja useat sensorivirheet nostavat nyt RuntimeError-poikkeuksen — katso rikkovat muutokset.

Uudet ominaisuudet

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi NINA-W10 network -ajurin kautta, Bluetooth/NimBLE, kameran kaappaus (DCMI PIO -ohjelma) sekä komento hyppyyn käynnistyslataimeen.

  • JPEG-kuvien dekoodausfind_apriltags(), lcd.display(), tv.display() ja niihin liittyvät kuvaoperaatiot hyväksyvät nyt pakatut JPEG-kuvat suoraan (dekoodaus binääriksi/harmaasävyksi/RGB565:ksi).

  • urequests — HTTP-asiakas (GET/POST/PUT/…) on nyt käännetty kiinteästi OpenMV 4 / 4 Plus / Portenta / Nicla -laitteille, mukana http_post.py-esimerkki.

  • ble_advertising-aputiedostokirjasto, käännetty kiinteästi Nano RP2040 Connectille.

  • Isäntä/virheenjäljityspyopenmv.reset_to_bl() ja uusi USBDBG_SYS_RESET_TO_BL (0x0E) -komento käynnistyslataimeen palauttamiseen; hyppy käynnistyslataimeen Arduino Nano 33 BLE Sensellä.

  • OV7670 — uusi OV7670-kamerasensorituki, valittavissa OpenMV 4:ssä.

Muut muutokset ja parannukset

  • RP2 UDP-soketit sitoutuvat automaattisesti väliaikaiseen porttiin, kun niitä käytetään sitomattomina; mukana toimitettu MicroPython-alimoduuli päivitetty.

Virhekorjaukset

Verkko:

  • Korjattu NINA WiFi -soketin accept/close/send/recv/bind-käsittely ja operaatioiden aikakatkaisut sekä RP2:n virheenjäljityksen tekstipuskurin kilpailutilanne, joka saattoi korruptoida IDE:n tulosteen.

Kamera ja järjestelmä:

  • Korjattu HM01B0:n nollaus, kameran I2C-väylän jumiutuminen epäonnistuneen sensoriskannauksen jälkeen OpenMV H7:llä, H7 ULPI:n matalan virrankulutuksen tilaan siirtyminen USB:n irrotuksen yhteydessä, H7 ADC -nastojen generointi sekä Portentan kameran nastajärjestys / shieldin SPI-CS.

Laitteisto- ja korttituki

  • Arduino Nano RP2040 Connect / Raspberry Pi Pico — WiFi, Bluetooth, kamera, suurempi flash-tiedostojärjestelmä, MSC-käynnistyslatain.

  • OV7670-kamerasensori (OpenMV 4).

  • Arduino Portenta H7 — breakout-I2C4, lisää PWM-/kellonastoja, OV7725 / MT9V034 -sensorit.

Rikkovat API-muutokset

Käyttäjälle näkyvät API-rikot versioiden v4.0.2 ja v4.1.0 välillä. Laajuus: Python-C-moduulit kansiossa modules/ ja Python-kirjastot kansiossa scripts/libraries/.

Jokainen muutos on merkitty vaikutuksensa mukaan:

  • minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.

  • behavior — sama API, eri tulokset; tarkista hienosäädetyt skriptit uudelleen.

Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, hyppää lopussa olevaan siirtymätarkistuslistaan. Jokainen commit-tiiviste linkittää muutoksensa diffiin GitHubissa.

NINA / RP2 WiFi-API uudistettu (minor)

NINA / RP2 WLAN -ajuri uudistettiin vastaamaan ylävirran MicroPython / CYW43 network -rajapintaa: WLAN(interface)-konstruktori (STA/AP-tila), uusi active([bool])-metodi, connect-metodin aliakset config / start_ap, connect()-metodin ssid-argumentti uudelleennimettiin muotoon essid, uusi channel-avainsana, ja nina.fw_version() palauttaa nyt (major, minor, patch)-monikon raakatavujen sijaan. NINA-laiteohjelmiston versioristiriita on nyt ei-fataali varoitus aiemman OSError-poikkeuksen sijaan.

Commitit: eb2f98277, e14470f68, 0c40f4832

Sensorivirheet nostavat nyt RuntimeError-poikkeuksen (behavior)

Sensorivirheiden raportointi yhdenmukaistettiin yhtenäisen virhekooditaulun ympärille: kameran virheet (kaappauksen aikakatkaisu, virheellinen framesize/pixformat/window/framerate, kehyspuskurin virhe, JPEG-ylivuoto, tunnistamaton sensori, …) nostavat nyt johdonmukaisia, kuvaavia viestejä, ja useat tilanteet, jotka aiemmin nostivat ValueError-poikkeuksen, nostavat nyt RuntimeError-poikkeuksen (mukaan lukien sensor.reset()). Koodin, joka sieppasi näissä tapauksissa ValueError-poikkeuksen, on siepattava sen sijaan RuntimeError.

Commitit: 0491a6a88, c8bf0af6f, 2fb226562

Siirtymätarkistuslista

Siistiä siirtymistä versioon v4.1.0 varten tyypillinen työ on:

  1. Siirrä NINA/RP2 WiFi-koodi standardiin network.WLAN -rajapintaan (WLAN(interface), active(), essid=) ja varaudu siihen, että nina.fw_version() palauttaa monikon (WiFi-API:n muutos).

  2. Vaihda except ValueError muotoon except RuntimeError kameran / sensor.reset() -virheenkäsittelyn ympärillä (sensorivirheiden muutos).