v4.8.1¶
v4.8.1 pohjautuu Qt Creator 14.0.2:een ja keskittyy uuteen erittäin luotettavaan OpenMV V2 -kameraprotokollaan, sisäänrakennettuun Code Profileriin sekä tallennustyönkulkuun, joka pitää kameran liitettynä sen poistamisen sijaan. Mukana toimitettava laiteohjelmisto ja koko esimerkkikokoelma on päivitetty versioon 4.8.1. Skriptaus-API:in ei tehty muutoksia, jotka rikkovat yhteensopivuuden, mutta tallennuksen muutos (ei enää poista laitetta) ja muutamien käynnistysaikaisten sarjaliikennelippujen poisto ovat käyttäjälle näkyviä työnkulun muutoksia.
Kohokohdat¶
OpenMV Protocol V2 on uusi erittäin luotettava kamerapino (
OMVCamera/OMVTransport/OMVDebug), jossa on CRC32, sekvensointi, ACK/NAK, uudelleenlähetys, tapahtumat ja fragmentointi. Se neuvotellaan automaattisesti yhteyden muodostuksen yhteydessä ja ohjaa nollausta, käynnistystä, suoratoistoa, skriptin suorittamista ja tilastoja.Code Profiler on uusi ikkuna (
Window>Show Code Profiler), joka kyselee kameralta funktiokohtaisia profilointitietueita ja näyttää kutsut, min/max/yhteensä/keskiarvo mikrosekunteina (μs), keskimääräiset syklit, prosenttiosuuden ja tapahtumalaskurit lajiteltavassa taulukossa.Tallennus paikalleen ei enää poista kameran asemaa; IDE kirjoittaa nyt
main.py-tiedoston ja huuhtelee taltion levylle, joten laite pysyy liitettynä.Usean sensorin tunnistus raportoi jokaisen kortin kameran, ja ne näytetään tilarivillä muodossa
Sensors: X, Ypääsensori ensimmäisenä.Dynaaminen kehyksen luku laskee parhaiten sopivan raakasuoratoiston resoluution uudelleen kullekin pikseliformaatille ja konfiguroi suoratoiston automaattisesti uudelleen.
Mukana toimitettava laiteohjelmisto ja esimerkit on päivitetty versioon 4.8.1 kaikilla korteilla, ja mukaan on lisätty uusia GenX320-tapahtumakamera-, TensorFlow ML-, Alif OLED- sekä LCD/Touch-LCD-shield-esimerkkejä.
Uudet ominaisuudet¶
Lisättiin OpenMV V2 -tietoliikenneprotokolla: täysi siirto- ja transaktiokerros, jossa on CRC32, sekvensointi, ACK/NAK, uudelleenlähetys, tapahtumat ja fragmentointi, sekä
OMVCamera-luokka, joka neuvotellaan automaattisesti yhteyden muodostuksen yhteydessä ja on integroitu sarjaliikenneajuriin (2fde9eb3f, fff1bf2ba, 8c41fcfad, 7fc7ed4bc, 84c3956af, 669039adf, a49259852, 07af1922a, 85f0c7c87, 5070cc213, e314459cc, e0367ca95, 0da2f79d0, 2b6fc9866, 534ecffbe).Lisättiin Code Profiler -ikkuna (
Window>Show Code Profiler), joka kyselee funktiokohtaisia profilointitietueita ja näyttää kutsut, min/max/yhteensä/keskiarvo mikrosekunteina (μs), keskimääräiset syklit, prosenttiosuuden ja tapahtumalaskurit sekä ratkaisee osoitteet symboleiksi mukana toimitettavan ELFIO ELF -jäsentimen avulla (019d3cd2c, 57cd9e1cc).Lisättiin Debug Protocol Settings -valintaikkuna, joka näyttää reaaliaikaiset järjestelmätiedot, isäntätilastot ja laitetilastot sekunnin välein päivitettyinä ja tarjoaa kanavakohtaiset kyselynopeudet sekä yhdistetyn ja erotetun kyselyn säätimet (5220a6125, 0da2f79d0).
Lisättiin usean sensorin tunnistus: kortti, jossa on useampi kuin yksi kamera, raportoi ne kaikki tilarivillä muodossa
Sensors: X, Ypääsensori ensin (cebc79ce7).Lisättiin dynaaminen kehyksen luku (oletuksena päällä), joka laskee parhaiten sopivan raakasuoratoiston resoluution uudelleen kullekin pikseliformaatille (
BINARY,GRAY,RGB565,ARGB8,JPEG,PNG) ja konfiguroi suoratoiston uudelleen (75c073bdb, 0da2f79d0).Lisättiin kehyspuskurin dekoodaus
BINARY- (1-bpp mono) jaARGB8- (32-bittinen alfa) raakapikseliformaateille, joten nämä kuvatyypit renderöidään nyt katselimessa (dabb82062).Windowsissa Connect skannaa nyt USB-laitteet, jotka käyttöjärjestelmä on merkinnyt ongelmallisiksi, ja varoittaa luettelemalla viallisia laitteita, jotka voivat estää yhteyden muodostamisen (1a5beb081, 1b59cd78e).
Lisättiin tilariville rekisteröinnin osoitin: vihreä
Registered- tai korallinpunainenUnregistered-painike liitetylle kameralle, jota napsauttamalla kortin voi rekisteröidä (a8c98a4b9).Kehyspuskurin katselin voi nyt näyttää suoritettavan skriptin lähettämän keskitetyn tekstiviestin uuden
FB_MESSAGE-escape-koodin avulla kuvan sijaan (530048201).Lisättiin uusia model-zoo-merkintöjä: ST FastDepth -syvyysarviointimallit (224/256/320), ST-pään maamerkkien asentomalli, kämmenentunnistus- ja käden maamerkkimallit sekä BlazeFace-etukasvojen tunnistusmalli (551668410, 4d64556d4, fadd6c4ed, b8277bb88, a8c98a4b9).
Lisättiin vain tehdaskäännökseen tarkoitettu itsetestiskripti (kamera, IMU, ToF, WiFi, LAN), joka toimitetaan mukana ja avataan automaattisesti käynnistyksen yhteydessä tehdas-IDE-variantissa (0db7fbbb0); testin RT1060 LAN -osuus on tällä hetkellä poistettu käytöstä (48370d022).
Muut muutokset ja parannukset¶
Tallennus paikalleen: skriptin tallentaminen ei enää poista kameran asemaa; IDE kirjoittaa
main.py-tiedoston ja huuhtelee taltion levylle (FlushFileBuffersWindowsissa,syncfsLinuxissa,sync_volume_np/F_FULLFSYNCmacOS:ssä), joten laite pysyy liitettynä (1614c572f, 6928b51ea, 35ed53967).Työkalupalkin toiminnot, joita napsautetaan kameran ollessa varattu (kehyspuskurin poistaminen käytöstä, JPEG-pakkaus, skriptin tallentaminen, asetusten määrittäminen), asetetaan nyt jonoon ja suoritetaan automaattisesti, kun laite on vapaa, sen sijaan että näytettäisiin Busy-virheikkuna (f4315f0a4).
Kehyspuskurin katselin käyttää nyt oletuksena sovitusta näkymään, joten kuva skaalautuu automaattisesti ikkunaan käynnistyksen yhteydessä, ja sarjapäätteen tulosteruutu näytetään nyt oletuksena käynnistyksen yhteydessä (f3ce4dc75).
Käännetyt mallitiedostot, joilla on
.lite-pääte, tunnistetaan nyt kaikkialla: model-zoo-selaimen suodatuksessa ja näytössä, laiteohjelmiston ROMFS-kohdistuksessa, ja Vela/STEdge AI -kääntäjät tuottavat nyt.lite-tulosteen (f3ce4dc75).STEdge AI (N6) -mallin käännösvalintaikkuna jäsentää ja raportoi nyt NPU-RAM:n ja hyperRAM:n käyttöprosentit ja kopioi uudelleensijoitetun verkon tulosteen tiedostoon, joka vastaa mallin päätettä (f3ce4dc75).
Model-zoo-selain näyttää nyt tiedoston Size-sarakkeen ja venyttää nimisarakkeen sopivaksi sen sijaan, että koko piilotettaisiin (f3ce4dc75).
Uuden skriptin mallipohja päivitettiin uuteen
csi-moduulin API:in ja käyttää oletuksena VGA-kehyskokoa, ja mukana toimitettava Hello World -esimerkki vaihdettiin QVGA-kehyskoosta VGA-kehyskokoon (f3ce4dc75).Convert Video -valintaikkuna kirjoitettiin uudelleen käyttämään jaettua lataajavalintaikkunaa värillisellä tulosteella, onnistumis-/epäonnistumisviesteillä, OK-sulkemispainikkeella ja selkeällä virheellä, kun FFMPEG ei ole käytettävissä alustalla (f56efc7be).
Kehyspuskurin katselin näyttää nyt vilkkuvan varoituksen, kun
JPEG/PNG-kuva on liian suuri puskuroitavaksi ja lähetettäväksi, uudenFB_BUFFER_ERROR-escape-koodin avulla (fda826126).DFU-käynnistyslataimeen siirtyminen pakottaa nyt käynnistyslataimen pysymään aktiivisena V2-protokollan laiteohjelmistossa, ja versiontunnistus palaa tavalliseen nollaukseen vanhemmilla käynnistyslataimilla (<1.0.2), jotka voisivat juuttua pakotettaessa (975857221).
Nimettiin uudelleen ja järjesteltiin ST-objektintunnistusmallien kansiot (
st_yolo_lc_v1->yolo_lc,tiny_yolo_v2->yolo_v2,yolov8n-henkilömallit yksinkertaisiksi kokonimisiksi tiedostoiksi) ja poistettiin suurettiny_yolo_v2int8 -variantit (34240cc3c).Sarjaliikenteen ajoitus säädetään nyt laiteohjelmiston
settings.json-tiedostonprotocol-ohitusavainten kautta (overrideReadTimeout,overrideReadStallTimeout,overridePerCommandWaitsekä V2:noverrideCRC/overrideSEQ/overrideACK-avaimet) käynnistysaikaisten komentoriviparametrien sijaan (019d8bf1d).Pythonin kielipalvelimen rivinpituuden raja asetettiin 120 sarakkeeseen flake8:lle ja pycodestylelle, joten pitkiä rivejä ei enää merkitä oletusarvolla 79 (dabb82062).
Pienennettiin mukana toimitettavaa koneoppimismallien joukkoa siirtämällä Qualcomm-mallikokoelma ja
google/mobilenet_v1kansioonmodels_unusedasennusohjelman pienentämiseksi (c44ddba20).
Korjaukset¶
Laiteohjelmiston latauksen ja resurssipäivityksen edistymisikkunat tehtiin kaatumisvarmoiksi
QPointer-suojuksilla, joten ne eivät enää käytä poistettua valintaikkunaa, jos se suljetaan kesken latauksen (f3ce4dc75).Asemien skannaus jatkaa nyt uudelleenskannausta, kunnes kameran USB-asema löytyy, ja tyhjentää vanhentuneet asemamerkinnät yhteyden katketessa, mikä poistaa aiemman kertaluonteisen ajastinkikan (a31d41b4e).
Useita yhteys- ja sarjaliikennekorjauksia: piilotetut sensorit (esim.
SoftCSI) eivät enää sotke näytettyä sensorityyppiä, Windowsin sarjaliikenteen keep-alive-ajastin estää USB-pysähdykset, Start ei enää käynnistä uudelleen jo käynnissä olevaa skriptiä, ja kamerakanava katkaistaan siististi portin sulkeutuessa (a8e467be6).Profilointinäkymä palautti sarakekohtaisen PMU-tapahtumalaskurin valinnan (valittavat tapahtumavalikot) ja tallennetun laskuri-/otsikkotilan, joka oli väliaikaisesti poistettu käytöstä (40c679e90).
Alusta- ja työkalutuki¶
Qt Creator -perusta: 14.0.2.
Mukana toimitettava laiteohjelmisto: päivitetty versiosta 4.7.0 versioon 4.8.1, ja laiteohjelmisto käännettiin uudelleen korteille OPENMV2/3/4/4P/PT, OPENMV_N6, OPENMV_AE3, OPENMV_RT1060 sekä Arduino GIGA/Nicla Vision/Portenta H7 -korteille (2657818ca).
Korjattiin protokollaversion kättely macOS:ssä RT1062- ja AE3-korteilla jakamalla monikomentoinen USB-siirto
USBDBG_LEN-kokoisiin osiin, joita kyseiset kortit pystyvät käsittelemään (6b9d5f842).Uudistettiin mukana toimitettava Windows-ajuripaketti: lisättiin korttikohtaiset allekirjoitetut
.cat/.inf-ajuritiedostot (AE3, H7, H7Plus, M4, M7, N6, Pico/PT, RT1062) ja siirrettiin CDC-sarjaliikenneajurit uuteenopenmvcdc-kansioon dpinst-pohjaisella automaattiasentajalla (439557829, ba3b01bfb).Lisättiin tuki vanhemmille MT9V032-kamerasensorin revisioille rekisteröimällä sensori-ID:t
0x1311ja0x1312(olemassa olevan0x1313:n rinnalle) tyyppinäMT9V0X2(eaaa624e3).
Yhteensopivuuden rikkovat muutokset¶
Tämä julkaisu ei sisällä skriptaus-API:in tehtyjä yhteensopivuuden rikkovia muutoksia, mutta siinä on muutamia käyttäjälle näkyviä työnkulun muutoksia:
Skriptin tallentaminen ei enää poista tai irrota kameran USB-asemaa. IDE huuhtelee nyt taltion puskurit paikalleen, joten laite pysyy liitettynä tallennuksen jälkeen.
Käynnistysaikaiset sarjaliikenneliput
-override_read_timeout(oletus 5000 ms),-override_read_stall_timeout(oletus 1000 ms) ja-override_per_command_wait(oletus 1 ms, 2 ms macOS:ssä) poistettiin; sarjaliikenteen ajoitus määritetään nyt laiteohjelmistonsettings.json-tiedostonprotocol-ohitusavainten kautta (019d8bf1d).Mukana toimitettavat käynnistyslataimet toimitetaan nyt vain
.bin-muodossa; korttikohtaiset.dfu-laiteohjelmisto- ja käynnistyslataintiedostot poistettiin.