no-OS
no_os_pid.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef _NO_OS_PID_H
34 #define _NO_OS_PID_H
35 #include <stdlib.h>
36 #include <stdio.h>
37 #include <stdint.h>
38 
44  /* High limit of the range */
45  int high;
47  int low;
48 };
49 
56  unsigned int Kp;
58  unsigned int Ki;
60  unsigned int Kd;
62  unsigned int hysteresis;
68  int initial;
69 };
70 
71 struct no_os_pid;
72 
73 int no_os_pid_init(struct no_os_pid **pid, struct no_os_pid_config config);
74 int no_os_pid_control(struct no_os_pid *pid, int SP, int PV, int *output);
75 int no_os_pid_hysteresis(struct no_os_pid *pid, unsigned int hyst);
76 int no_os_pid_reset(struct no_os_pid *pid);
77 int no_os_pid_remove(struct no_os_pid *pid);
78 
79 #endif
no_os_pid_config::Ki
unsigned int Ki
Definition: no_os_pid.h:58
no_os_pid_config
Configuration of the PID.
Definition: no_os_pid.h:54
no_os_pid_range
Range definition for limiting PID control output or internal integrator accumulator.
Definition: no_os_pid.h:43
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:66
no_os_pid_range::low
int low
Definition: no_os_pid.h:47
no_os_pid_config::Kp
unsigned int Kp
Definition: no_os_pid.h:56
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:68
no_os_pid_config::Kd
unsigned int Kd
Definition: no_os_pid.h:60
no_os_pid_config::hysteresis
unsigned int hysteresis
Definition: no_os_pid.h:62
no_os_pid_config::i_clip
struct no_os_pid_range i_clip
Definition: no_os_pid.h:64
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:45
no_os_pid_control
int no_os_pid_control(struct no_os_pid *pid, int SP, int PV, int *output)