![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
sentral tester
Test_Routines.cpp@0:6834f1402927, 2014-01-04 (annotated)
- Committer:
- awmiller
- Date:
- Sat Jan 04 00:33:35 2014 +0000
- Revision:
- 0:6834f1402927
Final Draft for LPC1768
Who changed what in which revision?
User | Revision | Line number | New 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 |