v4.5.9¶
v4.5.9 tuo raakaesikatselun suoratoiston korteille, joissa ei ole laitteistollista JPEG-koodainta, laitteistollisen sensorin rajauksen lisää RAM-muistin vapauttamiseksi, nopeamman Helium-kiihdytetyn debayeroinnin sekä joukon kamera-/USB-debug-korjauksia. Se myös muuttaa AprilTag-tulos-API:a ja oletus-AprilTag-perhejoukkoa, joten lue alla olevat rikkovat muutokset.
Kohokohdat¶
Raakaesikatselun suoratoisto — kortit, joissa ei ole laitteistollista JPEG-koodainta, voivat nyt lähettää alasskaalattuja raakakehyksiä IDE:lle/isännälle sen sijaan, että esikatselu epäonnistuisi.
Laitteistollinen sensorin rajaus — pienemmän kehyskoon asettaminen vähentää nyt puskurikohtaista muistia ja vapauttaa RAM-muistia funktiolle
fb_alloc().Nopeampi debayerointi — Bayer→RGB/harmaasävy-muunnos on nyt Helium-SIMD-kiihdytetty Cortex-M55-korteilla.
Rikkova: AprilTag-tulosobjekti muuttui attribuuttipohjaiseksi ja oletus-AprilTag-perhejoukkoa pienennettiin (katso AprilTag-muutokset ja AprilTag-perhemuutos).
Uudet ominaisuudet¶
Raakaesikatselun suoratoisto — kortit, joissa ei ole laitteistollista JPEG-koodainta, voivat ohittaa JPEG:n ja suoratoistaa alasskaalattuja raakakehyksiä (rajattu noin 60 kt:hen) IDE:lle/isännälle, joten live-esikatselu toimii näillä korteilla.
Muut muutokset ja parannukset¶
Laitteistollinen rajaus on nyt käytössä kaikilla STM32/NXP-korteilla (Giga, Nicla Vision, Portenta H7, OpenMV 1–4 / 4 Plus / Pure Thermal / RT1060). Kun kehyskoko tai ikkuna asetetaan, puskurikohtainen muisti pienennetään rajattuun kokoon, vapauttaen lisää RAM-muistia funktiolle
fb_alloc().Nopeampi debayerointi — Bayer→RGB565/harmaasävy-muunnos on nyt ARM Helium/MVE SIMD-kiihdytetty Cortex-M55-korteilla (esim. RT1060), jaetulla SIMD-JPEG-koodainpolulla.
Nopeampi IDE-debug — debuggeri siirtää nyt dataa suoraan USB-pinosta mahdollisuuksien mukaan, välttäen ylimääräisen kopioinnin.
MicroPython-alimoduuli päivitetty — kortit voivat muuttaa TinyUSB CDC -puskurin kokoa, sekä GC- ja käännössääntökorjauksia.
Korjatut viat¶
Kamera ja sensorit:
Korjattu OV7725:n Bayer/CFA-kuvio (GBRG → BGGR), korjaten debayeroidun väritulosteen OV7725-kameroilla; OV7725 raportoi nyt Bayer-pikselimuodon, ja vain-Bayer-sensorit raportoivat nyt 1 tavu pikseliä kohden -lähdesyvyyden.
Korjattu raaka-/Bayer-kehyspuskurin koon laskenta.
Koneoppiminen:
TensorFlow Lite Micro käyttää nyt GC-keon vapaata muistia tilapäistä tensoriarenaa mitoittaessaan, estäen mallin latauksen varausvirheet korteilla, joiden kehyspuskurimuisti on rajallinen.
Isäntä / IDE:
Korjattu USB-debug-CDC-puskurin käsittely TinyUSB-korteilla luotettavamman sarja-/debug-läpäisykyvyn saamiseksi.
tools/pyopenmv: korjattu RGB565-tavujärjestys, lisättyscale-argumentti, ja kehyspuskurityökalu raportoi nyt kuvan koon/muodon.
Laitteisto- ja korttituki¶
OV7725 raportoi nyt Bayer-pikselimuodon (oikea raaka-/CFA-käsittely).
Laitteistollinen rajaus käytössä koko STM32/NXP-korttivalikoimassa.
Rikkovat API-muutokset¶
Käyttäjälle näkyvät API-rikkomukset versioiden v4.5.8 ja v4.5.9 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 viritetyt skriptit uudelleen.
Muutokset on ryhmitelty vaikutuksen mukaan tässä järjestyksessä. Jos haluat vain siirtää koodisi, hyppää lopussa olevaan siirtotarkistuslistaan. Jokainen commit-hash linkittää diffiinsä GitHubissa.
AprilTag-tulosobjektit ja set_buffers (minor)¶
AprilTag-tulokset funktiosta find_apriltags() paljastavat nyt datansa attribuutteina metodien sijaan — käytä tag.cx, tag.cy, tag.rotation, tag.family, tag.corners metodien tag.cx(), tag.family() jne. sijaan. Lisättiin uudet name (perheen nimimerkkijono) sekä liukulukutarkkuuden cxf / cyf -lukijat.
Erikseen automaattinen videopuskurin konfigurointi muuttui: set_buffers korvaa auto_adjust -toiminnon — anna -1 käyttääksesi enintään kolmea kehyskoon puskuria (tai eniten, mitä mahtuu) ja 1 käyttääksesi koko kehyspuskuria. Puskurin mitoitus huomioi nyt bitit per pikseli, joten 1 bpp -muodoille voidaan varata enemmän puskureita.
ble_advertising ja RPC-yli-verkon poistettu (minor)¶
ble_advertising -avustinkirjasto ja ble_temperature.py -esimerkki poistettiin — käytä aioble -moduulia sen sijaan (aioble-lämpötilaesimerkki on tarjolla). RPC-verkon master/slave-luokat poistettiin tiedostosta rpc.py.
AprilTag-perheet oletuksena poissa käytöstä (behavior)¶
AprilTag-perheet ovat nyt yksittäin käännösaikana valittavissa, ja käyttämättömät ovat oletuksena poissa käytöstä. Vakiokorteilla find_apriltags() tunnistaa nyt vain TAG36H11 -perheen, ellei laiteohjelmistoa käännetä uudelleen muut perheet käytössä. Skriptit, jotka nojaavat muihin perheisiin (TAG16H5, TAG25H9, …) vakiokäännöksessä, lakkaavat hiljaisesti tunnistamasta niitä.
Commit: effe12f2c
Siirtotarkistuslista¶
Siisti siirto versioon v4.5.9 vaatii tyypillisesti seuraavan työn:
Muuta AprilTag-tuloksen käyttö metodikutsuista attribuuteiksi (
tag.cx()→tag.cx) ja vaihdaauto_adjusttoimintoonset_buffers(AprilTag-/puskurimuutokset).Korvaa
ble_advertisingmoduulillaaiobleja luovu kaikesta RPC-verkon master/slave-käytöstä (poistot).Jos käytät muita AprilTag-perheitä kuin
TAG36H11vakiokäännöksessä, huomaa, ettei niitä enää oletuksena tunnisteta (AprilTag-perhemuutos).