t6est

Dependencies:   Pulse

Committer:
kazuryu
Date:
Sat Oct 05 01:41:37 2019 +0000
Revision:
4:9ba47e5db1e2
Parent:
0:3dc012104243
B

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kazuryu 0:3dc012104243 1 #include "rori.h"
kazuryu 0:3dc012104243 2 #include "mbed.h"
kazuryu 0:3dc012104243 3
kazuryu 0:3dc012104243 4 RORI::RORI(PinName a,PinName b): pinA(a),pinB(b),DigA(a),DigB(b){
kazuryu 0:3dc012104243 5 flag = true;
kazuryu 0:3dc012104243 6 }
kazuryu 0:3dc012104243 7
kazuryu 0:3dc012104243 8 void RORI::loli(){
kazuryu 0:3dc012104243 9 volatile short hear = DigA.read()<<1 | DigB.read();
kazuryu 0:3dc012104243 10 if(!dir){
kazuryu 0:3dc012104243 11 if(hear == 1){
kazuryu 0:3dc012104243 12 dir = hear;
kazuryu 0:3dc012104243 13 }else if(hear == 2){
kazuryu 0:3dc012104243 14 dir = hear;
kazuryu 0:3dc012104243 15 }else if(!hear){
kazuryu 0:3dc012104243 16 dir = 0;
kazuryu 0:3dc012104243 17 }
kazuryu 0:3dc012104243 18 }else if(!hear){
kazuryu 0:3dc012104243 19 if(old != dir){
kazuryu 0:3dc012104243 20 if(dir == 2){
kazuryu 0:3dc012104243 21 enc_count++;
kazuryu 0:3dc012104243 22 }else if(dir == 1){
kazuryu 0:3dc012104243 23 enc_count--;
kazuryu 0:3dc012104243 24 }
kazuryu 0:3dc012104243 25 }
kazuryu 0:3dc012104243 26 dir = 0;
kazuryu 0:3dc012104243 27 }
kazuryu 0:3dc012104243 28 old = hear;
kazuryu 0:3dc012104243 29 }
kazuryu 0:3dc012104243 30
kazuryu 0:3dc012104243 31 //long RORI::read(){
kazuryu 0:3dc012104243 32
kazuryu 0:3dc012104243 33 // return(enc_count);
kazuryu 0:3dc012104243 34 // }
kazuryu 0:3dc012104243 35 void RORI::read(long *a){
kazuryu 0:3dc012104243 36 pinA.rise(this,&RORI::loli);
kazuryu 0:3dc012104243 37 pinA.fall(this,&RORI::loli);
kazuryu 0:3dc012104243 38 pinB.rise(this,&RORI::loli);
kazuryu 0:3dc012104243 39 pinB.fall(this,&RORI::loli);
kazuryu 0:3dc012104243 40 *a = enc_count;
kazuryu 0:3dc012104243 41 }
kazuryu 0:3dc012104243 42 bool RORI::getflag(){
kazuryu 0:3dc012104243 43 return(flag);
kazuryu 0:3dc012104243 44 }