v4.5.1¶
v4.5.1 lisää kuvan suunta-/kuvasuhdepiirtovihjeet, kuvien lataamisen suoraan tiedostopolusta, GC2145:n laajan näkökentän ioctl:n sekä uuden taustavalon ohjaimen API:n. Se myös uudistaa Image()-konstruktorin, display-API:t ja moduulien argumenttien jäsennyksen — lue rikkovat muutokset alta.
Kohokohdat¶
Piirtovihjeet —
draw_image()sai suunta- (HMIRROR/VFLIP/TRANSPOSE,ROTATE_90/180/270) ja kuvasuhdeskaalausvihjeet (SCALE_ASPECT_KEEP/EXPAND/IGNORE).Kuvien lataus levyltä —
draw_image()/display.write()hyväksyvät tiedostopolkumerkkijonon.Taustavalon ohjaus — uudet
DACBacklight/PWMBacklight-luokat ja näytönbacklight=-argumentti.Rikkova:
Image()-konstruktori,display-API:t ja moduulien argumenttien jäsennys muuttuivat — katso rikkovat muutokset.
Uudet ominaisuudet¶
draw_image()-suuntavihjeet —image.HMIRROR,image.VFLIP,image.TRANSPOSEsekä kätevätimage.ROTATE_90/ROTATE_180/ROTATE_270.draw_image()-kuvasuhdevihjeet —image.SCALE_ASPECT_KEEP/SCALE_ASPECT_EXPAND/SCALE_ASPECT_IGNOREsovitukseen / laajennukseen / venytykseen.Palettivakiot —
image.PALETTE_RAINBOWjaimage.PALETTE_IRONBOW(siirretty image-moduuliin).Laaja näkökenttä — uudet
sensor.IOCTL_SET_FOV_WIDE/IOCTL_GET_FOV_WIDE-ioctl:t (GC2145:llä, jopa 5x sensoriskaalaus).Lataus levyltä —
draw_image()jadisplay.write()hyväksyvät lähdekuvan tiedostopolkumerkkijonon, ladaten sen suoraan tallennustilasta.Taustavalon ohjaimet — uudet
DACBacklightjaPWMBacklight-luokat (tuotavissadisplay-moduulista) sekä vain avainsanana annettavabacklight=-argumentti SPI-/rinnakkaisnäyttöjen konstruktoreissa.
Muut muutokset ja parannukset¶
ST7701 DSI -näyttöajuri siirtyi omaan
st7701.py-moduuliinsa (yhä tuotavissafrom display import *-kautta) ja on jäädytetty Arduino Gigaan;lsm9ds1IMU -ajuri jäädytettiin Arduino Nano 33 BLE Senseen.MT9V022 / MT9V034 (global-shutter) -kamerat soveltavat nyt riviheijasteen korjausta paremman kuvanlaadun saamiseksi.
i.MX RT:n USB-massamuistitaltio on nyt merkitty OpenMV-levyksi.
Virheenkorjaukset¶
Kamera ja sensorit:
Korjattiin kulmantunnistus (
find_keypoints()FAST/AGAST) yli 480 riviä korkeammilla kuvilla — rivikohtaisen puskurin koko mitoitetaan nyt kuvan korkeuden mukaan.Lisättiin FSYNC-nastan tuki kehyssynkronoidulle
snapshot()-toiminnolle i.MX RT:llä (OpenMV RT1060), ja korjattiin vaihtuneet SPI4 MOSI/MISO -nastat RT1060:llä.
Näyttö ja video:
Korjattiin
SPIDisplay-konstruktorin argumenttijärjestys (bgr,byte_swap,triple_bufferkohdistuivat vääriin parametreihin).Korjattiin TV-laajennuksen kuvan vioittuminen piirrettäessä kuvaa määritetyllä suorakulmiolla sekä virheelliset MJPEG-kehysrajat skaalattuja kehyksiä tallennettaessa.
Verkko:
WINC WiFi AP -tila ei enää pakota vanhentunutta vain-WEP-rajoitusta — avoin ja WPA AP -tilat toimivat asianmukaisella PSK-käsittelyllä.
Laitteisto- ja korttituki¶
OpenMV RT1060 — FSYNC-nasta ja korjatut SPI4-nastat.
Arduino GIGA — QSPI-luotettavuuden kiertotapa; ST7701-näyttö jäädytetty sisään.
Arduino Nano 33 BLE Sense —
lsm9ds1IMU -ajuri jäädytetty sisään.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkoutumiset versioiden v4.5.0 ja v4.5.1 välillä. Laajuus: Python C-moduulit hakemistossa modules/ ja Python-kirjastot hakemistossa 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 siirtymistarkistuslistaan. Jokainen commit-tiiviste linkittää diffiinsä GitHubissa.
Image()-konstruktori ja display-API:t (minor)¶
image.Image-konstruktori uudistettiin avainsana-argumenteille (height, pixformat, buffer=, copy_to_fb=); se voi nyt rakentaa kuvan olemassa olevasta bytearray-/puskurista, ja puskuri vaaditaan pakatuille muodoille. display.write() uudistettiin: x_scale/y_scale ottavat nyt liukuluvun (skaalaussuhde) tai kokonaisluvun (kohdekoko pikseleinä), ja erilliset x_size/y_size -avainsanat poistettiin. WINC.connect()-kutsun ensimmäinen positionaalinen argumentti nimettiin uudelleen essid → ssid, ja WINC WiFi -skannauksen tulokset muuttuivat muotoon (ssid_bytes, bssid_bytes, channel, rssi, security, N) (SSID/BSSID ovat nyt tavuja; BSSID ei ole enää muotoiltu MAC-merkkijono).
Taustavalon alue, skaalaus ja vain avainsanana annettavat argumentit (behavior)¶
Display.backlight() ottaa nyt 0–100 -intensiteetin (0 = pois, 100 = täysi) aiemman 0–255:n sijaan ja nostaa ValueError-poikkeuksen alueen ulkopuolella. Kokonaislukuiset x_scale/y_scale -arvot käsitellään nyt kertovana skaalauskertoimena (samoin kuin liukuluvut) kohdepikselimitan sijaan — tämä vaikuttaa toimintoihin fir.snapshot()/draw_ir(), tof.snapshot()/ draw_depth(), display ja tv-skaalaus. Argumenttien jäsennys yhtenäistettiin moduuleissa sensor, fir, tof, tv, mjpeg, gif, imageio, tf ja audio, mikä teki useista aiemmin positionaalisista valinnoista vain avainsanana annettavia (nimet, oletusarvot ja toiminta ovat muuten ennallaan).
Commitit: 391ec443f, 8bd25d6cd, 477312656, 08bf62a32, a4c0f20bf, 9b411a66d, 3d679f5a6, d15fc6b8d, 555e67ecd
Siirtymistarkistuslista¶
Siistiin v4.5.1-siirtoon kuuluu tyypillisesti:
Päivitä
Image()-rakentaminen uuteen avainsanamuotoon, vaihdadisplay.write()poisx_size/y_size-käytöstä ja nimeäWINC.connect()essid→ssiduudelleen (käsittele uudet tavupohjaiset skannaustuplet) (konstruktori-/display-/WINC-muutokset).Skaalaa
Display.backlight()-kutsut välille 0–100, tarkista mahdollinen kokonaislukuinenx_scale/y_scale-käyttö ja anna aiemmin positionaaliset moduulivalinnat avainsanoina (toimintamuutokset).