Andrew Miller
/
EV_0_test
sentral tester
Test_Routines.cpp
- Committer:
- awmiller
- Date:
- 2016-05-20
- Revision:
- 1:29e57acc058b
- Parent:
- 0:6834f1402927
File content as of revision 1:29e57acc058b:
#include "mbed.h" #include "Test_Routines.h" BusIn GPIOS(p10,p11,p12,p13,p14,/*p15*/p9,p16); Timeout escape; int timeout=0; void timeit() { timeout =1; } int EV0_test(Serial &pc,I2C &master) { int trig;int P; pc.printf("Waiting for a pin to trigger... "); do { P = GPIOS; if(P&&0x40) trig = 6; if(P&&0x01) trig = 0; if(P&&0x02) trig = 1; if(P&&0x04) trig = 2; if(P&&0x08) trig = 3; if(P&&0x10) trig = 4; if(P&&0x20) trig = 5; } while((!(GPIOS) && (timeout < 1000))); if(timeout < 1000) pc.printf("Trigger: Pin%d \r\n",trig); else pc.printf("No Trigger\r\n"); timeout=0; while( ( GPIOS < 0x7F ) && (timeout < 1000) ) timeout++; if(timeout < 100) pc.printf("Notice: Pins are simultaneous, check continuity \r\n"); timeout=0; escape.attach(&timeit, 10.0); while(!(GPIOS&&0x40))//6 if(timeout) break; while(!(GPIOS&&0x01))//0 if(timeout) break; while(!(GPIOS&&0x02))//1 if(timeout) break; while(!(GPIOS&&0x04))//2 if(timeout) break; while(!(GPIOS&&0x08))//3 if(timeout) break; while(!(GPIOS&&0x10))//4 if(timeout) break; while(!(GPIOS&&0x20))//5 if(timeout) break; if(!timeout){ pc.printf("All Pins Fired\r\n"); return 1; } else pc.printf("GPIO Timeout, Test FAILED"); return 0; } //EOF