1.12. 閃光燈控制參考¶
V4L2 閃光燈控制旨在提供對閃光燈控制器裝置的通用訪問。閃光燈控制器裝置通常用於數碼相機中。
該介面可以同時支援 LED 和氙氣閃光燈裝置。在撰寫本文時,尚未使用此介面的氙氣閃光燈驅動程式。
1.12.1. 支援的用例¶
1.12.1.1. 非同步 LED 閃光燈(軟體閃光)¶
非同步 LED 閃光燈由主機直接控制,如同感測器一樣。主機必須在影像曝光開始之前啟用閃光燈,並在曝光結束後停用閃光燈。主機完全負責閃光燈的計時。
此類裝置的示例:Nokia N900。
1.12.1.2. 同步 LED 閃光燈(硬體閃光)¶
同步 LED 閃光燈由主機預先程式設計(功率和超時),但由感測器透過從感測器到閃光燈的閃光訊號控制。
感測器控制閃光燈的持續時間和計時。通常必須將此資訊提供給感測器。
1.12.1.3. LED 閃光燈作為手電筒¶
LED 閃光燈可以與涉及相機的其他用例結合使用,也可以單獨用作手電筒。
1.12.1.4. 閃光燈控制 ID¶
V4L2_CID_FLASH_CLASS (class)FLASH 類描述符。
V4L2_CID_FLASH_LED_MODE (menu)定義閃光燈 LED 的模式,即連線到閃光燈控制器的高功率白色 LED。在存在某些故障時,可能無法設定此控制。請參閱 V4L2_CID_FLASH_FAULT。
|
關閉。 |
|
閃光燈模式。 |
|
手電筒模式。 請參閱 V4L2_CID_FLASH_TORCH_INTENSITY。 |
V4L2_CID_FLASH_STROBE_SOURCE (menu)定義閃光燈 LED 閃光的來源。
|
閃光燈閃光透過使用 V4L2_CID_FLASH_STROBE 控制來觸發。 |
|
閃光燈閃光由外部來源觸發。通常這是一個感測器,這使得可以將閃光燈閃光的開始與曝光開始同步。 |
V4L2_CID_FLASH_STROBE (button)閃光燈閃光。當 V4L2_CID_FLASH_LED_MODE 設定為 V4L2_FLASH_LED_MODE_FLASH 且 V4L2_CID_FLASH_STROBE_SOURCE 設定為 V4L2_FLASH_STROBE_SOURCE_SOFTWARE 時有效。在存在某些故障時,可能無法設定此控制。請參閱 V4L2_CID_FLASH_FAULT。
V4L2_CID_FLASH_STROBE_STOP (button)立即停止閃光燈閃光。
V4L2_CID_FLASH_STROBE_STATUS (boolean)閃光燈狀態:閃光燈當前是否閃光。這是一個只讀控制。
V4L2_CID_FLASH_TIMEOUT (integer)閃光燈的硬體超時。從閃光燈開始後經過這段時間後,閃光燈閃光將停止。
V4L2_CID_FLASH_INTENSITY (integer)當閃光燈 LED 處於閃光燈模式 (V4L2_FLASH_LED_MODE_FLASH) 時,閃光燈閃光的強度。如果可能,單位應為毫安 (mA)。
V4L2_CID_FLASH_TORCH_INTENSITY (integer)閃光燈 LED 在手電筒模式 (V4L2_FLASH_LED_MODE_TORCH) 下的強度。如果可能,單位應為毫安 (mA)。在存在某些故障時,可能無法設定此控制。請參閱 V4L2_CID_FLASH_FAULT。
V4L2_CID_FLASH_INDICATOR_INTENSITY (integer)指示器 LED 的強度。指示器 LED 可能完全獨立於閃光燈 LED。如果可能,單位應為微安 (uA)。
V4L2_CID_FLASH_FAULT (bitmask)與閃光燈相關的故障。這些故障說明了閃光燈晶片本身或連線到閃光燈晶片的 LED 中的特定問題。故障可能會阻止進一步使用某些閃光燈控制元件。特別是,如果故障影響閃光燈 LED,則 V4L2_CID_FLASH_LED_MODE 將設定為 V4L2_FLASH_LED_MODE_NONE。哪些故障具有這種影響取決於晶片。讀取故障會重置控制元件,並在可能的情況下使晶片恢復到可用狀態。
|
到閃光燈 LED 的閃光燈控制器電壓已超過閃光燈控制器特定的限制。 |
|
當用戶設定的超時(V4L2_CID_FLASH_TIMEOUT 控制)已過期時,閃光燈閃光仍然開啟。並非所有閃光燈控制器都可能在所有此類條件下設定此標誌。 |
|
閃光燈控制器已過熱。 |
|
閃光燈控制器的短路保護已被觸發。 |
|
LED 電源中的電流已超過閃光燈控制器特定的限制。 |
|
閃光燈控制器已檢測到指示器 LED 上的短路或開路情況。 |
|
到閃光燈 LED 的閃光燈控制器電壓已低於閃光燈控制器特定的最低限制。 |
|
閃光燈控制器的輸入電壓低於在全電流下閃光將不可能的限制。這種情況將持續存在,直到不再設定此標誌。 |
|
LED 的溫度已超過其允許的上限。 |
V4L2_CID_FLASH_CHARGE (boolean)啟用或停用氙氣閃光燈電容器的充電。
V4L2_CID_FLASH_READY (boolean)閃光燈是否已準備好閃光?氙氣閃光燈需要在閃光之前對其電容器進行充電。LED 閃光燈通常需要在閃光之後經過一段冷卻時間,在此期間無法進行另一次閃光。這是一個只讀控制。