v5.1.0#

v5.1.0 on ominaisuusjulkaisu. Kehyspuskurin alapuolinen ruutu kasvaa histogrammista joukoksi reaaliaikaisia näkymiä – Kortin tiedot, Muisti, Tilastot ja uusi Kanavat-näkymä, joka muuntaa skriptin julkaisemat arvot widgeteiksi, kuvaajiksi, spektreiksi ja syvyyskartoiksi ja tallentaa ne tiedostoihin – kehyspuskuri saa lähdevalitsimen monianturikameroille, IDE oppii lataamaan kolmannen osapuolen tietovarastoja kortteineen, laiteohjelmistoineen, esimerkkeineen, malleineen ja tynkineen, ja videotallenteet siirtyvät H.264:ään. Uusia kortteja ja antureita tuetaan, laiteohjelmistotyökalut vahvistettiin jokaisen v5.0.0:n jälkeisen muutoksen täydellä tarkastuksella, ja kourallinen toimintatapoja tuotiin OpenMV Studiosta. Se on rakennettu Qt Creator 14.0.2:n päälle ja sisältää laiteohjelmiston v5.0.1.

Kohokohdat#

  • Ruudun näkymät – histogrammiruudun otsikkopalkki saa valitsimen, joka vaihtaa ruudun Histogrammi-, Kortin tiedot- (yhdistetyn kameran laitteisto, versiot ja ominaisuudet), Muisti- (reaaliaikaiset kuvaajat MicroPython-keosta ja jokaisesta UMA-varannosta huippuseurannalla), Tilastot- (virheenkorjausprotokollan paketti-, virhe- ja kanavakohtaiset tapahtumalaskurit) ja Kanavat-näkymien välillä.

  • Kanavat-näkymä – skripti voi julkaista nimettyjä data- ja säädinkanavia virheenkorjausprotokollan yli, ja IDE piirtää ne reaaliaikaisesti: tunnisteet, kytkimet, liukusäätimet, askelluskentät, valintanapit, tekstikentät, valitsimet, painikkeet ja tekstilohkot, jotka kirjoittavat takaisin kameraan; aaltomuotokuvaajat panoroinnilla, zoomauksella, merkeillä, liipaisuilla, historialla ja spektrianalysaattorilla; sekä syvyyskartat kameran omilla paleteilla, kolmella skaalaussuodattimella ja sävykartoituksella. Mikä tahansa kuvaaja tai kartta tallentuu CSV-, WAV-, NumPy- tai Edge Impulse JSON- ja CBOR-tiedostoihin – mukaan lukien koko kanavan Record All – opetusdatan keräämistä varten. Viimeiset arvot pysyvät näytöllä, kun skripti pysähtyy.

  • Kehyspuskurin lähdevalitsin – kamerat, joissa on useampi kuin yksi kuva-anturi, näyttävät kehyspuskurin otsikkopalkissa valitsimen, jolla valitaan IDE:hen suoratoistava anturi (tai suoratoisto kytketään pois), JPG-vaihtopainikkeesta tuli JPG / RAW -suoratoistotilan valitsin, ja ruudun otsikko nimeää muodon, jossa kukin kehys saapui.

  • Kolmannen osapuolen tietovarastot – toimittaja voi julkaista tietovaraston, jossa on kortteja, laiteohjelmistoja (julkaisu- ja kehityskanavat), esimerkkejä, koneoppimismalleja ja .pyi-tynkiä; IDE asentaa sen URL-osoitteesta tai asennusohjelman jättämästä kansiosta, yhdistää sen omaan sisältöönsä, pitää sen ajan tasalla ja antaa sinun järjestää toimittajat tärkeysjärjestykseen. Hallitaan kohdasta Preferences → OpenMV → Third Party Repositories.

  • Uusi laitteisto – OpenMV N6 Classic -kortti (mukaan lukien sen käynnistyslatainajuri, udev-sääntö ja ROM-DFU-palautusmerkintä) sekä FLIR Lepton 3.1R- ja UW-anturit.

  • H.264-tallenteet – kehyspuskurin tallennin ja videomuunnin koodaavat nyt H.264:ää MPEG-4 Part 2:n sijaan kiinteällä avainkehysvälillä, jotta tallenteissa voi siirtyä siististi, ja kuvataajuus pyöristetään kokonaislukuun.

  • Tarkastuskorjaukset – jokainen v5.0.0:n jälkeinen commit tarkistettiin kahdesti regressioiden varalta kiinnittäen erityistä huomiota laiteohjelmisto-, käynnistyslatain- ja ROMFS-polkuihin; löydetyt viat on korjattu tässä julkaisussa (katso virheenkorjaukset).

Uudet ominaisuudet#

  • Kortin tiedot-, Muisti- ja Tilastot-näkymät histogrammiruudussa, reunasta reunaan ulottuvalla tyylillä sekä tummassa että vaaleassa teemassa ja valittavissa olevalla tekstillä (cdea506655b, 7629a588db9, e21bd94a395, b55dcc412f6, fc744920011, e7dc3bf0092, 448e21db0bd).

  • Kanavat-näkymä – koko säädinsanasto (tunniste, kytkin, liukusäädin, askelluskenttä, valintanappi, tekstikenttä, valitsin, painike, teksti), aaltomuotokuvaajat spektrianalysaattorilla (Hann-, Hamming-, Blackman- ja suorakulmaiset ikkunat, keskiarvoistus, huipun pito, logaritminen taajuus), nousevan ja laskevan reunan liipaisut, merkit, historia ja kuvaajan vienti; syvyyskartat Depth-, Rainbow-, Ironbow- ja Event-paleteilla, lähin / bilineaarinen / bikuubinen skaalaus, Skriptin alue / Automaattialue / Tasaa -sävykartoitus, taukopainike, osoitinlukema, otsake ilmoitetulla alueella ja kehyksen min / max / keskiarvolla sekä Tallenna kuva; tallennus CSV-, WAV-, NumPy- ja Edge Impulse JSON / CBOR -muotoihin valinnaisella Edge Impulse -luokkanimellä, osiin jako pitkille kaappauksille ja Record All; Channel Polling -väli protokolla-asetuksissa (5b4f31a6b3a, d1252a24f14, bfd7fd72f94, d1c2ab02a5f, 4808b8ffe26, dfc323b4ec7, 61c077df9a5, 8c2cd6cf1f1, 1534225fcee).

  • Kehyspuskurin lähdevalitsin ja muotolukema – valitse suoratoistava anturi monianturikameroissa tai Pois; vastaanotettu kehysmuoto näytetään ruudun otsikossa; JPG-vaihtopainike on nyt JPG Mode / RAW Mode -valitsin (e76284bde9e, c2baff8d60c, afece31cb6a, 76448d7b9dd).

  • Kolmannen osapuolen tietovarastot – tiedostopohjaiset laiteohjelmistotietovarastot yhdistettynä sisäänrakennettuun korttiluetteloon, verkkopäivitykset ja Preferences-sivu, kehityslaiteohjelmistokanava toimittajaa kohti, käyttäjän hallitsema toimittajien tärkeysjärjestys, toimittajan esimerkit yhdistettynä File → Examples -valikkoon, toimittajan mallit yhdistettynä Model Zoohon, mukautetut .pyi-tyngät syötettynä koodin täydennykselle, ohitusvaroitukset, kun toimittaja varjostaa sisäänrakennettua sisältöä, sekä lisenssitarkistus toimittajan korteille (21a63a74949, b5512efe949, b15afdac479, 1fe693f0b61, ae11ffeffc4, cf47a37ba65, 100bdeb530b, 252924901f7, c75a81f2a4a, 3e7f077a738, 5c5aa3e657c, e3f36adbdcb, b04da8ee888).

  • Kommenttien poisto ennen suoritusta – kommentit poistetaan skriptistä ennen sen lähettämistä kameraan, mikä säästää kameran RAM-muistia kommenttipainotteisissa skripteissä; rivit säilytetään, joten jäljitysjäljen rivinumerot vastaavat yhä editoria (677546ee033).

  • Rivikohtainen virhemerkintä – kun skripti kaatuu poikkeukseen, editori merkitsee virheen aiheuttaneen rivin punaisella ja näyttää virhetekstin sen vieressä; merkintä poistuu, kun muokkaat tiedostoa, suoritat uudelleen tai katkaiset yhteyden (677546ee033).

  • Vedä ja pudota ROMFS-editoriin – työpöydältä pudotetut tiedostot käyvät läpi saman skriptien käännöksen ja mallien muunnoksen kuin Add File, siihen kansioon, johon ne pudotettiin (677546ee033).

Editorin, päätteen ja käyttöliittymän parannukset#

  • Histogrammit lasketaan täydestä 8-bittisestä RGB:stä kameran RGB565-taulukoiden sijaan, yhteisellä kuvaajapaletilla, alfasekoitetuilla täytöillä ja himmeämmillä ruudukkoviivoilla (238e099373e, f126e8f34c0, cebbf0c9e2c).

  • Piilotetut ruudun näkymät eivät tee työtä – histogrammi ohittaa laskentansa ja uudelleenpiirtonsa, kun toinen näkymä on esillä tai ruutu on supistettu, ja ottaa kiinni, kun se näytetään uudelleen; nollakokoiset uudelleenpiirrot vaimennetaan (c8730df8399).

  • Esimerkkiskriptit avautuvat tyhjällä rivillä importtien jälkeen, ja mukana toimitetut esimerkit muotoiltiin uudelleen samalla tavalla (1f88f617ec5, 87c8f7d41c7).

  • Koodin täydennys näyttää yksityiset nimet – sisäänrakennettu kielipalvelin ei enää suodata _-alkuisia jäseniä, joita kameran moduulit käyttävät (23ab5b38bb3).

  • macOS – asetusten protokollasäädinten ryhmälaatikot eivät ole enää ahtaita, kohdenäkymät on suojattu Cocoa-saavutettavuuskaatumisilta, Apple Silicon -käyttäjiä varoitetaan ”Allow accessories to connect” -suojausasetuksesta ja RT1062-käyttäjiä varoitetaan, kun Input Monitoring -oikeutta ei ole myönnetty (laiteohjelmistopäivitykset tarvitsevat sitä); molemmat varoitukset näytetään yhdistämisen jälkeen (7d7b69367bf, 69fe7ffc913, 742cb4d8c0b, 8890eb77834, 89646292e8d).

  • Viewer-tilan pikanäppäimet – viewer-tilan (ja tavallisen IDE:n) rikkoneet ylimääräiset pikanäppäimet poistettiin käytöstä, eikä viewer-tila enää tallenna tyhjennettyjä pikanäppäimiään täyden IDE:n asetuksiin (251b422f642, 0d153671c1d).

  • Tuntemattomat anturit nimetään piiritunnuksen mukaan tilapalkissa, jotta ne voidaan tunnistaa ja lisätä anturitaulukkoon (df561775b54).

Laiteohjelmisto, kortit ja työkalut#

  • OpenMV N6 Classic -tuki: korttimerkintä, Windows DFU -ajuri ja asennusohjelman koodit, Linux udev -sääntö (4ff4a1f239d, bdd6c96ef47, 25fcdc13c6a, 7730b699f60).

  • FLIR Lepton 3.1R ja UW -anturien tuki (12c03024f3c).

  • IMX-käynnistyslataimen luovutus – ennalta viritetty sieppaaja ottaa RT1062:n käynnistyslataimen haltuunsa heti, kun se ilmoittautuu väylään, korvaten koetinkohtaisen prosessinkäynnistyssilmukan, joka saattoi ohittaa yhden sekunnin ikkunan kuormitetulla isäntäkoneella (3d8b63c6859).

  • Laiteohjelmisto-zipit – Load Custom Firmware hyväksyy pelkän ROMFS:n sisältävät paketit ja paketit ilman ROMFS:ää, ja mukautettu tai kehityslaiteohjelmisto valmistellaan jo käynnistyslataintilassa oleville IMX-korteille (b6f16f54c1a, 94d5fd5c30e).

  • Yksityiset valmisteluhakemistot kehitys- / mukautetulle laiteohjelmistolle, ROMFS-editorin levykuville ja videotyökalujen tilapäistiedostoille, jotta muiden prosessien vanhentuneita tiedostoja ei voi koskaan vahingossa flashata tai muuntaa (939154501af, a288fe712e7, 5c8c717adec).

  • H.264-video – tallenteet ja muunnokset koodataan H.264:ksi kiinteällä avainkehysvälillä; lähellä kokonaislukua oleva tallennuksen kuvataajuus pyöristetään siihen, jotta soittimet ilmoittavat 30 FPS eivätkä 29,97 (6ad1968341d, d62c110e155, bab488a54fe).

  • Resurssi-zipin tarkistussumma – IDE:n resurssipäivitys varmennetaan version rinnalla julkaistua SHA-256-tiivistettä vasten (677546ee033).

  • Rehellinen User-Agent OpenMV:n palvelimille tehtävissä pyynnöissä (c4279c0213e).

Virheenkorjaukset#

Kaksi tarkastuskierrosta jokaisen v5.0.0:n jälkeisen muutoksen yli löysivät ja korjasivat seuraavat viat (ccea3b17d01, 71826200611):

  • Laiteohjelmisto- ja käynnistyslatainpolut – Load Custom Firmware -zip jo käynnistyslataintilassa olevalle kortille flashasi sen sijaan julkaisuversion; Alif-palautuspolku kieltäytyy nyt mukautetusta versiosta julkaisun flashaamisen sijaan; jumiin jäänyt N6 Classic korjattiin tavallisella N6:n käynnistyslataimella ja laiteohjelmistolla; vanhentunut kolmannen osapuolen resurssijuuri saattoi ohjata jumiin jääneen sisäänrakennetun kortin toimittajan tiedostoihin; IMX-sieppaaja saattoi jatkaa flashaukseen kaaduttuaan, ohitti Cancelin odottaessaan flash-latainta ja jätti sarjaportin auki, kun virityksen aikana peruutettiin; N6 Classicin käynnistyslataimella ei ollut udev-sääntöä; Windows-ajurin asennusohjelman hyväksytyissä paluukoodeissa oli kirjoitusvirhe.

  • ROMFS-editori – Cancel ROMFS:n lukemisen aikana ilmoitti ”Failed to unpack ROMFS!” ja odotti kymmenen sekuntia yhä käynnistyslataimessa olevaa kameraa; Cancel kirjoituksen aikana päättyi hiljaisesti mahdollisesti osittaiseen ROMFS:ään; dfu-util-virhe kirjoituksen aikana raportoitiin onnistumisena; Cancel jatkovalintaikkunassa hylkäsi jokaisen muokkauksen; Auto Reconnect saattoi yhdistää avoimen editorin alla; Edit ROMFS yhteyden ollessa auki katkaisi ja muodosti yhteyden tarpeettomasti ensin uudelleen; muuntimen tilapäishakemistot vuotivat. Peruutetun toiminnon jälkeen käynnistyslatainta pyydetään nyt poistumaan DFU:sta, jotta kamera palaa itsestään.

  • Kolmannen osapuolen tietovarastot – zip-merkinnät tarkistetaan ennen purkamista (ei polkujen ylitystä tai symbolisia linkkejä), osittaiset asennukset ja uudelleenasennukset säilyttävät vanhan kopion, kunnes uusi on paikallaan, hylätty toimittajan kortti ei enää vie mukanaan sisäänrakennettua korttia, jonka kanssa se oli päällekkäin, puuttuva PID-maski ei täsmännyt mihinkään ajon aikana, eivätkä perusesimerkkien / -mallien indeksirivit enää kaappaa samannimisiä toimittajan tiedostoja.

  • Kehyspuskuri ja anturit – GENX320-tapahtuma-anturi (piiritunnus yli 0x80000000) poisti kehyspuskurin käytöstä; tallennettu anturivalinta ei säilynyt uudelleenkäynnistyksen yli; vanhaa ”disable frame buffer” -asetusta ei siirretty; suoratoistolähteen komento on sidottu protokollaversioon; tarkennusmittari jähmettyi histogrammisivun ollessa piilossa; kehysmuoto jäi otsikkoon yhteyden katkaisun jälkeen.

  • Yhdistämiskulku – macOS-varoitukset saattoivat niellä laiteohjelmiston päivityskehotteen ”Yes”-vastauksen; Model Zoo avautui aina supistettuna ilman palautettua valintaa; kameran aseman yhden aseman varavaihtoehto oli saavuttamattomissa, kun kamera oli ollut kytkettynä yli kymmenen sekuntia.

  • Kanavat-näkymä ja tallennin – vihamieliset kehyskoot saattoivat ylivuotaa kokotarkistukset; Edge Impulse -tallentimet varasivat muistin uudelleen jokaisella lohkolla ja on nyt rajattu 64 MB:iin osaa kohti; skeema, jonka nimissä oli erottimia, saattoi indeksoida tietueluettelon ohi; päällekkäiset tietueet jättivät käynnissä olevan tallentimen orvoksi; kirjoitukset hylätään näkymän ollessa jäädytettynä; kanavaluettelo päivittyy nyt rekisteröinnin poiston ja pehmeän uudelleenkäynnistyksen tapahtumista.

  • Video – käyttäjän syöttämä pariton leveys rikkoi H.264-koodauksen libx264-versioissa; peruutetut tai epäonnistuneet .bin-muunnokset jättivät kehyksiä, jotka seuraava ajo sulautti mukaan.

  • Protokolla – ennen protokollan tunnistusta suoritettava lukupuskurin tyhjennys on rajattu (issue #336) (77cd13af76f); kameran ja aseman yhdistäminen ei enää häviä kilpailua muille taltioille (9877480c304).

  • -Wdeprecated-copy-varoitus sarjaportin tietojen kääreessä (abcfaa8af5e).

Lokalisointi#

Alusta- ja työkalutuki#

  • Qt Creator -pohja: 14.0.2.

  • OpenMV IDE -versio nostettiin numeroon 5.1.0.

  • Mukana toimitettu laiteohjelmisto: v5.0.1 (katso laiteohjelmiston muutosloki).

  • Uudet kortit ja anturit: OpenMV N6 Classic; FLIR Lepton 3.1R ja UW.

Rikkovat muutokset#

Ei olemassa oleville projekteille. Kehyspuskurin otsikkopalkin JPG-vaihtopainike on nyt JPG Mode / RAW Mode -valitsin, ja sen vanha ”disable frame buffer” -asetus siirretään uuden lähdevalitsimen Pois-kohtaan. Kommentit poistetaan skripteistä ennen niiden suoritusta; skriptin, joka luottaa oman lähdetekstinsä lukemiseen ajon aikana, ei tulisi tehdä niin.