manu jose
/
1hourMaster
Master 1 hr . takes input form the serial connection of PC
Diff: main.cpp
- Revision:
- 0:219eacd4c264
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Dec 04 06:10:16 2010 +0000 @@ -0,0 +1,90 @@ + +#include "problemb1.h" + +//void Timer2_IRQHandler(void); + +//Serial pc(p9,p10); + + + + + + +Ticker debug; +//static struct pt pt1,pt2,pt3; +int main() { + +//wait(2); + + pc.printf("ENTERING MAIN JOBS\n"); + sync.baud(460800); + initialSetup(); + + + int p; + + //On any sync request from slave, respond to it + sync.attach(&resp_sync_request); + + + timeval rt; + + runAtTrigger(&reportToggle); + + + char c; + int i; + int count =0; + unsigned int tt; + union { + timeval t; + char BYTE[8]; + } ttt; + tt=NUM_MICRO_SEC*15; + wait (4); + while (1) { + count++; + if (pc.readable()) { + c ='k'; + i=0; + + pc.printf("DAT REC\n"); + while (pc.readable() && (c !='S')) + c=pc.getc(); + c=pc.getc(); + while (pc.readable() &&(c !='E')) { + if (c!=' ') { + tt=tt*10+atoi(&c); + } + c = pc.getc(); + } + + while (pc.readable()) + c = pc.getc(); + // pc.printf(" RECV = %d \n",tt); + if (tt>= NUM_MICRO_SEC) { + ttt.t.tv_sec = tt/NUM_MICRO_SEC; + ttt.t.tv_usec = tt - ttt.t.tv_sec*NUM_MICRO_SEC; + } else { + ttt.t.tv_sec =0; //less than a sec + ttt.t.tv_usec = tt; + } + serial2.putc(ttt.BYTE[0]); + serial2.putc(ttt.BYTE[1]); + serial2.putc(ttt.BYTE[2]); + serial2.putc(ttt.BYTE[3]); + serial2.putc(ttt.BYTE[4]); + serial2.putc(ttt.BYTE[5]); + serial2.putc(ttt.BYTE[6]); + serial2.putc(ttt.BYTE[7]); + runAtTime(&pinToggle, &ttt.t); + + pc.printf("DATA RECV :%d SEC %d AND MICRO %d \n",tt,ttt.t.tv_sec,ttt.t.tv_usec); + + } + + + + } + +}