#!/usr/bin/env python3

# Copyright (c) 2016, Toyota Research Institute. All rights reserved.

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:

# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.

# 2. 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.

# 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 HOLDER 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.


PACKAGE="robotiq_3f_gripper_control"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("ind_control_fingers", bool_t, 0, "Set individual control of fingers", False)
gen.add("ind_control_scissor", bool_t, 0, "Set individual control of scissor", False)

mode_enum = gen.enum([gen.const("Basic",   int_t, 0, "Basic mode"),
                      gen.const("Pinch",   int_t, 1, "Pinch mode"),
                      gen.const("Wide",    int_t, 2, "Wide mode"),
                      gen.const("Scissor", int_t, 3, "Scissor mode")], "An enum to set the grasp operation mode")

gen.add("mode", int_t, 0, "The grasping mode", 0, edit_method = mode_enum)

gen.add("velocity", double_t, 0, "Set velocity for fingers", 66, 22, 110)
gen.add("force", double_t, 0, "Set force for fingers", 30, 15, 60)

exit(gen.generate(PACKAGE, "robotiq_3f_gripper_control", "Robotiq3FGripper"))
