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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox