v4.4.0¶
v4.4.0 on merkittävä uudistusjulkaisu, joka siirtää OpenMV IDE:n pohjan pitkäaikaisesta Qt Creator 10.0.1:stä Qt Creator 14.0.2:een soveltaen koko OpenMV-laajennuksen ja kaikki forkin mukautukset uudemman pohjan päälle. Tämän lisäksi julkaisu sisältää sulautetun Python-kielipalvelimen offline-koodintäydennystä varten, ottaa GitHub Copilotin käyttöön kaikilla alustoilla, esittelee uuden mukautetun OpenMV DFU -käynnistyslataimen ja siirtää OpenMV-kamerat uuteen 37C5 USB-valmistajatunnukseen. Pohjan vaihto on suuri sisäinen uudistus, mutta se ei riko käyttäjien projekteja; katso Breaking changes niistä harvoista käyttäjälle näkyvistä työnkulun muutoksista.
Kohokohdat¶
Qt Creator 14.0.2 -rebase. IDE siirtyy Qt Creator 10.0.1:stä versioon 14.0.2, ja koko OpenMV-laajennus sekä kaikki
// OPENMV-DIFF //-mukautukset on sovellettu uudelleen modernin pohjan päälle (d6c895be8, 1fa75b397).Sulautettu Python-kielipalvelin. IDE toimittaa nyt mukana ja käyttää automaattisesti pakettiin sisältyvää
pylsp-palvelinta (astroid 3.3.5:n kanssa), mikä tarjoaa offline-tilan Python/MicroPython-koodintäydennyksen ilman erillistä pip-asennusta Windowsissa, macOS:ssä ja Linux x86_64:ssä (257addee0, 5a2b3e72f, 94470798d).GitHub Copilot kaikilla alustoilla. Copilot on integroitu ja oletuksena käytössä, mukana toimitetaan Node.js 20.18.0 -ajoympäristö Windowsille, macOS:lle ja Linuxille, joten se ei ole enää rajoitettu vain tiettyihin koneisiin. Lisäksi käynnistysvalintaikkuna antaa ottaa sen käyttöön (bb07d582b, 1cb967c5a, b37e48040).
Uusi OpenMV DFU -käynnistyslatain. Täysin toteutettu mukautettu
openmv_dfu-käynnistyslataimen kulku ohjaa laiteohjelmiston päivityksiäsettings.json-tiedostosta, mukaan lukien ”board in DFU mode detected” -valintaikkuna, joka tarjoaa vaihtoehdot uusimman julkaisun asentamiseen, tietyn laiteohjelmiston lataamiseen ja tiedostojärjestelmän tyhjentämiseen, sekä varakäynnistyslataimen polku tiilattujen kameroiden palauttamiseen (08b9d0676, 6a6a9351d, 6d78d6571).Uusi kameratuki. Lisää OpenMV Cam N6-, RT1062- ja AE3-kortit ja siirtää kamerat uuteen
37C5USB-valmistajatunnukseen päivitetyillä DFU-ajureilla ja udev-säännöillä (000ed8a87, f453bc945, 4a16e04c2, 6d78d6571).Luotettavampi sarjaliikenne. Merkittävät sarjaliikennekorjaukset ratkaisevat sekoittuneen terminaalitekstin ja satunnaiset yhteyskatkokset TinyUSB-pohjaisilla kameroilla (caeba6a16, 6cf122a3c).
Uudet ominaisuudet¶
OpenMV DFU -käynnistyslatain. Uusi
openmv_dfu-käynnistyslatainjärjestelmä omistettuine DFU-ajureineen ja varakäynnistyslainmekanismeineen palauttaa tiilatut kamerat eri laiteohjelmistotyyppien välillä (6a6a9351d, 6d78d6571). Kulku ohjaa laiteohjelmiston päivityksiäsettings.json-tiedostosta ja esittää ”board in DFU mode detected” -valintaikkunan, jossa on vaihtoehdot uusimman julkaisun asentamiseen, tietyn laiteohjelmiston lataamiseen ja tiedostojärjestelmän tyhjentämiseen (08b9d0676, ef19133b6, 9c59d113c).Kortin nimi porttivalitsimessa. Sarjaportin valintaikkuna tunnustelee nyt jokaisen portin ja näyttää tunnistetun kortin nimen portin vieressä (esim.
COM3: OpenMV Cam H7) pelkän portin nimen sijaan (9837d6cb5).Välilehtipohjainen editori. Välilehtipohjaisen editorin laajennus on palautettu, mikä lisää editorialueen yläpuolelle rivin dokumenttivälilehtiä avointen tiedostojen välillä vaihtamiseen (c8519c09f), ja se säilyttää nyt välilehtien järjestyksen ja palauttaa sen istuntojen välillä (55ccfb207).
Pythonin syntaksikorostus. Lisää editoriin omistetun Pythonin syntaksikorostusmäärittelyn merkkijonomuotoilun, liukuluvun ja avainsanojen säännöillä (9be46c0c3).
Muut muutokset ja parannukset¶
Laiteohjelmiston latauksen refaktorointi. Laiteohjelmiston latauskoodi jaettiin erillisiin tyyppikohtaisiin käynnistyslatainkäsittelijöihin (OpenMV DFU, Arduino DFU, BOSSAC, i.MX, picotool), mikä lisää touch-to-reset PID -käsittelyn Arduino DFU -korteille ja erilliset ”Legacy”-korttivariantit vaihtoehtoisille VID/PID-laitteille (9f465f9f8).
STM32 ROM-käynnistyslataimen suojaukset. IDE varoittaa nyt tai estää
firmware.dfu/openmv.dfu-tiedostojen lataamisen STM32 ROM -palautuskäynnistyslataimeen ja suosittelee vainbootloader.dfu-tiedostoa, jotta vältetään sirun ROM-käynnistyslaitebugista kärsivien STM32H7-korttien tiilautuminen (c5ce0ae1a, e7cde1ec1).Automaattinen, hiljainen Python-LSP:n asennus. Python-kielipalvelin asentuu ja päivittyy nyt automaattisesti ilman tietopalkin kehotteita tai konsoliviestien tulvaa (d89f5985f), ja Pythonin automaattitäydennys- ja dokumentaation osoitinvihjejärjestelmä on muotoiltu omistetuksi OpenMV-dokumentaatiomoottoriksi, joka jäsentää pakettiin sisältyvän HTML-kirjastodokumentaation ohjatakseen avainsanojen korostusta ja työkaluvihjeitä (47e02873b, 4f9853f21, 82cefc931).
Linuxin Python-tulkin tunnistus. Tulkin tunnistus Linuxissa on nyt automaattinen: se huomioi vain
PATH-polulta löytyvät Python 3 -tulkit ja valitsee uusimman ainoaksi oletukseksi (214fdc758).Python-asetusten siivous. Tulkkikohtainen hallintaryhmä ja Interpreters-sivu piilotetaan, Language Server Configuration sijoitetaan
Python-kategorian alle, ja käyttämättömät REPL- ja tulkkivalitsimen työkalupalkkipainikkeet piilotetaan Python-editorissa (d89f5985f). Windowsissa IDE rekisteröi nyt automaattisesti pakettiin sisältyvän sulautetunpython.exe-tulkin oletustulkiksi, ja mukana toimitettu kielipalvelin käsitellään jo asennettuna (1d9ca003e, d89f5985f).Siistimpi profiilihakemisto. IDE ei enää kirjoita käyttämättömiä Qt Creator -asetustiedostoja (laitteet, kitit, työkaluketjut, Qt-versiot) ja avaa tiedostot suoraan editorissa (3771b0107), ei enää skannaa järjestelmästä qmake/Qt-versioita (42807f25f), ja välttää käyttämättömän laite-/työkaluketju-/kit-koneiston ja käynnistysmelun lataamisen (902a357de, b2666a35b).
Turvallisemmat päivitykset. IDE:n päivittäminen ei enää ylikirjoita käyttäjän resursseja; vain hallitut resurssikansiot (examples, firmware, html, models) poistetaan ja kopioidaan uudelleen, ja lisäksi
micropython-headerspoistetaan (se asennetaan erikseen sen sijaan, että se kopioitaisiin uudelleen tätä polkua pitkin), sekä selkeämpi virheilmoitus, josfirmware/settings.jsonpuuttuu tai on virheellinen (b4b8c208d, 3255ba4fb).Nopeampi DFU-yhteys. DFU-yhteyden odotusaikaa lyhennettiin, joten flashaus ja yhteyden muodostaminen ovat nopeampia (11d8c9fe3, 4700bf678).
Palautetut OpenMV-valikko ja käyttöliittymämukautukset. Virtaviivaistettu OpenMV-valikkoasettelu on sovellettu uudelleen piilottaen Build- ja Debug-valikot ja poistaen projektinhallintatoiminnot (7503f2bec); koodintäydennysmoottori saa takaisin luokka-/metoditietoisuuden ja julkisten/yksityisten avainsanojen vaikutusalueet MicroPython-automaattitäydennystä varten (55fc348ea); terminaalin ANSI-värirenderöinti on sovellettu uudelleen teematietoisilla kirkas-/himmeäarvoilla ja kohdistimen taakse -escape-tuella (c6787a27a); ja kuvankatselun työkalupalkkia on mukautettu resoluutio-/zoom-työkaluvihjeillä ja siirretyllä Fit-to-Screen-toiminnolla (734fec693).
Palautetut pakettiin sisältyvät resurssit. Flashaustyökalut, DFU-ajurit, laiteohjelmisto ja koko esimerkki-/skriptipuu on palautettu jaettuihin resursseihin rebasen karsinnan jälkeen (33c8354bc), ja OpenMV:n mukautettu sovelluksen käynnistyslogiikka on sovellettu uudelleen: se vaatii ehdottomasti
TextEditor-laajennuksen (OpenMV- ja TabbedEditor-laajennustarkistukset ovat olemassa mutta poissa käytöstä), asentaa mukautetun Qt-viestinkäsittelijän, poistaa-client/-pid/-block-komentoriviparametrit ja pakottaa yhden instanssin toiminnan (06c788f3d).Puuttuvan laajennuksen virhe. Sovellus epäonnistuu nyt ehdottomasti selkeällä virheellä, jos vaaditut laajennukset puuttuvat tai ovat poissa käytöstä, OpenMV-laajennus sai Copilot-riippuvuuden, ja useita tekstieditorin asetuksia (
Prefer single line commentsja kommentin sijaintivalitsin Behavior-asetuksissa sekäHighlight selectionDisplay-asetuksissa) on piilotettu (1bc02b1f3).Lyhyemmät sarjaliikenteen aikakatkaisut. Sarjaprotokollan aikakatkaisuja lyhennettiin (luku 10000:sta 5000 ms:iin, kirjoitus 6000:sta 3000 ms:iin) nopeampaa virhepalautetta varten, ja dokumentoitu
-override_read_timeout-oletus päivitettiin vastaavaksi (641385af4).Jumiutuneen portin palautus. Komennon keskellä jumiutuneet sarjaportit palautetaan nyt
GET_STATE-kyselyllä (säädettävissä get-state-asetuksella) skriptin suorituskyselyn sijaan (a8598f550).Asetusvalintaikkunan järjestys. Asetusvalintaikkuna piilottaa aakkosellisen kategorialajittelun valintaruudun, jotta sivulista pysyy OpenMV:n tarkoittamassa järjestyksessä (1cb967c5a).
Yksinkertaistetut Copilot-asetukset. Copilot-asetussivu on supistettu pelkkiin kirjautumis-/todennus- ja välityspalvelinhallintoihin piilottaen Copilotin käyttöönotto-, Node.js-polku-, dist-polku- ja automaattitäydennysvaihtoehdot (1cb967c5a).
Virheenkorjaukset¶
Korjattiin merkittävät sarjaliikenneongelmat kasvattamalla sarjaliikenteen lukupysähdyksen aikakatkaisua 10-kertaiseksi ja poistamalla käytöstä
GET_STATE-pohjainen jumin purku, joka sotki sarjaterminaalin tekstiä (caeba6a16).Korjattiin satunnaiset sarjayhteyden katkokset TinyUSB-pohjaisilla kameroilla lähettämällä kehyksenvedon avauskomento ja muotoilemalla lukupysähdyksen käsittely uudelleen yhteyden katkaisemisen sijaan (6cf122a3c).
Tehtiin kameran
get_state-käsittelystä sietokykyinen lyhyille/osittaisille vastauksille ja varmistettiin, että puskuroitu sarjaterminaalin teksti tyhjennetään virhepalautuksen aikana, jotta lokitulostetta ei menetetä (c8b4248a6, 247a779dd).Korjattiin DFU-käynnistyslataimen flash-osion/alt-asetuksen numerot OpenMV Cam -laiteohjelmiston lataamista varten (a8700d12d).
Palautettiin kaikki käynnistyslataimet noudattamalla uutta
hidden-korttilippua, vaihtamalla sarjanumerosuodatus käänteisiin suodattimiin ja antamalla Arduino Nano RP2040 Connect UF2 -merkinnälle toimiva picotool-määritys (63cee629b).Korjattiin käynnistyslataimen korttityypin valintaikkuna, joka muisti väärän arvon, käyttämällä erillisiä historia-avaimia ihmisluettavalle ja IMX-korttityyppivalinnalle (a3325af32).
Korjattiin videon transkoodauksen (Save Video) aikaleima-/kuvataajuuslaskenta laskemalla keskimääräinen kehysväli mikrosekunneissa, tukemalla uutta v21
ImageWriter-aikamuotoa ja suojautumalla null-pixmappeja vastaan muunnoksen aikana (f5c75c749, f8f762b3e).Korjattiin kaatuminen histogrammi-/kehyspuskurinäkymässä, kun vastaanotettiin tyhjä (null) pixmap, suojaamalla
pixmapUpdate()null-dataa vastaan (622cf5ea8).Palautettiin osoitinvihjeiden annotaatiotyökaluvihjeet tekstieditorissa, joten tekstimerkkien päälle vieminen näyttää jälleen annotaatiotyökaluvihjeen (1852d18e1).
Estettiin GitHub Copilot- ja LED-värit-tietovalintaikkunoita ponnahtamasta esiin, kun IDE on kiireinen yhteyden muodostamisen tai flashauksen kanssa (f8f762b3e).
Lisättiin kaatumissuojaus kieliasiakkaaseen, joten dokumentin sisällön muutosten käsittely ei enää kaada IDE:tä erikoistapauksissa (7926ffe4c).
Korjattiin Python-kielipalvelimen tarkistukset, jotka estivät IDE:n siistin sulkemisen, saamalla Python-laajennus odottamaan asynkronisesti käynnissä olevia tarkistuksia ennen poistumista (9ff6c7936).
Korjattiin Pythonin automaattitäydennys Linuxissa: kieliasiakas juurtuu pakettiin sisältyvään
micropython-headers-hakemistoon ja editorin työkalupalkin tarpeeton täydennysponnahdustoiminto on piilotettu (d37f66a9a, 56e748f9d, 016fa73eb).Korjattiin väliaikaisten/tallentamattomien tiedostojen käsittely siten, että Save As käyttää tiedostovalintaikkunan aloitushakemistoa, eivätkä Save Items -valintaikkuna ja Diff-editori enää näytä sisäisiä väliaikaistiedostojen polkuja (b7f0bb378, c8e7b6b8f, 6b128c34c).
Nimettömän/väliaikaisen puskurin tallentaminen asettaa nyt Save-As-valintaikkunan oletukseksi kelvollisen
.py-tiedostonimen tyhjän nimen sijaan (3001fdfff).Väliaikaiset/nimettömät dokumentit tarjotaan nyt tallennettaviksi muokattaessa, jätetään pois automaattitallennuksesta ja ohjataan oikein Save-As-toiminnon kautta (f87b71cf0).
Korjattiin Recent Files -valikon järjestys siten, että jo listatun tiedoston uudelleenavaaminen ei enää järjestä sitä uudelleen, ja tiedostovalintaikkuna asettaa nyt oletukseksi projektihakemiston (d49c0c993).
Korjattiin viestiruudun tekstin renderöinti siten, että valittavissa oleviin viestiruutuihin ei enää pakoteta rikastetekstimuotoa, joten raakateksti näytetään oikein (0c565502f).
Korjattiin työkaluvihjeiden värit siten, että työkaluvihjeet renderöityvät oikein vaaleassa teemassa (35cbf077b).
Yleisiä Qt Creatorin vakaus- ja siistimiskorjauksia ydinasetuksiin, kieliasiakkaaseen, MSVC-työkaluketjuun, projektitutkijaan ja Python-laajennuksiin (836b163dc, 134f43cb8).
Korjattiin Arduino Nano 33 BLE Sense -laitteen pakettiin sisältyvän laiteohjelmiston kansion nimi (b1d8ac227) ja korjattiin Linuxin udev-sääntö AE3 DFU -käynnistyslataimen tuotetunnukselle muuttamalla
96E3pienaakkosiseksi96e3-muotoon, jotta udevin kirjainkoolle herkkäidProduct-vastaavuus toimii (2cd43c96b). AE3 DFU -käynnistyslataimen Linuxin udev-sääntö päivitettiin myös tuotetunnukseen37c5:afe3openmvdfu-symlinkkiä varten (b99555637).
Alusta- ja työkalutuki¶
Qt Creator -pohja: 14.0.2 (rebattu versiosta 10.0.1).
OpenMV Cam N6 on nyt tuettu (VID:PID 37C5:1206, DFU-käynnistyslatain 37C5:9206), mukaan lukien laiteohjelmistoasetukset, Windowsin DFU-ajuri ja Linuxin udev-sääntö (000ed8a87, 1b950c8c6).
OpenMV Cam RT1062 on nyt tuettu uuden mukautetun USB VID/PID:n alla (37C5:1060), mukaan lukien DFU-ajurit, udev-säännöt ja säilytetyt vanhat 1209:ABD1-merkinnät vanhemmille yksiköille (f453bc945, d55d6441f).
OpenMV Cam AE3 on nyt tuettu, mukaan lukien Windowsin DFU-ajurit, sen laiteohjelmisto-/konfiguraatiokuvapuu ja USB VID/PID (päivitetty muotoon 37C5:16E3 runtime / 37C5:96E3 käynnistyslatain) (4a16e04c2, cc52e76f5, 3f75e7de4, 8eb80b129).
Uusi USB VID/PID -järjestelmä: OpenMV-kamerat siirtyvät valmistajatunnukseen
37C5uusilla käynnistyslatain-/DFU-tunnuksilla (esim. 37C5:1202/9202 M4, 1203/9203 M7, 1204/9204 H7, 124A/924A H7 Plus, 1205/9205), mikä uudelleennimeää vanhat 1209:ABD1-kortit Legacyiksi tukien edelleen sekä vanhaa että uutta laiteohjelmistoa (6d78d6571, 6a6a9351d, 500b1a0bf).PAG7936-kuvasensori lisätty tunnistettujen sensorien listaan (f9e3f3461).
Sulautettu Python 3.13 -tulkki pakettiin sisältyvänä macOS:lle, Linux x86_64:lle, Linux arm64:lle ja Linux armille (9133b1516), mukana natiivit
libpython3.13- jaujson-jaetut kirjastot (d3aa663d8, a2cb24e74).Pakettiin sisältyvä kielipalvelin:
pylspastroid 3.3.5:n kanssa Windowsissa, macOS:ssä ja Linux x86_64:ssä (257addee0). Windows-versio toimittaa sulautetun CPythonin, jossa on python-lsp-server 1.12.0, jedi 0.17.2, docstring_to_markdown 0.15, pip 24.2 ja distlib 0.3.9 (9b6434602, 069807cd3, 5f2e45196, 3b6c6c312).Pakettiin sisältyvä Node.js 20.18.0 ”Iron” LTS -ajoympäristö Windowsille, macOS:lle, Linux arm64:lle, Linux x64:lle ja Linux armv7:lle GitHub Copilotin mahdollistamiseksi kaikilla alustoilla (bb07d582b, 6db78bf45, 1cb967c5a).
Alif Security Toolkit -allekirjoitetut boot-/system-package-binäärit ja käyttöopas pakettiin sisältyvänä Windowsille, macOS:lle ja Linux x86_64:lle Alif-pohjaisten OpenMV-kameroiden (esim. AE3) provisiointia varten (f63851be3).
Linuxin työpöytäintegraatio on palautettu, mikä asentaa sovelluksen työpöytämerkinnän ja AppStream-metatiedot ja rekisteröi Pythonin (
.py) MIME-tyypin (3fa25f571).
Yhteensopivuutta rikkovat muutokset¶
Skriptaus-API:hin ei tullut muutoksia. Seuraavat käyttäjälle näkyvät työnkulun ja toiminnan muutokset voidaan huomata:
Uusi USB-valmistajatunnus. OpenMV-kamerat siirtyvät valmistajatunnukseen
37C5uusilla tuote- ja DFU-käynnistyslataintunnuksilla; vanhalla1209:ABD1VID:llä olevat kortit on nyt merkitty ”Legacy”. IDE tukee sekä vanhaa että uutta laiteohjelmistoa samanaikaisesti, mutta Linux-käyttäjien on asennettava päivitetyt udev-säännöt uudelleen, jotta uudet tunnukset tunnistetaan.Legacy-korttimerkinnät piilotettu. OpenMV Cam M4/M7/H7/H7 Plus/Pure Thermal -korttien legacy-variantit on nyt poistettu laiteohjelmisto-/korttivalintalistasta uudella
legacy-korttilipulla (eri kuin aiemmin olemassa olluthidden-lippu), joten käyttäjät, jotka erityisesti tarvitsevat legacy-korttimerkinnän, eivät enää näe sitä pudotusvalikossa (6d78d6571).Lyhyemmät sarjaliikenteen aikakatkaisut. Oletusarvoinen vastauksen lukuaikakatkaisu laskee 10000 ms:stä 5000 ms:iin ja kirjoitusaikakatkaisu 6000 ms:stä 3000 ms:iin (
-override_read_timeout-oletus on nyt dokumentoitu arvoksi 5000). Hitaat kortit/yhteydet, jotka luottivat pidempiin oletusarvoihin, voivat aikakatkaista aiemmin.
Qt Creator 14.0.2 -rebase on suuri sisäinen uudistus, mutta se ei riko käyttäjien projekteja.