On Sun, Aug 3, 2014 at 10:52 PM, Pawel Osciak <posciak@xxxxxxxxxxxx> wrote: > This looks good to me in general (with one comment below). I don't think we > can easily implement current V4L2 pan and tilt controls that are for > movement by a specified amount in terms of UVC pan/tilt speed controls, > which only let us set speed and direction... > > On Wed, Jul 9, 2014 at 8:49 AM, Vincent Palatin <vpalatin@xxxxxxxxxxxx> > wrote: >> >> The V4L2_CID_PAN_SPEED and V4L2_CID_TILT_SPEED controls allow to move the >> camera by setting its rotation speed around its axis. >> >> Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> >> >> --- >> Documentation/DocBook/media/v4l/compat.xml | 10 ++++++++++ >> Documentation/DocBook/media/v4l/controls.xml | 21 +++++++++++++++++++++ >> drivers/media/v4l2-core/v4l2-ctrls.c | 2 ++ >> include/uapi/linux/v4l2-controls.h | 2 ++ >> 4 files changed, 35 insertions(+) >> >> diff --git a/Documentation/DocBook/media/v4l/compat.xml >> b/Documentation/DocBook/media/v4l/compat.xml >> index eee6f0f..21910e9 100644 >> --- a/Documentation/DocBook/media/v4l/compat.xml >> +++ b/Documentation/DocBook/media/v4l/compat.xml >> @@ -2545,6 +2545,16 @@ fields changed from _s32 to _u32. >> </orderedlist> >> </section> >> >> + <section> >> + <title>V4L2 in Linux 3.17</title> >> + <orderedlist> >> + <listitem> >> + <para>Added <constant>V4L2_CID_PAN_SPEED</constant> and >> + <constant>V4L2_CID_TILT_SPEED</constant> camera controls.</para> >> + </listitem> >> + </orderedlist> >> + </section> >> + >> <section id="other"> >> <title>Relation of V4L2 to other Linux multimedia APIs</title> >> >> diff --git a/Documentation/DocBook/media/v4l/controls.xml >> b/Documentation/DocBook/media/v4l/controls.xml >> index 47198ee..cdf97f0 100644 >> --- a/Documentation/DocBook/media/v4l/controls.xml >> +++ b/Documentation/DocBook/media/v4l/controls.xml >> @@ -3914,6 +3914,27 @@ by exposure, white balance or focus >> controls.</entry> >> </row> >> <row><entry></entry></row> >> >> + <row> >> + <entry >> spanname="id"><constant>V4L2_CID_PAN_SPEED</constant> </entry> >> + <entry>integer</entry> >> + </row><row><entry spanname="descr">This control turns the >> +camera horizontally at the specific speed. The unit is undefined. A >> +positive value moves the camera to the right (clockwise when viewed >> +from above), a negative value to the left. A value of zero does not >> +cause or stop the motion.</entry> > > > How do we stop/start? As mentioned in the last sentence of the paragraph above, setting 0 stops the movement. setting non-zero value starts it if needed. > >> >> + </row> >> + <row><entry></entry></row> >> + >> + <row> >> + <entry >> spanname="id"><constant>V4L2_CID_TILT_SPEED</constant> </entry> >> + <entry>integer</entry> >> + </row><row><entry spanname="descr">This control turns the >> +camera vertically at the specified speed. The unit is undefined. A >> +positive value moves the camera up, a negative value down. A value of >> +zero does not cause or stop the motion.</entry> >> + </row> >> + <row><entry></entry></row> >> + >> </tbody> >> </tgroup> >> </table> >> diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c >> b/drivers/media/v4l2-core/v4l2-ctrls.c >> index 55c6832..57ddaf4 100644 >> --- a/drivers/media/v4l2-core/v4l2-ctrls.c >> +++ b/drivers/media/v4l2-core/v4l2-ctrls.c >> @@ -787,6 +787,8 @@ const char *v4l2_ctrl_get_name(u32 id) >> case V4L2_CID_AUTO_FOCUS_STOP: return "Auto Focus, Stop"; >> case V4L2_CID_AUTO_FOCUS_STATUS: return "Auto Focus, >> Status"; >> case V4L2_CID_AUTO_FOCUS_RANGE: return "Auto Focus, >> Range"; >> + case V4L2_CID_PAN_SPEED: return "Pan, Speed"; >> + case V4L2_CID_TILT_SPEED: return "Tilt, Speed"; >> >> /* FM Radio Modulator control */ >> /* Keep the order of the 'case's the same as in videodev2.h! */ >> diff --git a/include/uapi/linux/v4l2-controls.h >> b/include/uapi/linux/v4l2-controls.h >> index 2ac5597..5576044 100644 >> --- a/include/uapi/linux/v4l2-controls.h >> +++ b/include/uapi/linux/v4l2-controls.h >> @@ -745,6 +745,8 @@ enum v4l2_auto_focus_range { >> V4L2_AUTO_FOCUS_RANGE_INFINITY = 3, >> }; >> >> +#define V4L2_CID_PAN_SPEED >> (V4L2_CID_CAMERA_CLASS_BASE+32) >> +#define V4L2_CID_TILT_SPEED >> (V4L2_CID_CAMERA_CLASS_BASE+33) >> >> /* FM Modulator class control IDs */ >> >> -- >> 2.0.0.526.g5318336 >> > -- 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