13.1.3. Podłączanie kamery

Każda sesja zaczyna się od przycisku połączenia – ikony wtyczki na dole lewego paska narzędzi lub skrótu Ctrl+E. Kliknij go, a IDE przeskanuje porty szeregowe USB w poszukiwaniu kamer i połączy się z tą, którą znajdzie. Przy więcej niż jednej podłączonej kamerze pojawi się okno dialogowe z pytaniem, którego portu szeregowego użyć, z wstępnie zaznaczonym poprzednim wyborem; przy braku kamer IDE poinformuje o tym i zaproponuje ścieżkę odzyskiwania dla kamery, która nie jest już wykrywana (zobacz Aktualizacje i odzyskiwanie oprogramowania układowego).

13.1.3.1. Co dzieje się podczas łączenia

Łączenie to coś więcej niż otwarcie portu szeregowego. IDE identyfikuje płytkę, odczytuje wersję jej oprogramowania układowego i porównuje ją z wydaniem dołączonym do IDE. Jeśli oprogramowanie układowe kamery jest starsze, pojawia się monit z propozycją jego aktualizacji – to właśnie tym monitem kamery zwykle otrzymują aktualizacje oprogramowania układowego. Okno aktualizacji ma pola wyboru pozwalające także wyczyścić wewnętrzny system plików flash oraz zresetować system plików ROM; oba są domyślnie wyłączone i zapamiętują twój ostatni wybór, a żaden z nich nie jest zwykle potrzebny do aktualizacji. Po pierwszym udanym połączeniu IDE wyświetla również jednorazowe okno dialogowe wyjaśniające, co oznaczają kolory migania diody LED kamery.

Kamera podłączona w trybie bootloadera (DFU), a nie jako zwykłe urządzenie szeregowe, otrzymuje podczas łączenia własne okno dialogowe z opcjami zainstalowania najnowszego oprogramowania układowego wydania, wczytania konkretnego pliku oprogramowania układowego, wyczyszczenia wewnętrznego systemu plików flash lub edycji albo zresetowania systemu plików ROM.

IDE zgłasza też osobliwości danej platformy. W systemie Windows podczas łączenia sprawdza systemową listę urządzeń i raportuje wszelkie znalezione problemy ze sterownikami USB, wskazując zaangażowane urządzenia. W systemie Linux błąd uprawnień przy otwieraniu portu szeregowego niemal zawsze oznacza, że twój użytkownik nie należy do grupy dialout – okno błędu pokazuje dokładne polecenie adduser, które to naprawia.

13.1.3.2. Pasek stanu

Po połączeniu pasek stanu wzdłuż dolnej prawej części okna staje się pulpitem informacyjnym kamery:

  • Board – typ płytki zgłoszony przez kamerę.

  • Sensor – podłączony moduł sensora kamery.

  • Firmware Version – działająca wersja oprogramowania układowego. Kliknij ją, aby ponownie sprawdzić wersję względem dołączonego wydania i zaktualizować, jeśli dostępna jest nowsza.

  • Serial Port – port używany przez połączenie.

  • Drive – punkt montowania dysku flash powiązany z kamerą. Kliknij go, aby otworzyć dysk w menedżerze plików; gdy podłączonych jest kilka dysków kandydujących, IDE pyta, który należy do kamery, i zapamiętuje odpowiedź dla danego portu szeregowego. Kamera łączy się i uruchamia skrypty bez problemu nawet bez powiązanego dysku – tylko akcje zależne od dysku, takie jak otwieranie folderu dysku i zapisywanie skryptu jako main.py, pozostają nieaktywne, dopóki nie zostanie on ustawiony.

  • FPS – tempo, w jakim ramki docierają do IDE. To tempo podglądu, niekoniecznie tempo przechwytywania kamery – skrypt może działać szybciej, niż łącze USB jest w stanie strumieniować jego ramki.

Rozłączanie jest wyrozumiałe. Kliknięcie rozłączenia to schludny sposób na zakończenie, ale odłączenie kabla również działa – IDE zauważa, że kamera zniknęła (lub przestała odpowiadać) i rozłącza się samo.

13.1.3.3. Automatyczne ponowne łączenie

Tools → Auto Reconnect to OpenMV Cam sprawia, że połączenie jest w pełni automatyczne: ilekroć kamera pojawi się na USB, IDE łączy się z nią, a ręczne przyciski łączenia i rozłączania są nieaktywne, gdy ta opcja jest włączona. Przy jednej kamerze i jednym IDE jest to wygodny tryb – podłącz kamerę, a będzie połączona. Wyłącz go, gdy żonglujesz kilkoma kamerami lub współdzielisz port z innym programem.

Powiązana opcja Tools → Stop Script on Connect/Disconnect (domyślnie włączona) zatrzymuje każdy działający skrypt, gdy IDE się podłącza lub odłącza, dzięki czemu świeżo podłączona kamera jest zawsze w znanym stanie bezczynności. Wyłącz ją, aby pozwolić kamerze nadal wykonywać zapisany skrypt, podczas gdy IDE łączy się, by go obserwować.