RIT VEXU Core API
Loading...
Searching...
No Matches
pidff.h
1#pragma once
2#include "core/math/controls/feedback_base.h"
3#include "core/math/controls/feedforward.h"
4#include "core/math/controls/pid.h"
5
6class PIDFF : public Feedback {
7 public:
8 PIDFF(PID pid, FeedForward ff);
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
48 double get() override;
49
57 void set_limits(double lower, double upper) override;
58
60 bool is_on_target() override;
61
62 void reset();
63
64 PID pid;
65
66 private:
67 FeedForward ff;
68
69 double out;
70 double lower_lim, upper_lim;
71};
Definition feedback_base.h:10