v5.1.0#
v5.1.0 är en funktionsutgåva. Rutan under bildbufferten växer från ett histogram till en uppsättning livevyer – Board Info, Memory, Statistics och den nya Channels-vyn som förvandlar värdena ett skript publicerar till widgetar, grafer, spektra och djupkartor och spelar in dem till filer – bildbufferten får en källväljare för kameror med flera sensorer, IDE:n lär sig läsa in tredjepartsförråd med kort, fast programvara, exempel, modeller och stubbar, och videoinspelningar går över till H.264. Nya kort och sensorer stöds, verktygen för fast programvara härdades genom en fullständig granskning av varje ändring sedan v5.0.0, och en handfull beteenden fördes över från OpenMV Studio. Den bygger på Qt Creator 14.0.2 och levereras med fast programvara v5.0.1.
Höjdpunkter#
Rutvyer – histogramrutans titelfält får en väljare som växlar rutan mellan vyerna Histogram, Board Info (den anslutna kamerans hårdvara, versioner och funktioner), Memory (livegrafer över MicroPython-heapen och varje UMA-pool, med toppspårning), Statistics (felsökningsprotokollets räknare för paket, fel och händelser per kanal) och Channels.
Channels-vyn – ett skript kan publicera namngivna kanaler med data och kontroller över felsökningsprotokollet, och IDE:n renderar dem live: etiketter, växlare, skjutreglage, spinnrutor, radioknappar, textfält, väljare, tryckknappar och textblock som skriver tillbaka till kameran; vågformsgrafer med panorering, zoom, markörer, triggrar, historik och en spektrumanalysator; samt djupkartor med kamerans egna paletter, tre skalningsfilter och tonmappning. Varje graf eller karta kan spelas in till CSV-, WAV-, NumPy- eller Edge Impulse JSON- och CBOR-filer – inklusive ett Record All för en hel kanal – för insamling av träningsdata. De senaste värdena stannar kvar på skärmen när ett skript stoppas.
Källväljare för bildbufferten – kameror med mer än en bildsensor visar en väljare i bildbuffertens titelfält för att välja vilken sensor som strömmar till IDE:n (eller för att stänga av strömningen), JPG-växlaren blev en JPG / RAW-väljare för strömningsläge, och rutans titel anger formatet varje bildruta anlände i.
Tredjepartsförråd – en leverantör kan publicera ett förråd med kort, fast programvara (utgåve- och utvecklingskanaler), exempel, maskininlärningsmodeller och
.pyi-stubbar; IDE:n installerar det från en URL eller från en mapp som ett installationsprogram lagt dit, slår samman det med sitt eget innehåll, håller det uppdaterat och låter dig ordna leverantörer efter prioritet. Hanteras från Preferences → OpenMV → Third Party Repositories.Ny hårdvara – kortet OpenMV N6 Classic (inklusive dess startladdardrivrutin, udev-regel och ROM-DFU-återställningspost) samt sensorerna FLIR Lepton 3.1R och UW.
H.264-inspelningar – bildbuffertinspelaren och videokonverteraren kodar nu H.264 i stället för MPEG-4 Part 2, med ett fast nyckelbildsintervall så att inspelningar går att söka i rent och bildfrekvensen avrundad till ett heltal.
Granskningsrättningar – varje commit sedan v5.0.0 granskades två gånger med avseende på regressioner, med särskild uppmärksamhet på vägarna för fast programvara, startladdare och ROMFS; de defekter som hittades är rättade i denna utgåva (se felrättningar).
Nya funktioner#
Vyerna Board Info, Memory och Statistics i histogramrutan, med kantlös utformning i både det mörka och det ljusa temat samt markerbar text (cdea506655b, 7629a588db9, e21bd94a395, b55dcc412f6, fc744920011, e7dc3bf0092, 448e21db0bd).
Channels-vyn – hela kontrollvokabulären (label, toggle, slider, spin box, radio, line edit, select, push button, text), vågformsgrafer med en spektrumanalysator (Hann-, Hamming-, Blackman- och rektangulära fönster, medelvärdesbildning, toppminne, logaritmisk frekvens), triggrar på stigande och fallande flank, markörer, historik och export av grafen; djupkartor med paletterna Depth, Rainbow, Ironbow och Event, nearest-/bilinjär/bikubisk skalning, tonmappningen Script Range / Auto Range / Equalize, en pausknapp, avläsning vid hovring, en rubrik med det deklarerade intervallet och bildrutans min / max / medel, samt Save Image; inspelning till CSV, WAV, NumPy och Edge Impulse JSON / CBOR med en valfri Edge Impulse-etikett, uppdelning i delar för långa inspelningar och Record All; ett Channel Polling-intervall i protokollinställningarna (5b4f31a6b3a, d1252a24f14, bfd7fd72f94, d1c2ab02a5f, 4808b8ffe26, dfc323b4ec7, 61c077df9a5, 8c2cd6cf1f1, 1534225fcee).
Källväljare och formatavläsning för bildbufferten – välj vilken sensor som strömmar på kameror med flera sensorer, eller Off; det mottagna bildruteformatet visas i rutans titel; JPG-växlaren är nu en JPG Mode / RAW Mode-väljare (e76284bde9e, c2baff8d60c, afece31cb6a, 76448d7b9dd).
Tredjepartsförråd – fildrivna förråd med fast programvara sammanslagna med den inbyggda kortlistan, nätverksuppdateringar med en Preferences-sida, en utvecklingskanal för fast programvara per leverantör, användarstyrd leverantörsprioritet, leverantörsexempel sammanslagna i File → Examples, leverantörsmodeller sammanslagna i Model Zoo, anpassade
.pyi-stubbar matade till kodkompletteringen, åsidosättningsvarningar när en leverantör skuggar inbyggt innehåll, och en licenskontroll för leverantörskort (21a63a74949, b5512efe949, b15afdac479, 1fe693f0b61, ae11ffeffc4, cf47a37ba65, 100bdeb530b, 252924901f7, c75a81f2a4a, 3e7f077a738, 5c5aa3e657c, e3f36adbdcb, b04da8ee888).Kommentarer tas bort före Run – kommentarer tas bort från skriptet innan det skickas till kameran, vilket sparar kamerans RAM för kommentarstunga skript; raderna behålls, så radnumren i en traceback stämmer fortfarande med redigeraren (677546ee033).
Felmarkering i redigeraren – när ett skript dör med ett undantag markerar redigeraren den felande raden i rött med feltexten bredvid; markeringen försvinner när du redigerar filen, kör igen eller kopplar från (677546ee033).
Dra och släpp till ROMFS-redigeraren – filer som släpps från skrivbordet går igenom samma skriptkompilering och modellkonvertering som Add File, in i mappen de släpptes på (677546ee033).
Förbättringar i redigeraren, terminalen och gränssnittet#
Histogram beräknas från fullständig 8-bitars RGB i stället för kamerans RGB565-tabeller, med en gemensam grafpalett, alfablandade fyllningar och mattare rutnätslinjer (238e099373e, f126e8f34c0, cebbf0c9e2c).
Dolda rutvyer gör inget arbete – histogrammet hoppar över sina beräkningar och omritningar medan en annan vy visas eller rutan är ihopfälld, och kommer ikapp när det visas igen; omritningar i nollstorlek tystas (c8730df8399).
Exempelskript öppnas med en tom rad efter importerna, och de medföljande exemplen formaterades om på samma sätt (1f88f617ec5, 87c8f7d41c7).
Kodkompletteringen visar privata namn – den inbäddade språkservern filtrerar inte längre bort medlemmar med
_-prefix, vilka kamerans moduler använder (23ab5b38bb3).macOS – grupprutorna för protokollkontroller i inställningarna är inte längre hopträngda, objektvyer är skyddade mot Cocoa-tillgänglighetskrascher, Apple Silicon-användare varnas för säkerhetsinställningen ”Allow accessories to connect”, och RT1062-användare varnas när Input Monitoring inte är beviljat (uppdateringar av fast programvara kräver det); båda varningarna visas efter anslutning (7d7b69367bf, 69fe7ffc913, 742cb4d8c0b, 8890eb77834, 89646292e8d).
Genvägar i visarläget – lösa genvägar som bröt visarläget (och den vanliga IDE:n) inaktiverades, och visarläget sparar inte längre sina rensade genvägar i den fullständiga IDE:ns inställningar (251b422f642, 0d153671c1d).
Okända sensorer namnges med chip-id i statusfältet så att de kan identifieras och läggas till i sensortabellen (df561775b54).
Fast programvara, kort och verktyg#
Stöd för OpenMV N6 Classic: kortpost, Windows DFU-drivrutin och installerarkoder, Linux udev-regel (4ff4a1f239d, bdd6c96ef47, 25fcdc13c6a, 7730b699f60).
Stöd för sensorerna FLIR Lepton 3.1R och UW (12c03024f3c).
IMX-startladdaröverlämning – en föraktiverad fångare tar över RT1062:s startladdare i samma ögonblick som den enumereras, vilket ersätter loopen med en ny process per sondering som kunde missa ensekundsfönstret på en belastad värddator (3d8b63c6859).
Zip-filer med fast programvara – Load Custom Firmware accepterar paket med enbart romfs och paket utan ROMFS, och anpassad fast programvara eller utvecklingsversioner förbereds för IMX-kort som redan står i startladdarläge (b6f16f54c1a, 94d5fd5c30e).
Privata mellanlagringskataloger för utvecklings- / anpassad fast programvara, ROMFS-redigerarens avbildningar och videoverktygens temporära filer, så att inaktuella filer från andra processer aldrig kan flashas eller konverteras av misstag (939154501af, a288fe712e7, 5c8c717adec).
H.264-video – inspelningar och konverteringar kodar H.264 med ett fast nyckelbildsintervall; en inspelad bildfrekvens nära ett heltal avrundas till det så att spelare rapporterar 30 FPS i stället för 29,97 (6ad1968341d, d62c110e155, bab488a54fe).
Kontrollsumma för resurs-zip – IDE:ns resursuppdatering verifieras mot en SHA-256 som publiceras tillsammans med versionen (677546ee033).
Ärlig User-Agent vid förfrågningar till OpenMV:s servrar (c4279c0213e).
Felrättningar#
Två granskningsomgångar över varje ändring sedan v5.0.0 hittade och rättade följande (ccea3b17d01, 71826200611):
Vägarna för fast programvara och startladdare – en Load Custom Firmware-zip till ett kort som redan var i startladdarläge flashade utgåvebygget i stället; Alif-återställningsvägen vägrar nu ett anpassat bygge i stället för att flasha utgåvan; en förstörd N6 Classic reparerades med den vanliga N6-startladdaren och -firmwaren; en inaktuell resursrot från tredje part kunde styra ett förstört inbyggt kort till leverantörsfiler; IMX-fångaren kunde fortsätta flasha efter att den kraschat, ignorerade Cancel medan den väntade på flashladdaren och lämnade serieporten öppen efter ett avbrott under aktivering; N6 Classic-startladdaren saknade udev-regel; Windows-drivrutinsinstallerarens godkända avslutningskoder hade ett stavfel.
ROMFS-redigeraren – Cancel under en ROMFS-läsning rapporterade ”Failed to unpack ROMFS!” och väntade tio sekunder på en kamera som fortfarande var i startladdaren; Cancel under en skrivning avslutades tyst med ett möjligen ofullständigt ROMFS; ett dfu-util-fel under en skrivning rapporterades som lyckat; Cancel i uppföljningsdialogen förkastade varje redigering; Auto Reconnect kunde ansluta under den öppna redigeraren; Edit ROMFS medan ansluten kopplade i onödan från och återanslöt först; konverterarens temporära kataloger läckte. Efter en avbruten åtgärd ombeds startladdaren nu att lämna DFU så att kameran kommer tillbaka av sig själv.
Tredjepartsförråd – zip-poster valideras före uppackning (ingen sökvägstraversering eller symboliska länkar), delinstallationer och ominstallationer behåller den gamla kopian tills den nya är på plats, ett avvisat leverantörskort drar inte längre med sig det inbyggda kort det överlappade, en saknad PID-mask matchade ingenting vid körning, och basindexrader för exempel / modeller fångar inte längre leverantörsfiler med samma namn.
Bildbuffert och sensorer – händelsesensorn GENX320 (chip-id över
0x80000000) inaktiverade bildbufferten; ett sparat sensorval överlevde inte en omstart; den gamla inställningen ”disable frame buffer” migrerades inte; kommandot för strömkälla villkoras nu av protokollversionen; fokusmåttet frös medan histogramsidan var dold; bildruteformatet dröjde sig kvar i titeln efter frånkoppling.Anslutningsflödet – macOS-varningarna kunde svälja ”Yes” i uppdateringsfrågan för fast programvara; Model Zoo öppnades alltid ihopfälld utan att något val återställdes; reservlösningen med en enda enhet för kamerans enhet gick inte att nå när kameran hade varit inkopplad i mer än tio sekunder.
Channels-vyn och inspelaren – fientliga bildrutestorlekar kunde få storlekskontrollerna att svämma över; Edge Impulse-inspelarna omallokerade vid varje block och är nu begränsade till 64 MB per del; ett schema med avgränsare i namnen kunde indexera förbi postlistan; dubblerade poster lämnade en pågående inspelare föräldralös; skrivningar förkastas medan vyn är fryst; kanallistan uppdateras nu vid avregistrerings- och mjukomstartshändelser.
Video – en udda bredd angiven av användaren bröt H.264-kodningen på libx264-byggena; avbrutna eller misslyckade
.bin-konverteringar lämnade kvar bildrutor som nästa körning vävde in.Protokoll – läsrensningen som körs före protokolldetekteringen är begränsad (ärende #336) (77cd13af76f); kopplingen mellan kamera och enhet förlorar inte längre kapplöpningen mot andra volymer (9877480c304).
En
-Wdeprecated-copy-varning i omslaget för serieportsinformation (abcfaa8af5e).
Lokalisering#
Alla 37 katalogerna uppdaterades för rutvyerna, Channels-vyn och dess djupkarta samt varje ny sträng i denna utgåva (1b71f243733, dc13c23ed81, a7debafdafa, 173a57422f7).
Plattforms- och verktygsstöd#
Qt Creator-bas: 14.0.2.
OpenMV IDE version uppdaterad till 5.1.0.
Medföljande fast programvara: v5.0.1 (se ändringsloggen för fast programvara).
Nya kort och sensorer: OpenMV N6 Classic; FLIR Lepton 3.1R och UW.
Inkompatibla ändringar#
Inga för befintliga projekt. JPG-växlaren i bildbuffertens titelfält är nu en JPG Mode / RAW Mode-väljare, och dess gamla inställning ”disable frame buffer” migreras till den nya källväljarens Off-post. Kommentarer tas bort från skript innan de körs; ett skript som förlitar sig på att läsa sin egen källtext vid körning bör inte göra det.