13.1.7. Widoki panelu#

Panel pod podglądem bufora ramki pokazuje więcej niż histogram. Selektor po lewej stronie jego paska tytułu przełącza go między pięcioma widokami, z których każdy jest innym instrumentem skierowanym na podłączoną kamerę:

  • Histogram – statystyki pikseli bieżącej ramki, opisane na osobnej stronie.

  • Informacje o płytce – czym jest podłączona kamera.

  • Pamięć – ile swojej pamięci RAM skrypt używa, na żywo.

  • Kanały – wartości i elementy sterujące publikowane przez skrypt, opisane na osobnej stronie.

  • Statystyki – co robi łącze między IDE a kamerą.

Wybór jest zapamiętywany między sesjami. Pracę wykonuje tylko widok, który jest pokazywany: przełącz się z histogramu, a jego obliczenia zatrzymają się, dopóki nie wrócisz, więc pozostawienie panelu na Pamięć lub Kanały nic nie kosztuje podglądu. Każdy widok wyjaśnia się sam, gdy nie może nic pokazać – brak podłączonej kamery lub kamera, której oprogramowanie układowe nie raportuje danych – a widoki Informacje o płytce, Pamięć i Statystyki wymagają kamery z protokołem debugowania v2 (oprogramowanie układowe 5.0.0 lub nowsze).

13.1.7.1. Informacje o płytce#

Informacje o płytce to dowód tożsamości kamery: typ płytki i podłączony czujnik, port szeregowy, wersje oprogramowania układowego, protokołu i bootloadera, identyfikatory CPU i urządzenia, identyfikatory dostawcy i produktu USB, rozmiary bufora strumienia, bufora ramki, pamięci flash i RAM oraz rząd możliwości tak / nie – GPU, NPU, ISP, koder wideo, kodek JPEG, DRAM, CRC, liczniki wydajności, obsługa profilera, Wi-Fi, Bluetooth, karta SD, Ethernet, szybkie USB i wiele rdzeni. To pierwsze miejsce, w które warto zajrzeć, gdy pytanie do pomocy technicznej zaczyna się od „która to dokładnie płytka”, a tekst można zaznaczyć, więc całość da się skopiować do zgłoszenia błędu.

The Board Info view listing an OpenMV N6 with a Lepton sensor: board, sensor, port, firmware, protocol and bootloader versions, CPU and device ids, USB id, buffer sizes, and the yes / no capability rows

Informacje o płytce dla OpenMV N6 z czujnikiem termowizyjnym.#

13.1.7.2. Pamięć#

Pamięć wykreśla użycie pamięci kamery podczas działania skryptu: jeden wykres dla sterty MicroPython z odśmiecaniem i po jednym dla każdej puli pamięci oprogramowania układowego, każdy z wartościami użyte / całkowite, wolne i szczyt pod spodem oraz linią oznaczającą najwyższe użycie od momentu połączenia. Wykresy przewijają się w czasie, więc typowy przebieg piłokształtny sterty – alokacje rosnące, aż uruchomi się odśmiecacz – jest widoczny na pierwszy rzut oka, powolny wyciek pokazuje się jako schodki, a alokacja wielkości ramki jako skok w każdym obiegu pętli. Pule raportują też Trwałe, czyli pamięć zajętą przez długowieczne alokacje, takie jak bufory ramki, w odróżnieniu od tego, co skrypt zużywa na bieżąco.

The Memory view with the GC heap graph showing a sawtooth of allocations and collections, and a memory pool graph below, each with used / total, free, persist, and peak figures

Widok Pamięć: przebieg piłokształtny sterty i pula pamięci, z ich wartościami.#

13.1.7.3. Statystyki#

Statystyki to pulpit samego protokołu debugowania. Sekcje Urządzenie i Host zliczają pakiety wysłane i odebrane po każdej stronie, błędy sum kontrolnych i sekwencji, retransmisje oraz błędy transportu, a tabela Kanały między nimi wymienia każdy kanał zarejestrowany przez kamerę z liczbą i częstością jego zdarzeń. To widok diagnostyczny dla połączenia, które nie działa poprawnie: strumienia, który się zatrzymuje, kamery gubiącej ramki na długim kablu lub skryptu publikującego tak szybko, że łącze nie nadąża – liczniki pokazują, która strona traci i jak bardzo.

The Statistics view with the device counters, the per-channel event table, and the host counters stacked in the pane

Widok Statystyki: liczniki protokołu dla każdej strony i częstości zdarzeń poszczególnych kanałów.#