v1.7.0

v1.7.0 dodaje serijsko dijeljenje međuspremnika slike na dijelove i ponovno sastavljanje kako bi se velike sličice mogle prenijeti preko serijske debug veze, čini odspajanje s resetiranjem sigurnijim pražnjenjem (i, na Windowsu, izbacivanjem) USB pogona za masovnu pohranu kamere, te osvježava skup primjera. Izdanje se temelji na Qt Creatoru 4.0.2 (ista osnova kao prethodno izdanje) i dodaje podršku za izgradnju unakrsno kompiliranih ugrađenih Linux ciljeva poput Raspberry Pi. Nema promjena koje narušavaju kompatibilnost.

Najvažnije

  • Serijsko dijeljenje međuspremnika slike na dijelove — veliki prijenosi međuspremnika slike dijele se na dijelove veličine MTU-a i ponovno sastavljaju u međuspremniku piksela, pa se velike sličice mogu premjestiti preko serijske debug veze.

  • Sigurnije odspajanje s resetiranjem — USB pogon za masovnu pohranu kamere prazni se prije resetiranja (i prisilno izbacuje na Windowsu) kako bi se datotečni sustav prvo sinkronizirao.

  • Atomsko spremanje datoteka — datoteke main.py i ključnih točaka zapisuju se atomski, sprječavajući oštećenje i ispravljajući grešku u putanji koja je zapisivala main.py na pogrešno mjesto.

  • Raspberry Pi / ugrađeni Linux — sada je uključena podrška za izgradnju unakrsnim kompiliranjem.

  • Osvježeni primjeri — skup Servo Shield, novi demonstracijski primjeri detekcije značajki te video primjeri Image Reader/Writer.

Nove značajke

  • Serijsko dijeljenje međuspremnika slike na dijelove i ponovno sastavljanje. Prijenosi međuspremnika slike dijele se na dijelove veličine MTU-a i ponovno sastavljaju u međuspremniku piksela, pa se velike sličice mogu premjestiti preko serijske debug veze koristeći zadani MTU. Dodano je rukovanje za automatsko pregovaranje MTU-a tijekom izvođenja s vratima verzije ugrađenog programa (firmware) postavljenima na 2.5.0, što odgovara ugrađenom programu (firmware) 2.5.0 priloženom u istom commitu (96458ccef). Vrata su zatim za izdanje podignuta na 9.9.9, što ne prijavljuje nijedan isporučeni ugrađeni program (firmware), pa kamere koriste zadani MTU i ne dolazi do pregovaranja (abd1dacb9).

  • Pražnjenje/izbacivanje pri odspajanju s resetiranjem. Odspajanje s resetiranjem sada prazni USB pogon za masovnu pohranu kamere prije resetiranja: na Windowsu se pogon prisilno izbacuje, dok se na Linuxu i macOS-u datotečni sustav pogona sinkronizira (syncfs / sync_volume_np). U slučaju neuspjeha na sve tri platforme prijavljuje se greška Failed to eject (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).

  • Primjeri Servo Shield. Dodan je skup primjera 15-Servo-Shield koji demonstrira servo motore upravljane PCA9685, uključujući upravljački program pca9685.py i pomoćnik servo.py (abd1dacb9).

  • Novi primjeri detekcije značajki. Dodani su find_circles (Hough), find_rects (quad-threshold), find_numbers (LeNet prepoznavanje znamenki) te brzi i robusni primjeri linearne regresije pod 09-Feature-Detection (abd1dacb9).

  • Primjeri videa i upravljanja pločicom. Dodani su primjeri Image Reader/Writer za snimanje i ponovnu reprodukciju tokova snimki s SD kartice, primjer RTC upravljanja pločicom te pokretač jediničnih testova na kameri (abd1dacb9).

Ostale promjene i poboljšanja

  • Preimenovana je mapa primjera 99-Tests (ranije 15-Tests) i dodan je pokretač unittests.py (abd1dacb9).

Ispravci grešaka

  • Ojačano je spremanje datoteka main.py i ključnih točaka. Zapisivanja su prebačena na atomska FileSaver zapisivanja (zapiši pa finaliziraj) u (4fd4e89cf), a nedostajući razdjelnik putanje koji je zapisivao main.py na pogrešno mjesto ispravljen je u (1865ffd31).

  • Poboljšana je pouzdanost serijske veze povećanjem serijskog međuspremnika za čitanje na 1MB na svim portovima i produljenjem isteka vremena za zastoj čitanja, rješavajući izgubljene podatke s QSerialPort (7f68368dc).

  • Ispravljen je propust u rasporedu razdjelnika prozora izvozom MainWindow i emitiranjem signala za događaj prikaza kako bi OpenMV dodatak mogao obnoviti raspored kada se glavni prozor prikaže (4895e20b7).

Podrška za platforme i alate

  • Qt Creator osnova: 4.0.2.

  • Dodana je podrška za izgradnju unakrsno kompiliranih ugrađenih Linux ciljeva poput Raspberry Pi: postavlja Qt fontove, ispravlja rukovanje chrpath/RPATH, gradi prijevode pomoću host binarnih datoteka te dodaje nedostajuću qml ovisnost (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).

  • Ažuriran je priloženi OpenMV ugrađeni program (firmware) s 2.4.1 na 2.5.0 (96458ccef).

  • Preimenovane su mape ugrađenog programa (firmware) OMV2/OMV3 u OPENMV2/OPENMV3 te su isporučene ažurirane, ponovno izgrađene binarne datoteke ugrađenog programa (firmware) i pokretača (bootloader) za STM32F427 (OPENMV2) i STM32F765 (OPENMV3) (abd1dacb9).

Promjene koje narušavaju kompatibilnost

Nema. Ovo izdanje ne uvodi nikakve promjene tijeka rada ili ponašanja vidljive korisniku, a postojeći projekti nastavljaju raditi nepromijenjeno.