v1.7.0

v1.7.0 přidává rozdělování a opětovné sestavování frame bufferu po sériové lince, aby bylo možné velké snímky přenášet přes ladicí sériové spojení, činí odpojení s resetem bezpečnějším díky vyprázdnění (a na Windows vysunutí) USB úložiště kamery a obnovuje sadu ukázek. Vydání je založeno na Qt Creator 4.0.2 (stejný základ jako předchozí vydání) a přidává podporu sestavení pro křížově kompilované vestavěné cíle Linuxu, jako je Raspberry Pi. Neobsahuje žádné nekompatibilní změny.

Hlavní novinky

  • Rozdělování frame bufferu po sériové lince — velké přenosy frame bufferu se rozdělují na bloky velikosti MTU a opětovně sestavují v pixelovém bufferu, takže lze velké snímky přenášet přes ladicí sériové spojení.

  • Bezpečnější odpojení s resetem — USB úložiště kamery se před resetem vyprázdní (a na Windows je vynuceně vysunuto), takže se nejprve synchronizuje souborový systém.

  • Atomické ukládání souborůmain.py a soubory klíčových bodů se zapisují atomicky, což zabraňuje poškození a opravuje chybu cesty, která zapisovala main.py na nesprávné místo.

  • Raspberry Pi / vestavěný Linux — nyní je zahrnuta podpora sestavení s křížovou kompilací.

  • Obnovené ukázky — sada Servo Shield, nové ukázky detekce příznaků a video ukázky Image Reader/Writer.

Nové funkce

  • Rozdělování a opětovné sestavování frame bufferu po sériové lince. Přenosy frame bufferu se rozdělují na bloky velikosti MTU a opětovně sestavují v pixelovém bufferu, takže lze velké snímky přenášet přes ladicí sériové spojení s použitím výchozího MTU. Bylo přidáno handshake automatického vyjednávání MTU za běhu s prahem verze firmwaru nastaveným na 2.5.0, odpovídajícím firmwaru 2.5.0 přibalenému ve stejném commitu (96458ccef). Pro vydání byl tento práh zvýšen na 9.9.9, který žádný dodávaný firmware nehlásí, takže kamery používají výchozí MTU a k žádnému vyjednávání nedochází (abd1dacb9).

  • Vyprázdnění/vysunutí při odpojení s resetem. Odpojení s resetem nyní před resetem vyprázdní USB úložiště kamery: na Windows je úložiště vynuceně vysunuto, zatímco na Linuxu a macOS se synchronizuje souborový systém úložiště (syncfs / sync_volume_np). Při selhání je na všech třech platformách hlášena chyba Failed to eject (243618791, ff6b15aff, 1865ffd31, 4fd4e89cf).

  • Ukázky Servo Shield. Přidána sada ukázek 15-Servo-Shield demonstrující serva řízená PCA9685, včetně ovladače pca9685.py a pomocníka servo.py (abd1dacb9).

  • Nové ukázky detekce příznaků. Přidány find_circles (Hough), find_rects (quad-threshold), find_numbers (rozpoznávání číslic LeNet) a rychlé a robustní ukázky lineární regrese v 09-Feature-Detection (abd1dacb9).

  • Ukázky videa a ovládání desky. Přidány ukázky Image Reader/Writer pro nahrávání a přehrávání proudů snímků z SD karty, ukázka ovládání desky RTC a běhové prostředí jednotkových testů přímo na kameře (abd1dacb9).

Další změny a vylepšení

  • Přejmenována složka ukázek 99-Tests (dříve 15-Tests) a přidáno běhové prostředí unittests.py (abd1dacb9).

Opravy chyb

  • Zpevněno ukládání souborů main.py a souborů klíčových bodů. Zápisy byly přepnuty na atomické zápisy FileSaver (zápis a poté finalizace) v (4fd4e89cf) a chybějící oddělovač cesty, který zapisoval main.py na nesprávné místo, byl opraven v (1865ffd31).

  • Vylepšena spolehlivost sériové komunikace zvětšením čtecího bufferu sériového portu na 1 MB na všech portech a prodloužením časového limitu zaseknutí čtení, čímž se řeší ztracená data u QSerialPort (7f68368dc).

  • Opravena chyba rozložení rozdělovače okna exportováním MainWindow a vysláním signálu show-event, takže plugin OpenMV může obnovit rozložení při zobrazení hlavního okna (4895e20b7).

Podpora platforem a nástrojů

  • Základ Qt Creator: 4.0.2.

  • Přidána podpora sestavení pro křížově kompilované vestavěné cíle Linuxu, jako je Raspberry Pi: nasazuje fonty Qt, opravuje zacházení s chrpath/RPATH, sestavuje překlady pomocí hostitelských binárních souborů a přidává chybějící závislost qml (73c052fcc, 8f0baa131, 5b9e9e82e, 45011ec2a).

  • Aktualizován přibalený firmware OpenMV z 2.4.1 na 2.5.0 (96458ccef).

  • Přejmenovány složky firmwaru OMV2/OMV3 na OPENMV2/OPENMV3 a dodány aktualizované, znovu sestavené binární soubory firmwaru a bootloaderu STM32F427 (OPENMV2) a STM32F765 (OPENMV3) (abd1dacb9).

Nekompatibilní změny

Žádné. Toto vydání nepřináší žádné změny pracovního postupu ani chování viditelné pro uživatele a stávající projekty fungují beze změny.