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 闪光灯通常需要在闪光之后经过一段冷却时间,在此期间无法进行另一次闪光。这是一个只读控制。