encoder library

Committer:
YutaTogashi
Date:
Fri Mar 01 05:33:41 2019 +0000
Revision:
2:10ce3d24df8e
Parent:
0:33005fa67bfd
Encoder

Who changed what in which revision?

UserRevisionLine numberNew contents of line
YutaTogashi 0:33005fa67bfd 1 #ifndef ENCODER_H
YutaTogashi 0:33005fa67bfd 2 #define ENCODER_H
YutaTogashi 0:33005fa67bfd 3
YutaTogashi 0:33005fa67bfd 4 #include "mbed.h"
YutaTogashi 0:33005fa67bfd 5
YutaTogashi 0:33005fa67bfd 6 /****定数****/
YutaTogashi 0:33005fa67bfd 7 #define PI 3.1415f
YutaTogashi 0:33005fa67bfd 8 #define RADIAN 360
YutaTogashi 0:33005fa67bfd 9 #define MINUTE 60
YutaTogashi 0:33005fa67bfd 10 #define CALCULATE_PERIOD 0.01f
YutaTogashi 0:33005fa67bfd 11
YutaTogashi 0:33005fa67bfd 12 enum DATA_CATEGORY{
YutaTogashi 0:33005fa67bfd 13 COUNT,
YutaTogashi 0:33005fa67bfd 14 ROTATION,
YutaTogashi 0:33005fa67bfd 15 RPM,
YutaTogashi 0:33005fa67bfd 16 DISTANCE,
YutaTogashi 0:33005fa67bfd 17 ANGLE,
YutaTogashi 0:33005fa67bfd 18 POSITION,
YutaTogashi 0:33005fa67bfd 19 };
YutaTogashi 0:33005fa67bfd 20
YutaTogashi 0:33005fa67bfd 21
YutaTogashi 0:33005fa67bfd 22 class Encoder {
YutaTogashi 0:33005fa67bfd 23 public:
YutaTogashi 0:33005fa67bfd 24 Encoder(PinName Apulse,PinName Bpulse);
YutaTogashi 0:33005fa67bfd 25 void setup(int Ppr = 400,int Diameter = 0);
YutaTogashi 0:33005fa67bfd 26 void calculate();
YutaTogashi 0:33005fa67bfd 27 float getData(short ch);
YutaTogashi 2:10ce3d24df8e 28 void reset();
YutaTogashi 0:33005fa67bfd 29 private:
YutaTogashi 0:33005fa67bfd 30 InterruptIn Apulse;
YutaTogashi 0:33005fa67bfd 31 InterruptIn Bpulse;
YutaTogashi 0:33005fa67bfd 32 Ticker RpmCalculateTimer;
YutaTogashi 0:33005fa67bfd 33
YutaTogashi 0:33005fa67bfd 34 void Apulse_Up();
YutaTogashi 0:33005fa67bfd 35 void Apulse_Down();
YutaTogashi 0:33005fa67bfd 36 void Bpulse_Up();
YutaTogashi 0:33005fa67bfd 37 void Bpulse_Down();
YutaTogashi 0:33005fa67bfd 38 void RpmCalculate();
YutaTogashi 0:33005fa67bfd 39
YutaTogashi 0:33005fa67bfd 40 float PPR,DIAMETER,count,rotation,rpm,distance,angle,position;
YutaTogashi 0:33005fa67bfd 41 };
YutaTogashi 0:33005fa67bfd 42
YutaTogashi 0:33005fa67bfd 43 #endif