#ifndef __PID_H #define __PID_H #include "main.h" typedef struct { float kp; // ???? float ki; // ???? float kd; // ???? float integral; // ??? float prev_error; // ????? float output; // ??? float integral_limit; // ???? float output_limit; // ???? } PID_Controller_t; extern void PID_Init(PID_Controller_t* pid, float kp, float ki, float kd, float integral_limit, float output_limit); extern float PID_Calculate(PID_Controller_t* pid, float error, float dt); extern void Motor_PID_Init(); extern void PID_PositionClean(PID_Controller_t* pid); #endif