Rauno U
/
Miisu
Six crescent shaped legs
PIDController.hpp@47:4f418a4b0051, 2016-06-21 (annotated)
- Committer:
- sim642
- Date:
- Tue Jun 21 14:43:44 2016 +0000
- Revision:
- 47:4f418a4b0051
- Parent:
- 13:dc5f5f19e4e8
Byte based communication
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sim642 | 2:cf0147952fb9 | 1 | #ifndef PID_CONTROLLER_H |
sim642 | 2:cf0147952fb9 | 2 | #define PID_CONTROLLER_H |
sim642 | 2:cf0147952fb9 | 3 | |
sim642 | 2:cf0147952fb9 | 4 | #include "ErrorController.hpp" |
sim642 | 2:cf0147952fb9 | 5 | #include "mbed.h" |
sim642 | 2:cf0147952fb9 | 6 | |
sim642 | 13:dc5f5f19e4e8 | 7 | struct PIDData |
sim642 | 13:dc5f5f19e4e8 | 8 | { |
sim642 | 13:dc5f5f19e4e8 | 9 | float Kp, Ki, Kd; |
sim642 | 13:dc5f5f19e4e8 | 10 | }; |
sim642 | 13:dc5f5f19e4e8 | 11 | |
sim642 | 2:cf0147952fb9 | 12 | class PIDController : public ErrorController |
sim642 | 2:cf0147952fb9 | 13 | { |
sim642 | 2:cf0147952fb9 | 14 | public: |
sim642 | 13:dc5f5f19e4e8 | 15 | PIDController(PIDData nData); |
sim642 | 2:cf0147952fb9 | 16 | virtual ~PIDController(); |
sim642 | 2:cf0147952fb9 | 17 | |
sim642 | 2:cf0147952fb9 | 18 | virtual void reset(); |
sim642 | 2:cf0147952fb9 | 19 | virtual float step(float error); |
sim642 | 2:cf0147952fb9 | 20 | |
sim642 | 13:dc5f5f19e4e8 | 21 | void set(PIDData nData); |
sim642 | 13:dc5f5f19e4e8 | 22 | |
sim642 | 13:dc5f5f19e4e8 | 23 | protected: |
sim642 | 13:dc5f5f19e4e8 | 24 | PIDData data; |
sim642 | 2:cf0147952fb9 | 25 | |
sim642 | 2:cf0147952fb9 | 26 | private: |
sim642 | 2:cf0147952fb9 | 27 | Timer timer; |
sim642 | 2:cf0147952fb9 | 28 | |
sim642 | 2:cf0147952fb9 | 29 | float prev_error; |
sim642 | 2:cf0147952fb9 | 30 | float integral; |
sim642 | 2:cf0147952fb9 | 31 | }; |
sim642 | 2:cf0147952fb9 | 32 | |
sim642 | 2:cf0147952fb9 | 33 | #endif // PID_CONTROLLER_H |