Assa teamet / Mbed 2 deprecated Encoder

Dependencies:   mbed

Committer:
Mbize
Date:
Fri May 23 11:51:39 2014 +0000
Revision:
0:57a88d862c8b
fff

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mbize 0:57a88d862c8b 1 #include "mbed.h"
Mbize 0:57a88d862c8b 2 #define buffsize 1500
Mbize 0:57a88d862c8b 3 Serial pc(USBTX, USBRX); // tx, rx
Mbize 0:57a88d862c8b 4
Mbize 0:57a88d862c8b 5 InterruptIn event(p16);
Mbize 0:57a88d862c8b 6 AnalogOut speed(p18);
Mbize 0:57a88d862c8b 7 Timer timer;
Mbize 0:57a88d862c8b 8 PwmOut pwm1(p23);
Mbize 0:57a88d862c8b 9
Mbize 0:57a88d862c8b 10 int start=0;
Mbize 0:57a88d862c8b 11 int stop=0;
Mbize 0:57a88d862c8b 12 int tim=0;
Mbize 0:57a88d862c8b 13 int i=0;
Mbize 0:57a88d862c8b 14 int s=0;
Mbize 0:57a88d862c8b 15 int send=0;
Mbize 0:57a88d862c8b 16
Mbize 0:57a88d862c8b 17 /*
Mbize 0:57a88d862c8b 18 int bufferstart[buffsize];
Mbize 0:57a88d862c8b 19 int bufferstop[buffsize];
Mbize 0:57a88d862c8b 20 */
Mbize 0:57a88d862c8b 21
Mbize 0:57a88d862c8b 22 void trigger1(void)
Mbize 0:57a88d862c8b 23 {
Mbize 0:57a88d862c8b 24 if (s==0)
Mbize 0:57a88d862c8b 25 {
Mbize 0:57a88d862c8b 26 timer.reset();
Mbize 0:57a88d862c8b 27 s=1;
Mbize 0:57a88d862c8b 28 }
Mbize 0:57a88d862c8b 29 if (send==0)
Mbize 0:57a88d862c8b 30 {
Mbize 0:57a88d862c8b 31 start=timer.read_us();
Mbize 0:57a88d862c8b 32 send=1;
Mbize 0:57a88d862c8b 33 }
Mbize 0:57a88d862c8b 34 }
Mbize 0:57a88d862c8b 35
Mbize 0:57a88d862c8b 36 void trigger2(void)
Mbize 0:57a88d862c8b 37 {
Mbize 0:57a88d862c8b 38 if (send==1)
Mbize 0:57a88d862c8b 39 {
Mbize 0:57a88d862c8b 40 stop=timer.read_us();
Mbize 0:57a88d862c8b 41 pc.printf("%i %i ", start, stop);
Mbize 0:57a88d862c8b 42 send=0;
Mbize 0:57a88d862c8b 43 }
Mbize 0:57a88d862c8b 44 }
Mbize 0:57a88d862c8b 45
Mbize 0:57a88d862c8b 46 int main()
Mbize 0:57a88d862c8b 47 {
Mbize 0:57a88d862c8b 48 pc.baud(921600);
Mbize 0:57a88d862c8b 49 pwm1.period_us(20); //p=1/f
Mbize 0:57a88d862c8b 50 pwm1.pulsewidth_us(10); //
Mbize 0:57a88d862c8b 51 event.rise(&trigger1);
Mbize 0:57a88d862c8b 52 event.fall(&trigger2);
Mbize 0:57a88d862c8b 53 timer.start();
Mbize 0:57a88d862c8b 54
Mbize 0:57a88d862c8b 55 //pc.printf("Init_time %i\n", init_t);
Mbize 0:57a88d862c8b 56
Mbize 0:57a88d862c8b 57 while(1)
Mbize 0:57a88d862c8b 58 {
Mbize 0:57a88d862c8b 59 /* if (i>=(2*buffsize-2))
Mbize 0:57a88d862c8b 60 {
Mbize 0:57a88d862c8b 61 __disable_irq();
Mbize 0:57a88d862c8b 62 int k=0;
Mbize 0:57a88d862c8b 63 while (k<buffsize-1)
Mbize 0:57a88d862c8b 64 {
Mbize 0:57a88d862c8b 65 pc.printf("%i %i ", bufferstart[k], bufferstop[k]);
Mbize 0:57a88d862c8b 66 k++;
Mbize 0:57a88d862c8b 67 }
Mbize 0:57a88d862c8b 68 while(k<=(2*buffsize)-2)
Mbize 0:57a88d862c8b 69 {
Mbize 0:57a88d862c8b 70 pc.printf("%i %i ", bufferstart2[k-buffsize-1], bufferstop2[k-buffsize-1]);
Mbize 0:57a88d862c8b 71 k++;
Mbize 0:57a88d862c8b 72 }
Mbize 0:57a88d862c8b 73 while (k>=(2*buffsize)-2)
Mbize 0:57a88d862c8b 74 {
Mbize 0:57a88d862c8b 75
Mbize 0:57a88d862c8b 76 }
Mbize 0:57a88d862c8b 77
Mbize 0:57a88d862c8b 78 }
Mbize 0:57a88d862c8b 79 */
Mbize 0:57a88d862c8b 80 }
Mbize 0:57a88d862c8b 81 }
Mbize 0:57a88d862c8b 82
Mbize 0:57a88d862c8b 83 /*
Mbize 0:57a88d862c8b 84 void trigger1(void)
Mbize 0:57a88d862c8b 85 {
Mbize 0:57a88d862c8b 86 if (s==0)
Mbize 0:57a88d862c8b 87 {
Mbize 0:57a88d862c8b 88 timer.reset();
Mbize 0:57a88d862c8b 89 s=1;
Mbize 0:57a88d862c8b 90 }
Mbize 0:57a88d862c8b 91 if (i<buffsize-1)
Mbize 0:57a88d862c8b 92 {
Mbize 0:57a88d862c8b 93 bufferstart[i] = timer.read_us();
Mbize 0:57a88d862c8b 94 }
Mbize 0:57a88d862c8b 95 if (i>=buffsize-1)
Mbize 0:57a88d862c8b 96 {
Mbize 0:57a88d862c8b 97 bufferstart2[i-buffsize-1] = timer.read_us();
Mbize 0:57a88d862c8b 98 }
Mbize 0:57a88d862c8b 99 }
Mbize 0:57a88d862c8b 100
Mbize 0:57a88d862c8b 101 void trigger2(void)
Mbize 0:57a88d862c8b 102 {
Mbize 0:57a88d862c8b 103 if (i<buffsize-1)
Mbize 0:57a88d862c8b 104 {
Mbize 0:57a88d862c8b 105 bufferstop[i] = timer.read_us();
Mbize 0:57a88d862c8b 106 }
Mbize 0:57a88d862c8b 107 if (i>=buffsize-1)
Mbize 0:57a88d862c8b 108 {
Mbize 0:57a88d862c8b 109 bufferstop2[i-buffsize-1] = timer.read_us();
Mbize 0:57a88d862c8b 110 }
Mbize 0:57a88d862c8b 111 i++;
Mbize 0:57a88d862c8b 112 }
Mbize 0:57a88d862c8b 113 */
Mbize 0:57a88d862c8b 114