From: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Sung Hee Park <shpark7@stanford.edu>,
"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>,
andrew.b.adams@gmail.com
Subject: Re: [RFC] V4L2 API for flash devices
Date: Fri, 15 Apr 2011 08:27:03 +0300 [thread overview]
Message-ID: <4DA7D727.2010708@maxwell.research.nokia.com> (raw)
In-Reply-To: <201104142138.45541.laurent.pinchart@ideasonboard.com>
Laurent Pinchart wrote:
> Hi Sakari,
Heippa,
> On Wednesday 13 April 2011 14:16:38 Sakari Ailus wrote:
>> Sung Hee Park wrote:
>>> Here are two more use-cases for flash that might help inform the API
>>> design. Sakari encouraged me to post these. The person writing this is
>>> Andrew Adams, but I'm sending this from Sung Hee's account, because I
>>> only just subscribed to linux-media and can't immediately figure out how
>>> to reply to messages from before I subscribed. Sung Hee and I are both
>>> grad students at Stanford who work on FCam
>>> (http://fcam.garage.maemo.org/)
>>
>> Hi Andrew,
>>
>> Many thanks for the comments.
>>
>>> Second-curtain-sync:
>>>
>>> Sometimes you want to fire the flash at the end of a long exposure time.
>>> It's usually a way to depict motion. Here's an example:
>>> http://www.flickr.com/photos/latitudes/133206615/.
>>>
>>> This only really applies to xenon flashes because you can't get a crisp
>>> image out of a longer duration LED flash. Even then it's somewhat
>>> problematic on rolling-shutter sensors but still possible provided you
>>> don't mind a slight shear to the crisp part of the image. From an API
>>> perspective, it requires you to be able to specify a trigger time at
>>> some number of microseconds into the exposure. On the N900 we did this
>>> with a real-time thread.
>>>
>>> Triggering external hardware:
>>>
>>> This use-case is a little weirder, but it has the same API requirement.
>>> Some photographic setups require you to synchronize some piece of
>>> hardware with the exposure (e.g. an oscilloscope, or an external slave
>>> flash). On embedded devices this is generally difficult. If you can at
>>> least fire the flash at a precise delay into the exposure, you can
>>> attach a photodiode to it, and use the flash+photodiode as an
>>> opto-isolator to trigger your external hardware.
>>>
>>> So we're in favor of having user-settable flash duration, and also
>>> user-settable trigger times (with reference to the start of the exposure
>>> time). I'm guessing that in a SMIA++ driver the trigger time would
>>> actually be a control on the sensor device, but it seemed relevant to
>>> bring up while you guys were talking about the flash API.
>>
>> From this I reckon that in a general case the handling of the flash
>> timing cannot be left for the drivers only. There must be a way to
>> control it.
>>
>> So I'd think that also the level/edge trigger for the flash should be
>> visible. On edge trigger, the only limiting factor for the flash
>> duration on hardware would be the relatively coarse watchdog timer, and
>> I'd think the user should be able to know that.
>
> I agree that the user should be able to query the limit. The limit value
> should come from platform data.
Agreed.
>> The flash timing controls should be exposed by the sensor driver since
>> the sensor is what actually performs the timing.
>>
>> Laurent; what do you think?
>
> As already discussed with you offline, I think we will need flash timing
> controls on the sensor when the flash controller is configured with external
> strobe in level triggered mode. I'm still not sure if the edge/level-triggered
> names are the best option. They confused me in the beginning, so I find them
> confusing :-) If we keep them, they will need to be very precisely documented.
I'm fine with other naming --- edge/level is from the AS3645
documentation. ADP1653 does not call it with a name as far as I
remember. Other similar chips can be found here:
<URL:http://www.austriamicrosystems.com/eng/Products/Lighting-Management/>
I tried to download the datasheets but couldn't. The AS3645 datasheet,
however, is also available here:
<URL:http://www.cdiweb.com/datasheets/austriamicro/AS3645_Datasheet_v1-6.pdf>
Regards,
--
Sakari Ailus
sakari.ailus@maxwell.research.nokia.com
prev parent reply other threads:[~2011-04-15 5:25 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
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 [this message]
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=4DA7D727.2010708@maxwell.research.nokia.com \
--to=sakari.ailus@maxwell.research.nokia.com \
--cc=andrew.b.adams@gmail.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 \
--cc=shpark7@stanford.edu \
/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.