Re: [RFC] V4L2 API for flash devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Laurent Pinchart wrote:
> Hi Sakari,
> 
> On Tuesday 05 April 2011 12:23:51 Sakari Ailus wrote:
>> Sakari Ailus wrote:
>>> Laurent Pinchart wrote:
>>>> On Wednesday 30 March 2011 13:05:54 Sakari Ailus wrote:
>>>>> Laurent Pinchart wrote:
>>>>>> On Monday 28 March 2011 14:55:40 Sakari Ailus wrote:
>>>>>>
>>>>>> [snip]
>>>>>>
>>>>>>> 	V4L2_CID_FLASH_STROBE_MODE (menu; LED)
>>>>>>>
>>>>>>> Use hardware or software strobe. If hardware strobe is selected, the
>>>>>>> flash controller is a slave in the system where the sensor produces
>>>>>>> the strobe signal to the flash.
>>>>>>>
>>>>>>> In this case the flash controller setup is limited to programming
>>>>>>> strobe timeout and power (LED flash) and the sensor controls the
>>>>>>> timing and length of the strobe.
>>>>>>>
>>>>>>> enum v4l2_flash_strobe_mode {
>>>>>>>
>>>>>>> 	V4L2_FLASH_STROBE_MODE_SOFTWARE,
>>>>>>> 	V4L2_FLASH_STROBE_MODE_EXT_STROBE,
>>>>>>>
>>>>>>> };
>>>>>>
>>>>>> [snip]
>>>>>>
>>>>>>> 	V4L2_CID_FLASH_LED_MODE (menu; LED)
>>>>>>>
>>>>>>> enum v4l2_flash_led_mode {
>>>>>>>
>>>>>>> 	V4L2_FLASH_LED_MODE_FLASH = 1,
>>>>>>> 	V4L2_FLASH_LED_MODE_TORCH,
>>>>>>>
>>>>>>> };
>>>>>>
>>>>>> Thinking about this some more, shouldn't we combine the two controls ?
>>>>>> They are basically used to configure how the flash LED is controlled:
>>>>>> manually (torch mode), automatically by the flash controller (software
>>>>>> strobe mode) or automatically by an external component (external
>>>>>> strobe mode).
>>>>>
>>>>> That's a good question.
>>>>>
>>>>> The adp1653 supports also additional control (not implemented in the
>>>>> driver, though) that affect hardware strobe length. Based on register
>>>>> setting, the led will be on after strobe either until the timeout
>>>>> expires, or until the strobe signal is high.
>>>>>
>>>>> Should this be also part of the same control, or a different one?
>>>>
>>>> That can be controlled by a duration control. If the duration is 0, the
>>>> flash is lit for the duration of the external strobe, otherwise it's
>>>> lit for the programmed duration.
>>>
>>> Sounds good to me.
>>
>> Thinking about this again; there won't be a separate duration control
> 
> Why not ? I think we need two timeouts, a watchdog timeout to prevent flash 
> fire or meltdown, and a normal timeout to lit the flash for a user-selected 
> duration.

Let's assume that an application wants to expose a frame using flash
with software strobe.

1. strobe flash
2. qbuf
3. streamon
4. dqbuf
5. streamoff
6. ...

How does an application know how long is the time between 1 -- 4? I'd
guess that in 6 the application would like to switch off the flash
instead of specifying a timeout for it.

-- 
Sakari Ailus
sakari.ailus@xxxxxxxxxxxxxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux