v3.7.0¶
v3.7.0 on iso julkaisu. Se lisää audio-moduulin (Portenta H7:n PDM-mikrofoni) uudella ei-estävällä takaisinkutsu-API:lla, micro_speech TensorFlow-puheentunnistusmoduulin, aivan uuden rinnakkais-RGB LCD-ohjaimen (HDMI-ulostulolla ja FT5X06-kosketuksella), image.flush()-metodin pikseliformaattivakioineen ja uudelleenkirjoitetun image.draw_image()-skaalausputken. Useita vanhoja apukirjastoja ja kuvametodeja poistettiin ja yuv_to_*-laskenta muuttui — lue rikkovat muutokset alta.
Kohokohdat¶
audio-moduuli — Portenta H7:n sisäisen PDM-mikrofonin kaappaus ei-estävällästart_streaming(callback)-API:lla.micro_speech— TensorFlow-mikropuheentunnistusmoduuli.Uusi LCD-ohjain — rinnakkais-RGB-näyttötuki, HDMI-ulostulo (TFP410) ja FT5X06-kosketus.
image.draw_image()— uudelleenkirjoitettu täydellä skaalaus-/alfa-/palettiputkella (x_scale/y_scale/hint/color_palette…).image.flush()sekä pikseliformaattivakiot (image.BINARY/GRAYSCALE/RGB565/YUV422/BAYER/JPEG).Rikkova: vanhat matematiikan apukirjastot ja useita kuvametodeja poistettiin,
draw_image()/ LCD-API:t uudistettiin, eikäyuv_to_*enää vähennä 128:aa — katso rikkovat muutokset.
Uudet ominaisuudet¶
audio— uusi Portenta H7:naudio-moduuli PDM-mikrofonin kaappaukseen:audio.init(), ei-estäväaudio.start_streaming(callback)jaaudio.stop_streaming()(taajuus annetaan hertseinä).micro_speech— uusi moduuli, jossa onMicroSpeech-luokka,audio_callback()jamicro_speech()TensorFlow-puheentunnistukseen;listen()käyttää liukuvan ikkunan keskiarvoa ja hyväksyyfilter-avainsanan tulosten rajaamiseksi luokkanimilistaan.LCD — uusi LCD-ohjain rinnakkais-RGB-näyttötuella,
LCD_NONE/LCD_SHIELD/LCD_DISPLAY-tyypit, monia framesize-vakioita,triple_buffer/framesize/refresh/bgr/deinit, laajennettudisplay, HDMI-ulostulo TFP410:n kautta ja FT5X06-kosketusnäyttötuki.image.flush()— lisättyimage.flush()-metodi ja pikseliformaattivakiot (image.BINARY/GRAYSCALE/RGB565/YUV422/BAYER/JPEG).image.draw_image()— uudelleenkirjoitettu uudella skaalausputkella:x_scale/y_scale/x_size/y_size,rgb_channel,alpha,color_palette,alpha_palettejahint, sekäimage.AREA/BILINEAR/BICUBIC/CENTER/EXTRACT_RGB_CHANNEL_FIRST/APPLY_COLOR_PALETTE_FIRST-vakiot ja uudet alfasekoitus-/väritaulu-/skaalausesimerkit.ImageReader.next_frame()saipause-avainsanan reaaliaikaisen toistoviiveen poistamiseen.Lisätty Portentan ääniesimerkit (
audio_fft.py,micro_speech.py) ja ExtInt-herätys-stop-tilasta-esimerkki.
Muut muutokset ja parannukset¶
Sisäänrakennetut esimerkit järjestettiin uudelleen kansioon
scripts/examples/Arduino/; kehyspuskuri päivittyy nyt välittömästi kuvien lataamisen/luomisen jälkeen asetuksellacopy_to_fb=True(manuaalista tyhjennystä ei tarvita); Portentan keko pienennettiin hieman, jotta enemmän staattista ajuritilaa mahtuu.
Virhekorjaukset¶
Kamera ja kuvankäsittely:
Korjattu vaihtuneet punainen/sininen (RGB565-tavujärjestys) kaapatuissa kuvissa, DMA2D-piirron pyöristys vastaamaan muuta piirtokoodia,
fb_alloc-korruptio rekursiivisissa varauksissa (find_blobs()) ja portitettiintop_hat()/black_hat()sekä binääri- että matematiikkaoperaatioiden käyttöönoton taakse.
Näyttö ja ääni:
Korjattu LCD-shieldin ulostulo ja Portentan 1-kanavainen monoäänitila.
Portenta:
Kierretty Ethernet-/SDRAM-ongelma (ajetaan
rst_ethylätilaan) ja korjattu SDRAM-ajoituksen asetus.
Laitteisto- ja korttituki¶
Arduino Portenta H7 — sisäisen PDM-mikrofonin (SAI / PDM2PCM) äänikaappaus.
LCD — uusi rinnakkais-RGB-näyttöohjain (LTDC otettu käyttöön H7-buildissa), HDMI-ulostulo TFP410:n kautta ja FT5X06-kosketusnäyttö-LCD-tuki.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkoumat v3.6.9:n ja v3.7.0:n 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 portata koodisi, hyppää migraatiotarkistuslistaan lopussa. Jokainen commit-tunniste linkittää diffiinsä GitHubissa.
Vanhat matematiikan apukirjastot poistettu (minor)¶
Apukirjastot mtx, rv, ulinalg, umatrix ja vec poistettiin kansiosta scripts/libraries ulab-kirjaston hyväksi. Skriptit, jotka käyttävät import-lausetta mihin tahansa näistä, epäonnistuvat ja ne on portattava ulab-kirjastoon.
Commitit: 1f7da9272
remove_shadows() / chrominvar() / illuminvar() poistettu (minor)¶
image.remove_shadows(), image.chrominvar() ja image.illuminvar() poistettiin ilman korvaavaa toteutusta. Skriptien, jotka kutsuvat näitä metodeja, on poistettava kutsut.
Commitit: 3173c2bb3
image.draw_image()-allekirjoitus uudistettu (minor)¶
image.draw_image() kirjoitettiin uudelleen uuden skaalausputken päälle. Vanhat positionaaliset alpha / yksittäinen scale -argumentit ja aiempi positionaalinen järjestys eivät enää päde; käytä uutta avainsanamuotoa (x_scale= / y_scale= tai x_size= / y_size=, alpha=, color_palette=, hint= …).
Commitit: 3439f8824
LCD-moduulin uudelleenkirjoitus (minor)¶
lcd-moduuli kirjoitettiin uudelleen uutta näyttöohjainta varten. lcd.init() ottaa nyt näytön tyypin (type) (LCD_NONE / LCD_SHIELD / LCD_DISPLAY) ja uudet avainsana-argumentit, ja vakio-/API-pinta järjestettiin merkittävästi uudelleen. Vanhat vain-shield-skriptit toimivat enimmäkseen yhä, mutta oletukset ja toiminta muuttuivat — tarkista LCD-skriptit uutta type / framesize -API:a vasten.
Commitit: 185538207
yuv_to_* ei enää vähennä 128:aa (behavior)¶
image.yuv_to_binary() / yuv_to_grayscale() / yuv_to_rgb() / yuv_to_lab() käsittelevät nyt Y-monikon alkion etumerkittömänä 0–255-arvona sen sijaan, että vähentäisivät 128:aa. Kutsujien on välitettävä Y ilman aiempaa −128-biasta saadakseen samat värit kuin ennen.
Commitit: dcf141192
Migraatiotarkistuslista¶
Siistiin v3.7.0-porttiin tyypillinen työ on:
Portaa
mtx/rv/ulinalg/umatrix/vec-käyttöulab-kirjastoon (matematiikkakirjastojen poisto).Poista
image.remove_shadows()/chrominvar()/illuminvar()-kutsut (poistetut kuvametodit).Päivitä
image.draw_image()-kutsut uuteen avainsana-allekirjoitukseen (draw_image-uudistus).Tarkista LCD-skriptit uutta
lcdtype/framesize-API:a vasten (LCD-uudelleenkirjoitus).Poista −128-bias välittäessäsi Y:n funktiolle
yuv_to_*(yuv_to_*-muutos).
Kaikki muut skriptit toimivat muuttumattomina.