#! /usr/bin/env python
#*
#*  Copyright (c) 2010, JSK
#*  All rights reserved.
#*
#*  Redistribution and use in source and binary forms, with or without
#*  modification, are permitted provided that the following conditions
#*  are met:
#*
#*   * Redistributions of source code must retain the above copyright
#*     notice, this list of conditions and the following disclaimer.
#*   * Redistributions in binary form must reproduce the above
#*     copyright notice, this list of conditions and the following
#*     disclaimer in the documentation and/or other materials provided
#*     with the distribution.
#*   * Neither the name of the author nor the names of other
#*     contributors may be used to endorse or promote products derived
#*     from this software without specific prior written permission.
#*
#*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
#*  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
#*  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
#*  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
#*  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
#*  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
#*  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
#*  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
#*  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
#*  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
#*  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
#*  POSSIBILITY OF SUCH DAMAGE.
#***********************************************************

# swissranger_camera dynamic configuration

PACKAGE='swissranger_camera'

from dynamic_reconfigure.parameter_generator_catkin import *


gen = ParameterGenerator()

gen.add("frame_id", str_t, 0,
        "ROS tf frame of reference, resolved with tf_prefix unless absolute.",
        "camera")

gen.add("camera_info_url", str_t, 0,
        "Camera calibration URL for this video_mode (uncalibrated if null).",
        "")

# Generic feature control states, not all apply.
controls = gen.enum([gen.const("Off", int_t, 0, "Use fixed value"),
                     gen.const("Auto", int_t, 1, "Camera sets continuously")],
                    "Feature control states")

gen.add("auto_exposure", int_t, 0,
        "Auto exposure control state.", 1, 0, 1, edit_method = controls)

gen.add("integration_time", int_t, 0,
        "integration_time control.",
        1, 0, 255)

gen.add("amp_threshold", int_t, 0,
        "amplitude_threshold control.",
        -1, -1, 0xFFFF)

exit(gen.generate(PACKAGE, "SwissRanger", "SwissRanger"))
