~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/ext-ctrls-flash.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 
  3 .. _flash-controls:
  4 
  5 ***********************
  6 Flash Control Reference
  7 ***********************
  8 
  9 The V4L2 flash controls are intended to provide generic access to flash
 10 controller devices. Flash controller devices are typically used in
 11 digital cameras.
 12 
 13 The interface can support both LED and xenon flash devices. As of
 14 writing this, there is no xenon flash driver using this interface.
 15 
 16 
 17 .. _flash-controls-use-cases:
 18 
 19 Supported use cases
 20 ===================
 21 
 22 
 23 Unsynchronised LED flash (software strobe)
 24 ------------------------------------------
 25 
 26 Unsynchronised LED flash is controlled directly by the host as the
 27 sensor. The flash must be enabled by the host before the exposure of the
 28 image starts and disabled once it ends. The host is fully responsible
 29 for the timing of the flash.
 30 
 31 Example of such device: Nokia N900.
 32 
 33 
 34 Synchronised LED flash (hardware strobe)
 35 ----------------------------------------
 36 
 37 The synchronised LED flash is pre-programmed by the host (power and
 38 timeout) but controlled by the sensor through a strobe signal from the
 39 sensor to the flash.
 40 
 41 The sensor controls the flash duration and timing. This information
 42 typically must be made available to the sensor.
 43 
 44 
 45 LED flash as torch
 46 ------------------
 47 
 48 LED flash may be used as torch in conjunction with another use case
 49 involving camera or individually.
 50 
 51 
 52 .. _flash-control-id:
 53 
 54 Flash Control IDs
 55 -----------------
 56 
 57 ``V4L2_CID_FLASH_CLASS (class)``
 58     The FLASH class descriptor.
 59 
 60 ``V4L2_CID_FLASH_LED_MODE (menu)``
 61     Defines the mode of the flash LED, the high-power white LED attached
 62     to the flash controller. Setting this control may not be possible in
 63     presence of some faults. See V4L2_CID_FLASH_FAULT.
 64 
 65 
 66 .. tabularcolumns:: |p{5.7cm}|p{11.8cm}|
 67 
 68 .. flat-table::
 69     :header-rows:  0
 70     :stub-columns: 0
 71 
 72     * - ``V4L2_FLASH_LED_MODE_NONE``
 73       - Off.
 74     * - ``V4L2_FLASH_LED_MODE_FLASH``
 75       - Flash mode.
 76     * - ``V4L2_FLASH_LED_MODE_TORCH``
 77       - Torch mode.
 78 
 79         See V4L2_CID_FLASH_TORCH_INTENSITY.
 80 
 81 
 82 
 83 ``V4L2_CID_FLASH_STROBE_SOURCE (menu)``
 84     Defines the source of the flash LED strobe.
 85 
 86 .. tabularcolumns:: |p{7.5cm}|p{7.5cm}|
 87 
 88 .. flat-table::
 89     :header-rows:  0
 90     :stub-columns: 0
 91 
 92     * - ``V4L2_FLASH_STROBE_SOURCE_SOFTWARE``
 93       - The flash strobe is triggered by using the
 94         V4L2_CID_FLASH_STROBE control.
 95     * - ``V4L2_FLASH_STROBE_SOURCE_EXTERNAL``
 96       - The flash strobe is triggered by an external source. Typically
 97         this is a sensor, which makes it possible to synchronise the
 98         flash strobe start to exposure start.
 99 
100 
101 
102 ``V4L2_CID_FLASH_STROBE (button)``
103     Strobe flash. Valid when V4L2_CID_FLASH_LED_MODE is set to
104     V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
105     is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
106     control may not be possible in presence of some faults. See
107     V4L2_CID_FLASH_FAULT.
108 
109 ``V4L2_CID_FLASH_STROBE_STOP (button)``
110     Stop flash strobe immediately.
111 
112 ``V4L2_CID_FLASH_STROBE_STATUS (boolean)``
113     Strobe status: whether the flash is strobing at the moment or not.
114     This is a read-only control.
115 
116 ``V4L2_CID_FLASH_TIMEOUT (integer)``
117     Hardware timeout for flash. The flash strobe is stopped after this
118     period of time has passed from the start of the strobe.
119 
120 ``V4L2_CID_FLASH_INTENSITY (integer)``
121     Intensity of the flash strobe when the flash LED is in flash mode
122     (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps (mA)
123     if possible.
124 
125 ``V4L2_CID_FLASH_TORCH_INTENSITY (integer)``
126     Intensity of the flash LED in torch mode
127     (V4L2_FLASH_LED_MODE_TORCH). The unit should be milliamps (mA)
128     if possible. Setting this control may not be possible in presence of
129     some faults. See V4L2_CID_FLASH_FAULT.
130 
131 ``V4L2_CID_FLASH_INDICATOR_INTENSITY (integer)``
132     Intensity of the indicator LED. The indicator LED may be fully
133     independent of the flash LED. The unit should be microamps (uA) if
134     possible.
135 
136 ``V4L2_CID_FLASH_FAULT (bitmask)``
137     Faults related to the flash. The faults tell about specific problems
138     in the flash chip itself or the LEDs attached to it. Faults may
139     prevent further use of some of the flash controls. In particular,
140     V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
141     if the fault affects the flash LED. Exactly which faults have such
142     an effect is chip dependent. Reading the faults resets the control
143     and returns the chip to a usable state if possible.
144 
145 .. tabularcolumns:: |p{8.4cm}|p{9.1cm}|
146 
147 .. flat-table::
148     :header-rows:  0
149     :stub-columns: 0
150 
151     * - ``V4L2_FLASH_FAULT_OVER_VOLTAGE``
152       - Flash controller voltage to the flash LED has exceeded the limit
153         specific to the flash controller.
154     * - ``V4L2_FLASH_FAULT_TIMEOUT``
155       - The flash strobe was still on when the timeout set by the user ---
156         V4L2_CID_FLASH_TIMEOUT control --- has expired. Not all flash
157         controllers may set this in all such conditions.
158     * - ``V4L2_FLASH_FAULT_OVER_TEMPERATURE``
159       - The flash controller has overheated.
160     * - ``V4L2_FLASH_FAULT_SHORT_CIRCUIT``
161       - The short circuit protection of the flash controller has been
162         triggered.
163     * - ``V4L2_FLASH_FAULT_OVER_CURRENT``
164       - Current in the LED power supply has exceeded the limit specific to
165         the flash controller.
166     * - ``V4L2_FLASH_FAULT_INDICATOR``
167       - The flash controller has detected a short or open circuit
168         condition on the indicator LED.
169     * - ``V4L2_FLASH_FAULT_UNDER_VOLTAGE``
170       - Flash controller voltage to the flash LED has been below the
171         minimum limit specific to the flash controller.
172     * - ``V4L2_FLASH_FAULT_INPUT_VOLTAGE``
173       - The input voltage of the flash controller is below the limit under
174         which strobing the flash at full current will not be possible.The
175         condition persists until this flag is no longer set.
176     * - ``V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE``
177       - The temperature of the LED has exceeded its allowed upper limit.
178 
179 
180 
181 ``V4L2_CID_FLASH_CHARGE (boolean)``
182     Enable or disable charging of the xenon flash capacitor.
183 
184 ``V4L2_CID_FLASH_READY (boolean)``
185     Is the flash ready to strobe? Xenon flashes require their capacitors
186     charged before strobing. LED flashes often require a cooldown period
187     after strobe during which another strobe will not be possible. This
188     is a read-only control.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php