On Wednesday 30 March 2011 13:05:54 Sakari Ailus wrote:
> Laurent Pinchart wrote:
> > Hi Sakari,
>
> Hi Laurent,
>
> Thanks for the comments!
>
> > 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.
>
> Even without this, we'd have:
>
> V4L2_FLASH_MODE_OFF
> V4L2_FLASH_MODE_TORCH
> V4L2_FLASH_MODE_SOFTWARE_STROBE
> V4L2_FLASH_MODE_EXTERNAL_STROBE
>
> Additionally, this might be
>
> V4L2_FLASH_MODE_EXTERNAL_STROBE_EDGE
>
> It's true that these are mutually exclusive.
>
> I think this is about whether we want to specify the operation of the
> flash explicitly here or allow extending the interface later on when new
> hardware is available by adding new controls. There are upsides and
> downsides in each approach.
>
> There could be additional differentiating factors to the functionalty
> later on, like the torch/video light differentiation that some hardware
> does --- who knows based on what?
>
> I perhaps wouldn't combine the controls. What do you think?
I'm not sure yet :-)
--
Regards,
Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html