v1.7.0¶
v1.7.0 adaugă fragmentarea și reasamblarea serială a tamponului de cadre, astfel încât cadrele mari să poată fi transferate prin legătura serială de depanare, face deconectarea cu resetare mai sigură prin golirea (și, pe Windows, ejectarea) unității de stocare în masă USB a camerei și actualizează setul de exemple. Versiunea se bazează pe Qt Creator 4.0.2 (aceeași bază ca versiunea anterioară) și adaugă suport de compilare pentru ținte Linux încorporate compilate încrucișat, precum Raspberry Pi. Nu există modificări care să afecteze compatibilitatea.
Puncte importante¶
Fragmentarea serială a tamponului de cadre — transferurile mari de tampon de cadre sunt împărțite în fragmente de dimensiunea MTU și reasamblate într-un tampon de pixeli, astfel încât cadrele mari să poată fi mutate prin legătura serială de depanare.
Deconectare cu resetare mai sigură — unitatea de stocare în masă USB a camerei este golită înainte de resetare (și ejectată forțat pe Windows), astfel încât sistemul de fișiere să fie mai întâi sincronizat.
Salvare atomică a fișierelor —
main.pyși fișierele de puncte-cheie sunt scrise atomic, prevenind coruperea și corectând o eroare de cale care scriamain.pyîn locația greșită.Raspberry Pi / Linux încorporat — este inclus acum suportul de compilare încrucișată.
Exemple actualizate — un set Servo Shield, noi demonstrații de detectare a caracteristicilor și exemple video Image Reader/Writer.
Funcționalități noi¶
Fragmentarea și reasamblarea serială a tamponului de cadre. Transferurile de tampon de cadre sunt împărțite în fragmente de dimensiunea MTU și reasamblate într-un tampon de pixeli, astfel încât cadrele mari să poată fi mutate prin legătura serială de depanare folosind un MTU implicit. A fost adăugat un handshake de auto-negociere a MTU-ului în timpul execuției, cu poarta versiunii de firmware setată la 2.5.0, corespunzând firmware-ului 2.5.0 livrat în același commit (96458ccef). Poarta a fost apoi ridicată la
9.9.9pentru lansare, valoare pe care niciun firmware livrat nu o raportează, astfel încât camerele folosesc MTU-ul implicit și nu are loc nicio negociere (abd1dacb9).Golire/ejectare la deconectarea cu resetare. Deconectarea cu resetare golește acum unitatea de stocare în masă USB a camerei înainte de resetare: pe Windows unitatea este ejectată forțat, în timp ce pe Linux și macOS sistemul de fișiere al unității este sincronizat (
syncfs/sync_volume_np). În caz de eșec este raportată o eroareFailed to ejectpe toate cele trei platforme (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).Exemple Servo Shield. A fost adăugat un set de exemple
15-Servo-Shieldcare demonstrează servomotoare acționate prin PCA9685, incluzând un driverpca9685.pyși un ajutorservo.py(abd1dacb9).Noi exemple de detectare a caracteristicilor. Au fost adăugate
find_circles(Hough),find_rects(prag cvadruplu),find_numbers(recunoaștere a cifrelor LeNet) și exemple de regresie liniară rapidă și robustă în cadrul09-Feature-Detection(abd1dacb9).Exemple video și de control al plăcii. Au fost adăugate exemple Image Reader/Writer pentru înregistrarea și redarea fluxurilor de instantanee de pe cardul SD, un exemplu de control al plăcii RTC și un executor de teste unitare pe cameră (abd1dacb9).
Alte modificări și îmbunătățiri¶
A fost redenumit folderul de exemple
99-Tests(anterior15-Tests) și a fost adăugat executorulunittests.py(abd1dacb9).
Corectări de erori¶
A fost consolidată salvarea fișierelor
main.pyși a fișierelor de puncte-cheie. Scrierile au fost comutate la scrieri atomiceFileSaver(scriere apoi finalizare) în (4fd4e89cf), iar un separator de cale lipsă care scriamain.pyîn locația greșită a fost corectat în (1865ffd31).A fost îmbunătățită fiabilitatea serială prin mărirea tamponului de citire serială la 1MB pe toate porturile și creșterea timeout-ului de blocare a citirii, adresând datele pierdute cu
QSerialPort(7f68368dc).A fost corectat un defect de aspect al separatorului de ferestre prin exportarea
MainWindowși emiterea unui semnal de eveniment de afișare, astfel încât pluginul OpenMV să poată restaura aspectul când fereastra principală este afișată (4895e20b7).
Suport pentru platforme și instrumente¶
Bază Qt Creator: 4.0.2.
A fost adăugat suport de compilare pentru ținte Linux încorporate compilate încrucișat, precum Raspberry Pi: implementează fonturi Qt, corectează gestionarea
chrpath/RPATH, construiește traducerile cu binarele gazdă și adaugă o dependențăqmllipsă (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).A fost actualizat firmware-ul OpenMV livrat de la 2.4.1 la 2.5.0 (96458ccef).
Au fost redenumite folderele de firmware
OMV2/OMV3înOPENMV2/OPENMV3și au fost livrate binare actualizate și recompilate de firmware și bootloader STM32F427 (OPENMV2) și STM32F765 (OPENMV3) (abd1dacb9).
Modificări care afectează compatibilitatea¶
Niciuna. Această versiune nu introduce întreruperi vizibile pentru utilizator ale fluxului de lucru sau ale comportamentului, iar proiectele existente continuă să funcționeze nemodificate.