v2.8.1

v2.8.1 wprowadza pełną obsługę płytek Arduino w OpenMV IDE, dodając ładowanie oprogramowania układowego dla płytek Arduino Nano RP2040 Connect i Nano 33 BLE wraz z edytorem zakładkowym i miniaturową mapą kodu. Wydanie pozostaje na bazie Qt Creator 4.0.2 i dołącza nowe oprogramowanie układowe OpenMV 4.1.0. Wprowadza ono zmiany łamiące zgodność: automatyczne wcięcia są teraz domyślnie wyłączone, a połączone obrazy oprogramowania układowego openmv.bin / openmv.dfu zostały usunięte dla płytek OPENMV2/3/4/4P, OPENMVPT oraz PORTENTA, co stanowi zmianę przepływu pracy i zachowania dla wszystkich, którzy polegali na tych ustawieniach domyślnych lub nazwach plików.

Najważniejsze zmiany

  • Ładowanie oprogramowania układowego płytek Arduino dla Nano RP2040 Connect i Nano 33 BLE, programowanych za pomocą nowo dołączonych zestawów narzędzi bossac (SAM-BA) oraz picotool/elf2uf2/rp2040load.

  • Edytor zakładkowy, dzięki któremu otwarte pliki pojawiają się jako przełączalne zakładki na górze edytora, ze skrótami do przełączania i zmiany kolejności zakładek.

  • Pasek przewijania z miniaturową mapą kodu, który renderuje pomniejszony podgląd dokumentu, wraz ze stroną ustawień Edytora tekstu umożliwiającą jego włączenie i ustawienie szerokości.

  • Nowe przykłady Arduino i Portenta, w tym pełny zestaw przykładów dla Nano RP2040 Connect oraz dziesięć skryptów WiFi dla Portenta-H7.

  • Dołączone oprogramowanie układowe zaktualizowane do 4.1.0 dla wszystkich kamer OpenMV oraz obrazów Arduino Nano 33 / Nano RP2040.

  • Sterowniki USB dla systemu Windows dla Arduino Nano RP2040 Connect i Portenta H7 są teraz instalowane przez instalator.

Nowe funkcje

  • Obsługa płytek Arduino: dodano pełną obsługę ładowania oprogramowania układowego dla płytek Arduino Nano RP2040 Connect i Nano 33 BLE, programując je za pomocą dołączonych zestawów narzędzi bossac (SAM-BA) oraz picotool/elf2uf2/rp2040load sterowanych nowymi deskryptorami bossac.txt/boards.txt (oraz istniejącym picotool.txt) (deccee676, 34e0c0ee1, ef5334782, eb9c00a33).

  • Edytor zakładkowy: dodano wtyczkę paska zakładek edytora, dzięki której otwarte pliki pojawiają się jako przełączalne zakładki na górze edytora, ze skrótami dla poprzedniej/następnej zakładki (Ctrl+Page Down / Ctrl+Page Up) (325cd8d87, 5501a4082).

  • Miniaturowa mapa kodu: dodano wtyczkę paska przewijania z miniaturową mapą kodu wraz ze stroną ustawień Edytora tekstu (przełącznik włączania, szerokość, próg liczby wierszy oraz przezroczystość suwaka paska przewijania), która renderuje pomniejszony podgląd dokumentu na pasku przewijania (325cd8d87).

  • Przykłady WiFi dla Portenta-H7: dodano dziesięć przykładowych skryptów WiFi (connect, scan, statyczne IP, DNS, NTP, klient HTTP, klient HTTP-SSL, streamer MJPEG, publikacja/subskrypcja MQTT) (b2133f9f5).

Pozostałe zmiany i usprawnienia

  • Zmiana kolejności zakładek: dodano skróty do przesuwania bieżącej zakładki w lewo lub w prawo (Ctrl+Shift+Page Down / Ctrl+Shift+Page Up) oraz wyłączono kolidujące domyślne przypisania edytora Ctrl+PgUp/Ctrl+PgDown/Ctrl+Up/ Ctrl+Down, aby skróty paska zakładek działały (5501a4082).

  • Przykłady Nano RP2040 Connect: dołączono kompletny zestaw przykładowych szkiców Python obejmujący podstawy, sensor IMU, BLE, WiFi, audio FFT oraz kamerę termowizyjną (91847b183).

  • Monity połączenia Arduino: dodano dwa nowe okna dialogowe przepływu połączenia: wskazówkę odzyskiwania instruującą użytkowników, aby zewrzeć REC do GND i zresetować płytkę, gdy wykryto stary USB PID Arduino RP2040, oraz informację, że Nano 33 BLE nie ma wbudowanego dysku flash danych, gdy zażądano wymazania systemu plików flash (91847b183).

  • Dodatkowe przykłady Arduino i Portenta: dodano nowe przykłady Python dla Arduino Nano 33 BLE Sense (blinky), temperatury BLE Portenta H7, ulepszone sterowanie PWM Portenta H7, zaktualizowany skrypt peer-to-peer Ethernet Portenta H7 oraz zaktualizowany przykład filtra ulab (45a4564f4), a także przykład testu kabla Ethernet Portenta H7 (af1b2fcff).

  • Przykład OpenMV WiFi-Shield: dodano nowy przykład HTTP POST http_post.py w katalogu 14-WiFi-Shield (c73d9fdcf).

  • Limity czasu odczytu WiFi: rozdzielono limity czasu odczytu, tak aby połączenia WiFi otrzymywały dłuższy limit czasu zawieszenia (3000 ms zamiast 1000 ms dla portu szeregowego) oraz ponownie wysyłano oczekujące polecenie po zawieszeniu WiFi zamiast zwracać błąd (81f00ac58).

  • Uproszczony interfejs edytora: ukryto przyciski podziału i zamykania podziału na pasku narzędzi edytora oraz wymuszono automatyczne skalowanie high-DPI w systemie Linux, aby zachować spójny układ edytora (bc14a2290).

  • Dokumentacja offline: odświeżono dołączoną dokumentację offline, dodając obrazy rozkładu wyprowadzeń kamery dla poszczególnych sensorów (H7 OV7725, H7 Plus OV5640, warianty M4/M7) oraz aktualizując strony przeglądu IDE i samouczka (97ff73ebd).

Poprawki błędów

  • Naprawiono przesunięcie wymazywania pamięci flash RP2040 (PICO) używane podczas programowania oprogramowania układowego, tak aby wymazywany był prawidłowy obszar pamięci flash (91847b183).

  • Nadano dołączonym plikom binarnym bossac i picotool dla systemów Linux/macOS uprawnienia wykonywalne, aby ładowanie oprogramowania układowego działało na tych platformach, oraz zabezpieczono renderer mapy kodu, tak aby działał tylko na Qt >= 5.6 (76613152f).

  • Naprawiono monit aktualizacji oprogramowania układowego, tak aby honorował przyciski okna dialogowego (sprawdzając QDialog::Accepted), oraz sprawiono, że obsługa zawieszenia transferu szeregowego/TCP restartuje swoje liczniki czasu po nadejściu nowych danych, dzięki czemu długie transfery nie kończą się już fałszywie przekroczeniem limitu czasu (dd4ce12a5).

Obsługa platform i narzędzi

  • Baza Qt Creator: 4.0.2.

  • Dołączone oprogramowanie układowe: zaktualizowano dołączone oprogramowanie układowe OpenMV do wydania 4.1.0 (firmware.txt: 4.0.2 -> 4.1.0) (b78603045); wcześniej w cyklu ten sam plik przeszedł przez pośrednie wersje 4.0.1 i 4.0.2 (beec4d25b, eb9c00a33).

  • Nowe zestawy narzędzi do flashowania: dołączono bossac oraz zestaw narzędzi picotool/elf2uf2/rp2040load dla wszystkich platform (windows/osx/linux32/linux64/arm/aarch64).

  • Sterowniki USB dla systemu Windows: dodano instalację podpisanych sterowników dla płytek Arduino Nano RP2040 Connect i Portenta H7, uruchamianą przez instalator (bc14a2290, a8ae96e1b).

  • Nowe rozpoznawane sensory: dodano sensor obrazu PAJ6100 (914546e78) oraz sensory kamer GC2145 (0x21) i MT9M114 do dołączonej tabeli sensorów share/qtcreator/firmware/sensors.txt (9a8b1c762); identyfikator MT9M114 początkowo wynosił 0x81, a później został poprawiony na 0x2481 (eb9c00a33).

Zmiany łamiące zgodność

Widoczne dla użytkownika zmiany przepływu pracy i zachowania w tym wydaniu.

  • Automatyczne wcięcia są teraz domyślnie wyłączone. Domyślne automatyczne wcięcia edytora zostały przełączone na wyłączone (i wymuszone wyłączenie przy ładowaniu), a klawisz Tab nie wykonuje już wcięć; elementy sterujące Auto indent oraz Tab key performs auto-indent zostały usunięte ze strony ustawień Text Editor > Behavior, więc pisanie nie wcina już automatycznie nowych wierszy, chyba że zostanie to zmienione w oprogramowaniu układowym/kodzie źródłowym (bc14a2290).

  • Połączone obrazy oprogramowania układowego openmv.bin / openmv.dfu (tylko openmv.bin dla OPENMVPT, który nigdy nie był dostarczany z openmv.dfu) zostały usunięte dla płytek OPENMV2/3/4/4P, OPENMVPT oraz PORTENTA; pozostają jedynie oddzielne obrazy bootloader/firmware/uvc (84cd4cd2d).

  • Przykłady vsync_gpio_output (zarówno w zestawach przykładów 02-Board-Control dla OpenMV, jak i Arduino/Portenta-H7) wymagają teraz nowego API set_vsync_callback oprogramowania układowego zamiast set_vsync_output, a wywołanie zwrotne przełącza teraz LED_BLUE zamiast diody IR (f13453bdc).