v4.5.1¶
v4.5.1 dodaje savjete za crtanje s orijentacijom/omjerom slike, učitavanje slika izravno iz putanje datoteke, GC2145 ioctl za široko vidno polje te novi API kontrolera pozadinskog osvjetljenja. Također preuređuje konstruktor Image(), API-je modula display i raščlanjivanje argumenata modula — pročitajte promjene koje narušavaju kompatibilnost u nastavku.
Istaknuto¶
Savjeti za crtanje —
draw_image()je dobio savjete za orijentaciju (HMIRROR/VFLIP/TRANSPOSE,ROTATE_90/180/270) i skaliranje omjera (SCALE_ASPECT_KEEP/EXPAND/IGNORE).Učitavanje slika s diska —
draw_image()/display.write()prihvaćaju niz s putanjom datoteke.Upravljanje pozadinskim osvjetljenjem — nove klase
DACBacklight/PWMBacklightte argumentbacklight=za prikaz.Narušava kompatibilnost: promijenili su se konstruktor
Image(), API-ji moduladisplayi raščlanjivanje argumenata modula — pogledajte promjene koje narušavaju kompatibilnost.
Nove značajke¶
Savjeti za orijentaciju
draw_image()—image.HMIRROR,image.VFLIP,image.TRANSPOSEte prikladniimage.ROTATE_90/ROTATE_180/ROTATE_270.Savjeti za omjer
draw_image()—image.SCALE_ASPECT_KEEP/SCALE_ASPECT_EXPAND/SCALE_ASPECT_IGNOREza prilagodbu / proširenje / rastezanje.Konstante palete —
image.PALETTE_RAINBOWiimage.PALETTE_IRONBOW(premještene u modul image).Široko vidno polje — novi
sensor.IOCTL_SET_FOV_WIDE/IOCTL_GET_FOV_WIDEioctl-ovi (na GC2145, do 5x skaliranja senzora).Učitavanje s diska —
draw_image()idisplay.write()prihvaćaju niz s putanjom datoteke izvorne slike, učitavajući je izravno iz pohrane.Kontroleri pozadinskog osvjetljenja — nove klase
DACBacklightiPWMBacklight(mogu se uvesti izdisplay) te argumentbacklight=samo s ključnom riječi na konstruktorima SPI/paralelnog prikaza.
Ostale promjene i poboljšanja¶
Upravljački program za ST7701 DSI zaslon premješten je u vlastiti modul
st7701.py(i dalje se može uvesti putemfrom display import *) i zamrznut je na Arduino Giga; IMU upravljački programlsm9ds1zamrznut je na Arduino Nano 33 BLE Sense.Kamere MT9V022 / MT9V034 (s globalnim okidačem) sada primjenjuju korekciju šuma redaka za bolju kvalitetu slike.
USB volumen za masovnu pohranu na i.MX RT sada je označen kao OpenMV disk.
Ispravci pogrešaka¶
Kamera i senzori:
Ispravljena detekcija kutova (
find_keypoints()FAST/AGAST) na slikama višim od 480 redaka — međuspremnik po retku sada je dimenzioniran prema visini slike.Dodana podrška za FSYNC pin za vremenski usklađen
snapshot()na i.MX RT (OpenMV RT1060) te ispravljeni zamijenjeni SPI4 MOSI/MISO pinovi na RT1060.
Prikaz i video:
Ispravljen redoslijed argumenata konstruktora
SPIDisplay(bgr,byte_swap,triple_bufferbili su primijenjeni na pogrešne parametre).Ispravljeno oštećenje slike na TV štitu pri crtanju slike s navedenim pravokutnikom te netočne granice MJPEG sličica pri snimanju skaliranih sličica.
Umrežavanje:
WINC WiFi AP način rada više ne nameće zastarjelo ograničenje samo na WEP — otvoreni i WPA AP načini rada rade uz ispravno rukovanje PSK-om.
Podrška za hardver i ploče¶
OpenMV RT1060 — FSYNC pin i ispravljeni SPI4 pinovi.
Arduino GIGA — zaobilazno rješenje za pouzdanost QSPI; ST7701 zaslon zamrznut.
Arduino Nano 33 BLE Sense — IMU upravljački program
lsm9ds1zamrznut.
Promjene API-ja koje narušavaju kompatibilnost¶
Korisniku vidljiva narušavanja API-ja između v4.5.0 i v4.5.1. 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, drugačiji rezultati; ponovno provjerite ugođene skripte.
Promjene su grupirane prema utjecaju tim redoslijedom. Ako samo želite prenijeti svoj kod, prijeđite na kontrolni popis migracije na kraju. Svaki hash predaje vodi do svoje razlike na GitHubu.
Konstruktor Image() i API-ji modula display (minor)¶
Konstruktor image.Image preuređen je na argumente s ključnim riječima (height, pixformat, buffer=, copy_to_fb=); sada može izgraditi sliku iz postojećeg bytearray/međuspremnika, a za komprimirane formate potreban je međuspremnik. display.write() je preuređen: x_scale/y_scale sada uzimaju broj s pomičnim zarezom (omjer skaliranja) ili cijeli broj (ciljna veličina u pikselima), a zasebne ključne riječi x_size/y_size su uklonjene. Prvi pozicijski argument funkcije WINC.connect() preimenovan je iz essid → ssid, a rezultati WINC WiFi skeniranja promijenjeni su u (ssid_bytes, bssid_bytes, channel, rssi, security, N) (SSID/BSSID su sada bajtovi; BSSID više nije formatirani MAC niz).
Raspon pozadinskog osvjetljenja, skaliranje i argumenti samo s ključnom riječi (behavior)¶
Display.backlight() sada uzima intenzitet od 0–100 (0 = isključeno, 100 = puno) umjesto 0–255, podižući ValueError izvan raspona. Cjelobrojne vrijednosti x_scale/y_scale sada se tretiraju kao multiplikativni faktor skaliranja (jednako kao brojevi s pomičnim zarezom) umjesto kao ciljna dimenzija u pikselima — to utječe na fir.snapshot()/draw_ir(), tof.snapshot()/ draw_depth(), display i tv skaliranje. Raščlanjivanje argumenata u modulima sensor, fir, tof, tv, mjpeg, gif, imageio, tf i audio ujednačeno je, čineći nekoliko prethodno pozicijskih opcija samo opcijama s ključnom riječi (imena, zadane vrijednosti i ponašanje inače su nepromijenjeni).
Predaje: 391ec443f, 8bd25d6cd, 477312656, 08bf62a32, a4c0f20bf, 9b411a66d, 3d679f5a6, d15fc6b8d, 555e67ecd
Kontrolni popis migracije¶
Za čist prijenos na v4.5.1 uobičajeni je posao:
Ažurirajte konstrukciju
Image()na novi oblik s ključnim riječima, prebacitedisplay.write()sx_size/y_sizete preimenujteWINC.connect()essid→ssid(rukujte novim n-torkama skeniranja temeljenima na bajtovima) (promjene konstruktora/prikaza/WINC).Preskalirajte pozive
Display.backlight()na 0–100, ponovno provjerite svaku cjelobrojnu uporabux_scale/y_scalete proslijedite nekad pozicijske opcije modula kao ključne riječi (promjene ponašanja).