a
Dependencies: mbed LidarLitev2
rori.cpp@0:48dbc1f972f1, 2019-09-29 (annotated)
- Committer:
- kazuryu
- Date:
- Sun Sep 29 09:41:46 2019 +0000
- Revision:
- 0:48dbc1f972f1
areyoukiddingme;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kazuryu | 0:48dbc1f972f1 | 1 | #include "rori.h" |
| kazuryu | 0:48dbc1f972f1 | 2 | #include "mbed.h" |
| kazuryu | 0:48dbc1f972f1 | 3 | |
| kazuryu | 0:48dbc1f972f1 | 4 | Serial s(USBTX,USBRX); |
| kazuryu | 0:48dbc1f972f1 | 5 | RORI::RORI(PinName a,PinName b): pinA(a),pinB(b),DigA(a),DigB(b){ |
| kazuryu | 0:48dbc1f972f1 | 6 | flag = true; |
| kazuryu | 0:48dbc1f972f1 | 7 | DigA.mode(PullDown); |
| kazuryu | 0:48dbc1f972f1 | 8 | DigB.mode(PullDown); |
| kazuryu | 0:48dbc1f972f1 | 9 | } |
| kazuryu | 0:48dbc1f972f1 | 10 | |
| kazuryu | 0:48dbc1f972f1 | 11 | void RORI::loli(){ |
| kazuryu | 0:48dbc1f972f1 | 12 | volatile short hear = DigA.read()<<1 | DigB.read(); |
| kazuryu | 0:48dbc1f972f1 | 13 | |
| kazuryu | 0:48dbc1f972f1 | 14 | s.printf("%d",DigA.read()); |
| kazuryu | 0:48dbc1f972f1 | 15 | s.printf("%s",":"); |
| kazuryu | 0:48dbc1f972f1 | 16 | s.printf("%d\n",DigB.read()); |
| kazuryu | 0:48dbc1f972f1 | 17 | |
| kazuryu | 0:48dbc1f972f1 | 18 | if(!dir){ |
| kazuryu | 0:48dbc1f972f1 | 19 | if(hear == 1){ |
| kazuryu | 0:48dbc1f972f1 | 20 | dir = hear; |
| kazuryu | 0:48dbc1f972f1 | 21 | }else if(hear == 2){ |
| kazuryu | 0:48dbc1f972f1 | 22 | dir = hear; |
| kazuryu | 0:48dbc1f972f1 | 23 | }else if(!hear){ |
| kazuryu | 0:48dbc1f972f1 | 24 | dir = 0; |
| kazuryu | 0:48dbc1f972f1 | 25 | } |
| kazuryu | 0:48dbc1f972f1 | 26 | }else if(!hear){ |
| kazuryu | 0:48dbc1f972f1 | 27 | if(old != dir){ |
| kazuryu | 0:48dbc1f972f1 | 28 | if(dir == 2){ |
| kazuryu | 0:48dbc1f972f1 | 29 | enc_count++; |
| kazuryu | 0:48dbc1f972f1 | 30 | }else if(dir == 1){ |
| kazuryu | 0:48dbc1f972f1 | 31 | enc_count--; |
| kazuryu | 0:48dbc1f972f1 | 32 | } |
| kazuryu | 0:48dbc1f972f1 | 33 | } |
| kazuryu | 0:48dbc1f972f1 | 34 | dir = 0; |
| kazuryu | 0:48dbc1f972f1 | 35 | } |
| kazuryu | 0:48dbc1f972f1 | 36 | old = hear; |
| kazuryu | 0:48dbc1f972f1 | 37 | } |
| kazuryu | 0:48dbc1f972f1 | 38 | |
| kazuryu | 0:48dbc1f972f1 | 39 | void RORI::read(long *a){ |
| kazuryu | 0:48dbc1f972f1 | 40 | pinA.rise(this,&RORI::loli); |
| kazuryu | 0:48dbc1f972f1 | 41 | pinA.fall(this,&RORI::loli); |
| kazuryu | 0:48dbc1f972f1 | 42 | pinB.rise(this,&RORI::loli); |
| kazuryu | 0:48dbc1f972f1 | 43 | pinB.fall(this,&RORI::loli); |
| kazuryu | 0:48dbc1f972f1 | 44 | *a = enc_count; |
| kazuryu | 0:48dbc1f972f1 | 45 | } |
| kazuryu | 0:48dbc1f972f1 | 46 | bool RORI::getflag(){ |
| kazuryu | 0:48dbc1f972f1 | 47 | return(flag); |
| kazuryu | 0:48dbc1f972f1 | 48 | } |