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@xxxxxxxxxxxxxxxxxxxxxxxxxx -- 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