v4.0.1

v4.0.1 je temeljita modernizacija koja prebacuje OpenMV IDE s njegovih dugovječnih temelja na Qt Creatoru 4.0.2 na Qt Creator 10.0.1. Cijeli skup OpenMV dodataka (preglednik međuspremnika slike, serijski/protokolni sloj, terminal, histogram, uređivači praga i ključnih točaka, video alati te omotači za upisivanje ugrađenog programa) ponovno se primjenjuje na novoj osnovi, uz uglađen par tema Flat Light/Flat Dark, isticanje Python sintakse svjesno OpenMV-a, ujedinjeni dijalog za učitavanje ugrađenog programa te široku podršku za otkrivanje uređaja na ARM64 Linuxu i macOS-u. Promjena osnove na Qt Creator velika je interna modernizacija, ali ne razbija korisničke projekte; nekoliko zadanih ponašanja i definicija pločica jest se promijenilo (vidi Promjene koje razbijaju kompatibilnost).

Najvažnije

  • Prebacivanje na Qt Creator 10.0.1. IDE se seli s Qt Creatora 4.0.2 na 10.0.1: uzvodni Qt Creator sveden je na osnovne dijelove za izgradnju (98b95fd3b), a cijeli OpenMV dodatak ponovno je dodan na novoj osnovi (0e8047372).

  • Teme Flat Light i Flat Dark. Uglađen par svijetle/tamne teme isporučuje se s usklađenim prilagođenim stilovima isticanja sintakse uređivača; birač teme ponovno je dostupan u Općim postavkama, ograničen samo na te dvije, a zadana tema sada je flat-dark (21348924b, 13c3849e8).

  • Serijski terminal s neobrađenim REPL-om (raw-REPL). Terminal sada pokreće, prekida, ponovno učitava i lijepi skripte putem ispravnog stroja stanja za MicroPython neobrađeni REPL (CTRL-A/CTRL-D), pouzdano obrađujući veće skripte (a7241079c).

  • Uređivanje Python koda svjesno OpenMV-a. OpenMV moduli, klase, funkcije, metode i argumenti dobivaju isticanje sintakse na temelju priložene dokumentacije, uz pametnije automatsko dovršavanje i alat za automatsko uvlačenje svjestan zagrada i dvotočki (801eab8a8, 8e9f967e7, 9fdff9c6d).

  • Ujedinjeni dijalog za učitavanje ugrađenog programa. Upisivanje sada prikazuje jedan kontekstualni dijalog (Brisanje diska / Upisivanje ugrađenog programa / Upisivanje pokretača) s trakom napretka i sklopivim zapisnikom Prikaži/Sakrij pojedinosti koji pamti svoje stanje (5b51356f8).

  • Podrška za OpenMV Cam RT1062. Dodani su ugrađeni program, DFU/flash učitavači, SDP/blhost nabrajanje te korak programiranja s upisivanjem eFuse-a za novu pločicu klase i.MX RT1060 (a6595f5f7), kojoj je zatim dodijeljena zasebna inačica pločice sa Secure Bootloaderom (SBL) (d2b11c6c8).

Nove značajke

  • Zastavice za automatizaciju. Zastavice -auto_update (release / development / putanja), -auto_erase i -auto_run omogućuju IDE-u da pri povezivanju učita/izbriše ugrađeni program te zatim pokrene otvorenu skriptu; nakon ponovnog povezivanja pokretača IDE čeka do 10 s da se kamera ponovno nabroji prije nego nastavi (b54affe79, f4e03d978).

  • Zastavica ``-disable_stop`` i prekidač izbornika stop on connect/disconnect omogućuju korisnicima da onemoguće zaustavljanje skripte pri povezivanju ili prekidanju veze (02724ca7d).

  • Prekidač Stop Script on Connect/Disconnect (uključen prema zadanome) odvaja povezivanje/prekidanje veze od zaustavljanja skripte koja se izvodi; Auto Reconnect sada je prema zadanome isključen (a0e78057f).

  • Upit za vrstu pločice. Kada povezana pločica prijavi arhitekturu koja nije u mapiranju ugrađenog programa, IDE sada traži od korisnika da odabere vrstu pločice (pamteći zadnji izbor) umjesto da prekine s pogreškom „Unsupported board architecture!” (b7165eb3d).

  • Isticanje OpenMV Python sintakse boja poznate OpenMV module, klase, podatke, funkcije, metode i argumente koristeći popise ključnih riječi popunjene iz priložene dokumentacije (801eab8a8, b4d481bf5).

  • ~300 KSyntaxHighlighting definicija jezika isporučuje se s uređivačem, pa se izvorne datoteke u brojnim jezicima ističu od prve (39674a4dc).

  • Priložene OpenMV primjer-skripte (Hello World, snimka, snimanje videa, optički tok, kamere za događaje, globalni zatvarač, FLIR Lepton i druge) sada su uvrštene u IDE i isporučuju se s njime (938ac6bbe).

  • Binarni/heksadekadski uređivač je omogućen kako bi korisnici mogli otvarati i pregledavati binarne datoteke, s alatnom trakom skraćenom da odgovara OpenMV sučelju (675bda966).

  • Usporedba dokumenata u memoriji. Nove datoteke i primjeri samo za čitanje sada dobivaju pomoćnu privremenu datoteku kako bi se nespremljeni dokumenti mogli uspoređivati, a dijalog za usporedbu vanjskih datoteka pamti zadnju korištenu mapu (5281e5f6c, 2934d5216).

  • Dodatak za uređivanje s karticama ponovno je dodan, dajući IDE-u traku dokumenata s karticama; izvorni kod dodatka za minimapu ponovno je dodan, ali je u izgradnji za ovo izdanje ostavljen onemogućen (0e8047372).

  • Rezervno upisivanje putem DfuSe i pydfu vraćeno je za DFU uređaje koji se ne mogu ciljati po serijskom broju, uz automatsko brisanje bez dijaloga tijekom povezivanja (e42a5be7d).

  • Upisivanje i.MX RT eFuse-a. Programiranje ugrađenog programa sada upisuje eFuse (efuse-program-once) za pločice klase RT1060 (8053bb578, a6595f5f7).

  • Stranica čarobnjaka Linux Root Installs omogućuje korisniku da pristane ili odustane od povišenog apt instaliranja biblioteka i instaliranja udev pravila, umjesto da se uvijek izvode (6bac80984).

Ostale promjene i poboljšanja

  • Pozadinsko skeniranje serijskih priključaka. Nabrajanje priključaka premješteno je s niti sučelja u namjenskog radnika ScanSerialPortsThread kako bi IDE ostao odzivan tijekom skeniranja (7be4dab26).

  • Šire otkrivanje uređaja. Skeniranje priključaka preuređeno je u pomoćnu funkciju filterPorts() koja se može ponovno upotrijebiti i koja obuhvaća picotool i i.MX DFU uređaje te ponovno klasificira poznate serijske priključke Arduino pokretača (stari NRF/RPI i PID-ovi učitavača) kao DFU uređaje (25a5d30fd).

  • Više rezervnih terminala. Pri pokretanju priloženih alata za reprodukciju videa (Play Video File / Play RTSP Stream) na Linuxu, IDE sada uz xterm i gnome-terminal pokušava i s lxterminal, konsole i xfce4-terminal (df54007e0).

  • Prijavljivanje ključeva pločice. Registracija kamere sada raščlanjuje odgovor „Remaining N” kako bi korisniku rekla koliko je ključeva pločice preostalo te dodaje zasebnu poruku o pogrešci „Invalid Board Key for Board Type” (5759e73eb).

  • Preuzimanja s GitHuba. Provjere verzije i preuzimanja resursa sada koriste raw.githubusercontent.com/openmv/openmv-ide-version i izdanja openmv/openmv-ide umjesto upload.openmv.io (994109c28).

  • HTTPS posvuda. Svi OpenMV web zahtjevi (provjere verzije, registracija SWD ID-a, preuzimanja resursa i ugrađenog programa) sada koriste https:// (54347cad0).

  • Automatizacija postavljanja na Linuxu. Instalacijski program otkriva nedostajuće biblioteke i udev pravila te, ako je potrebno, generira izvršnu datoteku setup.sh s točnim apt-get/pip i udev-pravilo naredbama za instalaciju (te datoteku README koja korisniku govori da je pokrene) (c6dc705e6).

  • Tolerancija na spore pločice. Serijski terminal povisuje vrijeme čekanja po čitanju s 1 ms na 10 ms i šalje potvrdu „OK” kada skripta završi (c935e4489).

  • Glađi napredak upisivanja. Trake napretka za učitavanje ugrađenog programa sada se odmah prebacuju s neodređenog na 0-100 % umjesto nakon prvog postotnog koraka, kroz dfu-util, bossac, picotool i i.MX upisivanje (19d947308, 86d021f92).

  • Oporavak starog pokretača ponovno je dodan putem ne-brzog načina pokretača koji šalje naredbe za brisanje/upisivanje bez sinkronizacijskog popunjavanja upita brzog načina (c20112c07).

  • Čišće konzole alata. Terminali za upisivanje ugrađenog programa (bossac, dfu-util, picotool, imx, video alati) sada se izvode kao samostalni konzolni procesi s bolje oblikovanim ispisom naredbi (8053bb578).

  • Uglađivanje automatskog dovršavanja. Dovršavanje razlikuje klase, metode i funkcije zasebnim natuknicama za argumente, koristi ispravne ikone modela koda i poštuje javni/zaštićeni/privatni doseg prema prefiksu podvlake; procesor dovršavanja ključnih riječi također preskače vodeću prazninu prije pokazivača pri eksplicitno (ručno) pozvanom dovršavanju (8e9f967e7, 68b26b5fc).

  • Objedinjeni dijalozi. OpenMV-ovi prigodni dijalozi „Don’t show this again” – uključujući početni informativni dijalog OpenMV Cam LED Colors te upite za nadogradnju ugrađenog programa i primjere – objedinjeni su u dijaloge CheckableMessageBox „Do Not Ask/Show Again”, u Opće postavke dodan je gumb „Reset Do Not Ask/Show Again Dialogs”, a oznake za savijanje koda prema zadanome su onemogućene (9fdff9c6d).

  • Brendiranje svjesno teme. Dodani su pozdravni zasloni za tamni način, tamni/svijetli ST i NXP logotipi čipova u okviru O programu, boje opisa alata za tamni način te ispravne boje ikona za automatsko dovršavanje (d85fdeb19, 9895a8395, f45ceaaea, 7f3e1f383).

  • Čišćenje preglednika slika. Radnje dijeljenja, pozadine, obrisa i „postavi kao zadano” su skrivene, dodana je radnja prilagodbe zaslonu, a ispravljeno je određivanje veličine animiranih slika (b37c55e25).

  • Čišćenje kontekstnog izbornika. Stavke „Show in File System View”, „Open Terminal”, „File Properties” i „Add/Delete UTF-8 BOM on Save” su skrivene (5d862c78e).

  • Tamni serijski terminal. Samostalni terminal koristi ispravnu tamnu temu sa stiliziranim klizačima, ažuriranim ikonama alatne trake i ispravnim ponovnim učitavanjem ikone klizača za visok DPI preko zaslona (5c3af6880).

  • Čišćenje pronalaženja/pretrage. Ploča rezultata dobiva tamnu temu, birač tražilice je skriven, oznake su pojednostavljene, a Find-in-Files prema zadanome cilja mapu Documents/OpenMV (20a806550).

  • Identitet aplikacije. IDE sada prikazuje ispravnu OpenMV ikonu na radnoj površini, naslovnoj traci i programskoj traci (s rukovanjem visokim DPI-jem na Windowsu), a ID IDE-a promijenjen je u openmvide (8ad1eed1f).

  • Pozdravni zaslon za visok DPI prikazuje pozdravnu sliku u dvostrukoj veličini na Retina/200 %-skaliranim zaslonima (626ff673e).

  • Popravak akcijske trake. Lijeva akcijska traka (New File, Open, Save, Undo, Redo, Cut, Copy, Paste) je popravljena i dobila je prilagođene OpenMV ikone (b8479b5d0).

  • Logotipi u dijalogu O programu. Sada se prikazuju i Arduino i Edge Impulse partnerski logotipi (Edge Impulse je prije bio skriven) s inačicama u dvostrukoj veličini za visok DPI, a priložena pozdravna grafika je ažurirana (splash-small-2 / splash-large-2) (5facd8d9a).

  • Select Word Under Cursor je omogućen; naredbe Go to Block Start/End (Ctrl+[ / Ctrl+]) i Select Block Up/Down nakratko su ponovno omogućene (36ed5b1a8), ali su u izdanju ostavljene onemogućene (626ff673e).

  • Linux unos na radnoj površini dobiva kategoriju Electronics, opisni komentar i ključne riječi za pretragu (embedded electronics, microcontroller, micropython, computer/machine vision) (470e5702e).

  • Migracija resursa. Korisnički resursi premješteni su na lokaciju s oznakom verzije (stara mapa qtcreator uklanja se pri pokretanju), a bezopasna DirectWrite upozorenja o tipu fonta na Windowsu se potiskuju (a04af5351, 70765dc2a).

  • Skrivene interne opcije. Interne Core opcije -color i -theme skrivene su iz ispisa pomoći, a prezentacijski način ponovno je omogućen (434c7b4cc).

  • Ponovno primijenjene osnovne prilagodbe na otmjenu akcijsku traku/widget kartica, upravitelj poruka/izlazni prozor, proxy radnje, isticač sintakse i tekstni uređivač (0e8047372).

  • QCustomPlot 2.1.1. Priložena biblioteka za crtanje grafova ažurirana je radi kompatibilnosti s Qt 6.4 i ispravnog rukovanja dinamičkom promjenom DPI-ja zaslona (8801415fe).

  • Kozmetičko čišćenje sučelja ikona strelica klizača, statusne trake, gumba za zatvaranje na traci kartica dokumenata i širine klizača uređivača; pokazatelj uređivača „Display File Line Ending” sada je prema zadanome isključen (e0c4d2325, 6a26f4430, e130988fb).

Ispravci pogrešaka

  • Ispravljeno otkrivanje VID/PID-a na Linuxu čitanjem /sys/class/tty/<port>/device/uevent za stvarni VID/PID uređaja, zaobilazeći to što QSerialPortInfo vraća identifikatore USB čvorišta, pa se kamere iza čvorišta ispravno otkrivaju (28220b351).

  • Ispravljeno upisivanje ugrađenog programa pokretača na Macu ublažavanjem tvrdnji o veličini krajnje točke i dodavanjem sinkronizacijskog paketa upita samo kada je upisivanje točno veličine jedne USB krajnje točke (86d021f92).

  • Ispravljeni alati za reprodukciju videa na Linuxu: Play Video File / Play RTSP Stream sada su skriveni na 32-bitnom i ARM Linuxu (nema priloženog ffplay-a), uz rezervu na gnome-terminal kada xterm nije dostupan, a macOS ffmpeg binarna datoteka vraćena je iz rezerviranog mjesta (d342649cc, d896f4225).

  • Povećana početna/završna kašnjenja resetiranja pokretača s 0 na 5 kako bi se izbjeglo preklapanje naredbi za brisanje i upisivanje tijekom ažuriranja ugrađenog programa (fabc168b6).

  • Pojednostavljen oporavak pokretača: prisilno pokretanje pokretača radi popravka oštećene kamere preskače suvišne upite, a nakon resetiranja DFU pokretača IDE automatski ponovno pokušava ažuriranje umjesto da traži od korisnika da ponovno poveže (12b924088).

  • Omogućeno prekidanje serijskih naredbi za ispis međuspremnika slike/TX-međuspremnika usred transakcije (4a4afae1b).

  • Uklonjeno zaobilazno rješenje za odustajanje od zastoja čitanja serijskog priključka koje je moglo popunjavati odgovore nulama, čime se poboljšava pouzdanost brzog USB prijenosa (0ee1d8e91).

  • Ispravljeno WiFi otklanjanje pogrešaka i automatsko ponovno povezivanje: WiFi priključci osvježavaju svoju vremensku oznaku zadnjeg viđenja pri ponovnom otkrivanju, ispravljeno je nekoliko grešaka s iteratorom nakon brisanja u povlačenju WiFi priključaka i otkrivanju DFU/pokretača, a automatsko ponovno povezivanje sada čeka da IDE ne bude zauzet prije ponovnog povezivanja (cf0b67dc6).

  • Ispravljen pretvarač videa u MJPEG kako bi raščlanio brzinu sličica iz izlaza kodera i upisao ispravan milisekundni razmak po sličici, pa se pretvoreni videozapisi reproduciraju ispravnom brzinom (4a7ad2057).

  • Ispravljeno neuspješno pokretanje upisivanja ugrađenog programa i priloženih alata naredbenog retka prisiljavanjem QProcess pozadinskog sustava i ispravljanjem zaštite petlje događaja blokirajućeg procesa (200fe9f3c).

  • Ispravljene ikone grana za proširivanje/sažimanje stabla u uređivaču skupova podataka da se ispravno prikazuju na HiDPI zaslonima ponovnim učitavanjem stila ikona pri promjeni omjera piksela uređaja (a0e78057f).

  • Ažuriranja paketa/resursa sada automatski ponovno pokreću OpenMV IDE umjesto da samo izlaze nakon instalacije (178ee1b8e).

  • Ispravljeno isticanje rezultata pronalaženja/pretrage te su radnje za rezultate pretrage/otvaranje datoteka prilagođene da se vraćaju na prvi vidljivi uređivač kada nema trenutnog uređivača (48c402dfc).

  • Ispravljen dijalog za učitavanje ugrađenog programa tako da se njegov tekst upozorenja briše, a prozor ispravno mijenja veličinu kada se operacija upisivanja završi (c505c6ade).

  • Ispravljeno nekoliko grešaka sučelja na macOS-u: traka kartica više ne zatrpava pogreškama učitavanja ikona i ispravno se prikazuje pri otvaranju datoteke (9be8c58de, 5322cf968).

  • Ispravljeno stiliziranje statusne trake / izlazne ploče i poravnanje osnovne linije na macOS-u i Linuxu (4fc4545de, d29b2baa0, a440d5cd8).

  • Ispravljeno ispisivanje izvornog koda tako da zaglavlje s naslovom stranice ima ispravne gornje i bočne margine umjesto da dodiruje rub stranice (786d6012c).

Podrška za platforme i alate

  • Osnova Qt Creatora: 10.0.1 (prebačeno s 4.0.2).

  • OpenMV IDE: 4.0.0 -> 4.0.1.

  • OpenMV Cam RT1062 (i.MX RT1060): početni RT1062 ugrađeni program, flash učitavač, potpisane slike, unos imx.txt te blhost konfiguracijski ključevi za sigurni pokretač/eFuse dodani su u mapu ugrađenog programa OPENMV5 (a6595f5f7); pločica je zatim objedinjena u jednu mapu OPENMV_RT1060, a dodana je zasebna inačica pločice sa Secure Bootloaderom (SBL) (OpenMV_Cam_RT1062_SBL) (d2b11c6c8, 5baf28c6e).

  • Priloženi lanac alata za upisivanje (blhost, bossac, dfu-util, dfuse + STM32 upravljački programi, picotool, sdphost, ffmpeg, FTDI/Arduino upravljački programi) ponovno je priložen za Windows/macOS/Linux, s Linux binarnim datotekama označenima kao izvršne (fbfa4903a, bfb6b32e2, 9551c64da).

  • ARM64 Linux DFU: priloženi aarch64 dfu-util uz otkrivanje arm64 pri popisivanju uređaja i preuzimanju ugrađenog programa omogućuje DFU upisivanje na domaćinima poput Raspberry Pi (16bc6fe0f, 470e5702e).

  • Otkrivanje i.MX uređaja sada radi na Linuxu (raščlanjivanjem lsusb) i macOS-u (skeniranjem ioreg), omogućujući učitavanje i.MX RT ugrađenog programa na tim platformama (e03ccbe71, 7cf505d09).

  • Ograničavanje prema platformi: korištenje i.MX-a ograničeno je na Windows/macOS/Linux-x86_64 uz kritičnu pogrešku drugdje, a upisivanje na Portenta/Nicla na ARM/ARM64 Linuxu prikazuje upozorenje „DFU Util may not be stable on this platform” (9513f6475).

  • Windows OpenGL: softversko iscrtavanje vraćeno je prilaganjem opengl32sw, Qt6OpenGL i Qt6Gui OpenGL podrške u isporučenom paketu (aaaa1928f).

  • Preimenovane mape/ID-ovi Arduino pločica. Mape ugrađenog programa i ID-ovi pločica u boards.txt za Portenta, Nicla Vision i Nano 33 BLE Sense preimenovani su u ARDUINO_PORTENTA_H7, ARDUINO_NICLA_VISION i ARDUINO_NANO_33_BLE_SENSE (a70d6562a); mapa/ID pločice Nano 33 BLE Sense naknadno je pretvoren u mala slova u arduino_nano_33_ble_sense kako bi odgovarao prijavljenom imenu pločice (22750d8c7, a801a81de).

  • OPENMV_RT1060 pokretač flash učitavači (blhost_flash_loader.bin, sdphost_flash_loader.bin) su ažurirani (5baf28c6e).

  • QCustomPlot: 2.1.1 (priložena biblioteka za crtanje grafova) (8801415fe).

  • Slike ugrađenog programa na disku ponovno su priložene za sve podržane OpenMV/Arduino pločice (OPENMV1-4P, OPENMV4_PRO, OPENMVPT, ARDUINO_NICLA_VISION, arduino_nano_33_ble_sense, ARDUINO_PORTENTA_H7, ARDUINO_NANO_RP2040_CONNECT, OPENMV_RT1060, CYW4343, uz WINC1500 WiFi ugrađeni program), sa slikama ugrađenog programa te, gdje je primjenjivo, slikama pokretača/uvc (fbfa4903a).

Promjene koje razbijaju kompatibilnost

Ovo su promjene tijeka rada i ponašanja vidljive korisniku; samo prebacivanje na Qt Creator 10.0.1 ne razbija korisničke projekte ni skripte.

  • Promijenjene definicije i.MX RT1060 pločica. Unosi EVKBMIMXRT1060 i OPENMV5 zamijenjeni su jednom pločicom OPENMV_RT1060 (OpenMV Cam RT1062, uz SBL inačicu), a stare mape ugrađenog programa su uklonjene (d2b11c6c8).

  • Zadani istek vremena za odgovor na naredbu iznosi 10000 ms (bio je 5000 ms u 4.0.0); tekst pomoći za -override_read_timeout ažuriran je u skladu s time (4a4afae1b).

  • Promijenjeno ponašanje povezivanja/prekidanja veze. Auto Reconnect sada je prema zadanome ISKLJUČEN, a povezivanje ili prekidanje veze više prema zadanome ne zaustavlja skriptu koja se izvodi, osim ako je omogućen novi prekidač „Stop Script on Connect/Disconnect” (koji je prema zadanome uključen) (a0e78057f).

  • Tijek ažuriranja ponovno pokreće IDE. Ažuriranja paketa/resursa sada automatski ponovno pokreću OpenMV IDE umjesto da izlaze nakon instalacije (178ee1b8e).

  • Preimenovani ID-ovi Arduino pločica. ID-ovi pločica u boards.txt i mape ugrađenog programa za Portenta, Nicla Vision i Nano 33 BLE Sense preimenovani su u ARDUINO_PORTENTA_H7, ARDUINO_NICLA_VISION i ARDUINO_NANO_33_BLE_SENSE (potonji je kasnije pretvoren u mala slova u arduino_nano_33_ble_sense) (a70d6562a, 22750d8c7, a801a81de).