manu jose
/
6hrmaster
B.3 : THE 6 HOUR PROGRAM WITH 1 PPS SIGNAL THE MASTER TO BE CONNECTED TO 11 PIN.
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 00002 #include "problemb1.h" 00003 00004 //void Timer2_IRQHandler(void); 00005 00006 //Serial pc(p9,p10); 00007 00008 00009 00010 void hello(void) { 00011 timeval t; 00012 getTime(&t); 00013 pc.printf(" \n Seconds = %d, usec = %d", t.tv_sec,t.tv_usec); 00014 } 00015 00016 00017 Ticker debug; 00018 static struct pt pt1,pt2,pt3; 00019 int main() { 00020 sync.baud(460800); 00021 pc.baud(115200); 00022 wait(2); 00023 00024 pc.printf("ENTERING MAIN JOBS\n"); 00025 00026 initialSetup(); 00027 00028 00029 int p; 00030 00031 // 1 PPS 00032 pps.tv_sec = 10; 00033 pps.tv_usec = 700000; 00034 //ideal_trg_time[0].tv_sec = 10; 00035 //ideal_trg_time[0].tv_usec =700000; 00036 00037 runAtTime(&pinToggle,&pps); 00038 00039 myled = 1; 00040 //On any sync request from slave, respond to it 00041 sync.attach(&resp_sync_request); 00042 00043 00044 timeval t; 00045 t.tv_sec = 5; 00046 t.tv_usec = 34; 00047 00048 t.tv_sec =4; 00049 t.tv_usec =0; 00050 00051 00052 00053 timeval rt; 00054 00055 //runAtTrigger(&reportToggle); 00056 00057 00058 char c; 00059 int i; 00060 unsigned int tt; 00061 union { 00062 timeval t; 00063 char BYTE[8]; 00064 } ttt; 00065 while (1) { 00066 // update(&pt1); 00067 // scheduleRunAtTime(&pt2); 00068 //pc.printf("WHILE IN MAIN \n"); 00069 // wait(1); 00070 //getTime(&t); 00071 //pc.printf(" \n Seconds = %d, usec = %d", t.tv_sec,t.tv_usec); 00072 //START: 00073 if (pc.readable()) { 00074 c ='k'; 00075 i=0; 00076 tt=0; 00077 // pc.printf("RECIVED DATA FROM DSEERIAL\n"); 00078 while (pc.readable() && (c !='S')) 00079 c=pc.getc(); 00080 c=pc.getc(); 00081 while (pc.readable() &&(c !='E')) { 00082 if (c!=' ') { 00083 tt=tt*10+atoi(&c); 00084 } 00085 c = pc.getc(); 00086 } 00087 00088 while (pc.readable()) 00089 c = pc.getc(); 00090 00091 if (tt>= NUM_MICRO_SEC) { 00092 ttt.t.tv_sec = tt/NUM_MICRO_SEC; 00093 ttt.t.tv_usec = tt - ttt.t.tv_sec*NUM_MICRO_SEC; 00094 } else { 00095 ttt.t.tv_sec =0; //less than a sec 00096 ttt.t.tv_usec = tt; 00097 } 00098 serial2.putc(ttt.BYTE[0]); 00099 serial2.putc(ttt.BYTE[1]); 00100 serial2.putc(ttt.BYTE[2]); 00101 serial2.putc(ttt.BYTE[3]); 00102 serial2.putc(ttt.BYTE[4]); 00103 serial2.putc(ttt.BYTE[5]); 00104 serial2.putc(ttt.BYTE[6]); 00105 serial2.putc(ttt.BYTE[7]); 00106 //runAtTime(&pinToggle, &ttt.t); 00107 //ideal_trg_time.tv_sec = ttt.t.tv_sec; 00108 //ideal_trg_time.tv_usec = ttt.t.tv_usec; 00109 pc.printf("DATA RECV :%d SEC %d AND MICRO %d \n",tt,ttt.t.tv_sec,ttt.t.tv_usec); 00110 /*trig.mode(PullDown); 00111 wait(2); 00112 trig.mode(PullUp); 00113 wait(2); 00114 trig.mode(PullDown); 00115 */ 00116 } 00117 00118 00119 00120 } 00121 00122 }
Generated on Fri Jul 15 2022 01:49:01 by 1.7.2