v1.8.0

v1.8.0 to duże wydanie funkcjonalne skupione na sieci i wideo: dodaje programowanie kamer OpenMV Cam przez WiFi, rejestrator wideo z bufora ramki oraz menu Tools > Video Tools oparte na dołączonym ffmpeg/ffplay. Dodaje także obsługę nowej płytki OpenMV Cam H7 (OMV4) i rozszerza IDE na Raspberry Pi (Linux ARM). To wydanie pozostaje na bazie Qt Creator 4.0.2 i nie wprowadza żadnych zmian łamiących zgodność dla istniejących projektów.

Najważniejsze zmiany

  • Programowanie przez WiFi. IDE nasłuchuje teraz rozgłoszeń UDP wysyłanych przez kamery OpenMV Cam wyposażone w nakładkę WiFi, wyświetla wykryte kamery (nazwę oraz IP:port) w oknie połączenia i komunikuje się z nimi przez TCP jako alternatywę dla portu szeregowego (69dc7dfbf).

  • Rejestrator wideo z bufora ramki. Nowe przyciski Record/Stop na pasku narzędzi przechwytują strumień obrazu na żywo do pliku ImageWriter formatu OpenMV, pokazując etykietę stanu z upływającym czasem/rozmiarem/FPS (39142ef70, 5aceab31a).

  • Menu Video Tools. Tools > Video Tools dodaje Convert Video File i Play Video File, używając dołączonego ffmpeg/ffplay do transkodowania i odtwarzania filmów oraz przezroczyście konwertując nagrania .bin z ImageWriter najpierw do MJPEG AVI; Play Video File jest dostępne tylko w systemach Windows i macOS, ponieważ ffplay nie jest dołączane dla Linux/Raspberry Pi (d35f8d1ca, 8a99c994f).

  • OpenMV Cam H7 (OMV4). Nowa płytka STM32H743 jest teraz rozpoznawana i dostarczana z własnym dołączonym bootloaderem oraz oprogramowaniem układowym (e14810382).

  • Obsługa Raspberry Pi. Włączono kompilacje IDE dla Linux ARM, udostępniając OpenMV IDE na Raspberry Pi (f551b5f97).

Nowe funkcje

  • Konfiguracja pliku ustawień OpenMV Cam. Tools dodaje okno dialogowe do zapisu ustawień rozruchu/WiFi kamery w pliku main.ini, w tym włączania WiFi, wyboru trybu klienta lub punktu dostępowego, SSID/hasła/typu zabezpieczeń, nazwy płytki oraz opcji Duplicate REPL on the UART on startup przechowywanej w ustawieniach rozruchu w main.ini (69dc7dfbf, 39142ef70).

  • Opcje wiersza poleceń dla terminala sieciowego. Dodano -open_udp_client_terminal, -open_udp_server_terminal, -open_tcp_client_terminal oraz -open_tcp_server_terminal obok istniejącej opcji terminala szeregowego (6362066a8, d75209269).

  • Dodatkowe opcje wiersza poleceń. Udostępniono -update_resources, -open_serial_terminal (port_name:baud_rate), -override_read_timeout oraz -override_read_stall_timeout (061aacf15).

  • Tryb serwera terminala. Połączenia terminala UDP/TCP mogą teraz działać w trybie serwera, wiążąc się z lokalnym portem (port 0 wybiera dowolny) zamiast jedynie łączyć się z hostem na zewnątrz (956e8a2f5).

  • Nowe przykładowe skrypty. Dodano przykłady korekcji obiektywu, korekcji obrotu 3D oraz uśpienia sensora w trybie niskiego poboru mocy, a także przepisano przykład wykrywania segmentów linii do nowego API find_line_segments(merge_distance, max_theta_diff) (061aacf15).

Pozostałe zmiany i usprawnienia

  • Podpowiedzi argumentów funkcji (calltips) oraz podświetlanie składni obejmują teraz poprawnie wiele wierszy, więc wieloliniowe wywołania funkcji zachowują podpowiedzi argumentów i podświetlanie (6535e9fdd, 4638bdd18).

  • Pasek stanu rozdzielczości/ROI terminala raportuje teraz również liczbę pikseli w ROI (956e8a2f5).

  • Okno rejestracji OpenMV Cam pokazuje teraz płytkę/ID oraz adres e-mail wsparcia, a okno postępu Connecting... doradza naciśnięcie Cancel po 5 sekundach (4638bdd18, e14810382).

  • Panel Search Results zmienia teraz styl marginesu z numerami wierszy oraz tekstu wyników, używając jawnych kolorów ciemnego motywu, dzięki czemu są czytelne na tle ciemnego interfejsu (b2599f9ea).

  • Pętle zapisu terminala szeregowego/UDP/TCP oddają teraz krótko procesor między zapisami, aby utrzymać responsywność interfejsu i poprawić przepustowość (c4700e2b0).

  • Pola wartości statystyk histogramu rezerwują teraz stałą minimalną szerokość, więc panel nie zmienia już układu przy zmianie liczb, a przyciski szuflady przełącznika trybów rozciągają się zamiast używać stałej szerokości 160 px (5aceab31a).

  • Wytłumiono fałszywe ostrzeżenie JIT is disabled for QML przy uruchamianiu za pomocą niestandardowego obsługiwacza komunikatów Qt (954220e39).

Poprawki błędów

  • Podpowiedzi dokumentacji i podświetlanie rozpoznają teraz typy wyjątków Pythona (traktowane jak dane), a kilka wpisów dokumentacji modułów/indeksu poprawiono tak, aby wyświetlały się prawidłowo (4638bdd18, 3613a7867, 897b9b0e2, e3e41c56e).

  • Wzmocniono mechanizm sprawdzania aktualizacji pakietów oraz parsowanie rozgłoszeń/rejestracji kamer poprzez zakotwiczone, przycięte wyrażenia regularne i ściślejsze dopasowywanie odpowiedzi HTML, aby uniknąć fałszywych dopasowań (461af1148, 4638bdd18).

  • Poprawiono identyfikator płytki OpenMV Cam M4 (OpenMV2) używany do wykrywania API starego oprogramowania układowego z OMV2 na OPENMV2 (449024fe8).

  • Wzmocniono operacje wejścia/wyjścia kamery oraz transkoder wideo na wypadek uszkodzonych/nadmiernie dużych danych ramki dzięki ściślejszej kontroli granic szerokości/wysokości/bpp/czasu trwania, a także uniknięto dzielenia przez zero przy obliczaniu FPS wideo (08248f208, d0cbc27e5).

  • Narzędzia konwersji/odtwarzania wideo działają teraz na macOS, w wersji 32-bitowej oraz na Linux-ARM dzięki uruchamianiu ffmpeg/ffplay za pomocą wygenerowanego skryptu powłoki lub opakowania cmd.exe oraz dołączeniu binariów ffmpeg dla Linuksa (b9644e859, 9f0520bbe, 35eb69bce, c4700e2b0).

Obsługa platform i narzędzi

  • Baza Qt Creator: 4.0.2.

  • OpenMV Cam H7 (OMV4, STM32H743): rozpoznano nową płytkę z własnym dołączonym bootloaderem i oprogramowaniem układowym (e14810382).

  • Dołączone oprogramowanie układowe OpenMV: podniesiono do 2.6.0 dla OPENMV2/OPENMV3/OPENMV4 (e14810382).

  • Dołączone ffmpeg/ffplay: dodano statyczne kompilacje ffmpeg 3.3.3 dla Windows, macOS, Linux x86, Linux x86_64 oraz Linux ARM (Raspberry Pi); ffplay jest dołączane tylko dla Windows i macOS (2193d7923, af92ad59e).

  • Raspberry Pi (Linux ARM): włączono kompilacje poprzez wyłączenie HelpManager pomocy offline i przełączenie pakowania bindist na format tar.gz (f551b5f97).

Zmiany łamiące zgodność

Brak. To wydanie pozostaje na bazie Qt Creator 4.0.2, a istniejące projekty i przepływy pracy nie są zmieniane.