Thijs Rakels / Mbed 2 deprecated Encoders

Dependencies:   mbed

Committer:
Thijsjeee
Date:
Tue Sep 25 15:48:29 2018 +0000
Revision:
0:fb2b540167a8
hoi;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Thijsjeee 0:fb2b540167a8 1 #include "mbed.h"
Thijsjeee 0:fb2b540167a8 2 #include <math.h>
Thijsjeee 0:fb2b540167a8 3
Thijsjeee 0:fb2b540167a8 4
Thijsjeee 0:fb2b540167a8 5 DigitalOut Led1(D5);
Thijsjeee 0:fb2b540167a8 6 DigitalOut Led2(D4);
Thijsjeee 0:fb2b540167a8 7 DigitalIn B(D2);
Thijsjeee 0:fb2b540167a8 8 DigitalIn A(D3);
Thijsjeee 0:fb2b540167a8 9 Ticker check;
Thijsjeee 0:fb2b540167a8 10 Ticker printer;
Thijsjeee 0:fb2b540167a8 11 volatile int prev_A;
Thijsjeee 0:fb2b540167a8 12 volatile int prev_B;
Thijsjeee 0:fb2b540167a8 13 int state = 0;
Thijsjeee 0:fb2b540167a8 14
Thijsjeee 0:fb2b540167a8 15
Thijsjeee 0:fb2b540167a8 16 void Printer()
Thijsjeee 0:fb2b540167a8 17 {
Thijsjeee 0:fb2b540167a8 18 printf("%i\r\n",state);
Thijsjeee 0:fb2b540167a8 19 }
Thijsjeee 0:fb2b540167a8 20
Thijsjeee 0:fb2b540167a8 21
Thijsjeee 0:fb2b540167a8 22 void Checker ()
Thijsjeee 0:fb2b540167a8 23 {
Thijsjeee 0:fb2b540167a8 24 if (prev_A == 1)
Thijsjeee 0:fb2b540167a8 25 {
Thijsjeee 0:fb2b540167a8 26 if(A == 0)
Thijsjeee 0:fb2b540167a8 27 {
Thijsjeee 0:fb2b540167a8 28 ++state;
Thijsjeee 0:fb2b540167a8 29 }
Thijsjeee 0:fb2b540167a8 30 }
Thijsjeee 0:fb2b540167a8 31 if (prev_A == 0)
Thijsjeee 0:fb2b540167a8 32 {
Thijsjeee 0:fb2b540167a8 33 if(A == 1)
Thijsjeee 0:fb2b540167a8 34 {
Thijsjeee 0:fb2b540167a8 35 ++state;
Thijsjeee 0:fb2b540167a8 36 }
Thijsjeee 0:fb2b540167a8 37 }
Thijsjeee 0:fb2b540167a8 38 prev_A = A;
Thijsjeee 0:fb2b540167a8 39
Thijsjeee 0:fb2b540167a8 40
Thijsjeee 0:fb2b540167a8 41 if (prev_B == 1)
Thijsjeee 0:fb2b540167a8 42 {
Thijsjeee 0:fb2b540167a8 43 if(B == 0)
Thijsjeee 0:fb2b540167a8 44 {
Thijsjeee 0:fb2b540167a8 45 ++state;
Thijsjeee 0:fb2b540167a8 46 }
Thijsjeee 0:fb2b540167a8 47 }
Thijsjeee 0:fb2b540167a8 48 if (prev_B == 0)
Thijsjeee 0:fb2b540167a8 49 {
Thijsjeee 0:fb2b540167a8 50 if(B == 1)
Thijsjeee 0:fb2b540167a8 51 {
Thijsjeee 0:fb2b540167a8 52 ++state;
Thijsjeee 0:fb2b540167a8 53 }
Thijsjeee 0:fb2b540167a8 54 }
Thijsjeee 0:fb2b540167a8 55 prev_B = B;
Thijsjeee 0:fb2b540167a8 56 }
Thijsjeee 0:fb2b540167a8 57
Thijsjeee 0:fb2b540167a8 58
Thijsjeee 0:fb2b540167a8 59
Thijsjeee 0:fb2b540167a8 60
Thijsjeee 0:fb2b540167a8 61 main()
Thijsjeee 0:fb2b540167a8 62 {
Thijsjeee 0:fb2b540167a8 63 printer.attach(Printer, 0.1);
Thijsjeee 0:fb2b540167a8 64 check.attach(Checker, 1e-6);
Thijsjeee 0:fb2b540167a8 65 prev_A = A;
Thijsjeee 0:fb2b540167a8 66 prev_B = B;
Thijsjeee 0:fb2b540167a8 67 while(true)
Thijsjeee 0:fb2b540167a8 68 {
Thijsjeee 0:fb2b540167a8 69 }
Thijsjeee 0:fb2b540167a8 70 }