v1.1.0

v1.1.0 sprawia, że OpenMV IDE jest świadome oprogramowania układowego: zbudowane na Qt Creator 4.0.2, teraz wykrywa nieaktualną kamerę OpenMV Cam przy połączeniu i automatycznie aktualizuje jej oprogramowanie układowe przez szeregowy bootloader, dodaje obsługę nowej kamery OpenMV Cam z rdzeniem Cortex-M7 oraz zamienia panel General Messages w pełnoprawny Serial Terminal. To wydanie zmienia kilka domyślnych zachowań (automatyczną aktualizację oprogramowania układowego i filtry plików Python), o których użytkownicy powinni wiedzieć; zobacz Zmiany łamiące zgodność poniżej.

Najważniejsze elementy

  • Automatyczna aktualizacja oprogramowania układowego — przy połączeniu IDE wykrywa nieaktualną kamerę OpenMV Cam i wgrywa dołączone oprogramowanie układowe przez szeregowy bootloader, z opcją skasowania także wewnętrznego systemu plików.

  • Obsługa OpenMV Cam Cortex-M7 — nowa płytka oparta na STM32F769 (OMV7) jest obsługiwana obok istniejącej płytki Cortex-M4 (OMV2), z oprogramowaniem układowym dla każdej płytki i automatycznym wykrywaniem.

  • Odzyskiwanie z cegły (unbrick) — jeśli nie znaleziono kamery, IDE może wymusić wgranie pasującego oprogramowania układowego do uszkodzonej kamery po jej ponownym podłączeniu.

  • Serial Terminal — panel General Messages jest teraz Serial Terminal w ciemnym motywie ze 100000-wierszowym buforem przewijania, który pojawia się przy pojawieniu się wyjścia.

  • Nieblokujące łączenie/rozłączanie — łączenie, ponowne łączenie i zamykanie działają teraz asynchronicznie z oknami postępu, dzięki czemu IDE już się nie zawiesza.

  • Podgląd binarny i w skali szarości na żywo — podgląd bufora ramki renderuje obrazy 1-bitowe i w skali szarości obok RGB565 i JPEG.

Nowe funkcje

  • Automatyczna aktualizacja oprogramowania układowego. Gdy podłączona kamera OpenMV Cam zgłasza wersję oprogramowania układowego starszą niż dołączony firmware.txt, IDE uruchamia bootloader, kasuje sektory pamięci flash, programuje firmware.bin w częściach z oknami postępu i resetuje kamerę. Użytkownik może opcjonalnie skasować wewnętrzny system plików w ramach aktualizacji. (a175bff39, 50375ee95, 502177f3c, a871bfb48, 30eb9e0dc, 552803018, 889bc38fb, 047581ed5)

  • Ścieżka odzyskiwania z cegły (unbrick). Jeśli nie znaleziono żadnej kamery OpenMV Cam, IDE pyta, czy podłączona jest uszkodzona kamera, pozwala wybrać typ płytki i wymusza wgranie pasującego oprogramowania układowego po ponownym podłączeniu urządzenia. (a175bff39, 30eb9e0dc)

  • Akcje zapisu skryptu i resetu. Nowe pozycje menu Tools zapisują bieżący skrypt na dysku flash kamery OpenMV Cam (Save script to OpenMV Cam) i resetują kamerę (Reset OpenMV Cam); Stop zyskał także skrót klawiszowy Ctrl+T. (9fc3dfa5a, a175bff39, 889bc38fb)

  • Powiadomienie o aktualizacji i lokalna dokumentacja. IDE sprawdza przy uruchomieniu witrynę openmv.io pod kątem nowszej wersji IDE i wyświetla powiadomienie o pobraniu. Akcja Docs w menu Help otwiera teraz dołączoną lokalnie dokumentację HTML (html/index.html), a akcja pinout otwiera dołączony obraz pinoutu (html/_images/pinout.png) zamiast witryny internetowej. (a175bff39, 50375ee95)

  • Binarny bufor ramki i skala szarości. Podgląd bufora ramki renderuje teraz obrazy binarne (1-bitowe) i w skali szarości obok RGB565 i JPEG, a bufor ramki można włączać i wyłączać na żywo z paska narzędzi; starszy przycisk kompresji JPEG na pasku narzędzi został ukryty na rzecz tego przełącznika włącz/wyłącz. (a175bff39)

  • Nowe i zaktualizowane przykłady. Dodano przykład podkręcania CPU (do 216MHz), ulepszony wieloklientowy streamer MJPEG przez WiFi, test FPS oraz test pasków kolorów dostosowujący się do sensora OV7725. (a175bff39, 32dc31962, 502177f3c)

Pozostałe zmiany i ulepszenia

  • Serial Terminal. Panel General Messages został przekształcony w Serial Terminal z ciemnym tłem, podwyższonym priorytetem na pasku stanu, 100000-wierszowym buforem przewijania i bez zawijania wierszy. Pojawia się i miga, gdy kamera wypisuje wyjście. (9fc3dfa5a)

  • Nieblokujące łączenie i rozłączanie. Łączenie i rozłączanie zostały przerobione tak, aby były nieblokujące, z oknami postępu i czystym asynchronicznym zamykaniem, dzięki czemu IDE nie zawiesza się już, gdy kamera jest zajęta, i zamiast tego wyświetla Busy... please wait.... (502177f3c, a175bff39, 6275d8855, 234f76389)

  • Wygładzony odczyt FPS. Odczyt FPS jest teraz wygładzoną średnią bieżącą z kilku ostatnich ramek zamiast wartości chwilowej, z podpowiedzią informującą, że może różnić się od FPS kamery. (a175bff39, 889bc38fb)

  • Dopracowanie ciemnego motywu. Ciemny motyw zyskał niestandardowo stylizowane paski przewijania ze strzałkami w edytorach i panelach, podświetlanie wyników wyszukiwania i zakresu w ciemnym motywie w stylu Inkpot oraz biały tekst na pasku narzędzi Find. (9fc3dfa5a, 94d8c41f1, 9d8683355)

  • Domyślne ustawienia plików zorientowane na Python. Find in Files ustawia teraz domyślnie filtr plików na *.py, a okno otwierania plików pokazuje wszystkie pliki, co odpowiada programowaniu w MicroPython, a nie w C++. (94d8c41f1, a175bff39)

Poprawki błędów

  • Ulepszono obsługę portów szeregowych w systemie macOS (filtrowanie do nazw portów zawierających cu) i Linux (jaśniejsze wskazówki dotyczące braku uprawnień sugerujące sudo adduser <user> dialout), wyciszono ostrzeżenie SSL, ustawiono okna bootloadera jako modalne dla aplikacji oraz dostosowano czasy i limity czasu bootloadera dla niezawodności. (a175bff39, 552803018, a871bfb48, 30eb9e0dc)

  • IDE otwiera teraz automatycznie przykład helloworld.py, gdy przy uruchomieniu nie jest otwarty żaden dokument, oraz niezawodnie zamyka ekran powitalny, naprawiając problemy ze stanem okna edycji i uruchamiania. (a175bff39, 9d8683355, 502177f3c)

Obsługa platform i narzędzi

  • Baza Qt Creator: 4.0.2.

  • Wersja OpenMV IDE: podniesiona z 1.0.0 do 1.1.0. (50375ee95)

  • Nowa płytka: OpenMV Cam Cortex-M7 (STM32F769, OMV7) jest teraz obsługiwana obok OpenMV Cam Cortex-M4 (STM32F427, OMV2), z katalogami oprogramowania układowego dla każdej płytki i automatycznym wykrywaniem łańcucha płytki przez boards.txt. (a175bff39)

  • Dołączone oprogramowanie układowe: zaktualizowane do 1.7.0, a następnie do 1.8.0 dla płytek OMV2 i OMV7; minimalna/zgodna wersja oprogramowania układowego bootloadera to 1.6.0. (502177f3c, 32dc31962, a175bff39)

  • Sterowniki USB dla Windows: dołączono cyfrowo podpisane pliki sterowników USB dla Windows (openmv i pybcdc .inf/.cat) oraz spakowano katalog sterowników wraz z IDE. (047581ed5)

Zmiany łamiące zgodność

Widoczne dla użytkownika zmiany przepływu pracy i zachowania w v1.1.0:

  • Automatyczna aktualizacja oprogramowania układowego przy połączeniu. Gdy oprogramowanie układowe podłączonej kamery OpenMV Cam jest starsze niż wersja dołączonego firmware.txt, IDE prosi o aktualizację (i opcjonalnie skasowanie wewnętrznego systemu plików) przed kontynuacją. Anulowanie podczas etapu kasowania lub programowania może pozostawić kamerę jako cegłę, dopóki nie zostanie ponownie podłączona i ponownie wgrana.

  • Zmienione domyślne ustawienia plików. Domyślny filtr plików Find in Files zmienił się z *.cpp,*.h na *.py, a okno otwierania plików pokazuje teraz wszystkie pliki zamiast filtrów dla poszczególnych typów MIME.