t6est

Dependencies:   Pulse

rori.cpp

Committer:
kazuryu
Date:
2019-10-05
Revision:
4:9ba47e5db1e2
Parent:
0:3dc012104243

File content as of revision 4:9ba47e5db1e2:

#include "rori.h"
#include "mbed.h"

RORI::RORI(PinName a,PinName b): pinA(a),pinB(b),DigA(a),DigB(b){
    flag = true;
    }

void RORI::loli(){
    volatile short hear = DigA.read()<<1 | DigB.read();
    if(!dir){
        if(hear == 1){
            dir = hear;
        }else if(hear == 2){
            dir = hear;
        }else if(!hear){
            dir = 0;
        }
    }else if(!hear){
        if(old != dir){
            if(dir == 2){
                enc_count++;
            }else if(dir == 1){
                enc_count--;
            }
        }
        dir = 0;
    }
    old = hear;
    }
    
//long RORI::read(){

   // return(enc_count);
 //   }
 void RORI::read(long *a){
    pinA.rise(this,&RORI::loli);
    pinA.fall(this,&RORI::loli);
    pinB.rise(this,&RORI::loli);
    pinB.fall(this,&RORI::loli);
     *a = enc_count;
     }
bool RORI::getflag(){
    return(flag);
    }