v4.4.0¶
v4.4.0 je velika modernizacijska verzija koja prebazira OpenMV IDE s njegove dugotrajne osnove Qt Creator 10.0.1 na Qt Creator 14.0.2, ponovno primjenjujući cijeli OpenMV dodatak i sve prilagodbe forka povrh novije osnove. Povrh toga, ova verzija u paketu donosi ugrađeni Python jezični poslužitelj za izvanmrežno dovršavanje koda, omogućuje GitHub Copilot na svakoj platformi, uvodi novi prilagođeni OpenMV DFU pokretač (bootloader) i migrira OpenMV kamere na novi 37C5 USB ID proizvođača. Promjena osnove velika je interna modernizacija, ali ne narušava korisničke projekte; pogledajte Promjene koje narušavaju kompatibilnost za mali broj promjena tijeka rada vidljivih korisniku.
Istaknuto¶
Prebaziranje na Qt Creator 14.0.2. IDE prelazi s Qt Creator 10.0.1 na 14.0.2, uz cijeli OpenMV dodatak i sve
// OPENMV-DIFF //prilagodbe ponovno primijenjene na modernoj osnovi (d6c895be8, 1fa75b397).Ugrađeni Python jezični poslužitelj. IDE sada isporučuje i automatski koristi priloženi
pylsp(s astroid 3.3.5), pružajući izvanmrežno dovršavanje Python/MicroPython koda bez zasebne pip instalacije na Windowsu, macOS-u i Linux x86_64 (257addee0, 5a2b3e72f, 94470798d).GitHub Copilot na svim platformama. Copilot je integriran i omogućen prema zadanim postavkama, s priloženim Node.js 20.18.0 izvršnim okruženjem za Windows, macOS i Linux pa više nije ograničen na odabrane strojeve, uz dijalog pri pokretanju za njegovo uključivanje (bb07d582b, 1cb967c5a, b37e48040).
Novi OpenMV DFU pokretač (bootloader). Potpuno implementirani prilagođeni
openmv_dfutijek pokretača upravlja ažuriranjima ugrađenog programa (firmware) izsettings.json, uključujući dijalog „otkrivena ploča u DFU načinu rada” koji nudi instalaciju najnovijeg izdanja, učitavanje određenog firmwarea i brisanje datotečnog sustava, plus rezervni put pokretača za oporavak zaglavljenih kamera (08b9d0676, 6a6a9351d, 6d78d6571).Podrška za nove kamere. Dodaje ploče OpenMV Cam N6, RT1062 i AE3 te migrira kamere na novi
37C5USB ID proizvođača s ažuriranim DFU upravljačkim programima i udev pravilima (000ed8a87, f453bc945, 4a16e04c2, 6d78d6571).Pouzdaniji serijski prijenos. Velike ispravke serijske komunikacije rješavaju iskrivljeni tekst u terminalu i nasumična prekidanja veze s kamerama temeljenima na TinyUSB-u (caeba6a16, 6cf122a3c).
Nove značajke¶
OpenMV DFU pokretač (bootloader). Novi
openmv_dfusustav pokretača s namjenskim DFU upravljačkim programima i mehanizmom rezervnog pokretača oporavlja zaglavljene kamere kroz različite vrste firmwarea (6a6a9351d, 6d78d6571). Tijek upravlja ažuriranjima firmwarea izsettings.jsoni prikazuje dijalog „otkrivena ploča u DFU načinu rada” s opcijama instalacije najnovijeg izdanja, učitavanja određenog firmwarea i brisanja datotečnog sustava (08b9d0676, ef19133b6, 9c59d113c).Naziv ploče u biraču priključka. Dijalog za odabir serijskog priključka sada ispituje svaki priključak i prikazuje otkriveni naziv ploče pokraj priključka (npr.
COM3: OpenMV Cam H7) umjesto golog naziva priključka (9837d6cb5).Uređivač s karticama. Dodatak za uređivač s karticama vraćen je i dodaje red kartica dokumenata iznad područja uređivača za prebacivanje između otvorenih datoteka (c8519c09f), a sada zadržava i obnavlja raspored kartica između sesija (55ccfb207).
Isticanje Python sintakse. Dodaje namjensku definiciju za isticanje Python sintakse za uređivač s pravilima za oblikovanje nizova, brojeve s pomičnim zarezom i ključne riječi (9be46c0c3).
Ostale promjene i poboljšanja¶
Refaktoriranje učitavanja firmwarea. Kod za učitavanje firmwarea podijeljen je u zasebne rukovatelje pokretača po vrsti (OpenMV DFU, Arduino DFU, BOSSAC, i.MX, picotool), dodajući rukovanje touch-to-reset PID-om za Arduino DFU ploče i izričite „Legacy” varijante ploča za uređaje s alternativnim VID/PID-om (9f465f9f8).
Zaštite za STM32 ROM pokretač. IDE sada upozorava ili blokira učitavanje
firmware.dfu/openmv.dfuna STM32 ROM pokretač za oporavak, preporučujući samobootloader.dfukako bi se izbjeglo zaglavljivanje STM32H7 ploča pogođenih greškom u ROM pokretaču čipa (c5ce0ae1a, e7cde1ec1).Automatsko, tiho postavljanje Python LSP-a. Python jezični poslužitelj sada se instalira i ažurira automatski bez upita u informacijskoj traci ili zatrpavanja konzole porukama (d89f5985f), a sustav za Python automatsko dovršavanje/lebdeću dokumentaciju preoblikovan je u namjenski OpenMV dokumentacijski mehanizam koji raščlanjuje priloženu HTML dokumentaciju biblioteke radi isticanja ključnih riječi i oblačića (47e02873b, 4f9853f21, 82cefc931).
Otkrivanje Python interpretera na Linuxu. Otkrivanje interpretera na Linuxu sada je automatsko, razmatrajući samo Python 3 interpretere iz
PATHi odabirući najnoviji kao jedini zadani (214fdc758).Čišćenje Python postavki. Grupa za upravljanje po interpreteru i stranica Interpreters su skrivene, konfiguracija jezičnog poslužitelja smještena je u kategoriju
Python, a nekorišteni gumbi alatne trake za REPL i odabir interpretera skriveni su u Python uređivaču (d89f5985f). Na Windowsu IDE sada automatski registrira priloženi ugrađenipython.exekao zadani interpreter, pri čemu se priloženi jezični poslužitelj tretira kao već instaliran (1d9ca003e, d89f5985f).Čišći direktorij profila. IDE više ne zapisuje nekorištene datoteke postavki Qt Creatora (uređaji, kitovi, lanci alata, Qt verzije) i otvara datoteke izravno u uređivaču (3771b0107), više ne pretražuje sustav za qmake/Qt verzijama (42807f25f) i izbjegava učitavanje nekorištene mehanike uređaja/lanaca alata/kitova te buke pri pokretanju (902a357de, b2666a35b).
Sigurnija ažuriranja. Ažuriranje IDE-a više ne prebrisuje korisničke resurse; uklanjaju se i ponovno kopiraju samo upravljane mape resursa (primjeri, firmware, html, modeli), uz dodatno uklanjanje
micropython-headers(instaliraju se zasebno umjesto ponovnog kopiranja ovim putem), te jasnija greška akofirmware/settings.jsonnedostaje ili je nevaljan (b4b8c208d, 3255ba4fb).Brže DFU povezivanje. Vrijeme čekanja za DFU vezu smanjeno je pa su flashanje i povezivanje brži (11d8c9fe3, 4700bf678).
Vraćeni OpenMV izbornik i prilagodbe sučelja. Pojednostavljeni raspored OpenMV izbornika ponovno je primijenjen, skrivajući izbornike Build i Debug te uklanjajući radnje upravljanja projektima (7503f2bec); mehanizam za dovršavanje koda ponovno dobiva svijest o klasama/metodama i opsege javnih/privatnih ključnih riječi za MicroPython automatsko dovršavanje (55fc348ea); prikazivanje ANSI boja u terminalu ponovno je primijenjeno s vrijednostima svijetlo/prigušeno svjesnima teme i podrškom za escape pomicanja kursora unatrag (c6787a27a); a alatna traka preglednika slika prilagođena je s oblačićima za razlučivost/uvećanje i premještenom radnjom Fit-to-Screen (734fec693).
Vraćeni priloženi resursi. Alati za flashanje, DFU upravljački programi, firmware i cijelo stablo primjera/skripti vraćeni su u zajedničke resurse nakon uklanjanja pri prebaziranju (33c8354bc), a OpenMV-ova prilagođena logika pokretanja aplikacije ponovno je primijenjena: tvrdo zahtijeva dodatak
TextEditor(provjere OpenMV i TabbedEditor dodataka su prisutne, ali onemogućene), instalira prilagođeni Qt rukovatelj porukama, uklanja opcije naredbenog retka-client/-pid/-blocki prisiljava ponašanje s jednom instancom (06c788f3d).Neuspjeh kod nedostajućeg dodatka. Aplikacija sada tvrdo otkazuje uz jasnu grešku ako potrebni dodaci nedostaju ili su onemogućeni, OpenMV dodatak dobio je ovisnost o Copilotu, a nekoliko opcija uređivača teksta (
Prefer single line commentsi birač položaja komentara u postavkama Behavior teHighlight selectionu postavkama Display) je skriveno (1bc02b1f3).Kraći serijski istek vremena. Istek vremena serijskog protokola skraćen je (čitanje s 10000 na 5000 ms, pisanje s 6000 na 3000 ms) radi bržih povratnih informacija o neuspjehu, uz ažuriranu dokumentiranu zadanu vrijednost
-override_read_timeoutda se podudara (641385af4).Oporavak zaglavljenog priključka. Serijski priključci zaglavljeni usred naredbe sada se oporavljaju pomoću upita
GET_STATE(konfigurabilno putem postavke get-state) umjesto upita o pokretanju skripte (a8598f550).Redoslijed dijaloga postavki. Dijalog postavki skriva potvrdni okvir za abecedno sortiranje kategorija pa popis stranica ostaje u OpenMV-ovom namjeravanom redoslijedu (1cb967c5a).
Pojednostavljene postavke Copilota. Stranica postavki Copilota svedena je samo na kontrole prijave/autentifikacije i proxyja, skrivajući opcije omogući-Copilot, Node.js-path, dist-path i automatsko dovršavanje (1cb967c5a).
Ispravke grešaka¶
Ispravljeni glavni problemi serijske komunikacije povećanjem isteka vremena zastoja serijskog čitanja 10 puta i onemogućavanjem puta za odglavljivanje temeljenog na
GET_STATEkoji je iskrivljavao tekst u serijskom terminalu (caeba6a16).Ispravljena nasumična serijska prekidanja veze s kamerama temeljenima na TinyUSB-u izdavanjem naredbe za otključavanje frame-dumpa i preoblikovanjem rukovanja zastojem čitanja umjesto prekidanja veze (6cf122a3c).
Učinjeno da rukovanje
get_statekamere bude tolerantno na kratke/djelomične odgovore i osigurano da se međuspremljeni tekst serijskog terminala isprazni tijekom oporavka od greške kako se izlaz zapisnika ne bi izgubio (c8b4248a6, 247a779dd).Ispravljeni brojevi flash particije/alt-postavke DFU pokretača za učitavanje firmwarea OpenMV Cam (a8700d12d).
Vraćeni svi pokretači poštivanjem nove zastavice ploče
hidden, prebacivanjem filtriranja serijskih brojeva na inverzne filtre i davanjem UF2 stavci Arduino Nano RP2040 Connect funkcionalne picotool konfiguracije (63cee629b).Ispravljen dijalog za odabir vrste ploče pokretača koji je pamtio pogrešnu vrijednost korištenjem zasebnih ključeva povijesti za ljudski čitljive i IMX odabire vrste ploče (a3325af32).
Ispravljen izračun vremenske oznake/broja sličica pri transkodiranju videa (Save Video) izračunavanjem prosječnog intervala sličica u mikrosekundama, podržavanjem novog v21
ImageWriterformata vremena i zaštitom od null pixmapa tijekom konverzije (f5c75c749, f8f762b3e).Ispravljeno rušenje u prikazu histograma/međuspremnika slike kada je primljen prazan (null) pixmap zaštitom
pixmapUpdate()od null podataka (622cf5ea8).Vraćeni oblačići napomena pri lebdenju u uređivaču teksta pa lebdenje iznad oznaka teksta ponovno prikazuje oblačić s napomenom (1852d18e1).
Spriječeno da se informacijski dijalozi GitHub Copilota i boja LED-ica pojavljuju dok je IDE zauzet povezivanjem ili flashanjem (f8f762b3e).
Dodana zaštita od rušenja u jezičnom klijentu pa rukovanje promjenom sadržaja dokumenta više ne ruši IDE u rubnim slučajevima (7926ffe4c).
Ispravljene provjere Python jezičnog poslužitelja koje su sprječavale čisto gašenje IDE-a tako da Python dodatak asinkrono čeka na provjere u tijeku prije izlaska (9ff6c7936).
Ispravljeno Python automatsko dovršavanje na Linuxu: jezični klijent ukorjenjuje se u priloženom
micropython-headers, a suvišna radnja skočnog prozora za dovršavanje u alatnoj traci uređivača je skrivena (d37f66a9a, 56e748f9d, 016fa73eb).Ispravljeno rukovanje privremenim/nespremljenim datotekama tako da Save As koristi početni direktorij dijaloga datoteka, a dijalog Save Items i Diff uređivač više ne prikazuju puteve internih privremenih datoteka (b7f0bb378, c8e7b6b8f, 6b128c34c).
Spremanje neimenovanog/privremenog međuspremnika sada postavlja zadani naziv datoteke s ispravnom
.pyekstenzijom u dijalogu Save-As umjesto praznog naziva (3001fdfff).Privremeni/neimenovani dokumenti sada se nude za spremanje kad su izmijenjeni, isključeni su iz automatskog spremanja i ispravno usmjereni kroz Save-As (f87b71cf0).
Ispravljen redoslijed izbornika Recent Files pa ponovno otvaranje već navedene datoteke više ne mijenja njezin redoslijed, a dijalog datoteka sada zadano koristi direktorij projekata (d49c0c993).
Ispravljeno prikazivanje teksta okvira s porukama tako da se više ne prisiljava format obogaćenog teksta na potvrdljivim okvirima s porukama pa se neobrađeni tekst ispravno prikazuje (0c565502f).
Ispravljene boje oblačića pa se oblačići ispravno prikazuju u svijetloj temi (35cbf077b).
Opće ispravke stabilnosti i čišćenja Qt Creatora kroz osnovne postavke, jezični klijent, MSVC lanac alata, project explorer i Python dodatke (836b163dc, 134f43cb8).
Ispravljen naziv mape priloženog firmwarea za Arduino Nano 33 BLE Sense (b1d8ac227) i ispravljeno Linux udev pravilo za product ID AE3 DFU pokretača, ispravljajući
96E3u mala slova96e3kako bi udev-ovo na velika/mala slova osjetljivo podudaranjeidProductradilo (2cd43c96b). Linux udev pravilo za AE3 DFU pokretač također je ažurirano na product ID37c5:afe3za simboličku poveznicuopenmvdfu(b99555637).
Podrška za platforme i alate¶
Osnova Qt Creatora: 14.0.2 (prebazirano s 10.0.1).
OpenMV Cam N6 sada je podržan (VID:PID 37C5:1206, DFU pokretač 37C5:9206), uključujući postavke firmwarea, Windows DFU upravljački program i Linux udev pravilo (000ed8a87, 1b950c8c6).
OpenMV Cam RT1062 sada je podržan pod novim prilagođenim USB VID/PID-om (37C5:1060), uključujući DFU upravljačke programe, udev pravila i zadržane naslijeđene 1209:ABD1 stavke za starije jedinice (f453bc945, d55d6441f).
OpenMV Cam AE3 sada je podržan, uključujući Windows DFU upravljačke programe, njegovo stablo firmware/config slika i USB VID/PID (ažurirano na 37C5:16E3 runtime / 37C5:96E3 pokretač) (4a16e04c2, cc52e76f5, 3f75e7de4, 8eb80b129).
Novi USB VID/PID sustav: OpenMV kamere prelaze na ID proizvođača
37C5s novim ID-ovima pokretača/DFU-a (npr. 37C5:1202/9202 M4, 1203/9203 M7, 1204/9204 H7, 124A/924A H7 Plus, 1205/9205), preimenujući stare ploče 1209:ABD1 u Legacy uz i dalje podržavanje i starog i novog firmwarea (6d78d6571, 6a6a9351d, 500b1a0bf).PAG7936 senzor slike dodan je na popis prepoznatih senzora (f9e3f3461).
Ugrađeni Python 3.13 interpreter priložen za macOS, Linux x86_64, Linux arm64 i Linux arm (9133b1516), s nativnim
libpython3.13iujsondijeljenim bibliotekama (d3aa663d8, a2cb24e74).Priloženi jezični poslužitelj:
pylsps astroid 3.3.5 na Windowsu, macOS-u i Linux x86_64 (257addee0). Windows build isporučuje ugrađeni CPython s python-lsp-server 1.12.0, jedi 0.17.2, docstring_to_markdown 0.15, pip 24.2 i distlib 0.3.9 (9b6434602, 069807cd3, 5f2e45196, 3b6c6c312).Priloženo Node.js 20.18.0 „Iron” LTS izvršno okruženje za Windows, macOS, Linux arm64, Linux x64 i Linux armv7 radi omogućavanja GitHub Copilota na svim platformama (bb07d582b, 6db78bf45, 1cb967c5a).
Alif Security Toolkit potpisane binarne datoteke boot/system-package i korisnički vodič priloženi za Windows, macOS i Linux x86_64 za pripremu OpenMV kamera temeljenih na Alifu (npr. AE3) (f63851be3).
Linux integracija s radnom površinom je vraćena, instalirajući desktop stavku aplikacije i AppStream metapodatke te registrirajući Python (
.py) MIME tip (3fa25f571).
Promjene koje narušavaju kompatibilnost¶
Nijedan API za skriptiranje nije se promijenio. Mogu se primijetiti sljedeće promjene tijeka rada i ponašanja vidljive korisniku:
Novi USB ID proizvođača. OpenMV kamere migriraju na ID proizvođača
37C5s novim ID-ovima proizvoda i DFU pokretača; ploče na starom VID-u1209:ABD1sada su označene kao „Legacy”. IDE istovremeno podržava i stari i novi firmware, ali Linux korisnici moraju ponovno instalirati ažurirana udev pravila kako bi novi ID-ovi bili prepoznati.Skrivene naslijeđene stavke ploča. Naslijeđene varijante ploča OpenMV Cam M4/M7/H7/H7 Plus/Pure Thermal sada su uklonjene s popisa za odabir firmwarea/ploča putem nove zastavice ploče
legacy(različite od već postojeće zastavicehidden) pa ih korisnici kojima je posebno potrebna naslijeđena stavka ploče više neće vidjeti na padajućem izborniku (6d78d6571).Kraći serijski istek vremena. Zadani istek vremena čitanja odgovora pada s 10000 ms na 5000 ms, a istek vremena pisanja sa 6000 ms na 3000 ms (zadana vrijednost
-override_read_timeoutsada je dokumentirana kao 5000). Spore ploče/veze koje su se oslanjale na duže zadane vrijednosti mogu prije isteći.
Prebaziranje na Qt Creator 14.0.2 velika je interna modernizacija, ali ne narušava kompatibilnost za korisničke projekte.