v4.8.9

v4.8.9 este o versiune dedicată eficienței în repaus și fiabilității deconectării, construită pe Qt Creator 14.0.2. Revizuiește modul în care IDE-ul monitorizează hardware-ul, astfel încât să oprească interogarea atunci când nu se întâmplă nimic, optimizează calea de conectare/deconectare și elimină modele din colecția inclusă. Nu există nicio rebază Qt Creator în acest interval, însă câteva comportamente implicite și nume de modele incluse s-au schimbat, așa că analizați schimbările incompatibile de mai jos.

Aspecte importante

  • Monitorizarea hardware bazată pe evenimente înlocuiește interogarea continuă a dispozitivelor: IDE-ul își oprește acum temporizatoarele de scanare când este inactiv și rescanează porturile seriale și unitățile doar ca răspuns la evenimente reale de conectare/deconectare USB și de montare/demontare a discurilor, reducând drastic utilizarea procesorului și a resurselor în repaus.

  • Temporizatoare în repaus condiționate de activitate: temporizatorul de evenimente al tamponului de cadre (frame buffer) (care anterior se declanșa la fiecare 1ms) rulează acum doar cât timp este conectat, iar temporizatorul de clipire a cursorului terminalului (500ms) rulează acum doar cât timp terminalul este focalizat.

  • Sincronizarea importurilor în fundal dezactivată implicit: sincronizarea automată a folderelor de import Examples și Documents/OpenMV este acum dezactivată, iar comutatorul său din meniu este ascuns, astfel încât IDE-ul nu mai rescanează continuu acele foldere.

  • Deconectare mai rapidă și mai fiabilă: portul serial este închis și camera este eliberată imediat, expirările protocolului au fost reduse, iar o cameră blocată se recuperează acum în loc să rămână suspendată.

  • Buton mai clar pentru modul tamponului de cadre (frame buffer), care afișează JPG Mode sau RAW Mode pentru a face evident dintr-o privire starea curentă de compresie.

Funcții noi

  • Monitorizare nativă a evenimentelor hardware printr-un nou HardwareMonitor care emite hardwareEventDetected folosind IOKit și DiskArbitration pe macOS, o fereastră dedicată mesajelor WM_DEVICECHANGE pe Windows și un socket netlink NETLINK_KOBJECT_UEVENT pe Linux. Temporizatoarele de scanare serială și de scanare a unităților sunt acum condiționate de o fereastră de scanare de 10s care repornește la fiecare eveniment (a6612fec9, 462b55f7b, 17c2e93c7).

Alte modificări și îmbunătățiri

  • Temporizatorul de procesare a evenimentelor tamponului de cadre (frame buffer) (care anterior se declanșa la fiecare 1ms) este acum pornit la conectare și oprit la deconectare, iar temporizatorul de clipire a cursorului terminalului (500ms) pornește și se oprește acum la focalizarea/defocalizarea terminalului în loc să ruleze mereu (a02afea53).

  • Sincronizarea automată a folderelor de import Examples și Documents/OpenMV este dezactivată implicit, iar comutatorul este ascuns; temporizatoarele de scanare a folderelor nu mai pornesc la inițializare și rulează doar când acțiunea (acum ascunsă) este activată (478f83e97).

  • Butonul de comutare a formatului tamponului de cadre (frame buffer) afișează acum JPG Mode când compresia JPEG este activă și RAW Mode când este dezactivată (c48831224).

  • La conectare, IDE-ul aplică acum întotdeauna valoarea implicită JPEG-preferată a plăcii pentru tamponul de cadre (frame buffer) în loc să restaureze alegerea JPG/RAW per placă salvată anterior (c48831224).

Remedieri de erori

  • Deconectarea închide acum portul serial și eliberează camera (și portul) direct în close(), făcând deconectarea mai rapidă și mai fiabilă (1e8941080, 9d31bcf80).

  • Temporizatorul serial în repaus este acum oprit, iar indicatorul protocolului v2 este șters la închiderea portului, remediind comportamentul învechit al temporizatorului în repaus după deconectare (4bd2fd9ea).

  • Expirările comenzilor de protocol au fost ajustate (expirarea la deschidere a fost redusă de la 5s la 2s, resincronizarea și CHANNEL_SIZE folosesc o expirare scurtă de 1s), iar fiecare comandă serială elimină acum obiectul camerei în caz de eșec, astfel încât o cameră blocată se recuperează și se deconectează mai rapid în loc să rămână suspendată (04aa6aea3).

  • A fost remediată o problemă de blocare/suspendare la oprirea unui script: un eveniment de oprire a scriptului șterge acum și starea evenimentelor de cadre și resetează temporizatoarele de pregătire a cadrelor (3695b0704).

  • Protocolul tolerează acum citirile scurte de la cameră, returnând încărcătura utilă parțială sau textul în loc să o ignore sau să genereze eroare (0c8ccd58e).

Suport pentru platforme și instrumente

  • Bază Qt Creator: 14.0.2.

  • Plăcile care combină un modul AE3 sau N6 cu un senzor PAG7936 sau PS5520 primesc acum valoarea implicită QVGA mai mare (anterior doar AE3 + PAG7936), astfel încât exemplele afectate se actualizează automat de la QQVGA la QVGA (fcc0c3227).

  • Colecția inclusă de modele ST MoveNet pentru estimarea posturii a fost curățată: variantele redundante per tensor (_pt) și variantele duplicate singlepose/st_movenet au fost eliminate, iar modelele heatmap per canal rămase au fost redenumite în movenet_singlepose_192, movenet_singlepose_224 și movenet_singlepose_256 (18f66c4c1).

  • A fost eliminat modelul inclus DeepLabV3 pentru segmentare semantică și activele sale de exemplu din colecția de modele (a929e0dc1).

Schimbări incompatibile

Modificări de comportament vizibile pentru utilizator și ale activelor incluse între v4.8.8 și v4.8.9.

  • La conectare, tamponul de cadre (frame buffer) folosește acum întotdeauna valoarea implicită JPEG-preferată a plăcii și ignoră orice alegere JPG/RAW per placă salvată anterior (c48831224).

  • Sincronizarea în fundal a folderelor de import Examples și Documents/OpenMV este dezactivată implicit, iar comutatorul său este ascuns (478f83e97).

  • Mai multe modele incluse au fost eliminate sau redenumite: modelul DeepLabV3 pentru segmentare semantică a dispărut, iar modelele ST MoveNet au fost reduse și redenumite în movenet_singlepose_192/224/256. Scripturile care fac referire la vechile nume de fișiere ale modelelor trebuie actualizate (a929e0dc1, 18f66c4c1).