no-OS
Loading...
Searching...
No Matches
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;
69};
70
71struct no_os_pid;
72
73int no_os_pid_init(struct no_os_pid **pid, struct no_os_pid_config config);
74int no_os_pid_control(struct no_os_pid *pid, int SP, int PV, int *output);
75int no_os_pid_hysteresis(struct no_os_pid *pid, unsigned int hyst);
76int no_os_pid_reset(struct no_os_pid *pid);
77int no_os_pid_remove(struct no_os_pid *pid);
78
79#endif
int no_os_pid_control(struct no_os_pid *pid, int SP, int PV, int *output)
int no_os_pid_hysteresis(struct no_os_pid *pid, unsigned int hyst)
int no_os_pid_reset(struct no_os_pid *pid)
int no_os_pid_init(struct no_os_pid **pid, struct no_os_pid_config config)
int no_os_pid_remove(struct no_os_pid *pid)
Configuration of the PID.
Definition no_os_pid.h:54
unsigned int Kp
Definition no_os_pid.h:56
unsigned int Ki
Definition no_os_pid.h:58
unsigned int Kd
Definition no_os_pid.h:60
unsigned int hysteresis
Definition no_os_pid.h:62
struct no_os_pid_range i_clip
Definition no_os_pid.h:64
int initial
Definition no_os_pid.h:68
struct no_os_pid_range output_clip
Definition no_os_pid.h:66
Range definition for limiting PID control output or internal integrator accumulator.
Definition no_os_pid.h:43
int low
Definition no_os_pid.h:47
int high
Definition no_os_pid.h:45