rename a_pid_fuzzy_equ to a_fuzzy_equ
[liba.git] / lua / src / pid.h
blob3373451ad38d5bcc037e28fc281cad6b53bb50ea
1 /***
2 proportional integral derivative controller
3 @classmod a.pid
4 */
6 #ifndef LUA_LIBA_PID_H
7 #define LUA_LIBA_PID_H
9 #include "a.h"
11 /***
12 proportional integral derivative controller
13 @field kp proportional constant
14 @field ki integral constant
15 @field kd derivative constant
16 @field summax maximum integral output
17 @field summin minimum integral output
18 @field outmax maximum final output
19 @field outmin minimum final output
20 @field out controller output
21 @field fdb cache feedback
22 @field err cache error
23 @table a.pid
25 #if defined(__cplusplus)
26 extern "C" {
27 #endif /* __cplusplus */
29 /***
30 constructor for PID controller
31 @treturn a.pid PID controller userdata
32 @function new
34 int liba_pid_new(lua_State *L);
36 /***
37 initialize for PID controller
38 @treturn a.pid PID controller userdata
39 @function init
41 int liba_pid_init(lua_State *L);
43 /***
44 set proportional integral derivative constant for PID controller
45 @tparam number kp proportional constant
46 @tparam number ki integral constant
47 @tparam number kd derivative constant
48 @treturn a.pid PID controller userdata
49 @function kpid
51 int liba_pid_kpid(lua_State *L);
53 /***
54 calculate for PID controller
55 @tparam number set setpoint value
56 @tparam number fdb feedback value
57 @treturn number setpoint value
58 @function run
60 int liba_pid_run(lua_State *L);
62 /***
63 calculate for positional PID controller
64 @tparam number set setpoint value
65 @tparam number fdb feedback value
66 @treturn number output value
67 @function pos
69 int liba_pid_pos(lua_State *L);
71 /***
72 calculate for incremental PID controller
73 @tparam number set setpoint value
74 @tparam number fdb feedback value
75 @treturn number output value
76 @function inc
78 int liba_pid_inc(lua_State *L);
80 /***
81 zeroing for PID controller
82 @treturn a.pid PID controller userdata
83 @function zero
85 int liba_pid_zero(lua_State *L);
87 #if defined(__cplusplus)
88 } /* extern "C" */
89 #endif /* __cplusplus */
91 #endif /* pid.h */