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

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

gen.add("alpha",    double_t, 0, "first order error of kexi", 70.0,  0., 100.)
gen.add("gama",     double_t, 0, "first order error of ro", 150.0, 0., 200.)
gen.add("betai",    double_t, 0, "theta(1)", 0.0,  0., 100.)
gen.add("k1",       double_t, 0, "gain of delta epsilon", 1.0,  0., 100.)
gen.add("kl",       double_t, 0, "gain in Aij", 0.1,  0., 100.)
gen.add("kij",      double_t, 0, "gain of Aij", 1.0,  0., 100.)
gen.add("obstacle_radius", double_t, 0, "obstacle potential radius outside", 0.7,  0., 100.)
gen.add("kp",       double_t, 0, "gain of delta error", 1.0,  0., 100.)
gen.add("T",        double_t, 0, "time period of step", 0.8,  0., 100.)
gen.add("Mi",       double_t, 0, "theta(0)", 1.0,  0., 100.)
gen.add("default_radius",  double_t, 0, "default obstacle radius", 1.0,  0., 100.)
gen.add("d",       double_t, 0, "obstacle potential diameter inside", 1.0,  0., 100.)
gen.add("satu_thres",       double_t, 0, "threshold of norm of input vector", 1.5,  0., 100.)
gen.add("m_radius",       double_t, 0, "target radius", 0.5,  0., 100.)
gen.add("m_ringWidth",       double_t, 0, "ring width of target", 0.2,  0., 100.)



#size_enum = gen.enum([ gen.const("Small",      int_t, 0, "A small constant"),
#                       gen.const("Medium",     int_t, 1, "A medium constant"),
#                       gen.const("Large",      int_t, 2, "A large constant"),
#                       gen.const("ExtraLarge", int_t, 3, "An extra large constant")],
#                     "An enum to set size")

#gen.add("size", int_t, 0, "A size parameter which is edited via an enum", 1, 0, 3, edit_method=size_enum)

exit(gen.generate(PACKAGE, "fflocking", "FlockingAlgo"))
