All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>, pavel@ucw.cz
Cc: pali.rohar@gmail.com, sre@kernel.org,
	linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
	hverkuil@xs4all.nl, laurent.pinchart@ideasonboard.com,
	Sakari Ailus <sakari.ailus@iki.fi>
Subject: Re: [PATCH 1/1] v4l: Add camera voice coil lens control class, current control
Date: Mon, 13 Jun 2016 00:48:15 +0300	[thread overview]
Message-ID: <575DD89F.20607@gmail.com> (raw)
In-Reply-To: <1465764110-7736-1-git-send-email-sakari.ailus@linux.intel.com>

Hi,

On 12.06.2016 23:41, Sakari Ailus wrote:
> From: Sakari Ailus <sakari.ailus@iki.fi>
>
> Add a V4L2 control class for voice coil lens driver devices.  These are
> simple devices that are used to move a camera lens from its resting
> position.
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
> Hi Pavel,
>
> I also don't think the FOCUS_ABSOLUTE controls is a really good one for
> the voice coil lens current. I expect more voice coil lens controls
> (linear vs. PWM mode, ringing compensation...) to be needed so I think
> it's worth a new class.
>

Right, I still think movement mode should be standard control :)

> Cc others, too...
>
> Kind regards,
> Sakari
>
>   Documentation/DocBook/media/v4l/controls.xml | 55 +++++++++++++++++++++++++++-
>   include/uapi/linux/v4l2-controls.h           |  7 ++++
>   2 files changed, 61 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
> index e2e5484..aa7169c 100644
> --- a/Documentation/DocBook/media/v4l/controls.xml
> +++ b/Documentation/DocBook/media/v4l/controls.xml
> @@ -5502,4 +5502,57 @@ receiving given frequency when that control is set. This is a read-only control.
>           </tgroup>
>         </table>
>       </section>
> -</section>
> +
> +    <section id="voice-coil-controls">
> +      <title>Voice Coil Control Reference</title>
> +
> +      <para>The Voice Coil class controls are used to control voice
> +      coil lens devices. These are very simple devices that consist of
> +      a voice coil, a spring and a lens. The current applied on a

There should be a magnet as well.

> +      voice coil is used to move the lens away from the resting
> +      position which typically is (close to) infinity.</para>
> +
> +      <table pgwide="1" frame="none" id="voice-coil-control-id">
> +      <title>Voice Coil Control IDs</title>
> +
> +      <tgroup cols="4">
> +        <colspec colname="c1" colwidth="1*" />
> +        <colspec colname="c2" colwidth="6*" />
> +        <colspec colname="c3" colwidth="2*" />
> +        <colspec colname="c4" colwidth="6*" />
> +        <spanspec namest="c1" nameend="c2" spanname="id" />
> +        <spanspec namest="c2" nameend="c4" spanname="descr" />
> +        <thead>
> +          <row>
> +            <entry spanname="id" align="left">ID</entry>
> +            <entry align="left">Type</entry>
> +          </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
> +          </row>
> +        </thead>
> +        <tbody valign="top">
> +          <row><entry></entry></row>
> +          <row>
> +            <entry spanname="id"><constant>V4L2_CID_VOICE_COIL_CLASS</constant>&nbsp;</entry>
> +            <entry>class</entry>
> +          </row><row><entry spanname="descr">The Voice Coil class
> +descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
> +description of this control class.</entry>
> +          </row>
> +          <row>
> +            <entry spanname="id"><constant>V4L2_CID_VOICE_COIL_CURRENT</constant>&nbsp;</entry>
> +            <entry>integer</entry>

I think this is no better than FOCUS_ABSOLUTE - nor "absolute" neither 
"current" give any idea where is the lens (relatively to the rest 
position) without userspace doing some calculations. What about 
V4L2_CID_VOICE_COIL_POSITION, 0.000%-100.000% (pcm units)?

> +          </row><row><entry spanname="descr">Current applied on a
> +          voice coil. The more current is applied, the more is the
> +          position of the lens moved from its resting position. Do
> +          note that there may be a ringing effect; the lens will
> +          oscillate after changing the current applied unless the
> +          device implements ringing compensation.
> +          </entry>
> +          </row>
> +        </tbody>
> +      </tgroup>
> +      </table>
> +
> +      </section>
> +
> +  </section>
> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> index b6a357a..c6b1261 100644
> --- a/include/uapi/linux/v4l2-controls.h
> +++ b/include/uapi/linux/v4l2-controls.h
> @@ -62,6 +62,7 @@
>   #define V4L2_CTRL_CLASS_FM_RX		0x00a10000	/* FM Receiver controls */
>   #define V4L2_CTRL_CLASS_RF_TUNER	0x00a20000	/* RF tuner controls */
>   #define V4L2_CTRL_CLASS_DETECT		0x00a30000	/* Detection controls */
> +#define V4L2_CTRL_CLASS_VOICE_COIL	0x00a40000	/* Voice coil lens driver */
>
>   /* User-class control IDs */
>
> @@ -974,4 +975,10 @@ enum v4l2_detect_md_mode {
>   #define V4L2_CID_DETECT_MD_THRESHOLD_GRID	(V4L2_CID_DETECT_CLASS_BASE + 3)
>   #define V4L2_CID_DETECT_MD_REGION_GRID		(V4L2_CID_DETECT_CLASS_BASE + 4)
>
> +/*  Voice coil lens driver control IDs defined by V4L2 */
> +#define V4L2_CID_VOICE_COIL_CLASS_BASE		(V4L2_CTRL_CLASS_VOICE_COIL | 0x900)
> +#define V4L2_CID_VOICE_COIL_CLASS		(V4L2_CTRL_CLASS_VOICE_COIL | 1)
> +
> +#define V4L2_CID_VOICE_COIL_CURRENT		(V4L2_CID_VOICE_COIL_CLASS_BASE + 1)
> +
>   #endif
>

Ivo

  reply	other threads:[~2016-06-12 21:48 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-17 18:19 [PATCH] support for AD5820 camera auto-focus coil Pavel Machek
2016-05-17 18:19 ` Pavel Machek
2016-05-17 18:33 ` Marcus Folkesson
2016-05-17 18:33   ` Marcus Folkesson
2016-05-18  8:30   ` Pavel Machek
2016-05-18  8:30     ` Pavel Machek
2016-05-21  5:43 ` [PATCHv2] " Pavel Machek
2016-05-21  5:43   ` Pavel Machek
2016-05-21  6:25   ` Ivaylo Dimitrov
2016-05-21  6:25     ` Ivaylo Dimitrov
2016-05-21 10:56     ` [PATCHv3] " Pavel Machek
2016-05-21 10:56       ` Pavel Machek
2016-05-21 11:43       ` Ivaylo Dimitrov
2016-05-21 11:43         ` Ivaylo Dimitrov
2016-05-23  7:41         ` Pali Rohár
2016-05-23  7:41           ` Pali Rohár
2016-05-23  7:41           ` Pali Rohár
2016-05-24  9:04         ` Pavel Machek
2016-05-24  9:04           ` Pavel Machek
2016-05-24  9:16           ` Ivaylo Dimitrov
2016-05-24  9:16             ` Ivaylo Dimitrov
2016-05-24 20:20             ` Pavel Machek
2016-05-24 20:20               ` Pavel Machek
2016-05-26  3:46               ` Ivaylo Dimitrov
2016-05-26  3:46                 ` Ivaylo Dimitrov
2016-05-24  9:17           ` [PATCHv4] " Pavel Machek
2016-05-24  9:17             ` Pavel Machek
2016-05-25 21:26             ` Sakari Ailus
2016-05-25 21:26               ` Sakari Ailus
2016-05-27 20:33               ` Pavel Machek
2016-05-27 20:33                 ` Pavel Machek
2016-05-27 20:51               ` [PATCHv5] " Pavel Machek
2016-05-27 20:51                 ` Pavel Machek
2016-05-31 21:22                 ` Sakari Ailus
2016-05-31 21:22                   ` Sakari Ailus
2016-05-31 21:34                   ` Pavel Machek
2016-05-31 21:34                     ` Pavel Machek
2016-06-01 15:24                     ` Sakari Ailus
2016-06-01 15:24                       ` Sakari Ailus
2016-06-01 22:08                       ` Pavel Machek
2016-06-01 22:08                         ` Pavel Machek
2016-06-02  7:45                         ` Sakari Ailus
2016-06-02  7:45                           ` Sakari Ailus
2016-06-02 19:27                           ` Pavel Machek
2016-06-02 19:27                             ` Pavel Machek
2016-06-02 21:23                             ` Sakari Ailus
2016-06-02 21:23                               ` Sakari Ailus
     [not found]                           ` <20160602074544.GR26360-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2016-06-02 19:30                             ` [PATCH] device tree description " Pavel Machek
2016-06-02 19:30                               ` Pavel Machek
2016-06-02 19:30                               ` Pavel Machek
2016-06-02 21:27                               ` Sakari Ailus
2016-06-02 21:27                                 ` Sakari Ailus
2016-06-03  6:19                                 ` Pavel Machek
2016-06-03  6:19                                   ` Pavel Machek
     [not found]                                 ` <20160602212746.GT26360-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2016-06-05 19:07                                   ` [PATCH] userspace API definitions for " Pavel Machek
2016-06-05 19:07                                     ` Pavel Machek
2016-06-05 19:07                                     ` Pavel Machek
2016-06-06  6:06                                     ` Ivaylo Dimitrov
2016-06-06  6:06                                       ` Ivaylo Dimitrov
2016-06-06  7:21                                       ` Pavel Machek
2016-06-06  7:21                                         ` Pavel Machek
     [not found]                                       ` <575512E5.5030000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-11 22:06                                         ` Sakari Ailus
2016-06-11 22:06                                           ` Sakari Ailus
2016-06-11 22:06                                           ` Sakari Ailus
2016-06-12  7:54                                           ` Pavel Machek
2016-06-12  7:54                                             ` Pavel Machek
2016-06-17 21:28                                             ` Sakari Ailus
2016-06-17 21:28                                               ` Sakari Ailus
2016-06-17 21:28                                               ` Sakari Ailus
2016-06-12  8:48                                           ` Pavel Machek
2016-06-12  8:48                                             ` Pavel Machek
2016-06-12 11:22                                             ` Sakari Ailus
2016-06-12 11:22                                               ` Sakari Ailus
2016-06-12 11:22                                               ` Sakari Ailus
     [not found]                                               ` <20160612112253.GD26360-S+BSfZ9RZZmRSg0ZkenSGLdO1Tsj/99ntUK59QYPAWc@public.gmane.org>
2016-06-13 19:17                                                 ` Pavel Machek
2016-06-13 19:17                                                   ` Pavel Machek
2016-06-13 19:17                                                   ` Pavel Machek
2016-06-17 21:35                                                   ` Sakari Ailus
2016-06-17 21:35                                                     ` Sakari Ailus
2016-06-18 15:37                                                     ` [PATCHv4] support for AD5820 camera " Pavel Machek
2016-06-18 15:37                                                       ` Pavel Machek
2016-06-18 15:38                                                     ` [PATCH] userspace API definitions for " Pavel Machek
2016-06-18 15:38                                                       ` Pavel Machek
2016-07-12 23:32                                                       ` Mauro Carvalho Chehab
2016-07-12 23:32                                                         ` Mauro Carvalho Chehab
2016-07-12 23:32                                                         ` Mauro Carvalho Chehab
2016-07-13  6:57                                                         ` Pavel Machek
2016-07-13  6:57                                                           ` Pavel Machek
2016-07-13  7:26                                                         ` Pavel Machek
2016-07-13  7:26                                                           ` Pavel Machek
2016-06-06 13:29                               ` [PATCH] device tree description for AD5820 camera " Rob Herring
2016-06-06 13:29                                 ` Rob Herring
2016-06-07  7:10                               ` [PATCHv2] " Pavel Machek
2016-06-07  7:10                                 ` Pavel Machek
2016-06-09 22:37                                 ` Sakari Ailus
2016-06-09 22:37                                   ` Sakari Ailus
2016-06-04 23:27                 ` [PATCHv5] support " kbuild test robot
2016-06-04 23:27                   ` kbuild test robot
2016-06-05  0:46                 ` kbuild test robot
2016-06-05  0:46                   ` kbuild test robot
2016-06-12 20:41                 ` [PATCH 1/1] v4l: Add camera voice coil lens control class, current control Sakari Ailus
2016-06-12 21:48                   ` Ivaylo Dimitrov [this message]
2016-06-17 22:11                     ` Pavel Machek
2016-06-17 22:39                       ` Laurent Pinchart
2016-06-18 11:28                         ` Pavel Machek
2016-06-17 22:06                   ` Pavel Machek
2016-08-05 10:26                 ` [PATCHv6] support for AD5820 camera auto-focus coil Pavel Machek
2016-08-05 10:26                   ` Pavel Machek
2016-08-05 10:30                   ` Pali Rohár
2016-08-05 10:30                     ` Pali Rohár
2016-08-08  8:09                   ` Sakari Ailus
2016-08-08  8:09                     ` Sakari Ailus
2016-08-08 21:41                     ` Pavel Machek
2016-08-08 21:41                       ` Pavel Machek
2016-08-08 21:41                       ` Pavel Machek
2016-08-10 12:01                       ` Sakari Ailus
2016-08-10 12:01                         ` Sakari Ailus
2016-08-10 12:01                         ` Sakari Ailus
2016-08-08 23:23                         ` Pavel Machek
2016-08-08 23:23                           ` Pavel Machek
2016-08-08 23:23                           ` Pavel Machek
2016-08-11 11:16                           ` Sakari Ailus
2016-08-11 11:16                             ` Sakari Ailus
2016-08-18 10:45                             ` Pavel Machek
2016-08-18 10:45                               ` Pavel Machek
2016-08-18 20:26                               ` Sakari Ailus
2016-08-18 20:26                                 ` Sakari Ailus
2016-08-18 20:26                                 ` Sakari Ailus
2016-08-18 21:28                                 ` Pavel Machek
2016-08-18 21:28                                   ` Pavel Machek
2016-08-18 21:28                                   ` Pavel Machek
2016-11-03 10:27                                 ` Pavel Machek
2016-11-03 10:27                                   ` Pavel Machek
2016-11-03 21:49                                   ` Sakari Ailus
2016-11-03 21:49                                     ` Sakari Ailus
2016-11-04  7:45                                     ` Pavel Machek
2016-11-04  7:45                                       ` Pavel Machek
2016-11-04 14:49                                       ` Tony Lindgren
2016-11-04 14:49                                         ` Tony Lindgren
2016-12-14 13:38                       ` Pali Rohár
2016-12-14 13:38                         ` Pali Rohár
2016-12-14 15:08                         ` Tony Lindgren
2016-12-14 15:08                           ` Tony Lindgren
2016-12-14 15:08                           ` Tony Lindgren
2016-12-15  6:50                           ` Sakari Ailus
2016-12-15  6:50                             ` Sakari Ailus
2016-12-15  6:50                             ` Sakari Ailus
2016-12-19 22:23                             ` Pavel Machek
2016-12-19 22:23                               ` Pavel Machek
2016-08-10  7:34                     ` Pali Rohár
2016-08-10  7:34                       ` Pali Rohár
2016-08-10  7:34                       ` Pali Rohár
2016-08-08 21:40                       ` Pavel Machek
2016-08-08 21:40                         ` Pavel Machek
2016-08-08 21:40                         ` Pavel Machek
2016-08-10 12:00                       ` Sakari Ailus
2016-08-10 12:00                         ` Sakari Ailus
2016-08-10 12:00                         ` Sakari Ailus

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=575DD89F.20607@gmail.com \
    --to=ivo.g.dimitrov.75@gmail.com \
    --cc=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=pali.rohar@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=sakari.ailus@iki.fi \
    --cc=sakari.ailus@linux.intel.com \
    --cc=sre@kernel.org \
    /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.