13.1.7. 窗格檢視#

影格緩衝區檢視器下方的窗格所顯示的不只是直方圖。其標題列左側的選擇器可在五種檢視之間切換,每一種都是對準所連接相機的不同儀器:

  • Histogram——目前影格的像素統計資料,在 專屬頁面 中說明。

  • Board Info——所連接的相機是什麼。

  • Memory——指令碼正在使用多少 RAM,即時顯示。

  • Channels——指令碼發布的數值與控制項,在 專屬頁面 中說明。

  • Statistics——IDE 與相機之間的連結正在做什麼。

這個選擇會跨工作階段記住。只有正在顯示的檢視會進行工作:切換離開直方圖後,其計算便會停止直到你切換回來,因此將窗格停留在 Memory 或 Channels 不會對預覽造成任何負擔。每種檢視在無法顯示任何內容時都會自行說明——沒有連接相機,或相機的韌體不回報該資料——而 Board Info、Memory 與 Statistics 檢視需要執行 v2 除錯協定的相機(韌體 5.0.0 或更新版本)。

13.1.7.1. Board Info#

Board Info 是相機的身分證:開發板類型與所連接的感測器、序列埠、韌體、協定與開機載入程式版本、CPU 與裝置 id、USB 供應商與產品 id、串流緩衝區、影格緩衝區、快閃記憶體與 RAM 的大小,以及一列是/否的功能——GPU、NPU、ISP、影片編碼器、JPEG 編解碼器、DRAM、CRC、效能計數器、profiler 支援、Wi-Fi、藍牙、SD 卡、乙太網路、高速 USB 與多核心。當支援問題以「這到底是哪塊開發板」開頭時,這是第一個該看的地方,而且文字可以選取,所以你可以把全部內容複製到錯誤回報中。

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

搭載熱感測器的 OpenMV N6 的 Board Info。#

13.1.7.2. Memory#

Memory 會在指令碼執行時繪製相機的記憶體使用情形:MicroPython 垃圾回收堆積一張圖,韌體的每個記憶體池各一張圖,每張圖下方都有已用/總量、可用與峰值數字,以及一條標示自連線以來最高用量的線。圖表會隨時間捲動,因此堆積正常的鋸齒狀——配置量持續攀升直到垃圾回收器執行——一眼就能看出,緩慢的洩漏會呈現為階梯狀,而影格大小的配置則會在每次迴圈出現一個尖峰。記憶體池也會回報 Persist,即影格緩衝區等長期配置所持有的記憶體,有別於指令碼反覆使用的部分。

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

Memory 檢視:堆積的鋸齒狀與一個記憶體池,連同其數字。#

13.1.7.3. Statistics#

Statistics 是除錯協定本身的儀表板。Device 與 Host 區段分別計算兩端送出與接收的封包、總和檢查碼與序號錯誤、重傳與傳輸錯誤,而兩者之間的 Channels 表格則列出相機註冊的每個通道及其事件計數與事件速率。它是連線異常時的診斷檢視:停滯的串流、在長纜線上掉影格的相機,或發布太快以致連結跟不上的指令碼——計數器會顯示哪一端在丟失以及嚴重程度。

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

Statistics 檢視:兩端的協定計數器與各通道的事件速率。#