rearrange fields and export the read-only variable `sum`
[liba.git] / python / src / a / pid_fuzzy.pxd
blob0d2442123aac2412bc91aea81da43958c6d16a7a
1 from a.pid cimport *
2 from a.fuzzy cimport *
4 cdef extern from "a/pid_fuzzy.h":
5     enum:
6         A_PID_FUZZY_CAP
7         A_PID_FUZZY_CAP_ALGEBRA
8         A_PID_FUZZY_CAP_BOUNDED
9         A_PID_FUZZY_CUP
10         A_PID_FUZZY_CUP_ALGEBRA
11         A_PID_FUZZY_CUP_BOUNDED
12         A_PID_FUZZY_EQU
13     ctypedef struct a_pid_fuzzy:
14         a_pid pid
15         a_float kp
16         a_float ki
17         a_float kd
18         a_float (*op)(a_float, a_float)
19         unsigned int order
20         unsigned int block
21     a_float (*a_pid_fuzzy_op(unsigned int op))(a_float, a_float)
22     void a_pid_fuzzy_set_op(a_pid_fuzzy *ctx, unsigned int op)
23     void a_pid_fuzzy_init(a_pid_fuzzy *ctx)
24     void a_pid_fuzzy_rule(a_pid_fuzzy *ctx, unsigned int order, const a_float *mec, const a_float *mec, const a_float *mkp, const a_float *mki, const a_float *mkd)
25     void *a_pid_fuzzy_block(a_pid_fuzzy *ctx)
26     void a_pid_fuzzy_set_block(a_pid_fuzzy *ctx, void *ptr, a_size num)
27     a_size A_PID_FUZZY_BLOCK(unsigned int num)
28     void a_pid_fuzzy_kpid(a_pid_fuzzy *ctx, a_float kp, a_float ki, a_float kd)
29     a_float a_pid_fuzzy_run(a_pid_fuzzy *ctx, a_float set, a_float fdb)
30     a_float a_pid_fuzzy_pos(a_pid_fuzzy *ctx, a_float set, a_float fdb)
31     a_float a_pid_fuzzy_inc(a_pid_fuzzy *ctx, a_float set, a_float fdb)
32     void a_pid_fuzzy_zero(a_pid_fuzzy *ctx)