All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@nokia.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: "linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	Nayden Kanchev <nkanchev@mm-sol.com>,
	Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Cohen David Abraham <david.cohen@nokia.com>
Subject: Re: [RFC] V4L2 API for flash devices
Date: Tue, 05 Apr 2011 14:21:03 +0300	[thread overview]
Message-ID: <4D9AFB1F.7020107@nokia.com> (raw)
In-Reply-To: <201104051239.05167.laurent.pinchart@ideasonboard.com>

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@maxwell.research.nokia.com

  reply	other threads:[~2011-04-05 11:21 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-28 12:55 [RFC] V4L2 API for flash devices Sakari Ailus
2011-03-29  6:49 ` Hans Verkuil
2011-03-29  9:35   ` Sakari Ailus
2011-03-29  9:54     ` Hans Verkuil
2011-03-29 11:38       ` Sakari Ailus
2011-03-29 11:51         ` Sakari Ailus
2011-03-30  8:47           ` Laurent Pinchart
2011-04-05 10:00             ` Sakari Ailus
2011-05-02 16:04               ` Sakari Ailus
2011-05-02 19:13                 ` Hans Verkuil
2011-05-02 19:32                   ` Laurent Pinchart
2011-05-02 20:07                     ` Hans Verkuil
2011-03-30  8:55     ` Laurent Pinchart
2011-03-30 12:44       ` Sakari Ailus
2011-03-30 13:53         ` Laurent Pinchart
2011-03-30 14:18           ` Sakari Ailus
2011-03-30 14:57             ` David Cohen
2011-03-30 15:00               ` Laurent Pinchart
2011-03-31  8:09                 ` Sakari Ailus
2011-03-29 10:43 ` Kim, HeungJun
2011-03-29 14:41   ` Sakari Ailus
2011-03-30  5:06     ` Kim, HeungJun
2011-03-30 11:37       ` Sakari Ailus
2011-03-30 20:37         ` Kim HeungJun
2011-03-31  8:50           ` Sakari Ailus
2011-03-30  9:34 ` Laurent Pinchart
2011-03-30 11:05   ` Sakari Ailus
2011-03-30 13:54     ` Laurent Pinchart
2011-03-31  8:17       ` Sakari Ailus
2011-04-05 10:23         ` Sakari Ailus
2011-04-05 10:39           ` Laurent Pinchart
2011-04-05 11:21             ` Sakari Ailus [this message]
2011-04-05 11:28               ` Laurent Pinchart
2011-04-05 13:35                 ` Sakari Ailus
     [not found]                   ` <4D9B303D.1000003@mm-sol.com>
2011-04-05 16:25                     ` Laurent Pinchart
2011-04-05 12:11 ` David Cohen
2011-04-06  8:04   ` Sakari Ailus
2011-04-12 19:31 ` Sung Hee Park
     [not found] ` <BANLkTik+xqCD7uiGUchsehoUy+gwM+Cjdg@mail.gmail.com>
2011-04-13 12:16   ` Sakari Ailus
2011-04-14 19:38     ` Laurent Pinchart
2011-04-15  5:27       ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D9AFB1F.7020107@nokia.com \
    --to=sakari.ailus@nokia.com \
    --cc=david.cohen@nokia.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=nkanchev@mm-sol.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.