#!/usr/bin/env python
PACKAGE = "ros_basics_exercise"

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

mode_enum = gen.enum([gen.const("Obstacle_Avoidance", int_t, 0, "run with obstacle avoidance"),
                                                       gen.const("Test", int_t, 1, "run for test")], "An enum to set mode")
gen.add("mode", int_t, 0, "A size parameter which is edited via an enum", 0, 0, 1, edit_method=mode_enum)
gen.add("W_MAX", double_t, 0, "Max value of rotation speed",    3.14, 0,   8.)
gen.add("V_MAX", double_t, 0, "Max value of translation speed",    0.05, 0,   0.4)
gen.add("W_KP", double_t, 0, "KP of rotation PID",    3.0, 0,   5)
gen.add("W_KI", double_t, 0, "KI of rotation PID",    0.0, 0,   1)
gen.add("W_KD", double_t, 0, "KD of rotation PID",    0.0, 0,   1)
gen.add("V_KP", double_t, 0, "KP of translation PID",    2.0, 0,   5)
gen.add("V_KI", double_t, 0, "KI of translation PID",    0.0, 0,   1)
gen.add("V_KD", double_t, 0, "KD of translation PID",    0.0, 0,   1)
gen.add("test_x", double_t, 0, "test target in x",  0.0, -0.4,   0.4)
gen.add("test_y", double_t, 0, "test target in y", 0.0, -0.2,   0.2)
gen.add("test_yaw",double_t, 0, "test target in yaw", 0.0, -3.15,  3.15)
gen.add("start_test",   bool_t,   0, "start flag for calibration test",  False)

# package, node, name prefix: `<name>Config.h` or `<name>Config.py`
exit(gen.generate(PACKAGE, "ros_basics_exercise", "ThymioController"))
