v5.1.0#

v5.1.0 je izdanje sa značajkama. Okno ispod spremnika okvira raste iz histograma u skup prikaza uživo – Podaci o ploči, Memorija, Statistika i novi prikaz Kanali koji vrijednosti koje skripta objavljuje pretvara u widgete, grafove, spektre i karte dubine te ih snima u datoteke – spremnik okvira dobiva birač izvora za kamere s više senzora, IDE uči učitavati repozitorije trećih strana pločica, firmvera, primjera, modela i stubova, a video snimke prelaze na H.264. Podržane su nove pločice i senzori, alati za firmver učvršćeni su potpunom revizijom svake promjene od v5.0.0, a nekoliko ponašanja preneseno je iz OpenMV Studija. Izgrađen je na Qt Creatoru 14.0.2 i uključuje firmver v5.0.1.

Istaknuto#

  • Prikazi okna – naslovna traka okna histograma dobiva birač koji prebacuje okno između prikaza Histogram, Podaci o ploči (hardver, verzije i mogućnosti povezane kamere), Memorija (grafovi uživo MicroPython heapa i svakog UMA poola, s praćenjem vrhunca), Statistika (brojači paketa, pogrešaka i događaja po kanalu protokola za ispravljanje pogrešaka) i Kanali.

  • Prikaz Kanali – skripta može objavljivati imenovane kanale podataka i kontrola preko protokola za ispravljanje pogrešaka, a IDE ih prikazuje uživo: oznake, prekidače, klizače, brojčane okvire, radijske gumbe, polja za unos teksta, birače, gumbe i tekstne blokove koji pišu natrag u kameru; grafove valnih oblika s pomicanjem, zumiranjem, markerima, okidačima, poviješću i analizatorom spektra; te karte dubine s vlastitim paletama kamere, tri filtra skaliranja i mapiranjem tonova. Svaki graf ili karta snima se u CSV, WAV, NumPy ili Edge Impulse JSON i CBOR datoteke – uključujući Snimi sve za cijeli kanal – radi prikupljanja podataka za treniranje. Posljednje vrijednosti ostaju na zaslonu kad se skripta zaustavi.

  • Birač izvora spremnika okvira – kamere s više od jednog slikovnog senzora prikazuju birač u naslovnoj traci spremnika okvira za odabir senzora koji struji u IDE (ili za isključivanje strujanja), prekidač JPG postao je birač načina strujanja JPG / RAW, a naslov okna imenuje format u kojem je svaka sličica stigla.

  • Repozitoriji trećih strana – dobavljač može objaviti repozitorij pločica, firmvera (kanali izdanja i razvoja), primjera, modela strojnog učenja i .pyi stubova; IDE ga instalira s URL-a ili iz mape koju je ubacio instalacijski program, spaja ga s vlastitim sadržajem, održava ga ažuriranim i omogućuje vam da dobavljače poredate po prioritetu. Upravlja se iz Preferences → OpenMV → Third Party Repositories.

  • Novi hardver – pločica OpenMV N6 Classic (uključujući upravljački program njezina bootloadera, udev pravilo i unos za ROM-DFU oporavak) te senzori FLIR Lepton 3.1R i UW.

  • H.264 snimke – snimač spremnika okvira i pretvarač videa sada kodiraju H.264 umjesto MPEG-4 Part 2, s fiksnim intervalom ključnih sličica kako bi se snimke uredno premotavale i brojem sličica zaokruženim na cijeli broj.

  • Ispravci iz revizije – svaki commit od v5.0.0 dvaput je pregledan radi regresija, s posebnom pažnjom na putanje firmvera, bootloadera i ROMFS-a; pronađeni nedostaci ispravljeni su u ovom izdanju (vidi ispravci grešaka).

Nove značajke#

  • Prikazi Podaci o ploči, Memorija i Statistika u oknu histograma, sa stilom koji ispunjava cijelo okno u tamnoj i svijetloj temi te tekstom koji se može označiti (cdea506655b, 7629a588db9, e21bd94a395, b55dcc412f6, fc744920011, e7dc3bf0092, 448e21db0bd).

  • Prikaz Kanali – potpuni rječnik kontrola (oznaka, prekidač, klizač, brojčani okvir, radijski gumb, polje za unos teksta, birač, gumb, tekst), grafovi valnih oblika s analizatorom spektra (Hann, Hamming, Blackman i pravokutni prozori, usrednjavanje, zadržavanje vrha, logaritamska frekvencija), okidači na rastući i padajući brid, markeri, povijest i izvoz grafa; karte dubine s paletama Depth, Rainbow, Ironbow i Event, skaliranjem nearest / bilinear / bicubic, mapiranjem tonova Raspon skripte / Auto raspon / Izjednači, gumbom za pauzu, očitanjem pri prelasku pokazivačem, zaglavljem s deklariranim rasponom i min / maks / srednjom vrijednošću sličice te Spremiti sliku; snimanje u CSV, WAV, NumPy i Edge Impulse JSON / CBOR s neobaveznom Edge Impulse oznakom, dijeljenje na dijelove za duga snimanja i Snimi sve; interval Channel Polling u postavkama protokola (5b4f31a6b3a, d1252a24f14, bfd7fd72f94, d1c2ab02a5f, 4808b8ffe26, dfc323b4ec7, 61c077df9a5, 8c2cd6cf1f1, 1534225fcee).

  • Birač izvora spremnika okvira i očitanje formata – odaberite senzor koji struji na kamerama s više senzora, ili Isključeno; primljeni format sličice prikazuje se u naslovu okna; prekidač JPG sada je birač JPG Mode / RAW Mode (e76284bde9e, c2baff8d60c, afece31cb6a, 76448d7b9dd).

  • Repozitoriji trećih strana – repozitoriji firmvera vođeni datotekama spojeni s ugrađenim popisom pločica, mrežna ažuriranja sa stranicom u Preferences, razvojni kanal firmvera po dobavljaču, prioritet dobavljača pod kontrolom korisnika, primjeri dobavljača spojeni u File → Examples, modeli dobavljača spojeni u Model Zoo, prilagođeni .pyi stubovi proslijeđeni dovršavanju koda, upozorenja o nadjačavanju kad dobavljač zasjeni ugrađeni sadržaj te provjera licence za pločice dobavljača (21a63a74949, b5512efe949, b15afdac479, 1fe693f0b61, ae11ffeffc4, cf47a37ba65, 100bdeb530b, 252924901f7, c75a81f2a4a, 3e7f077a738, 5c5aa3e657c, e3f36adbdcb, b04da8ee888).

  • Uklanjanje komentara prije pokretanja – komentari se uklanjaju iz skripte prije slanja kameri, čime se štedi RAM kamere na skriptama s mnogo komentara; redci se zadržavaju, pa brojevi redaka u tragu pogreške i dalje odgovaraju uređivaču (677546ee033).

  • Oznaka pogreške u retku – kada skripta završi iznimkom, uređivač označava problematični redak crvenom bojom s tekstom pogreške pored njega; oznaka se briše kad uredite datoteku, ponovno pokrenete ili odspojite (677546ee033).

  • Povlačenje i ispuštanje u uređivač ROMFS-a – datoteke ispuštene s radne površine prolaze kroz isto prevođenje skripti i pretvorbu modela kao Add File, u mapu na koju su ispuštene (677546ee033).

Poboljšanja uređivača, terminala i sučelja#

  • Histogrami se računaju iz punog 8-bitnog RGB-a umjesto iz RGB565 tablica kamere, sa zajedničkom paletom grafova, alfa-stopljenim ispunama i prigušenijim linijama mreže (238e099373e, f126e8f34c0, cebbf0c9e2c).

  • Skriveni prikazi okna ne rade ništa – histogram preskače svoj izračun i ponovno iscrtavanje dok je prikazan drugi prikaz ili je okno sažeto, a nadoknađuje kad se ponovno prikaže; ponovna iscrtavanja nulte veličine su utišana (c8730df8399).

  • Primjeri skripti otvaraju se s praznim retkom nakon uvoza, a priloženi primjeri preoblikovani su na isti način (1f88f617ec5, 87c8f7d41c7).

  • Dovršavanje koda prikazuje privatne nazive – ugrađeni jezični poslužitelj više ne filtrira članove s prefiksom _, koje moduli kamere koriste (23ab5b38bb3).

  • macOS – grupni okviri kontrola protokola u postavkama više nisu stiješnjeni, prikazi stavki zaštićeni su od rušenja Cocoa pristupačnosti, korisnici Apple Silicona upozoravaju se na sigurnosnu postavku „Allow accessories to connect”, a korisnici RT1062 upozoravaju se kada dozvola Input Monitoring nije dodijeljena (ažuriranja firmvera je trebaju); oba upozorenja prikazuju se nakon povezivanja (7d7b69367bf, 69fe7ffc913, 742cb4d8c0b, 8890eb77834, 89646292e8d).

  • Prečaci u načinu preglednika – zalutali prečaci koji su kvarili način preglednika (i obični IDE) su onemogućeni, a način preglednika više ne sprema svoje obrisane prečace u postavke punog IDE-a (251b422f642, 0d153671c1d).

  • Nepoznati senzori imenuju se po id-u čipa u statusnoj traci kako bi se mogli identificirati i dodati u tablicu senzora (df561775b54).

Firmver, pločice i alati#

  • Podrška za OpenMV N6 Classic: unos pločice, Windows DFU upravljački program i kodovi instalacijskog programa, Linux udev pravilo (4ff4a1f239d, bdd6c96ef47, 25fcdc13c6a, 7730b699f60).

  • Podrška za senzore FLIR Lepton 3.1R i UW (12c03024f3c).

  • Predaja IMX bootloadera – unaprijed pripremljeni hvatač preuzima bootloader RT1062 čim se enumerira, zamjenjujući petlju s pokretanjem procesa po svakom ispitivanju koja je na opterećenom računalu mogla propustiti jednosekundni prozor (3d8b63c6859).

  • Zip datoteke firmvera – Load Custom Firmware prihvaća pakete samo s ROMFS-om i pakete bez ROMFS-a, a prilagođeni ili razvojni firmver priprema se za IMX pločice koje već sjede u načinu bootloadera (b6f16f54c1a, 94d5fd5c30e).

  • Privatni direktoriji za pripremu za razvojni / prilagođeni firmver, slike uređivača ROMFS-a i privremene datoteke video alata, tako da se zastarjele datoteke drugih procesa nikad ne mogu greškom prebaciti ili pretvoriti (939154501af, a288fe712e7, 5c8c717adec).

  • H.264 video – snimke i pretvorbe kodiraju H.264 s fiksnim intervalom ključnih sličica; snimljeni broj sličica blizu cijelog broja zaokružuje se na njega, pa reproduktori prijavljuju 30 FPS umjesto 29.97 (6ad1968341d, d62c110e155, bab488a54fe).

  • Kontrolni zbroj zip datoteke resursa – ažuriranje resursa IDE-a provjerava se prema SHA-256 objavljenom uz verziju (677546ee033).

  • Iskreni User-Agent na zahtjevima prema OpenMV-ovim poslužiteljima (c4279c0213e).

Ispravci grešaka#

Dva prolaza pregleda svake promjene od v5.0.0 pronašla su i ispravila sljedeće (ccea3b17d01, 71826200611):

  • Putanje firmvera i bootloadera – Load Custom Firmware sa zip datotekom na pločicu koja je već u načinu bootloadera umjesto toga je prebacivao izdanje; Alif putanja oporavka sada odbija prilagođenu izgradnju umjesto da prebacuje izdanje; zaključana (bricked) N6 Classic popravljala se običnim N6 bootloaderom i firmverom; zastarjeli korijen resursa treće strane mogao je zaključanu ugrađenu pločicu usmjeriti na datoteke dobavljača; IMX hvatač mogao je nastaviti s prebacivanjem nakon što se srušio, ignorirao je Cancel dok je čekao flashloader i ostavljao serijski priključak otvorenim nakon otkazivanja tijekom pripreme; N6 Classic bootloader nije imao udev pravilo; prihvaćeni izlazni kodovi Windows instalacijskog programa upravljačkog programa imali su tipfeler.

  • Uređivač ROMFS-a – Cancel tijekom čitanja ROMFS-a prijavljivao je „Failed to unpack ROMFS!” i čekao deset sekundi kameru koja je još u bootloaderu; Cancel tijekom pisanja završavao je tiho s možda djelomičnim ROMFS-om; dfu-util pogreška tijekom pisanja prijavljivala se kao uspjeh; Cancel u sljedećem dijalogu odbacivao je svaku izmjenu; Auto Reconnect mogao se povezati ispod otvorenog uređivača; Edit ROMFS dok je kamera povezana nepotrebno se prvo odspajao i ponovno povezivao; privremeni direktoriji pretvarača su curili. Nakon otkazane operacije od bootloadera se sada traži da napusti DFU kako bi se kamera sama vratila.

  • Repozitoriji trećih strana – zip unosi provjeravaju se prije raspakiravanja (bez prolaska kroz putanje ili simboličkih veza), instalacije i ponovne instalacije dijelova zadržavaju staru kopiju dok nova nije na mjestu, odbijena pločica dobavljača više ne povlači sa sobom ugrađenu pločicu s kojom se preklapala, nedostajuća PID maska nije odgovarala ničemu tijekom izvođenja, a redci osnovnog indeksa primjera / modela više ne hvataju istoimene datoteke dobavljača.

  • Spremnik okvira i senzori – GENX320 senzor događaja (id čipa iznad 0x80000000) onemogućavao je spremnik okvira; spremljeni odabir senzora nije preživio ponovno pokretanje; stara postavka „disable frame buffer” nije bila migrirana; naredba za izvor toka uvjetovana je verzijom protokola; metrika fokusa zamrzavala se dok je stranica histograma bila skrivena; format sličice ostajao je u naslovu nakon odspajanja.

  • Tijek povezivanja – upozorenja na macOS-u mogla su progutati „Yes” upita za nadogradnju firmvera; Model Zoo uvijek se otvarao sažet bez vraćenog odabira; pričuvni odabir jedinog pogona za pogon kamere bio je nedostupan kad je kamera bila priključena dulje od deset sekundi.

  • Prikaz Kanali i snimač – zlonamjerne veličine sličica mogle su preliti provjere veličine; Edge Impulse snimači realocirali su memoriju pri svakom dijelu podataka i sada su ograničeni na 64 MB po dijelu; shema sa separatorima u nazivima mogla je indeksirati izvan popisa zapisa; dvostruki zapisi ostavljali su pokrenuti snimač bez vlasnika; zapisivanja se odbacuju dok je prikaz zamrznut; popis kanala sada se osvježava pri odjavi kanala i mekom ponovnom pokretanju.

  • Video – neparna širina koju je unio korisnik kvarila je H.264 kodiranje na libx264 izgradnjama; otkazane ili neuspjele .bin pretvorbe ostavljale su sličice koje je sljedeće pokretanje uključivalo.

  • Protokol – pražnjenje ulaznog međuspremnika koje se izvodi prije otkrivanja protokola je ograničeno (issue #336) (77cd13af76f); povezivanje kamere s pogonom više ne gubi utrku s drugim volumenima (9877480c304).

  • Upozorenje -Wdeprecated-copy u omotaču informacija o serijskom priključku (abcfaa8af5e).

Lokalizacija#

Podrška za platforme i alate#

  • Osnova Qt Creator: 14.0.2.

  • OpenMV IDE verzija podignuta na 5.1.0.

  • Priloženi firmver: v5.0.1 (vidi zapisnik promjena firmvera).

  • Nove pločice i senzori: OpenMV N6 Classic; FLIR Lepton 3.1R i UW.

Promjene koje narušavaju kompatibilnost#

Nema ih za postojeće projekte. Prekidač JPG u naslovnoj traci spremnika okvira sada je birač JPG Mode / RAW Mode, a njegova stara postavka „disable frame buffer” migrira se u stavku Isključeno novog birača izvora. Komentari se uklanjaju iz skripti prije pokretanja; skripta koja se oslanja na čitanje vlastitog izvornog teksta tijekom izvođenja ne bi to trebala.