no-OS
no_os_pid.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef _NO_OS_PID_H
40 #define _NO_OS_PID_H
41 #include <stdlib.h>
42 #include <stdio.h>
43 #include <stdint.h>
44 
50  /* High limit of the range */
51  int high;
53  int low;
54 };
55 
62  unsigned int Kp;
64  unsigned int Ki;
66  unsigned int Kd;
68  unsigned int hysteresis;
74  int initial;
75 };
76 
77 struct no_os_pid;
78 
79 int no_os_pid_init(struct no_os_pid **pid, struct no_os_pid_config config);
80 int no_os_pid_control(struct no_os_pid *pid, int SP, int PV, int *output);
81 int no_os_pid_hysteresis(struct no_os_pid *pid, unsigned int hyst);
82 int no_os_pid_reset(struct no_os_pid *pid);
83 int no_os_pid_remove(struct no_os_pid *pid);
84 
85 #endif
no_os_pid_config::Ki
unsigned int Ki
Definition: no_os_pid.h:64
no_os_pid_config
Configuration of the PID.
Definition: no_os_pid.h:60
no_os_pid_range
Range definition for limiting PID control output or internal integrator accumulator.
Definition: no_os_pid.h:49
no_os_pid_remove
int no_os_pid_remove(struct no_os_pid *pid)
no_os_pid_hysteresis
int no_os_pid_hysteresis(struct no_os_pid *pid, unsigned int hyst)
no_os_pid_config::output_clip
struct no_os_pid_range output_clip
Definition: no_os_pid.h:72
no_os_pid_range::low
int low
Definition: no_os_pid.h:53
no_os_pid_config::Kp
unsigned int Kp
Definition: no_os_pid.h:62
no_os_pid_init
int no_os_pid_init(struct no_os_pid **pid, struct no_os_pid_config config)
no_os_pid_config::initial
int initial
Definition: no_os_pid.h:74
no_os_pid_config::Kd
unsigned int Kd
Definition: no_os_pid.h:66
no_os_pid_config::hysteresis
unsigned int hysteresis
Definition: no_os_pid.h:68
no_os_pid_config::i_clip
struct no_os_pid_range i_clip
Definition: no_os_pid.h:70
no_os_pid_reset
int no_os_pid_reset(struct no_os_pid *pid)
no_os_pid_range::high
int high
Definition: no_os_pid.h:51
no_os_pid_control
int no_os_pid_control(struct no_os_pid *pid, int SP, int PV, int *output)