v4.8.1

v4.8.1 temelji se na Qt Creatoru 14.0.2 i usredotočen je na novi visokopouzdani protokol kamere OpenMV V2, ugrađeni Code Profiler te tijek rada spremanja koji kameru drži montiranom umjesto da je izbacuje. Priloženi ugrađeni program (firmware) i potpuni skup primjera ažurirani su na 4.8.1. Nema prekida u skriptnom API-ju, no ponašanje kod kojeg spremanje više ne izbacuje uređaj te uklanjanje nekoliko serijskih zastavica pri pokretanju predstavljaju promjene tijeka rada vidljive korisniku.

Istaknuto

  • OpenMV Protocol V2 novi je visokopouzdani komunikacijski sloj kamere (OMVCamera/OMVTransport/OMVDebug) s CRC32, sekvenciranjem, ACK/NAK, ponovnim slanjem, događajima i fragmentacijom. Automatski se dogovara pri povezivanju te upravlja resetiranjem, pokretanjem, strujanjem, izvršavanjem skripti i statistikom.

  • Code Profiler novi je prozor (Window > Show Code Profiler) koji s kamere dohvaća zapise profiliranja po funkciji i prikazuje pozive, min/maks/ukupne/prosječne mikrosekunde (μs), prosječne cikluse, postotak i brojače događaja u tablici koju je moguće sortirati.

  • Spremanje na mjestu više ne izbacuje pogon kamere; IDE sada zapisuje main.py i ispire volumen na disk pa uređaj ostaje montiran.

  • Detekcija više senzora prijavljuje svaku kameru na ploči, prikazanu u statusnoj traci kao Sensors: X, Y s glavnim senzorom navedenim prvim.

  • Dinamičko čitanje sličica ponovno izračunava najbolju razlučivost sirovog strujanja po formatu piksela i automatski prekonfigurira tok.

  • Priloženi ugrađeni program (firmware) i primjeri ažurirani su na 4.8.1 na svim pločama, uz dodavanje novih primjera za GenX320 event-kameru, TensorFlow ML, Alif OLED te LCD/Touch-LCD shield.

Nove značajke

  • Dodan je komunikacijski protokol OpenMV V2: potpuni transportni i transakcijski sloj s CRC32, sekvenciranjem, ACK/NAK, ponovnim slanjem, događajima i fragmentacijom, uz klasu OMVCamera koja se automatski dogovara pri povezivanju i integrirana je u serijski upravljački program (2fde9eb3f, fff1bf2ba, 8c41fcfad, 7fc7ed4bc, 84c3956af, 669039adf, a49259852, 07af1922a, 85f0c7c87, 5070cc213, e314459cc, e0367ca95, 0da2f79d0, 2b6fc9866, 534ecffbe).

  • Dodan je prozor Code Profiler (Window > Show Code Profiler) koji dohvaća zapise profiliranja po funkciji i prikazuje pozive, min/maks/ukupne/prosječne mikrosekunde (μs), prosječne cikluse, postotak i brojače događaja, razrješavajući adrese u simbole pomoću priloženog ELFIO ELF parsera (019d3cd2c, 57cd9e1cc).

  • Dodan je dijaloški okvir Debug Protocol Settings koji prikazuje uživo System Info, Host Stats i Device Stats osvježavane svake sekunde, izlažući brzine dohvaćanja po kanalu te kombinirane naspram odvojenih kontrola dohvaćanja (5220a6125, 0da2f79d0).

  • Dodana je detekcija više senzora: ploča s više od jedne kamere prijavljuje sve njih u statusnoj traci kao Sensors: X, Y, s glavnim senzorom prvim (cebc79ce7).

  • Dodano je dinamičko čitanje sličica (zadano uključeno) koje ponovno izračunava najbolju razlučivost sirovog strujanja po formatu piksela (BINARY, GRAY, RGB565, ARGB8, JPEG, PNG) i prekonfigurira tok (75c073bdb, 0da2f79d0).

  • Dodano je dekodiranje međuspremnika slike za sirove formate piksela BINARY (1-bpp mono) i ARGB8 (32-bitni alfa) pa se te vrste slika sada prikazuju u pregledniku (dabb82062).

  • Na sustavu Windows, Connect sada pretražuje USB uređaje koje je operativni sustav označio kao problematične i upozorava popisom neispravnih uređaja koji mogu blokirati povezivanje (1a5beb081, 1b59cd78e).

  • Dodan je indikator registracije u statusnoj traci: zeleni gumb Registered ili koraljni Unregistered za povezanu kameru, na koji je moguće kliknuti za registraciju ploče (a8c98a4b9).

  • Preglednik međuspremnika slike sada može prikazati centriranu tekstualnu poruku poslanu iz pokrenute skripte putem novog escape koda FB_MESSAGE umjesto slike (530048201).

  • Dodani su novi unosi u model-zoo: ST FastDepth modeli za procjenu dubine (224/256/320), ST model poze s točkama na glavi, modeli šake za detekciju dlana i točke na ruci te BlazeFace model za frontalnu detekciju lica (551668410, 4d64556d4, fadd6c4ed, b8277bb88, a8c98a4b9).

  • Dodana je skripta za samoispitivanje (kamera, IMU, ToF, WiFi, LAN) namijenjena samo tvorničkim build-ovima, koja je priložena i automatski se otvara pri pokretanju u tvorničkoj varijanti IDE-a (0db7fbbb0); RT1060 LAN dio testa trenutačno je onemogućen (48370d022).

Ostale promjene i poboljšanja

  • Spremanje na mjestu: spremanje skripte više ne izbacuje pogon kamere; IDE zapisuje main.py i ispire volumen na disk (FlushFileBuffers na sustavu Windows, syncfs na Linuxu, sync_volume_np/F_FULLFSYNC na macOS-u) pa uređaj ostaje montiran (1614c572f, 6928b51ea, 35ed53967).

  • Akcije alatne trake kliknute dok je kamera zauzeta (onemogući međuspremnik slike, JPEG kompresija, spremi skriptu, konfiguriraj postavke) sada se stavljaju u red i automatski izvršavaju kad uređaj bude slobodan, umjesto prikazivanja dijaloga s pogreškom Busy (f4315f0a4).

  • Preglednik međuspremnika slike sada se zadano prilagođava prikazu pa se slika pri pokretanju automatski skalira na prozor, a okno izlaza serijskog terminala sada se pri pokretanju zadano prikazuje (f3ce4dc75).

  • Prevedeni modeli s nastavkom .lite sada se prepoznaju posvuda: u filtriranju i prikazu preglednika model-zoo, poravnanju ROMFS-a ugrađenog programa (firmware), a Vela/STEdge AI prevoditelji sada generiraju .lite izlaz (f3ce4dc75).

  • Dijaloški okvir za prevođenje modela STEdge AI (N6) sada raščlanjuje i prijavljuje postotke iskorištenosti NPU RAM-a i hyperRAM-a te kopira premješteni izlaz mreže u datoteku koja odgovara nastavku modela (f3ce4dc75).

  • Preglednik model-zoo sada prikazuje stupac Size s veličinom datoteke i rasteže stupac s nazivom da stane, umjesto skrivanja veličine (f3ce4dc75).

  • Predložak nove skripte ažuriran je na novi API modula csi i zadano koristi VGA veličinu sličice, a priloženi primjer Hello World prebačen je s QVGA na VGA veličinu sličice (f3ce4dc75).

  • Dijaloški okvir Convert Video prepisan je tako da koristi zajednički dijalog učitavača s obojanim izlazom, porukama o uspjehu/neuspjehu, gumbom OK za zatvaranje te jasnom pogreškom kada FFMPEG nije dostupan na platformi (f56efc7be).

  • Preglednik međuspremnika slike sada prikazuje treperavo upozorenje kada je JPEG/PNG slika prevelika za međuspremnik i slanje, putem novog escape koda FB_BUFFER_ERROR (fda826126).

  • Ulazak u DFU pokretač (bootloader) sada prisiljava pokretač (bootloader) da ostane rezidentan na ugrađenom programu (firmware) s V2 protokolom, uz detekciju verzije koja se vraća na obični reset na starijim pokretačima (bootloader) (<1.0.2) koji bi se mogli zaglaviti kad ih se prisili (975857221).

  • Preimenovane su i reorganizirane ST mape modela za detekciju objekata (st_yolo_lc_v1 u yolo_lc, tiny_yolo_v2 u yolo_v2, yolov8n modeli osoba u obične datoteke imenovane prema veličini) te su uklonjene velike int8 varijante tiny_yolo_v2 (34240cc3c).

  • Serijsko vrijeme sada se podešava putem protocol ključeva za nadjačavanje u settings.json ugrađenog programa (firmware) (overrideReadTimeout, overrideReadStallTimeout, overridePerCommandWait te V2 ključevi overrideCRC/overrideSEQ/overrideACK) umjesto zastavica naredbenog retka pri pokretanju (019d8bf1d).

  • Postavljeno je ograničenje duljine retka jezičnog poslužitelja za Python na 120 stupaca za flake8 i pycodestyle pa dugi retci više nisu označeni pri zadanih 79 (dabb82062).

  • Smanjen je priloženi skup modela strojnog učenja premještanjem Qualcomm zbirke modela i google/mobilenet_v1 u models_unused kako bi se smanjio instalacijski program (c44ddba20).

Ispravci grešaka

  • Dijaloški okviri napretka preuzimanja ugrađenog programa (firmware) i ažuriranja resursa učinjeni su otpornima na rušenje pomoću QPointer zaštita pa više ne koriste izbrisani dijalog ako se zatvori usred preuzimanja (f3ce4dc75).

  • Pretraživanje pogona sada nastavlja ponovno pretraživati dok se ne pronađe USB pogon kamere i briše zastarjele unose pogona pri prekidu veze, uklanjajući prethodni jednokratni trik s mjeračem vremena (a31d41b4e).

  • Nekoliko ispravaka povezivanja i serijske komunikacije: skriveni senzori (npr. SoftCSI) više ne zatrpavaju prikazani tip senzora, Windows serijski keep-alive mjerač vremena sprječava USB zastoje, Start više ne pokreće ponovno već pokrenutu skriptu, a kanal kamere uredno se odspaja pri zatvaranju porta (a8e467be6).

  • Prikaz profilera vratio je svoj odabir brojača PMU događaja po stupcu (izbornici događaja s potvrdnim okvirima) te spremljeno stanje brojača/zaglavlja koje je bilo privremeno onemogućeno (40c679e90).

Podrška za platforme i alate

  • Osnova Qt Creatora: 14.0.2.

  • Priloženi ugrađeni program (firmware): ažuriran s 4.7.0 na 4.8.1, uz ponovnu izgradnju ugrađenog programa (firmware) za OPENMV2/3/4/4P/PT, OPENMV_N6, OPENMV_AE3, OPENMV_RT1060 te ploče Arduino GIGA/Nicla Vision/Portenta H7 (2657818ca).

  • Ispravljeno je rukovanje verzijom protokola na macOS-u za ploče RT1062 i AE3 dijeljenjem višenaredbenog USB prijenosa na dijelove veličine USBDBG_LEN koje te ploče mogu obraditi (6b9d5f842).

  • Preuređen je priloženi paket Windows upravljačkih programa: dodane su potpisane .cat/.inf datoteke upravljačkih programa po ploči (AE3, H7, H7Plus, M4, M7, N6, Pico/PT, RT1062), a CDC serijski upravljački programi premješteni su u novu mapu openmvcdc s automatskim instalaterom temeljenim na dpinst-u (439557829, ba3b01bfb).

  • Dodana je podrška za starije revizije MT9V032 senzora kamere registriranjem ID-ova senzora 0x1311 i 0x1312 (uz postojeći 0x1313) kao MT9V0X2 (eaaa624e3).

Promjene koje narušavaju kompatibilnost

Ovo izdanje nema prekida u skriptnom API-ju, no postoji nekoliko promjena tijeka rada vidljivih korisniku:

  • Spremanje skripte više ne izbacuje niti odmontira USB pogon kamere. IDE sada ispire međuspremnike volumena na mjestu pa uređaj ostaje montiran nakon spremanja.

  • Serijske zastavice pri pokretanju -override_read_timeout (zadano 5000 ms), -override_read_stall_timeout (zadano 1000 ms) i -override_per_command_wait (zadano 1 ms, 2 ms na macOS-u) uklonjene su; serijsko vrijeme sada se konfigurira putem protocol ključeva za nadjačavanje u settings.json ugrađenog programa (firmware) (019d8bf1d).

  • Priloženi pokretači (bootloader) sada se isporučuju samo kao .bin; .dfu datoteke ugrađenog programa (firmware) i pokretača (bootloader) po ploči uklonjene su.