RIT VEXU Core API
Loading...
Searching...
No Matches
pidff.h
1#pragma once
2#include "../core/include/utils/controls/feedback_base.h"
3#include "../core/include/utils/controls/feedforward.h"
4#include "../core/include/utils/controls/pid.h"
5
6class PIDFF : public Feedback {
7public:
8 PIDFF(PID::pid_config_t &pid_cfg, FeedForward::ff_config_t &ff_cfg);
9
18 void init(double start_pt, double set_pt) override;
19
24 void set_target(double set_pt);
25
26 double get_target() const;
27 double get_sensor_val() const;
35 double update(double val) override;
36
45 double update(double val, double vel_setpt, double a_setpt = 0);
46
50 double get() override;
51
59 void set_limits(double lower, double upper) override;
60
64 bool is_on_target() override;
65
66 void reset();
67
68 PID pid;
69
70private:
72
73 FeedForward ff;
74
75 double out;
76 double lower_lim, upper_lim;
77};
Definition feedforward.h:29
Definition feedback_base.h:10
Definition pid.h:23
Definition feedforward.h:39
Definition pid.h:43