1sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget;/translations/zh_CN/userspace-api/media/v4l/ext-ctrls-flashmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/zh_TW/userspace-api/media/v4l/ext-ctrls-flashmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/it_IT/userspace-api/media/v4l/ext-ctrls-flashmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/ja_JP/userspace-api/media/v4l/ext-ctrls-flashmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/ko_KR/userspace-api/media/v4l/ext-ctrls-flashmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/pt_BR/userspace-api/media/v4l/ext-ctrls-flashmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/sp_SP/userspace-api/media/v4l/ext-ctrls-flashmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhU/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/ext-ctrls-flash.rsthKubhtarget)}(h.. _flash-controls:h]h}(h]h ]h"]h$]h&]refidflash-controlsuh1hhKhhhhhhubhsection)}(hhh](htitle)}(hFlash Control Referenceh]hFlash Control Reference}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hThe V4L2 flash controls are intended to provide generic access to flash controller devices. Flash controller devices are typically used in digital cameras.h]hThe V4L2 flash controls are intended to provide generic access to flash controller devices. Flash controller devices are typically used in digital cameras.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hThe interface can support both LED and xenon flash devices. As of writing this, there is no xenon flash driver using this interface.h]hThe interface can support both LED and xenon flash devices. As of writing this, there is no xenon flash driver using this interface.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(h.. _flash-controls-use-cases:h]h}(h]h ]h"]h$]h&]hԌflash-controls-use-casesuh1hhKhhhhhhubh)}(hhh](h)}(hSupported use casesh]hSupported use cases}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(h*Unsynchronised LED flash (software strobe)h]h*Unsynchronised LED flash (software strobe)}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj%hhhhhKubh)}(hUnsynchronised LED flash is controlled directly by the host as the sensor. The flash must be enabled by the host before the exposure of the image starts and disabled once it ends. The host is fully responsible for the timing of the flash.h]hUnsynchronised LED flash is controlled directly by the host as the sensor. The flash must be enabled by the host before the exposure of the image starts and disabled once it ends. The host is fully responsible for the timing of the flash.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj%hhubh)}(h#Example of such device: Nokia N900.h]h#Example of such device: Nokia N900.}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hj%hhubeh}(h](unsynchronised-led-flash-software-strobeah ]h"]*unsynchronised led flash (software strobe)ah$]h&]uh1hhjhhhhhKubh)}(hhh](h)}(h(Synchronised LED flash (hardware strobe)h]h(Synchronised LED flash (hardware strobe)}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjZhhhhhK$ubh)}(hThe synchronised LED flash is pre-programmed by the host (power and timeout) but controlled by the sensor through a strobe signal from the sensor to the flash.h]hThe synchronised LED flash is pre-programmed by the host (power and timeout) but controlled by the sensor through a strobe signal from the sensor to the flash.}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjZhhubh)}(hsThe sensor controls the flash duration and timing. This information typically must be made available to the sensor.h]hsThe sensor controls the flash duration and timing. This information typically must be made available to the sensor.}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK*hjZhhubeh}(h]&synchronised-led-flash-hardware-strobeah ]h"](synchronised led flash (hardware strobe)ah$]h&]uh1hhjhhhhhK$ubh)}(hhh](h)}(hLED flash as torchh]hLED flash as torch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK/ubh)}(heLED flash may be used as torch in conjunction with another use case involving camera or individually.h]heLED flash may be used as torch in conjunction with another use case involving camera or individually.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubh)}(h.. _flash-control-id:h]h}(h]h ]h"]h$]h&]hԌflash-control-iduh1hhK5hjhhhhubeh}(h]led-flash-as-torchah ]h"]led flash as torchah$]h&]uh1hhjhhhhhK/ubh)}(hhh](h)}(hFlash Control IDsh]hFlash Control IDs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK8ubhdefinition_list)}(hhh]hdefinition_list_item)}(h=``V4L2_CID_FLASH_CLASS (class)`` The FLASH class descriptor. h](hterm)}(h ``V4L2_CID_FLASH_CLASS (class)``h]hliteral)}(hjh]hV4L2_CID_FLASH_CLASS (class)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK;hjubh definition)}(hhh]h)}(hThe FLASH class descriptor.h]hThe FLASH class descriptor.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(h.. _v4l2-cid-flash-led-mode:h]h}(h]h ]h"]h$]h&]hԌv4l2-cid-flash-led-modeuh1hhK=hjhhhhubj)}(hhh]j)}(h``V4L2_CID_FLASH_LED_MODE (menu)`` Defines the mode of the flash LED, the high-power white LED attached to the flash controller. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT. h](j)}(h"``V4L2_CID_FLASH_LED_MODE (menu)``h]j)}(hj1h]hV4L2_CID_FLASH_LED_MODE (menu)}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]uh1jhhhKChj+ubj)}(hhh]h)}(hDefines the mode of the flash LED, the high-power white LED attached to the flash controller. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT.h]hDefines the mode of the flash LED, the high-power white LED attached to the flash controller. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT.}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjFubah}(h]h ]h"]h$]h&]uh1jhj+ubeh}(h]h ]h"]h$]h&]uh1jhhhKChj(ubah}(h]j'ah ]h"]v4l2-cid-flash-led-modeah$]h&]uh1jhjhhhhhNexpect_referenced_by_name}jgjsexpect_referenced_by_id}j'jsubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{5.7cm}|p{11.8cm}|uh1jnhhhKEhjhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h``V4L2_FLASH_LED_MODE_NONE``h]j)}(hjh]hV4L2_FLASH_LED_MODE_NONE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hOff.h]hOff.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FLASH_LED_MODE_FLASH``h]j)}(hjh]hV4L2_FLASH_LED_MODE_FLASH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKMhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h Flash mode.h]h Flash mode.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FLASH_LED_MODE_TORCH``h]j)}(hj,h]hV4L2_FLASH_LED_MODE_TORCH}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubah}(h]h ]h"]h$]h&]uh1hhhhKOhj'ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh](h)}(h Torch mode.h]h Torch mode.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjGubh)}(h#See V4L2_CID_FLASH_TORCH_INTENSITY.h]h#See V4L2_CID_FLASH_TORCH_INTENSITY.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjGubeh}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhj}ubah}(h]h ]h"]h$]h&]uh1j{hjhhhNhNubh)}(h!.. _v4l2-cid-flash-strobe-source:h]h}(h]h ]h"]h$]h&]hԌv4l2-cid-flash-strobe-sourceuh1hhKVhjhhhhubj)}(hhh]j)}(hT``V4L2_CID_FLASH_STROBE_SOURCE (menu)`` Defines the source of the flash LED strobe. h](j)}(h'``V4L2_CID_FLASH_STROBE_SOURCE (menu)``h]j)}(hjh]h#V4L2_CID_FLASH_STROBE_SOURCE (menu)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKYhjubj)}(hhh]h)}(h+Defines the source of the flash LED strobe.h]h+Defines the source of the flash LED strobe.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKYhjubah}(h]jah ]h"]v4l2-cid-flash-strobe-sourceah$]h&]uh1jhjhhhhhNjj}jjsjl}jjsubjo)}(hhh]h}(h]h ]h"]h$]h&]jy|p{7.5cm}|p{7.5cm}|uh1jnhhhK[hjhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h%``V4L2_FLASH_STROBE_SOURCE_SOFTWARE``h]j)}(hjh]h!V4L2_FLASH_STROBE_SOURCE_SOFTWARE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hIThe flash strobe is triggered by using the V4L2_CID_FLASH_STROBE control.h]hIThe flash strobe is triggered by using the V4L2_CID_FLASH_STROBE control.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``V4L2_FLASH_STROBE_SOURCE_EXTERNAL``h]j)}(hjCh]h!V4L2_FLASH_STROBE_SOURCE_EXTERNAL}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1hhhhKdhj>ubah}(h]h ]h"]h$]h&]uh1jhj;ubj)}(hhh]h)}(hXThe flash strobe is triggered by an external source. Typically this is a sensor, which makes it possible to synchronise the flash strobe start to exposure start. This method of controlling flash LED strobe has two additional prerequisites: the strobe source's :ref:`strobe output ` must be enabled (if available) and the flash controller's :ref:`flash LED mode ` must be set to ``V4L2_FLASH_LED_MODE_FLASH``.h](hXThe flash strobe is triggered by an external source. Typically this is a sensor, which makes it possible to synchronise the flash strobe start to exposure start. This method of controlling flash LED strobe has two additional prerequisites: the strobe source’s }(hjahhhNhNubh)}(h/:ref:`strobe output `h]hinline)}(hjkh]h strobe output}(hjohhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jmhjiubah}(h]h ]h"]h$]h&]refdoc'userspace-api/media/v4l/ext-ctrls-flash refdomainjzreftyperef refexplicitrefwarn reftargetv4l2-cid-flash-strobe-oeuh1hhhhKehjaubh= must be enabled (if available) and the flash controller’s }(hjahhhNhNubh)}(h/:ref:`flash LED mode `h]jn)}(hjh]hflash LED mode}(hjhhhNhNubah}(h]h ](jystdstd-refeh"]h$]h&]uh1jmhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-cid-flash-led-modeuh1hhhhKehjaubh must be set to }(hjahhhNhNubj)}(h``V4L2_FLASH_LED_MODE_FLASH``h]hV4L2_FLASH_LED_MODE_FLASH}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubh.}(hjahhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKehj^ubah}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hjhhhNhNubj)}(hhh](j)}(hX%``V4L2_CID_FLASH_STROBE (button)`` Strobe flash. Valid when V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT. h](j)}(h"``V4L2_CID_FLASH_STROBE (button)``h]j)}(hjh]hV4L2_CID_FLASH_STROBE (button)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKvhjubj)}(hhh]h)}(hXStrobe flash. Valid when V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT.h]hXStrobe flash. Valid when V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKvhjubj)}(hG``V4L2_CID_FLASH_STROBE_STOP (button)`` Stop flash strobe immediately. h](j)}(h'``V4L2_CID_FLASH_STROBE_STOP (button)``h]j)}(hj.h]h#V4L2_CID_FLASH_STROBE_STOP (button)}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhhhKyhj(ubj)}(hhh]h)}(hStop flash strobe immediately.h]hStop flash strobe immediately.}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjCubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhhhKyhjhhubj)}(h``V4L2_CID_FLASH_STROBE_STATUS (boolean)`` Strobe status: whether the flash is strobing at the moment or not. This is a read-only control. h](j)}(h*``V4L2_CID_FLASH_STROBE_STATUS (boolean)``h]j)}(hjfh]h&V4L2_CID_FLASH_STROBE_STATUS (boolean)}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]uh1jhhhK}hj`ubj)}(hhh]h)}(h_Strobe status: whether the flash is strobing at the moment or not. This is a read-only control.h]h_Strobe status: whether the flash is strobing at the moment or not. This is a read-only control.}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hj{ubah}(h]h ]h"]h$]h&]uh1jhj`ubeh}(h]h ]h"]h$]h&]uh1jhhhK}hjhhubj)}(h``V4L2_CID_FLASH_TIMEOUT (integer)`` Hardware timeout for flash. The flash strobe is stopped after this period of time has passed from the start of the strobe. h](j)}(h$``V4L2_CID_FLASH_TIMEOUT (integer)``h]j)}(hjh]h V4L2_CID_FLASH_TIMEOUT (integer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(hzHardware timeout for flash. The flash strobe is stopped after this period of time has passed from the start of the strobe.h]hzHardware timeout for flash. The flash strobe is stopped after this period of time has passed from the start of the strobe.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(h``V4L2_CID_FLASH_INTENSITY (integer)`` Intensity of the flash strobe when the flash LED is in flash mode (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps (mA) if possible. h](j)}(h&``V4L2_CID_FLASH_INTENSITY (integer)``h]j)}(hjh]h"V4L2_CID_FLASH_INTENSITY (integer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(hIntensity of the flash strobe when the flash LED is in flash mode (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps (mA) if possible.h]hIntensity of the flash strobe when the flash LED is in flash mode (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps (mA) if possible.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(hX``V4L2_CID_FLASH_TORCH_INTENSITY (integer)`` Intensity of the flash LED in torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be milliamps (mA) if possible. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT. h](j)}(h,``V4L2_CID_FLASH_TORCH_INTENSITY (integer)``h]j)}(hjh]h(V4L2_CID_FLASH_TORCH_INTENSITY (integer)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(hhh]h)}(hIntensity of the flash LED in torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be milliamps (mA) if possible. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT.h]hIntensity of the flash LED in torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be milliamps (mA) if possible. Setting this control may not be possible in presence of some faults. See V4L2_CID_FLASH_FAULT.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj#ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(h``V4L2_CID_FLASH_INDICATOR_INTENSITY (integer)`` Intensity of the indicator LED. The indicator LED may be fully independent of the flash LED. The unit should be microamps (uA) if possible. h](j)}(h0``V4L2_CID_FLASH_INDICATOR_INTENSITY (integer)``h]j)}(hjFh]h,V4L2_CID_FLASH_INDICATOR_INTENSITY (integer)}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1jhhhKhj@ubj)}(hhh]h)}(hIntensity of the indicator LED. The indicator LED may be fully independent of the flash LED. The unit should be microamps (uA) if possible.h]hIntensity of the indicator LED. The indicator LED may be fully independent of the flash LED. The unit should be microamps (uA) if possible.}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(hX``V4L2_CID_FLASH_FAULT (bitmask)`` Faults related to the flash. The faults tell about specific problems in the flash chip itself or the LEDs attached to it. Faults may prevent further use of some of the flash controls. In particular, V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE if the fault affects the flash LED. Exactly which faults have such an effect is chip dependent. Reading the faults resets the control and returns the chip to a usable state if possible. h](j)}(h"``V4L2_CID_FLASH_FAULT (bitmask)``h]j)}(hj~h]hV4L2_CID_FLASH_FAULT (bitmask)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj|ubah}(h]h ]h"]h$]h&]uh1jhhhKhjxubj)}(hhh]h)}(hXFaults related to the flash. The faults tell about specific problems in the flash chip itself or the LEDs attached to it. Faults may prevent further use of some of the flash controls. In particular, V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE if the fault affects the flash LED. Exactly which faults have such an effect is chip dependent. Reading the faults resets the control and returns the chip to a usable state if possible.h]hXFaults related to the flash. The faults tell about specific problems in the flash chip itself or the LEDs attached to it. Faults may prevent further use of some of the flash controls. In particular, V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE if the fault affects the flash LED. Exactly which faults have such an effect is chip dependent. Reading the faults resets the control and returns the chip to a usable state if possible.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubjo)}(hhh]h}(h]h ]h"]h$]h&]jy|p{8.4cm}|p{9.1cm}|uh1jnhhhKhjhhubj|)}(hhh]j)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK2uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h!``V4L2_FLASH_FAULT_OVER_VOLTAGE``h]j)}(hjh]hV4L2_FLASH_FAULT_OVER_VOLTAGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbFlash controller voltage to the flash LED has exceeded the limit specific to the flash controller.h]hbFlash controller voltage to the flash LED has exceeded the limit specific to the flash controller.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FLASH_FAULT_TIMEOUT``h]j)}(hj%h]hV4L2_FLASH_FAULT_TIMEOUT}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hThe flash strobe was still on when the timeout set by the user --- V4L2_CID_FLASH_TIMEOUT control --- has expired. Not all flash controllers may set this in all such conditions.h]hThe flash strobe was still on when the timeout set by the user --- V4L2_CID_FLASH_TIMEOUT control --- has expired. Not all flash controllers may set this in all such conditions.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h%``V4L2_FLASH_FAULT_OVER_TEMPERATURE``h]j)}(hjeh]h!V4L2_FLASH_FAULT_OVER_TEMPERATURE}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1hhhhKhj`ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(h$The flash controller has overheated.h]h$The flash controller has overheated.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``V4L2_FLASH_FAULT_SHORT_CIRCUIT``h]j)}(hjh]hV4L2_FLASH_FAULT_SHORT_CIRCUIT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hHThe short circuit protection of the flash controller has been triggered.h]hHThe short circuit protection of the flash controller has been triggered.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h!``V4L2_FLASH_FAULT_OVER_CURRENT``h]j)}(hjh]hV4L2_FLASH_FAULT_OVER_CURRENT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXCurrent in the LED power supply has exceeded the limit specific to the flash controller.h]hXCurrent in the LED power supply has exceeded the limit specific to the flash controller.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FLASH_FAULT_INDICATOR``h]j)}(hj%h]hV4L2_FLASH_FAULT_INDICATOR}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hYThe flash controller has detected a short or open circuit condition on the indicator LED.h]hYThe flash controller has detected a short or open circuit condition on the indicator LED.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj@ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``V4L2_FLASH_FAULT_UNDER_VOLTAGE``h]j)}(hjeh]hV4L2_FLASH_FAULT_UNDER_VOLTAGE}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubah}(h]h ]h"]h$]h&]uh1hhhhKhj`ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(hlFlash controller voltage to the flash LED has been below the minimum limit specific to the flash controller.h]hlFlash controller voltage to the flash LED has been below the minimum limit specific to the flash controller.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h"``V4L2_FLASH_FAULT_INPUT_VOLTAGE``h]j)}(hjh]hV4L2_FLASH_FAULT_INPUT_VOLTAGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hThe input voltage of the flash controller is below the limit under which strobing the flash at full current will not be possible.The condition persists until this flag is no longer set.h]hThe input voltage of the flash controller is below the limit under which strobing the flash at full current will not be possible.The condition persists until this flag is no longer set.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h)``V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE``h]j)}(hjh]h%V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h@The temperature of the LED has exceeded its allowed upper limit.h]h@The temperature of the LED has exceeded its allowed upper limit.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ]h"]h$]h&]uh1j{hjhhhNhNubj)}(hhh](j)}(h]``V4L2_CID_FLASH_CHARGE (boolean)`` Enable or disable charging of the xenon flash capacitor. h](j)}(h#``V4L2_CID_FLASH_CHARGE (boolean)``h]j)}(hj9 h]hV4L2_CID_FLASH_CHARGE (boolean)}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj7 ubah}(h]h ]h"]h$]h&]uh1jhhhKhj3 ubj)}(hhh]h)}(h8Enable or disable charging of the xenon flash capacitor.h]h8Enable or disable charging of the xenon flash capacitor.}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjN ubah}(h]h ]h"]h$]h&]uh1jhj3 ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj0 ubj)}(hX ``V4L2_CID_FLASH_READY (boolean)`` Is the flash ready to strobe? Xenon flashes require their capacitors charged before strobing. LED flashes often require a cooldown period after strobe during which another strobe will not be possible. This is a read-only control. h](j)}(h"``V4L2_CID_FLASH_READY (boolean)``h]j)}(hjq h]hV4L2_CID_FLASH_READY (boolean)}(hjs hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjo ubah}(h]h ]h"]h$]h&]uh1jhhhKhjk ubj)}(hhh]h)}(hIs the flash ready to strobe? Xenon flashes require their capacitors charged before strobing. LED flashes often require a cooldown period after strobe during which another strobe will not be possible. This is a read-only control.h]hIs the flash ready to strobe? Xenon flashes require their capacitors charged before strobing. LED flashes often require a cooldown period after strobe during which another strobe will not be possible. This is a read-only control.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjk ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj0 hhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(h.. _v4l2-cid-flash-duration:h]h}(h]h ]h"]h$]h&]hԌv4l2-cid-flash-durationuh1hhKhjhhhhubj)}(hhh]j)}(hX:``V4L2_CID_FLASH_DURATION (integer)`` Duration of the flash strobe pulse generated by the strobe source, when using external strobe. This control shall be implemented by the device generating the hardware flash strobe signal, typically a camera sensor, connected to a flash controller. The flash controllers :ref:`strobe source ` must be configured to ``V4L2_FLASH_STROBE_SOURCE_EXTERNAL`` for this mode of operation. For more details please also take a look at the documentation there. The unit should be microseconds (µs) if possible. h](j)}(h%``V4L2_CID_FLASH_DURATION (integer)``h]j)}(hj h]h!V4L2_CID_FLASH_DURATION (integer)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hhh](h)}(hDuration of the flash strobe pulse generated by the strobe source, when using external strobe. This control shall be implemented by the device generating the hardware flash strobe signal, typically a camera sensor, connected to a flash controller.h]hDuration of the flash strobe pulse generated by the strobe source, when using external strobe. This control shall be implemented by the device generating the hardware flash strobe signal, typically a camera sensor, connected to a flash controller.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubh)}(hThe flash controllers :ref:`strobe source ` must be configured to ``V4L2_FLASH_STROBE_SOURCE_EXTERNAL`` for this mode of operation. For more details please also take a look at the documentation there.h](hThe flash controllers }(hj hhhNhNubh)}(h3:ref:`strobe source `h]jn)}(hj h]h strobe source}(hj hhhNhNubah}(h]h ](jystdstd-refeh"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnjv4l2-cid-flash-strobe-sourceuh1hhhhKhj ubh must be configured to }(hj hhhNhNubj)}(h%``V4L2_FLASH_STROBE_SOURCE_EXTERNAL``h]h!V4L2_FLASH_STROBE_SOURCE_EXTERNAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubha for this mode of operation. For more details please also take a look at the documentation there.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubh)}(h2The unit should be microseconds (µs) if possible.h]h2The unit should be microseconds (µs) if possible.}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubah}(h]j ah ]h"]v4l2-cid-flash-durationah$]h&]uh1jhjhhhhhNjj}jE j sjl}j j subh)}(h.. _v4l2-cid-flash-strobe-oe:h]h}(h]h ]h"]h$]h&]hԌv4l2-cid-flash-strobe-oeuh1hhKhjhhhhubj)}(hhh]j)}(hX``V4L2_CID_FLASH_STROBE_OE (boolean)`` Enables the output of a hardware strobe signal from the strobe source, when using external strobe. This control shall be implemented by the device generating the hardware flash strobe signal, typically a camera sensor, connected to a flash controller. Provided the signal generating device driver supports it, the length of the strobe signal can be configured by adjusting its :ref:`flash duration `. The flash controllers :ref:`strobe source ` must be configured to ``V4L2_FLASH_STROBE_SOURCE_EXTERNAL`` for this mode of operation. For more details please also take a look at the documentation there.h](j)}(h&``V4L2_CID_FLASH_STROBE_OE (boolean)``h]j)}(hj^ h]h"V4L2_CID_FLASH_STROBE_OE (boolean)}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ ubah}(h]h ]h"]h$]h&]uh1jhhhKhjX ubj)}(hhh](h)}(hEnables the output of a hardware strobe signal from the strobe source, when using external strobe. This control shall be implemented by the device generating the hardware flash strobe signal, typically a camera sensor, connected to a flash controller.h]hEnables the output of a hardware strobe signal from the strobe source, when using external strobe. This control shall be implemented by the device generating the hardware flash strobe signal, typically a camera sensor, connected to a flash controller.}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjs ubh)}(hProvided the signal generating device driver supports it, the length of the strobe signal can be configured by adjusting its :ref:`flash duration `.h](h}Provided the signal generating device driver supports it, the length of the strobe signal can be configured by adjusting its }(hj hhhNhNubh)}(h/:ref:`flash duration `h]jn)}(hj h]hflash duration}(hj hhhNhNubah}(h]h ](jystdstd-refeh"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnjv4l2-cid-flash-durationuh1hhhhKhj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjs ubh)}(hThe flash controllers :ref:`strobe source ` must be configured to ``V4L2_FLASH_STROBE_SOURCE_EXTERNAL`` for this mode of operation. For more details please also take a look at the documentation there.h](hThe flash controllers }(hj hhhNhNubh)}(h3:ref:`strobe source `h]jn)}(hj h]h strobe source}(hj hhhNhNubah}(h]h ](jystdstd-refeh"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnjv4l2-cid-flash-strobe-sourceuh1hhhhKhj ubh must be configured to }(hj hhhNhNubj)}(h%``V4L2_FLASH_STROBE_SOURCE_EXTERNAL``h]h!V4L2_FLASH_STROBE_SOURCE_EXTERNAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubha for this mode of operation. For more details please also take a look at the documentation there.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjs ubeh}(h]h ]h"]h$]h&]uh1jhjX ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjU ubah}(h]jT ah ]h"]v4l2-cid-flash-strobe-oeah$]h&]uh1jhjhhhhhNjj}j jJ sjl}jT jJ subeh}(h](flash-control-idsjeh ]h"](flash control idsflash-control-ideh$]h&]uh1hhjhhhhhK8jj}j jsjl}jjsubeh}(h](supported-use-casesjeh ]h"](supported use casesflash-controls-use-caseseh$]h&]uh1hhhhhhhhKjj}j j sjl}jj subeh}(h](flash-control-referenceheh ]h"](flash control referenceflash-controlseh$]h&]uh1hhhhhhhhKjj}j+ hsjl}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjR error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}(h]haj]j aj]jaj']jaj]jaj ]j ajT ]jJ aunameids}(j+ hj* j' j jj j jWjTjjjjj jj j jgj'jjjE j j jT u nametypes}(j+ j* j j jWjjj j jgjjE j uh}(hhj' hjjj jjTj%jjZjjjjj jj'j(jjj j jT jU u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h4Hyperlink target "flash-controls" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehnjlineKuh1j ubj )}(hhh]h)}(hhh]h>Hyperlink target "flash-controls-use-cases" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineKuh1j ubj )}(hhh]h)}(hhh]h6Hyperlink target "flash-control-id" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineK5uh1j ubj )}(hhh]h)}(hhh]h=Hyperlink target "v4l2-cid-flash-led-mode" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineK=uh1j ubj )}(hhh]h)}(hhh]hBHyperlink target "v4l2-cid-flash-strobe-source" is not referenced.}hj+ sbah}(h]h ]h"]h$]h&]uh1hhj( ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineKVuh1j ubj )}(hhh]h)}(hhh]h=Hyperlink target "v4l2-cid-flash-duration" is not referenced.}hjE sbah}(h]h ]h"]h$]h&]uh1hhjB ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineKuh1j ubj )}(hhh]h)}(hhh]h>Hyperlink target "v4l2-cid-flash-strobe-oe" is not referenced.}hj_ sbah}(h]h ]h"]h$]h&]uh1hhj\ ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineKuh1j ube transformerN include_log] decorationNhhub.