manu jose
/
1hourMaster
Master 1 hr . takes input form the serial connection of PC
main.cpp@0:219eacd4c264, 2010-12-04 (annotated)
- Committer:
- manujose
- Date:
- Sat Dec 04 06:10:16 2010 +0000
- Revision:
- 0:219eacd4c264
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
manujose | 0:219eacd4c264 | 1 | |
manujose | 0:219eacd4c264 | 2 | #include "problemb1.h" |
manujose | 0:219eacd4c264 | 3 | |
manujose | 0:219eacd4c264 | 4 | //void Timer2_IRQHandler(void); |
manujose | 0:219eacd4c264 | 5 | |
manujose | 0:219eacd4c264 | 6 | //Serial pc(p9,p10); |
manujose | 0:219eacd4c264 | 7 | |
manujose | 0:219eacd4c264 | 8 | |
manujose | 0:219eacd4c264 | 9 | |
manujose | 0:219eacd4c264 | 10 | |
manujose | 0:219eacd4c264 | 11 | |
manujose | 0:219eacd4c264 | 12 | |
manujose | 0:219eacd4c264 | 13 | Ticker debug; |
manujose | 0:219eacd4c264 | 14 | //static struct pt pt1,pt2,pt3; |
manujose | 0:219eacd4c264 | 15 | int main() { |
manujose | 0:219eacd4c264 | 16 | |
manujose | 0:219eacd4c264 | 17 | //wait(2); |
manujose | 0:219eacd4c264 | 18 | |
manujose | 0:219eacd4c264 | 19 | pc.printf("ENTERING MAIN JOBS\n"); |
manujose | 0:219eacd4c264 | 20 | sync.baud(460800); |
manujose | 0:219eacd4c264 | 21 | initialSetup(); |
manujose | 0:219eacd4c264 | 22 | |
manujose | 0:219eacd4c264 | 23 | |
manujose | 0:219eacd4c264 | 24 | int p; |
manujose | 0:219eacd4c264 | 25 | |
manujose | 0:219eacd4c264 | 26 | //On any sync request from slave, respond to it |
manujose | 0:219eacd4c264 | 27 | sync.attach(&resp_sync_request); |
manujose | 0:219eacd4c264 | 28 | |
manujose | 0:219eacd4c264 | 29 | |
manujose | 0:219eacd4c264 | 30 | timeval rt; |
manujose | 0:219eacd4c264 | 31 | |
manujose | 0:219eacd4c264 | 32 | runAtTrigger(&reportToggle); |
manujose | 0:219eacd4c264 | 33 | |
manujose | 0:219eacd4c264 | 34 | |
manujose | 0:219eacd4c264 | 35 | char c; |
manujose | 0:219eacd4c264 | 36 | int i; |
manujose | 0:219eacd4c264 | 37 | int count =0; |
manujose | 0:219eacd4c264 | 38 | unsigned int tt; |
manujose | 0:219eacd4c264 | 39 | union { |
manujose | 0:219eacd4c264 | 40 | timeval t; |
manujose | 0:219eacd4c264 | 41 | char BYTE[8]; |
manujose | 0:219eacd4c264 | 42 | } ttt; |
manujose | 0:219eacd4c264 | 43 | tt=NUM_MICRO_SEC*15; |
manujose | 0:219eacd4c264 | 44 | wait (4); |
manujose | 0:219eacd4c264 | 45 | while (1) { |
manujose | 0:219eacd4c264 | 46 | count++; |
manujose | 0:219eacd4c264 | 47 | if (pc.readable()) { |
manujose | 0:219eacd4c264 | 48 | c ='k'; |
manujose | 0:219eacd4c264 | 49 | i=0; |
manujose | 0:219eacd4c264 | 50 | |
manujose | 0:219eacd4c264 | 51 | pc.printf("DAT REC\n"); |
manujose | 0:219eacd4c264 | 52 | while (pc.readable() && (c !='S')) |
manujose | 0:219eacd4c264 | 53 | c=pc.getc(); |
manujose | 0:219eacd4c264 | 54 | c=pc.getc(); |
manujose | 0:219eacd4c264 | 55 | while (pc.readable() &&(c !='E')) { |
manujose | 0:219eacd4c264 | 56 | if (c!=' ') { |
manujose | 0:219eacd4c264 | 57 | tt=tt*10+atoi(&c); |
manujose | 0:219eacd4c264 | 58 | } |
manujose | 0:219eacd4c264 | 59 | c = pc.getc(); |
manujose | 0:219eacd4c264 | 60 | } |
manujose | 0:219eacd4c264 | 61 | |
manujose | 0:219eacd4c264 | 62 | while (pc.readable()) |
manujose | 0:219eacd4c264 | 63 | c = pc.getc(); |
manujose | 0:219eacd4c264 | 64 | // pc.printf(" RECV = %d \n",tt); |
manujose | 0:219eacd4c264 | 65 | if (tt>= NUM_MICRO_SEC) { |
manujose | 0:219eacd4c264 | 66 | ttt.t.tv_sec = tt/NUM_MICRO_SEC; |
manujose | 0:219eacd4c264 | 67 | ttt.t.tv_usec = tt - ttt.t.tv_sec*NUM_MICRO_SEC; |
manujose | 0:219eacd4c264 | 68 | } else { |
manujose | 0:219eacd4c264 | 69 | ttt.t.tv_sec =0; //less than a sec |
manujose | 0:219eacd4c264 | 70 | ttt.t.tv_usec = tt; |
manujose | 0:219eacd4c264 | 71 | } |
manujose | 0:219eacd4c264 | 72 | serial2.putc(ttt.BYTE[0]); |
manujose | 0:219eacd4c264 | 73 | serial2.putc(ttt.BYTE[1]); |
manujose | 0:219eacd4c264 | 74 | serial2.putc(ttt.BYTE[2]); |
manujose | 0:219eacd4c264 | 75 | serial2.putc(ttt.BYTE[3]); |
manujose | 0:219eacd4c264 | 76 | serial2.putc(ttt.BYTE[4]); |
manujose | 0:219eacd4c264 | 77 | serial2.putc(ttt.BYTE[5]); |
manujose | 0:219eacd4c264 | 78 | serial2.putc(ttt.BYTE[6]); |
manujose | 0:219eacd4c264 | 79 | serial2.putc(ttt.BYTE[7]); |
manujose | 0:219eacd4c264 | 80 | runAtTime(&pinToggle, &ttt.t); |
manujose | 0:219eacd4c264 | 81 | |
manujose | 0:219eacd4c264 | 82 | pc.printf("DATA RECV :%d SEC %d AND MICRO %d \n",tt,ttt.t.tv_sec,ttt.t.tv_usec); |
manujose | 0:219eacd4c264 | 83 | |
manujose | 0:219eacd4c264 | 84 | } |
manujose | 0:219eacd4c264 | 85 | |
manujose | 0:219eacd4c264 | 86 | |
manujose | 0:219eacd4c264 | 87 | |
manujose | 0:219eacd4c264 | 88 | } |
manujose | 0:219eacd4c264 | 89 | |
manujose | 0:219eacd4c264 | 90 | } |