Re: [RFC] V4L2 API for flash devices

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

 



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.

> and the hardware timeout can't be zero in a general case.
> 
> So this is not an option, and I don't think we'd want to add duration
> control for this purpose.
> 
> What about V4L2_CID_FLASH_EXTERNAL_STROBE_EDGE?

-- 
Regards,

Laurent Pinchart
--
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