testtest

Dependencies:   QEI mbed-src

main.cpp

Committer:
kikoaac
Date:
2014-12-01
Revision:
0:081a0007e5b3

File content as of revision 0:081a0007e5b3:

#include "mbed.h"
#include "QEI.h"
#define ROTATE_PER_REVOLUTIONS  48
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
Ticker timer1;
Ticker timer2;
Serial pc(USBTX, USBRX); // tx, rx pc hyper terminal
QEI wheel1(D1,D0,NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING);
int buf,cfd,predata,pulse1,pulse2;

void disp() {
 /*lcd.locate(0,0);
 lcd.printf("ec1:%03d ec2:%03d\n", pulse1,pulse2);
 lcd.locate(0,1);
 lcd.printf("cfd:%03d\n", cfd); */ 
 printf("encoder1: %02d\n\r", pulse1);
 printf("encoder2: %02d\n\r", pulse2);
 printf("cfd:%03d\n\r", cfd);
 led2=!led2; //check 
 }
void encoder() {
    pulse1 =  wheel1.getPulses()/4;
    //pulse2 =  wheel2.getPulses()/4;
    led4=!led4; //check
}
 int main()
 {
        timer1.attach_us(&disp, 50000);   //100ms
        timer2.attach_us(&encoder,10); //10ms
                printf("Opt Feder X1");
    while(1)
    {
                 led3=!led3;//check
         if(pc.readable()) {          
            buf = pc.getc();
            if(buf == 127)
            { //to aboid freeze issue at 127 not fixed.
                buf =pc.getc();
            }
            cfd = buf;
            if(buf != predata)
            {          
                if(buf >= 3)
                {
                led1 = 1;
                }
                else{
                led1 =0;
                }
                //cfd = buf;
                predata = buf;
                         
            }//if(x1 != predata)
            
          }//if(device.readable())
    }
 }