13#include "pros/rtos.hpp"
35 FAPID(
float kF,
float kA,
float kP,
float kI,
float kD, std::string name);
45 void setGains(
float kF,
float kA,
float kP,
float kI,
float kD);
55 void setExit(
float largeError,
float smallError,
int largeTime,
int smallTime,
int maxTime);
65 float update(
float target,
float position,
bool log =
false);
111 int largeTimeCounter = 0;
112 int smallTimeCounter = 0;
116 float totalError = 0;
117 float prevOutput = 0;
121 static std::string input;
122 static pros::Task* logTask;
123 static pros::Mutex logMutex;
Feedforward, Acceleration, Proportional, Integral, Derivative PID controller.
Definition: pid.hpp:23
float update(float target, float position, bool log=false)
Update the FAPID.
void setExit(float largeError, float smallError, int largeTime, int smallTime, int maxTime)
Set the exit conditions.
void setGains(float kF, float kA, float kP, float kI, float kD)
Set gains.
static void init()
initialize the FAPID logging system
bool settled()
Check if the FAPID has settled.
FAPID(float kF, float kA, float kP, float kI, float kD, std::string name)
Construct a new FAPID.
void reset()
Reset the FAPID.