ちょっとかえた
Fork of encoder by
encoder.cpp@1:6456080fa03b, 2018-03-26 (annotated)
- Committer:
- frute8
- Date:
- Mon Mar 26 20:42:49 2018 +0000
- Revision:
- 1:6456080fa03b
- Parent:
- 0:0d6f91c4a794
?????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenken0721 | 0:0d6f91c4a794 | 1 | #include "encoder.h" |
kenken0721 | 0:0d6f91c4a794 | 2 | #include "mbed.h" |
kenken0721 | 0:0d6f91c4a794 | 3 | |
kenken0721 | 0:0d6f91c4a794 | 4 | Encoder::Encoder(PinName APin, PinName BPin, PinName ZPin) : A(APin) , B(BPin) , Z(ZPin){ |
kenken0721 | 0:0d6f91c4a794 | 5 | A.rise(this,&Encoder::flag); |
kenken0721 | 0:0d6f91c4a794 | 6 | init(); |
kenken0721 | 0:0d6f91c4a794 | 7 | } |
kenken0721 | 0:0d6f91c4a794 | 8 | |
kenken0721 | 0:0d6f91c4a794 | 9 | void Encoder::init(void){ |
kenken0721 | 0:0d6f91c4a794 | 10 | count = 0; |
kenken0721 | 0:0d6f91c4a794 | 11 | zcount = 0; |
kenken0721 | 0:0d6f91c4a794 | 12 | } |
kenken0721 | 0:0d6f91c4a794 | 13 | |
kenken0721 | 0:0d6f91c4a794 | 14 | void Encoder::flag(void){ |
kenken0721 | 0:0d6f91c4a794 | 15 | if(B == true){ |
kenken0721 | 0:0d6f91c4a794 | 16 | count++; |
kenken0721 | 0:0d6f91c4a794 | 17 | if(Z == true){ |
kenken0721 | 0:0d6f91c4a794 | 18 | zcount++; |
frute8 | 1:6456080fa03b | 19 | count=0; |
kenken0721 | 0:0d6f91c4a794 | 20 | } |
kenken0721 | 0:0d6f91c4a794 | 21 | }else{ |
kenken0721 | 0:0d6f91c4a794 | 22 | count--; |
kenken0721 | 0:0d6f91c4a794 | 23 | if(Z == true){ |
kenken0721 | 0:0d6f91c4a794 | 24 | zcount--; |
frute8 | 1:6456080fa03b | 25 | count=0; |
kenken0721 | 0:0d6f91c4a794 | 26 | } |
kenken0721 | 0:0d6f91c4a794 | 27 | } |
kenken0721 | 0:0d6f91c4a794 | 28 | } |
kenken0721 | 0:0d6f91c4a794 | 29 | |
frute8 | 1:6456080fa03b | 30 | int Encoder::read_rotate(){ |
frute8 | 1:6456080fa03b | 31 | return count; |
kenken0721 | 0:0d6f91c4a794 | 32 | } |
kenken0721 | 0:0d6f91c4a794 | 33 | |
kenken0721 | 0:0d6f91c4a794 | 34 | int Encoder::read_z(){ |
kenken0721 | 0:0d6f91c4a794 | 35 | return zcount; |
kenken0721 | 0:0d6f91c4a794 | 36 | } |
kenken0721 | 0:0d6f91c4a794 | 37 | |
kenken0721 | 0:0d6f91c4a794 | 38 |