manu jose
/
6hrmaster
B.3 : THE 6 HOUR PROGRAM WITH 1 PPS SIGNAL THE MASTER TO BE CONNECTED TO 11 PIN.
main.cpp@1:9efda6a3f83c, 2010-12-14 (annotated)
- Committer:
- manujose
- Date:
- Tue Dec 14 23:26:02 2010 +0000
- Revision:
- 1:9efda6a3f83c
- Parent:
- 0:e6964ff1bbcc
hello
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
manujose | 0:e6964ff1bbcc | 1 | |
manujose | 0:e6964ff1bbcc | 2 | #include "problemb1.h" |
manujose | 0:e6964ff1bbcc | 3 | |
manujose | 0:e6964ff1bbcc | 4 | //void Timer2_IRQHandler(void); |
manujose | 0:e6964ff1bbcc | 5 | |
manujose | 0:e6964ff1bbcc | 6 | //Serial pc(p9,p10); |
manujose | 0:e6964ff1bbcc | 7 | |
manujose | 0:e6964ff1bbcc | 8 | |
manujose | 0:e6964ff1bbcc | 9 | |
manujose | 0:e6964ff1bbcc | 10 | void hello(void) { |
manujose | 0:e6964ff1bbcc | 11 | timeval t; |
manujose | 0:e6964ff1bbcc | 12 | getTime(&t); |
manujose | 0:e6964ff1bbcc | 13 | pc.printf(" \n Seconds = %d, usec = %d", t.tv_sec,t.tv_usec); |
manujose | 0:e6964ff1bbcc | 14 | } |
manujose | 0:e6964ff1bbcc | 15 | |
manujose | 0:e6964ff1bbcc | 16 | |
manujose | 0:e6964ff1bbcc | 17 | Ticker debug; |
manujose | 0:e6964ff1bbcc | 18 | static struct pt pt1,pt2,pt3; |
manujose | 0:e6964ff1bbcc | 19 | int main() { |
manujose | 0:e6964ff1bbcc | 20 | sync.baud(460800); |
manujose | 1:9efda6a3f83c | 21 | pc.baud(115200); |
manujose | 0:e6964ff1bbcc | 22 | wait(2); |
manujose | 0:e6964ff1bbcc | 23 | |
manujose | 0:e6964ff1bbcc | 24 | pc.printf("ENTERING MAIN JOBS\n"); |
manujose | 0:e6964ff1bbcc | 25 | |
manujose | 0:e6964ff1bbcc | 26 | initialSetup(); |
manujose | 0:e6964ff1bbcc | 27 | |
manujose | 0:e6964ff1bbcc | 28 | |
manujose | 0:e6964ff1bbcc | 29 | int p; |
manujose | 0:e6964ff1bbcc | 30 | |
manujose | 0:e6964ff1bbcc | 31 | // 1 PPS |
manujose | 0:e6964ff1bbcc | 32 | pps.tv_sec = 10; |
manujose | 1:9efda6a3f83c | 33 | pps.tv_usec = 700000; |
manujose | 1:9efda6a3f83c | 34 | //ideal_trg_time[0].tv_sec = 10; |
manujose | 1:9efda6a3f83c | 35 | //ideal_trg_time[0].tv_usec =700000; |
manujose | 0:e6964ff1bbcc | 36 | |
manujose | 0:e6964ff1bbcc | 37 | runAtTime(&pinToggle,&pps); |
manujose | 0:e6964ff1bbcc | 38 | |
manujose | 1:9efda6a3f83c | 39 | myled = 1; |
manujose | 0:e6964ff1bbcc | 40 | //On any sync request from slave, respond to it |
manujose | 0:e6964ff1bbcc | 41 | sync.attach(&resp_sync_request); |
manujose | 0:e6964ff1bbcc | 42 | |
manujose | 0:e6964ff1bbcc | 43 | |
manujose | 0:e6964ff1bbcc | 44 | timeval t; |
manujose | 0:e6964ff1bbcc | 45 | t.tv_sec = 5; |
manujose | 0:e6964ff1bbcc | 46 | t.tv_usec = 34; |
manujose | 0:e6964ff1bbcc | 47 | |
manujose | 0:e6964ff1bbcc | 48 | t.tv_sec =4; |
manujose | 0:e6964ff1bbcc | 49 | t.tv_usec =0; |
manujose | 0:e6964ff1bbcc | 50 | |
manujose | 0:e6964ff1bbcc | 51 | |
manujose | 0:e6964ff1bbcc | 52 | |
manujose | 0:e6964ff1bbcc | 53 | timeval rt; |
manujose | 0:e6964ff1bbcc | 54 | |
manujose | 1:9efda6a3f83c | 55 | //runAtTrigger(&reportToggle); |
manujose | 0:e6964ff1bbcc | 56 | |
manujose | 0:e6964ff1bbcc | 57 | |
manujose | 0:e6964ff1bbcc | 58 | char c; |
manujose | 0:e6964ff1bbcc | 59 | int i; |
manujose | 0:e6964ff1bbcc | 60 | unsigned int tt; |
manujose | 0:e6964ff1bbcc | 61 | union { |
manujose | 0:e6964ff1bbcc | 62 | timeval t; |
manujose | 0:e6964ff1bbcc | 63 | char BYTE[8]; |
manujose | 0:e6964ff1bbcc | 64 | } ttt; |
manujose | 0:e6964ff1bbcc | 65 | while (1) { |
manujose | 0:e6964ff1bbcc | 66 | // update(&pt1); |
manujose | 0:e6964ff1bbcc | 67 | // scheduleRunAtTime(&pt2); |
manujose | 0:e6964ff1bbcc | 68 | //pc.printf("WHILE IN MAIN \n"); |
manujose | 0:e6964ff1bbcc | 69 | // wait(1); |
manujose | 0:e6964ff1bbcc | 70 | //getTime(&t); |
manujose | 0:e6964ff1bbcc | 71 | //pc.printf(" \n Seconds = %d, usec = %d", t.tv_sec,t.tv_usec); |
manujose | 0:e6964ff1bbcc | 72 | //START: |
manujose | 0:e6964ff1bbcc | 73 | if (pc.readable()) { |
manujose | 0:e6964ff1bbcc | 74 | c ='k'; |
manujose | 0:e6964ff1bbcc | 75 | i=0; |
manujose | 0:e6964ff1bbcc | 76 | tt=0; |
manujose | 0:e6964ff1bbcc | 77 | // pc.printf("RECIVED DATA FROM DSEERIAL\n"); |
manujose | 0:e6964ff1bbcc | 78 | while (pc.readable() && (c !='S')) |
manujose | 0:e6964ff1bbcc | 79 | c=pc.getc(); |
manujose | 0:e6964ff1bbcc | 80 | c=pc.getc(); |
manujose | 0:e6964ff1bbcc | 81 | while (pc.readable() &&(c !='E')) { |
manujose | 0:e6964ff1bbcc | 82 | if (c!=' ') { |
manujose | 0:e6964ff1bbcc | 83 | tt=tt*10+atoi(&c); |
manujose | 0:e6964ff1bbcc | 84 | } |
manujose | 0:e6964ff1bbcc | 85 | c = pc.getc(); |
manujose | 0:e6964ff1bbcc | 86 | } |
manujose | 0:e6964ff1bbcc | 87 | |
manujose | 0:e6964ff1bbcc | 88 | while (pc.readable()) |
manujose | 0:e6964ff1bbcc | 89 | c = pc.getc(); |
manujose | 0:e6964ff1bbcc | 90 | |
manujose | 0:e6964ff1bbcc | 91 | if (tt>= NUM_MICRO_SEC) { |
manujose | 0:e6964ff1bbcc | 92 | ttt.t.tv_sec = tt/NUM_MICRO_SEC; |
manujose | 0:e6964ff1bbcc | 93 | ttt.t.tv_usec = tt - ttt.t.tv_sec*NUM_MICRO_SEC; |
manujose | 0:e6964ff1bbcc | 94 | } else { |
manujose | 0:e6964ff1bbcc | 95 | ttt.t.tv_sec =0; //less than a sec |
manujose | 0:e6964ff1bbcc | 96 | ttt.t.tv_usec = tt; |
manujose | 0:e6964ff1bbcc | 97 | } |
manujose | 0:e6964ff1bbcc | 98 | serial2.putc(ttt.BYTE[0]); |
manujose | 0:e6964ff1bbcc | 99 | serial2.putc(ttt.BYTE[1]); |
manujose | 0:e6964ff1bbcc | 100 | serial2.putc(ttt.BYTE[2]); |
manujose | 0:e6964ff1bbcc | 101 | serial2.putc(ttt.BYTE[3]); |
manujose | 0:e6964ff1bbcc | 102 | serial2.putc(ttt.BYTE[4]); |
manujose | 0:e6964ff1bbcc | 103 | serial2.putc(ttt.BYTE[5]); |
manujose | 0:e6964ff1bbcc | 104 | serial2.putc(ttt.BYTE[6]); |
manujose | 0:e6964ff1bbcc | 105 | serial2.putc(ttt.BYTE[7]); |
manujose | 0:e6964ff1bbcc | 106 | //runAtTime(&pinToggle, &ttt.t); |
manujose | 0:e6964ff1bbcc | 107 | //ideal_trg_time.tv_sec = ttt.t.tv_sec; |
manujose | 0:e6964ff1bbcc | 108 | //ideal_trg_time.tv_usec = ttt.t.tv_usec; |
manujose | 0:e6964ff1bbcc | 109 | pc.printf("DATA RECV :%d SEC %d AND MICRO %d \n",tt,ttt.t.tv_sec,ttt.t.tv_usec); |
manujose | 0:e6964ff1bbcc | 110 | /*trig.mode(PullDown); |
manujose | 0:e6964ff1bbcc | 111 | wait(2); |
manujose | 0:e6964ff1bbcc | 112 | trig.mode(PullUp); |
manujose | 0:e6964ff1bbcc | 113 | wait(2); |
manujose | 0:e6964ff1bbcc | 114 | trig.mode(PullDown); |
manujose | 0:e6964ff1bbcc | 115 | */ |
manujose | 0:e6964ff1bbcc | 116 | } |
manujose | 0:e6964ff1bbcc | 117 | |
manujose | 0:e6964ff1bbcc | 118 | |
manujose | 0:e6964ff1bbcc | 119 | |
manujose | 0:e6964ff1bbcc | 120 | } |
manujose | 0:e6964ff1bbcc | 121 | |
manujose | 0:e6964ff1bbcc | 122 | } |