v4.8.11¶
v4.8.11 je vydání zaměřené na stabilitu a správnost, soustředěné na robustnost na macOS, serializaci externích nástrojů a spolehlivost aktualizací firmwaru. Je postaveno na Qt Creator 14.0.2 (beze změny oproti předchozímu vydání) a neobsahuje žádné změny narušující zpětnou kompatibilitu uživatelských projektů.
Hlavní novinky¶
Zpevnění proti pádům na macOS — odstraněn občasný tichý pád
NSRangeExceptionzpůsobený aktualizací výběru ve stromech/seznamech/rozevíracích nabídkách předtím, než byl panel nebo vyskakovací okno plně sestaveno nebo během asynchronního obnovování, a to napříč rozevírací nabídkou osnovy, hierarchií volání/typů, vyskakovacími okny dokončování a lokátoru, stromem projektu a dalšími.Serializované externí nástroje — dialog průběhu zavaděče je nyní modální v rámci celé aplikace a pozastavuje veškeré dotazování zařízení, takže běžící dfu-util, bossac, picotool a další nástroje již nemohou být znovu spuštěny streamem kamery nebo automatickým opětovným připojením.
Spolehlivé aktualizace firmwaru — automatické opětovné připojení již nemůže převzít aktualizaci firmwaru uprostřed zápisu do flash paměti, což dříve zahodilo skutečné pokračování a vyvolalo falešný dialog DFU.
Bezpečnost Hello World — připojení desky již občas nepřepíše program Hello World, do kterého jste psali, díky porovnání s nedotčeným snímkem stavu namísto nespolehlivého příznaku změny.
Jasnější chyby DFU — chyba „no matching interface“ nyní pojmenovává zjištěnou desku a názvy souborů firmwaru, které přijímá, namísto vypsání surového VID/PID.
Nové funkce¶
ST Edge AI (STM32N6) nyní vytváří přemístitelný binární soubor sítě přímo prostřednictvím režimu
--relocatablekompilátoru, čímž se odstraňuje samostatný krok přemístění v Pythonu a pole Relocation CLI Options navíc z dialogu (7613135c5).
Další změny a vylepšení¶
Chyby rozhraní DFU nyní pojmenovávají zjištěnou desku a vypisují názvy souborů firmwaru, které tato deska přijímá, s návodem na přejmenování nebo výběr správného souboru, namísto vypsání surového VID/PID (ac509b369).
Klávesové zkratky navigace mezi kartami na macOS nyní používají dosažitelné
Cmd+Shift+[/Cmd+Shift+](předchozí/další) aCmd+Alt+[/Cmd+Alt+](přesun) namísto nestisknutelnýchCtrl+PageUp/Ctrl+PageDown; vazby kláves ve Windows a Linuxu zůstávají beze změny (6c09e10b1).Požadavky na licence/desku na
upload.openmv.io(check.php,insert.php,register.php) nyní odesílajíUser-Agentve stylu prohlížeče specifický pro danou platformu, aby licenční server mohl identifikovat operační systém klienta (6bfd74b36).
Opravy chyb¶
Opraven občasný pád na macOS (tichý pád
NSRangeExceptionbez dialogu o pádu), kdy aktualizace výběru ve stromech/seznamech/rozevíracích nabídkách v době, kdy byl panel nebo vyskakovací okno stále skryté nebo uprostřed asynchronního obnovování, indexovala do nesestavené mezipaměti přístupnosti Cocoa. Výběr, posun a rozbalení jsou nyní odloženy nebo ošetřeny napříč rozevírací nabídkou osnovy, hierarchií volání/typů, vyskakovacím oknem dokončování kódu, vyskakovacím oknem lokátoru, dialogem Save Items, stromem projektu, navigací mezi složkami, oknem Open Documents, seznamem Issues/Tasks a rozevírací nabídkou stromového zobrazení (94c8f9def, ae40a3806, ed23b5c60, c6baf89cd, d7b6f5838, d8b70609c, 21740d9c2, 9217fc8a9, fe75924d5, 9cc247ffb, 3ca71e915, 559b6005f).Opraven samostatný pád na macOS (
NSRangeException/SIGABRT) v rozevírací nabídce osnovy kódu způsobený zastaralým indexem mimo rozsah, když jazykový server Pythonu asynchronně obnovoval symboly;setCurrentIndexnyní znovu ověřuje meze řádku/sloupce vůči živému modelu (3e0ce89f1).Zpevněn editor modelů ROMFS a editor datových sad proti asynchronním souběhům
QFileSystemModelodložením předběžného rozbalení stromu, dokud se adresář nedokončí načítat, a výběrem nově vytvořených souborů/složek/modelů až poté, co pro ně má model platný index (5eaa91aff).Operace externích nástrojů (dfu-util, bossac, picotool, alif, imx, ST Cube, mpy-cross, vela, ST Edge AI, převod videa) již neumožňují streamu kamery ani zařazené práci znovu vstoupit do operace zařízení za běžícím nástrojem: dialog průběhu zavaděče je nyní modální v rámci celé aplikace a dotazování zařízení je po dobu jeho zobrazení plně pozastaveno (3069e8ec0).
Automatické opětovné připojení již nepřevezme aktualizaci firmwaru uprostřed zápisu do flash paměti díky trvalému příznaku probíhající aktualizace firmwaru, který je nastaven po celou dobu vynucené operace / operace bootloaderu / mazání a který nyní kontroluje i časovač opětovného připojení (b7745484a).
Připojení desky již občas nepřepíše program Hello World, do kterého jste psali, díky porovnání živého dokumentu s nedotčeným snímkem stavu zachyceným při otevření namísto spoléhání na nespolehlivý příznak změny před automatickou synchronizací příkladu pro daný senzor (6f4539d44).
Posun nahoru v sériovém terminálu během rychlého souvislého výstupu již nestrhává zobrazení zpět dolů: cesty připojování nyní sledují trvalý příznak záměru posunu uživatele namísto opětovného odvozování stavu „dole“ z pozice posuvníku, kterou každý blok dat právě znovu připnul (9aea0f1a2).
Escapenyní spolehlivě zavírá dialog Code Profiler bez ohledu na to, který podřízený prvek má fokus (203ffd1e6).Na macOS nyní globální klávesové zkratky nabídek a příkazů fungují v celé aplikaci namísto pouze tehdy, když měl editor fokus, a to díky tomu, že je skrytý panel nabídek na každé platformě připojen k hlavnímu oknu (6d52cbe73).
Dodávaný interpret Pythonu je nyní při každém spuštění vynucen jako výchozí, takže zastaralý uložený výchozí interpret již tiše nezakáže jazykový server Pythonu (dokončování a nápovědu volání) (1d5069a52).
Zpevněn vstup/výstup nastavení OpenMV proti opětovnému vstupu:
beginGroup/endGroupna sdíleném globálním objektu nastavení (které otevírají modální dialogy a spouštějí vnořené smyčky událostí) jsou nahrazeny úplnými cestami klíčů, takže opětovný přístup k nastavení během modálního dialogu již nemůže zařadit klíče pod nesprávnou skupinu. Cesty na disku jsou bajtově identické, takže nastavení stávajících uživatelů jsou přesně zachována (91e78a9e3, f4bb9f48c).Opravena regrese, kdy několik dialogů a pomocníků, které přijímají sdílený objekt nastavení, provádělo vstup/výstup holých klíčů v kořeni nastavení namísto pod
OpenMV/, čímž se ztrácela geometrie okna model zoo, rozdělovač a rozbalený stav a stav šesti dialogů zavaděče (dfu-util, imx, bossac, alif, picotool a ST Cube Programmer) spolu s možnostmi kompilátoru mpy-cross, vela a ST Edge AI; skupina je nyní zabudována do každého klíče, takže se používá správná cesta (258448bdf).
Podpora platforem a nástrojů¶
Základ Qt Creator: 14.0.2.
OpenMV IDE verze povýšena na 4.8.11.
Změny narušující kompatibilitu¶
Žádné. Všechny změny jsou opravy chyb a vylepšení vrstvená na stávající základ Qt Creator 14.0.2; stávající projekty a pracovní postupy nejsou ovlivněny.