2018 HongoMechaTech A

Dependencies:   mbed

Committer:
Komazawa_sun
Date:
Tue Sep 18 03:11:01 2018 +0000
Revision:
0:e83b840a5f86
????????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Komazawa_sun 0:e83b840a5f86 1 /*
Komazawa_sun 0:e83b840a5f86 2 * MDPIDSpeed.h
Komazawa_sun 0:e83b840a5f86 3 *
Komazawa_sun 0:e83b840a5f86 4 * Created on: 2018/08/31
Komazawa_sun 0:e83b840a5f86 5 * Author: komazawataiyou
Komazawa_sun 0:e83b840a5f86 6 */
Komazawa_sun 0:e83b840a5f86 7
Komazawa_sun 0:e83b840a5f86 8 #ifndef NUCLEO_FLIPING_ARM_LIB_MD_PID_SPEED_MDPIDSPEED_H_
Komazawa_sun 0:e83b840a5f86 9 #define NUCLEO_FLIPING_ARM_LIB_MD_PID_SPEED_MDPIDSPEED_H_
Komazawa_sun 0:e83b840a5f86 10
Komazawa_sun 0:e83b840a5f86 11 #include "mbed.h"
Komazawa_sun 0:e83b840a5f86 12 #include "MD.h"
Komazawa_sun 0:e83b840a5f86 13 #include "QEI.h"
Komazawa_sun 0:e83b840a5f86 14 #include "Timer_PID.h"
Komazawa_sun 0:e83b840a5f86 15
Komazawa_sun 0:e83b840a5f86 16 class MD_PID_Speed: public MD, public Timer_PID{
Komazawa_sun 0:e83b840a5f86 17 public:
Komazawa_sun 0:e83b840a5f86 18 MD_PID_Speed(MD *md, QEI *encorder, double kp, double ki, double kd);
Komazawa_sun 0:e83b840a5f86 19 virtual ~MD_PID_Speed();
Komazawa_sun 0:e83b840a5f86 20
Komazawa_sun 0:e83b840a5f86 21 virtual void drive(double rpm);
Komazawa_sun 0:e83b840a5f86 22 virtual void brake(double rpm);
Komazawa_sun 0:e83b840a5f86 23 virtual void free();
Komazawa_sun 0:e83b840a5f86 24
Komazawa_sun 0:e83b840a5f86 25 double get_duty();
Komazawa_sun 0:e83b840a5f86 26 double get_current_rpm();
Komazawa_sun 0:e83b840a5f86 27
Komazawa_sun 0:e83b840a5f86 28 bool target_complete(float allowable_error);
Komazawa_sun 0:e83b840a5f86 29
Komazawa_sun 0:e83b840a5f86 30 void reset();
Komazawa_sun 0:e83b840a5f86 31 private:
Komazawa_sun 0:e83b840a5f86 32 MD *md;
Komazawa_sun 0:e83b840a5f86 33 QEI *encorder;
Komazawa_sun 0:e83b840a5f86 34
Komazawa_sun 0:e83b840a5f86 35 double target_rpm_;
Komazawa_sun 0:e83b840a5f86 36 double rpm_log_[4];
Komazawa_sun 0:e83b840a5f86 37 double duty_;
Komazawa_sun 0:e83b840a5f86 38 };
Komazawa_sun 0:e83b840a5f86 39
Komazawa_sun 0:e83b840a5f86 40 #endif /* NUCLEO_FLIPING_ARM_LIB_MD_PID_SPEED_MDPIDSPEED_H_ */