s

Dependencies:   HCSR04_2 MPU6050_2 mbed SDFileSystem3

Fork of AutoFlight2017_now_copy by Bot Furukawa

Committer:
TUATBM
Date:
Sat Sep 08 09:21:46 2018 +0000
Revision:
2:e7025f2cf0e1
Parent:
0:92024886c0be
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TUATBM 0:92024886c0be 1 #ifndef PID_MBED_H
TUATBM 0:92024886c0be 2 #define PID_MBED_H
TUATBM 0:92024886c0be 3
TUATBM 0:92024886c0be 4
TUATBM 0:92024886c0be 5 #include "mbed.h"
TUATBM 0:92024886c0be 6
TUATBM 0:92024886c0be 7 class PID
TUATBM 0:92024886c0be 8 {
TUATBM 0:92024886c0be 9 public:
TUATBM 0:92024886c0be 10 double kp, ki, kd, max, min, dt;
TUATBM 0:92024886c0be 11
TUATBM 0:92024886c0be 12 //コンストラクタ
TUATBM 0:92024886c0be 13 PID();
TUATBM 0:92024886c0be 14 PID(double Pgain, double Igain, double Dgain);
TUATBM 0:92024886c0be 15 PID(double Pgain, double Igain, double Dgain, double Max, double Min);
TUATBM 0:92024886c0be 16 //デストラクタ
TUATBM 0:92024886c0be 17 ~PID();
TUATBM 0:92024886c0be 18
TUATBM 0:92024886c0be 19 void initialize(void);
TUATBM 0:92024886c0be 20 void setPIDgain(double Pgain, double Igain, double Dgain);
TUATBM 0:92024886c0be 21 void setMaxMin(double Max, double Min);
TUATBM 0:92024886c0be 22 void switchMaxMin(bool Maxcheck, bool Mincheck);
TUATBM 0:92024886c0be 23 double calcPID(double nowval, double targetval, double dt);
TUATBM 0:92024886c0be 24
TUATBM 0:92024886c0be 25
TUATBM 0:92024886c0be 26 private:
TUATBM 0:92024886c0be 27 double integral;
TUATBM 0:92024886c0be 28 double oldval[2], diff[2];
TUATBM 0:92024886c0be 29 bool maxcheck, mincheck;
TUATBM 0:92024886c0be 30 };
TUATBM 0:92024886c0be 31
TUATBM 0:92024886c0be 32 #endif