Khangai Robot Play - Naive  01
THe naive play of the Khangai Robot
pid.h
Go to the documentation of this file.
1 /*
2  * pid.h
3  *
4  * Created : 11/10/2018
5  * Author : n-is
6  * email : 073bex422.nischal@pcampus.edu.np
7  */
8 
9 #ifndef _PID_H_
10 #define _PID_H_
11 
12 #include "pid_algorithms.h"
13 
14 class PID
15 {
16 public:
17  PID() { }
18  PID(PID_Algorithm *algo) { set_Algorithm(algo); }
19  PID(PID &&) = default;
20  PID(const PID &) = default;
21  PID &operator=(PID &&) = default;
22  PID &operator=(const PID &) = default;
23  ~PID() { }
24 
25  void set_Algorithm(PID_Algorithm *algo) { algo_ = algo; }
27 
28  float compute_PID(float err, uint32_t dt_millis) {
29  return algo_->compute(err, dt_millis);
30  }
31 
32  void clear() { algo_->clear(); }
33 
34 private:
36 };
37 
38 #endif // !_PID_H_
virtual float compute(float error, uint32_t dt_millis)=0
float compute_PID(float err, uint32_t dt_millis)
Definition: pid.h:28
PID & operator=(PID &&)=default
Definition: pid_algorithms.h:14
PID()
Definition: pid.h:17
PID_Algorithm * algo_
Definition: pid.h:35
~PID()
Definition: pid.h:23
PID(PID_Algorithm *algo)
Definition: pid.h:18
PID_Algorithm * get_Algorithm()
Definition: pid.h:26
Definition: pid.h:14
void clear()
Definition: pid.h:32
void set_Algorithm(PID_Algorithm *algo)
Definition: pid.h:25
virtual void clear()=0