STM32足回りプログラム

Dependencies:   mbed ros_lib_kinetic

Committer:
TanakaRobo
Date:
Tue Jul 09 16:00:03 2019 +0000
Revision:
3:012e5d7bbfd5
Parent:
1:7b0db5ea0ab7
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TanakaRobo 0:a202e1bc38a1 1 #pragma once
TanakaRobo 0:a202e1bc38a1 2 #include "mbed.h"
TanakaRobo 0:a202e1bc38a1 3 #ifndef M_PI
TanakaRobo 0:a202e1bc38a1 4 #define M_PI 3.14159265358979
TanakaRobo 0:a202e1bc38a1 5 #endif
TanakaRobo 0:a202e1bc38a1 6
TanakaRobo 0:a202e1bc38a1 7 class RotaryInc{
TanakaRobo 0:a202e1bc38a1 8 public:
TanakaRobo 1:7b0db5ea0ab7 9 RotaryInc(PinName userA, PinName userB,double circumference,int Resolution,int mode = 1);//速度計測有効
TanakaRobo 1:7b0db5ea0ab7 10 RotaryInc(PinName userA, PinName userB,int mode = 1);//速度計測無効
TanakaRobo 0:a202e1bc38a1 11 ~RotaryInc();
TanakaRobo 0:a202e1bc38a1 12 long long get();
TanakaRobo 0:a202e1bc38a1 13 double getSpeed();
TanakaRobo 0:a202e1bc38a1 14 void reset();
TanakaRobo 0:a202e1bc38a1 15 int diff();
TanakaRobo 0:a202e1bc38a1 16 private:
TanakaRobo 0:a202e1bc38a1 17 InterruptIn *A,*B;
TanakaRobo 0:a202e1bc38a1 18 Timer time;
TanakaRobo 0:a202e1bc38a1 19 long long pulse;
TanakaRobo 0:a202e1bc38a1 20 long long last[20];
TanakaRobo 0:a202e1bc38a1 21 long long prev;
TanakaRobo 0:a202e1bc38a1 22 int spend;
TanakaRobo 0:a202e1bc38a1 23 int count;
TanakaRobo 0:a202e1bc38a1 24 int mode;
TanakaRobo 0:a202e1bc38a1 25 int Resolution;
TanakaRobo 0:a202e1bc38a1 26 double now;
TanakaRobo 0:a202e1bc38a1 27 double sum;
TanakaRobo 0:a202e1bc38a1 28 double pre_t[20];
TanakaRobo 0:a202e1bc38a1 29 double speed;
TanakaRobo 0:a202e1bc38a1 30 double circumference;
TanakaRobo 0:a202e1bc38a1 31 bool measur;
TanakaRobo 0:a202e1bc38a1 32 bool startflag;
TanakaRobo 0:a202e1bc38a1 33 bool flag;
TanakaRobo 0:a202e1bc38a1 34 void init(PinName,PinName);
TanakaRobo 0:a202e1bc38a1 35 void riseA(void);
TanakaRobo 0:a202e1bc38a1 36 void riseB(void);
TanakaRobo 0:a202e1bc38a1 37 void fallA(void);
TanakaRobo 0:a202e1bc38a1 38 void fallB(void);
TanakaRobo 0:a202e1bc38a1 39 void calcu(void);
TanakaRobo 0:a202e1bc38a1 40 void zero(void);
TanakaRobo 0:a202e1bc38a1 41 };