![](/media/cache/profiles/P1030212_resized.JPG.50x50_q85.jpg)
STM32足回りプログラム
Dependencies: mbed ros_lib_kinetic
library/RotaryInc.hpp@3:012e5d7bbfd5, 2019-07-09 (annotated)
- 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?
User | Revision | Line number | New 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 | }; |