sentral tester

Dependencies:   mbed

Committer:
awmiller
Date:
Sat Jan 04 00:33:35 2014 +0000
Revision:
0:6834f1402927
Final Draft for LPC1768

Who changed what in which revision?

UserRevisionLine numberNew contents of line
awmiller 0:6834f1402927 1 #include "mbed.h"
awmiller 0:6834f1402927 2 #include "Test_Routines.h"
awmiller 0:6834f1402927 3
awmiller 0:6834f1402927 4 BusIn GPIOS(p10,p11,p12,p13,p14,/*p15*/p9,p16);
awmiller 0:6834f1402927 5 Timeout escape;
awmiller 0:6834f1402927 6
awmiller 0:6834f1402927 7 int timeout=0;
awmiller 0:6834f1402927 8
awmiller 0:6834f1402927 9 void timeit()
awmiller 0:6834f1402927 10 {
awmiller 0:6834f1402927 11 timeout =1;
awmiller 0:6834f1402927 12 }
awmiller 0:6834f1402927 13
awmiller 0:6834f1402927 14 int EV0_test(Serial &pc,I2C &master)
awmiller 0:6834f1402927 15 {
awmiller 0:6834f1402927 16
awmiller 0:6834f1402927 17 int trig;int P;
awmiller 0:6834f1402927 18 pc.printf("Waiting for a pin to trigger... ");
awmiller 0:6834f1402927 19 do
awmiller 0:6834f1402927 20 {
awmiller 0:6834f1402927 21 P = GPIOS;
awmiller 0:6834f1402927 22
awmiller 0:6834f1402927 23 if(P&&0x40)
awmiller 0:6834f1402927 24 trig = 6;
awmiller 0:6834f1402927 25 if(P&&0x01)
awmiller 0:6834f1402927 26 trig = 0;
awmiller 0:6834f1402927 27 if(P&&0x02)
awmiller 0:6834f1402927 28 trig = 1;
awmiller 0:6834f1402927 29 if(P&&0x04)
awmiller 0:6834f1402927 30 trig = 2;
awmiller 0:6834f1402927 31 if(P&&0x08)
awmiller 0:6834f1402927 32 trig = 3;
awmiller 0:6834f1402927 33 if(P&&0x10)
awmiller 0:6834f1402927 34 trig = 4;
awmiller 0:6834f1402927 35 if(P&&0x20)
awmiller 0:6834f1402927 36 trig = 5;
awmiller 0:6834f1402927 37 } while((!(GPIOS) && (timeout < 1000)));
awmiller 0:6834f1402927 38
awmiller 0:6834f1402927 39 if(timeout < 1000)
awmiller 0:6834f1402927 40 pc.printf("Trigger: Pin%d \r\n",trig);
awmiller 0:6834f1402927 41 else
awmiller 0:6834f1402927 42 pc.printf("No Trigger\r\n");
awmiller 0:6834f1402927 43 timeout=0;
awmiller 0:6834f1402927 44 while( ( GPIOS < 0x7F ) && (timeout < 1000) )
awmiller 0:6834f1402927 45 timeout++;
awmiller 0:6834f1402927 46 if(timeout < 100)
awmiller 0:6834f1402927 47 pc.printf("Notice: Pins are simultaneous, check continuity \r\n");
awmiller 0:6834f1402927 48
awmiller 0:6834f1402927 49 timeout=0;
awmiller 0:6834f1402927 50
awmiller 0:6834f1402927 51 escape.attach(&timeit, 10.0);
awmiller 0:6834f1402927 52
awmiller 0:6834f1402927 53 while(!(GPIOS&&0x40))//6
awmiller 0:6834f1402927 54 if(timeout) break;
awmiller 0:6834f1402927 55 while(!(GPIOS&&0x01))//0
awmiller 0:6834f1402927 56 if(timeout) break;
awmiller 0:6834f1402927 57 while(!(GPIOS&&0x02))//1
awmiller 0:6834f1402927 58 if(timeout) break;
awmiller 0:6834f1402927 59 while(!(GPIOS&&0x04))//2
awmiller 0:6834f1402927 60 if(timeout) break;
awmiller 0:6834f1402927 61 while(!(GPIOS&&0x08))//3
awmiller 0:6834f1402927 62 if(timeout) break;
awmiller 0:6834f1402927 63 while(!(GPIOS&&0x10))//4
awmiller 0:6834f1402927 64 if(timeout) break;
awmiller 0:6834f1402927 65 while(!(GPIOS&&0x20))//5
awmiller 0:6834f1402927 66 if(timeout) break;
awmiller 0:6834f1402927 67
awmiller 0:6834f1402927 68 if(!timeout){
awmiller 0:6834f1402927 69 pc.printf("All Pins Fired\r\n");
awmiller 0:6834f1402927 70 return 1;
awmiller 0:6834f1402927 71 }
awmiller 0:6834f1402927 72 else
awmiller 0:6834f1402927 73 pc.printf("GPIO Timeout, Test FAILED");
awmiller 0:6834f1402927 74
awmiller 0:6834f1402927 75 return 0;
awmiller 0:6834f1402927 76
awmiller 0:6834f1402927 77
awmiller 0:6834f1402927 78 }
awmiller 0:6834f1402927 79
awmiller 0:6834f1402927 80 //EOF
awmiller 0:6834f1402927 81