v4.8.11

v4.8.11 je izdanje za stabilnost i ispravnost usmjereno na robusnost na macOS-u, serijalizaciju vanjskih alata i pouzdanost ažuriranja ugrađenog programa (firmware). Izgrađeno je na Qt Creatoru 14.0.2 (nepromijenjeno u odnosu na prethodno izdanje) i ne sadrži nikakve nekompatibilne promjene za korisničke projekte.

Najvažnije

  • Otpornost na rušenja na macOS-u — uklonjen je povremeni tihi prekid NSRangeException uzrokovan ažuriranjem odabira u stablima/popisima/kombiniranim okvirima prije nego što je ploča ili skočni prozor potpuno izgrađen ili usred asinkronog osvježavanja, u kombiniranom okviru strukture, hijerarhiji poziva/tipova, skočnim prozorima dovršavanja i lokatora, stablu projekta i drugdje.

  • Serijalizirani vanjski alati — dijaloški okvir napretka učitavača sada je modalan na razini aplikacije i obustavlja svako ispitivanje uređaja, pa pokrenuti dfu-util, bossac, picotool i ostali alati više ne mogu biti ponovno pozvani iz toka kamere ili automatskog ponovnog povezivanja.

  • Pouzdana ažuriranja ugrađenog programa (firmware) — automatsko ponovno povezivanje više ne može preoteti ažuriranje ugrađenog programa usred ispisivanja u flash, što je prije prekidalo stvarni nastavak i prikazivalo lažni DFU dijaloški okvir.

  • Sigurnost programa Hello World — povezivanje ploče više povremeno ne prebrisuje program Hello World u koji ste tipkali, usporedbom s netaknutom snimkom umjesto nepouzdane oznake izmijenjenosti.

  • Jasnije DFU pogreške — pogreška „no matching interface” sada imenuje otkrivenu ploču i nazive datoteka ugrađenog programa koje prihvaća umjesto ispisivanja sirovog VID/PID-a.

Nove značajke

  • ST Edge AI (STM32N6) sada izravno proizvodi premjestivu binarnu datoteku mreže putem prevoditeljevog --relocatable načina rada, uklanjajući zaseban Python korak premještanja i dodatno polje Relocation CLI Options iz dijaloškog okvira (7613135c5).

Ostale promjene i poboljšanja

  • DFU pogreške sučelja sada imenuju otkrivenu ploču i navode nazive datoteka ugrađenog programa koje ta ploča prihvaća, uz upute za preimenovanje ili odabir ispravne datoteke, umjesto ispisivanja sirovog VID/PID-a (ac509b369).

  • Prečaci za navigaciju karticama na macOS-u sada koriste dostupne Cmd+Shift+[ / Cmd+Shift+] (prethodna/sljedeća) i Cmd+Alt+[ / Cmd+Alt+] (premještanje) umjesto neupotrebljivih Ctrl+PageUp / Ctrl+PageDown; tipke za Windows i Linux su nepromijenjene (6c09e10b1).

  • Zahtjevi za licencu/ploču prema upload.openmv.io (check.php, insert.php, register.php) sada šalju User-Agent u stilu preglednika specifičan za platformu kako bi licencni poslužitelj mogao identificirati OS klijenta (6bfd74b36).

Ispravci grešaka

  • Ispravljeno je povremeno rušenje na macOS-u (tihi prekid NSRangeException bez dijaloškog okvira o rušenju) gdje bi ažuriranje odabira u stablima/popisima/kombiniranim okvirima dok je ploča ili skočni prozor još bio skriven ili usred asinkronog osvježavanja indeksiralo u neizgrađenu Cocoa predmemoriju pristupačnosti. Odabir, pomicanje i proširivanje sada su odgođeni ili zaštićeni u kombiniranom okviru strukture, hijerarhiji poziva/tipova, skočnom prozoru dovršavanja koda, skočnom prozoru lokatora, dijaloškom okviru Save Items, stablu projekta, navigaciji mapama, Open Documents, popisu Issues/Tasks i kombiniranom okviru prikaza stabla (94c8f9def, ae40a3806, ed23b5c60, c6baf89cd, d7b6f5838, d8b70609c, 21740d9c2, 9217fc8a9, fe75924d5, 9cc247ffb, 3ca71e915, 559b6005f).

  • Ispravljeno je zasebno rušenje na macOS-u (NSRangeException/SIGABRT) u kombiniranom okviru strukture koda uzrokovano zastarjelim indeksom izvan raspona kada je Python jezični poslužitelj asinkrono osvježio simbole; setCurrentIndex sada ponovno provjerava granice redaka/stupaca u odnosu na živi model (3e0ce89f1).

  • Ojačani su uređivač ROMFS modela i uređivač skupa podataka protiv asinkronih utrka QFileSystemModel odgađanjem prethodnog proširivanja stabla dok direktorij ne završi učitavanje i odabirom novostvorenih datoteka/mapa/modela tek kada model za njih ima valjani indeks (5eaa91aff).

  • Operacije vanjskih alata (dfu-util, bossac, picotool, alif, imx, ST Cube, mpy-cross, vela, ST Edge AI, pretvorba videa) više ne dopuštaju toku kamere ili poslu u redu čekanja da ponovno uđu u operaciju uređaja iza pokrenutog alata: dijaloški okvir napretka učitavača sada je modalan na razini aplikacije, a ispitivanje uređaja potpuno je obustavljeno dok je prikazan (3069e8ec0).

  • Automatsko ponovno povezivanje više ne preuzima ažuriranje ugrađenog programa usred ispisivanja u flash zahvaljujući trajnoj oznaci ažuriranja-ugrađenog-programa-u-tijeku koja se aktivira tijekom cijele prisilne/bootloader/brisanje operacije, a koju mjerač vremena ponovnog povezivanja sada također provjerava (b7745484a).

  • Povezivanje ploče više povremeno ne prebrisuje program Hello World u koji ste tipkali, usporedbom živog dokumenta s netaknutom snimkom snimljenom pri otvaranju umjesto oslanjanja na nepouzdanu oznaku izmijenjenosti prije automatske sinkronizacije primjera za pojedini senzor (6f4539d44).

  • Pomicanje prema gore u serijskom terminalu tijekom brzog kontinuiranog ispisa više ne vraća prikaz natrag na dno: putanje dodavanja sada slijede trajnu oznaku namjere korisničkog pomicanja umjesto ponovnog izvođenja „na dnu” iz položaja klizača koji je svaki dio upravo ponovno fiksirao (9aea0f1a2).

  • Escape sada pouzdano zatvara dijaloški okvir Code Profiler bez obzira na to koji podređeni widget ima fokus (203ffd1e6).

  • Na macOS-u globalni izbornik i prečaci na tipkovnici za naredbe sada rade u cijeloj aplikaciji umjesto samo kada uređivač ima fokus, postavljanjem skrivene trake izbornika kao podređene glavnom prozoru na svakoj platformi (6d52cbe73).

  • Priloženi Python interpreter sada je prisilno postavljen kao zadani pri svakom pokretanju, pa zastarjela trajno spremljena zadana vrijednost više tiho ne onemogućuje Python jezični poslužitelj (dovršavanje i savjeti za pozive) (1d5069a52).

  • Ojačan je ulaz/izlaz OpenMV postavki protiv ponovnog ulaska: beginGroup / endGroup na zajedničkom globalnom objektu postavki (koji stvaraju modalne dijaloške okvire i pokreću ugniježđene petlje događaja) zamijenjeni su punim putanjama ključeva, pa ponovni ulazak u pristup postavkama tijekom modalnog dijaloškog okvira više ne može pogrešno spremiti ključeve pod krivu grupu. Putanje na disku su bajt po bajt identične, pa su postavke postojećih korisnika točno sačuvane (91e78a9e3, f4bb9f48c).

  • Ispravljena je regresija gdje je nekoliko dijaloških okvira i pomoćnika koji primaju zajednički objekt postavki obavljalo ulaz/izlaz s golim ključem u korijenu postavki umjesto pod OpenMV/, gubeći geometriju prozora, razdjelnik i prošireno stanje model zoo-a te stanje šest dijaloških okvira učitavača (dfu-util, imx, bossac, alif, picotool i ST Cube Programmer) zajedno s opcijama prevoditelja mpy-cross, vela i ST Edge AI; grupa je sada ugrađena u svaki ključ pa se koristi ispravna putanja (258448bdf).

Podrška za platforme i alate

  • Osnova Qt Creatora: 14.0.2.

  • OpenMV IDE verzija podignuta na 4.8.11.

Nekompatibilne promjene

Nema. Sve promjene su ispravci grešaka i poboljšanja na postojećoj osnovi Qt Creatora 14.0.2; postojeći projekti i tijekovi rada nisu pogođeni.