v4.8.9¶
v4.8.9 to wydanie poprawiające efektywność w trybie bezczynności i niezawodność odłączania, zbudowane na Qt Creator 14.0.2. Gruntownie zmienia sposób, w jaki IDE monitoruje sprzęt, dzięki czemu przestaje odpytywać urządzenia, gdy nic się nie dzieje, usprawnia ścieżkę łączenia/odłączania oraz porządkuje dołączony zestaw modeli. W tym zakresie nie ma rebase’u Qt Creator, ale zmieniło się kilka domyślnych zachowań oraz nazwy dołączonych modeli, więc przejrzyj poniższe zmiany łamiące zgodność.
Najważniejsze zmiany¶
Monitorowanie sprzętu sterowane zdarzeniami zastępuje ciągłe odpytywanie urządzeń: IDE zatrzymuje teraz swoje liczniki skanowania w trybie bezczynności i ponownie skanuje porty szeregowe oraz napędy tylko w reakcji na rzeczywiste zdarzenia podłączenia/odłączenia USB i zamontowania/odmontowania dysku, co dramatycznie zmniejsza zużycie CPU i zasobów w trybie bezczynności.
Liczniki bezczynności uzależnione od aktywności: licznik zdarzeń bufora ramki (uruchamiany dawniej co 1 ms) działa teraz tylko podczas połączenia, a licznik migania kursora terminala (500 ms) działa teraz tylko wtedy, gdy terminal ma fokus.
Synchronizacja importu w tle domyślnie wyłączona: automatyczna synchronizacja folderów importu
ExamplesiDocuments/OpenMVjest teraz wyłączona, a jej przełącznik w menu ukryty, dzięki czemu IDE nie skanuje już bez przerwy tych folderów.Szybsze i bardziej niezawodne odłączanie: port szeregowy jest zamykany, a kamera zwalniana natychmiast, limity czasu protokołu zostały obniżone, a zablokowana kamera teraz się odzyskuje zamiast zawieszać.
Czytelniejszy przycisk trybu bufora ramki, który pokazuje
JPG ModelubRAW Mode, aby bieżący stan kompresji był widoczny na pierwszy rzut oka.
Nowe funkcje¶
Natywne monitorowanie zdarzeń sprzętowych za pomocą nowego
HardwareMonitor, który emitujehardwareEventDetectedprzy użyciu IOKit i DiskArbitration na macOS, okna typu message-onlyWM_DEVICECHANGEw systemie Windows oraz gniazda netlinkNETLINK_KOBJECT_UEVENTw systemie Linux. Liczniki skanowania portów szeregowych i napędów są teraz uzależnione od 10-sekundowego okna skanowania, które restartuje się przy każdym zdarzeniu (a6612fec9, 462b55f7b, 17c2e93c7).
Pozostałe zmiany i ulepszenia¶
Licznik przetwarzania zdarzeń bufora ramki (uruchamiany dawniej co 1 ms) jest teraz uruchamiany przy połączeniu i zatrzymywany przy odłączeniu, a licznik migania kursora terminala (500 ms) uruchamia się i zatrzymuje przy uzyskaniu/utracie fokusu przez terminal zamiast działać przez cały czas (a02afea53).
Automatyczna synchronizacja folderów importu
ExamplesiDocuments/OpenMVjest domyślnie wyłączona, a przełącznik ukryty; liczniki skanowania folderów nie uruchamiają się już przy inicjalizacji i działają tylko wtedy, gdy (obecnie ukryta) akcja jest włączona (478f83e97).Przycisk przełączania formatu bufora ramki pokazuje teraz
JPG Mode, gdy kompresja JPEG jest włączona, orazRAW Mode, gdy jest wyłączona (c48831224).Przy połączeniu IDE stosuje teraz zawsze domyślne ustawienie płytki preferujące JPEG dla bufora ramki, zamiast przywracać wcześniej zapisany wybór JPG/RAW dla danej płytki (c48831224).
Poprawki błędów¶
Odłączenie zamyka teraz port szeregowy i zwalnia kamerę (oraz port) w trybie inline w metodzie
close(), co czyni odłączanie szybszym i bardziej niezawodnym (1e8941080, 9d31bcf80).Licznik bezczynności portu szeregowego jest teraz zatrzymywany, a flaga protokołu v2 czyszczona przy zamknięciu portu, co naprawia nieaktualne zachowanie licznika bezczynności po odłączeniu (4bd2fd9ea).
Dostrojono limity czasu poleceń protokołu (limit czasu otwarcia obniżony z 5 s do 2 s, resync i
CHANNEL_SIZEużywają krótkiego limitu 1 s), a każde polecenie szeregowe usuwa teraz obiekt kamery w razie niepowodzenia, dzięki czemu zablokowana kamera odzyskuje się i odłącza szybciej zamiast zawieszać (04aa6aea3).Naprawiono problem z blokowaniem/zawieszaniem podczas zatrzymywania skryptu: zdarzenie zatrzymania skryptu czyści teraz również stan zdarzeń ramki i resetuje liczniki gotowości ramki (3695b0704).
Protokół toleruje teraz krótkie odczyty z kamery, zwracając częściowy ładunek lub tekst zamiast go odrzucać lub zgłaszać błąd (0c8ccd58e).
Obsługa platformy i narzędzi¶
Baza Qt Creator: 14.0.2.
Płytki łączące moduł AE3 lub N6 z sensorem PAG7936 lub PS5520 otrzymują teraz wyższe domyślne ustawienie QVGA (wcześniej tylko AE3 + PAG7936), dzięki czemu odpowiednie przykłady automatycznie podnoszą się z QQVGA do QVGA (fcc0c3227).
Dołączony zestaw modeli estymacji pozy ST MoveNet został uporządkowany: usunięto nadmiarowe warianty per-tensor (
_pt) oraz zduplikowane warianty singlepose/st_movenet, a pozostałe modele heatmap per-channel zmieniono nazwy namovenet_singlepose_192,movenet_singlepose_224imovenet_singlepose_256(18f66c4c1).Usunięto z zestawu modeli dołączony model segmentacji semantycznej DeepLabV3 wraz z jego zasobami przykładowymi (a929e0dc1).
Zmiany łamiące zgodność¶
Widoczne dla użytkownika zmiany zachowania i dołączonych zasobów między v4.8.8 a v4.8.9.
Przy połączeniu bufor ramki używa teraz zawsze domyślnego ustawienia płytki preferującego JPEG i ignoruje wcześniej zapisany wybór JPG/RAW dla danej płytki (c48831224).
Synchronizacja w tle folderów importu
ExamplesiDocuments/OpenMVjest domyślnie wyłączona, a jej przełącznik ukryty (478f83e97).Kilka dołączonych modeli zostało usuniętych lub przemianowanych: model segmentacji semantycznej DeepLabV3 zniknął, a modele ST MoveNet zostały przerzedzone i przemianowane na
movenet_singlepose_192/224/256. Skrypty odwołujące się do starych nazw plików modeli muszą zostać zaktualizowane (a929e0dc1, 18f66c4c1).