v4.0.0¶
v4.0.0 on suuri v3 → v4 -julkaisu. Se tuo nykyaikaisen monikehyksisen sensor-puskuroinnin API:n (kaksois-/kolmoispuskurointi ja video-FIFO), kehyksen valmistumisen takaisinkutsun, Bluetooth-moduulin (NimBLE-pino) Portenta-tuella, ensimmäisen MT9M114-kamera-ajurin, MDMA:lle siirretyn kameran kaappauksen, Bayer/JPEG-tuen image.draw_image()-funktioon sekä hypyn MicroPython 1.15:een. Vanha striimaustila poistettiin ja sensor.set_windowing() uudistettiin — lue alla olevat rikkovat muutokset.
Kohokohdat¶
Monikehyspuskurointi —
sensorsaa kaksoispuskuroinnin, kolmoispuskuroinnin ja video-FIFO-tilan korkeampia, tasaisempia kuvataajuuksia varten.Kehyksen valmistumisen takaisinkutsu — rekisteröi takaisinkutsu, joka laukeaa uuden kehyksen ollessa valmis, estottomia kaappausliukuhihnoja varten.
Bluetooth — NimBLE-pinon päälle rakennettu
bluetooth-moduuli, käytössä Arduino Portenta H7:llä (BLE-esimerkin kera).MT9M114 — ensimmäinen kamerasensoriajuri.
Nopeampi kaappaus — MDMA-siirto kameradatan kaappaukseen;
draw_image()hyväksyy nyt Bayer- ja JPEG-lähteet/-kohteet.MicroPython 1.15 — mukana toimitettu MicroPython päivitettiin versiosta 1.13 versioon 1.15.
Rikkova: vanha striimaustila poistettiin ja
sensor.set_windowing()uudistettiin — katso rikkovat muutokset.
Uudet ominaisuudet¶
Sensorin monipuskurointi — lisätty
sensor.set_framebuffers()/sensor.get_framebuffers()sekäSINGLE_BUFFER/DOUBLE_BUFFER/TRIPLE_BUFFER/VIDEO_FIFO-tilat jasensor.get_frame_available()kaksois-, kolmois- ja video-FIFO-kaappausta varten.Kehyksen valmistumisen takaisinkutsu — lisätty
sensor.set_frame_callback(), jotta Python-takaisinkutsu suoritetaan jokaisen uuden kehyksen valmistuessa.Bluetooth — lisätty NimBLE-pinon tukema
bluetooth-moduuli (NimBLE-alimoduuli, CYW-BT-ajuri), käytössä Arduino Portenta H7:llä BLE-esimerkin kera.MT9M114 — lisätty ensimmäinen MT9M114-kamerasensoriajuri.
draw_image — lisätty debayerointituki ja JPEG-kopiointituki, jotta
image.draw_image()hyväksyy Bayer- ja JPEG-lähde-/kohdekuvat.MDMA-kaappaussiirto — kameradatan kaappaus siirretään MDMA:lle suuremman läpäisykyvyn saavuttamiseksi.
Väripaletti-argumentti voidaan nyt poistaa käytöstä antamalla
-1(koskaNoneon varattu kelvolliseksi argumentiksi).
Muut muutokset ja parannukset¶
Siirrytty uuteen ohjelmistopohjaiseen I2C-toteutukseen; yhtenäistetty MicroPythonin yläjuoksun kanssa; korttikohtainen ulab-konfiguraatio; perustason sisäänrakennetut moduulit otettu käyttöön OpenMV 2:lle; oikeudenmukaisempi kehyspuskurin lukulukitus; mutex-tuki laajennettu Cortex-M0/M0+:lle lukituksen aikakatkaisulla.
Vikakorjaukset¶
Kamera ja kuvankäsittely:
Korjattu FLIR Lepton -alustuksen luotettavuus Pure Thermal -kortilla, ImageIO:n JPEG-puskurin / taukojen käsittely, HM01B0:n vflip/hmirror-asetukset, JPEG-puskurin tyhjennys kuvan mitätöityessä sekä
cropped-lippu, joka asetettiin kehyskoon ollessa virheellinen.
Järjestelmä ja yhteydet:
Korjattu USB-komennon tyhjennys ja reset-to-bootloader-komento, mutexin alustus, UART-kellolähde, FatFS:n koodisivun määrittely, WINC1500:n out-of-band-ACK-käsittely, WiFi-vianetsintä ja Nano33:n USB-PID; eristetty erilliset analogiset padit.
Laitteisto- ja korttituki¶
MT9M114-kamerasensori (ensimmäinen ajuri).
Arduino Portenta H7 — Bluetooth käytössä (NimBLE) BLE-esimerkin kera.
Arduino Nano RP2040 Connect / Nano 33 BLE Sense — WiFi-vianetsinnän lippu poistettu käytöstä siellä, missä sitä ei tueta; lisätty vilkkuesimerkki; USB-PID-korjaus.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikot v3.9.4:n ja v4.0.0:n välillä. Laajuus: Python-C-moduulit kansiossa modules/ ja Python-kirjastot kansiossa scripts/libraries/.
Jokainen muutos on merkitty vaikutuksensa mukaan:
major — vaikuttaa useimpiin skripteihin; joudut lähes varmasti porttaamaan koodia.
minor — kapea API; vaikuttaa vain sitä käyttäneisiin skripteihin.
behavior — sama API, eri tulokset; tarkista viritetyt skriptit uudelleen.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain portata koodisi, siirry lopussa olevaan siirtymistarkistuslistaan. Jokainen commit-tiiviste linkittää sen diffiin GitHubissa.
Striimaustila poistettu (major)¶
Vanha sensorin striimaustila poistettiin uuden monikehyspuskuroinnin API:n hyväksi. Koodin, joka otti striimaustilan käyttöön, on siirryttävä sensor.set_framebuffers()-kutsuun DOUBLE_BUFFER / TRIPLE_BUFFER / VIDEO_FIFO -tilalla ja ohjattava kaappausta sen sijaan sensor.snapshot() / sensor.get_frame_available() -kutsuilla.
Commitit: a42f3a647
sensor.set_windowing() uudistettu (behavior)¶
sensor.set_windowing() tehtiin paljon joustavammaksi: se hyväksyy nyt useita argumenttimuotoja (alue-monikko, tai keskitetty leveys/korkeus, tai x, y, w, h) ja ratkaisee ikkunan suhteessa nykyiseen resoluutioon. Skriptit, jotka antoivat ikkunointiargumentit vanhassa kiinteässä muodossa, saattavat valita eri alueen ja ne kannattaa tarkistaa uudelleen.
Commitit: 3e9c43554
MicroPython 1.13 → 1.15 (behavior)¶
Mukana toimitettu MicroPython-ydin päivitettiin versiosta 1.13 versioon 1.15 (kautta 1.14). Vakiokirjaston ja kielen käyttäytyminen noudattaa yläjuoksun MicroPython 1.15:tä; tarkista uudelleen skriptit, jotka riippuvat versiokohtaisesta micropython- / vakiomoduulien käyttäytymisestä.
ImageIO:n update_jpeg_buffer-argumentti poistettu (minor)¶
ImageIO:n JPEG-puskurin päivitys uudistettiin johtamaan puskuri kuvalähde-argumentista, ja eksplisiittinen update_jpeg_buffer-argumentti poistettiin. Skriptien, jotka antoivat update_jpeg_buffer-argumentin ImageIO:lle, on poistettava se.
Commitit: 5c6937bd1
Siirtymistarkistuslista¶
Siisti portaus v4.0.0:aan edellyttää tyypillisesti seuraavaa:
Korvaa kaikki poistetun striimaustilan käyttö uudella
sensor.set_framebuffers()-monipuskuroinnin API:lla (striimaustila poistettu).Tarkista
sensor.set_windowing()-kutsut uudelleen uudistettua, joustavampaa argumenttien käsittelyä vasten (ikkunointimuutos).Vahvista uudelleen skriptit, jotka riippuvat versiokohtaisesta MicroPython-käyttäytymisestä, MicroPython 1.15:tä vasten (MicroPython-päivitys).
Poista
update_jpeg_buffer-argumentti ImageIO-kutsuista (ImageIO-muutos).
Kaikki muut skriptit toimivat sellaisinaan.