#! /usr/bin/env python

PACKAGE='fuzzy_logic_controller'

import roslib;
roslib.load_manifest(PACKAGE)

from dynamic_reconfigure.parameter_generator_catkin import *

gen = ParameterGenerator()

controller_enum = gen.enum([	gen.const("SFLC", 	int_t, 	0, 	"Singleton Fuzzy Logic Controller"),
				gen.const("SNSFLC", 	int_t, 	1, 	"Standard Nonsingleton Fuzzy Logic Controller"),
				gen.const("CNSFLC", 	int_t, 	2, 	"Centroid Nonsingleton Fuzzy Logic Controller")],
				"Controller type")

#       	Name				Type      	Level	Description					Default 	Min	Max 	Values
gen.add(	"controller",			int_t,		0,	"Controller type",				0,		0,	2,	edit_method=controller_enum)

gen.add( 	"k_p",				double_t, 	0, 	"Proportional gain", 				1, 		0, 	10)
gen.add( 	"k_i",				double_t, 	0, 	"Integral gain", 				0.1, 		0, 	10)
gen.add( 	"k_d",				double_t, 	0, 	"Derivative gain", 				0.2, 		0, 	10)
gen.add( 	"k_v",				double_t, 	0, 	"Velocity gain", 				3, 		0, 	10)
gen.add( 	"i_internal",			bool_t, 	0, 	"Integral part internal to the controller",	True)

exit(gen.generate(PACKAGE, "fuzzy_logic_controller", "setController"))
