18 lines
416 B
C
18 lines
416 B
C
|
|
#ifndef PID_H
|
||
|
|
#define PID_H
|
||
|
|
|
||
|
|
#include <stdint.h>
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
int8_t dstate; //last position input
|
||
|
|
int8_t istate; //integrator state
|
||
|
|
int8_t imax, imin; //integratir limits
|
||
|
|
int8_t vmax,vmin; //result limits
|
||
|
|
int8_t pgain, igain, dgain;
|
||
|
|
} pid_struct;
|
||
|
|
|
||
|
|
|
||
|
|
int8_t update_pid(pid_struct *pid, int8_t error, uint8_t position);
|
||
|
|
int8_t pid_guard(uint16_t desired, uint16_t current);
|
||
|
|
|
||
|
|
#endif /* PID_H */
|