B.3 : THE 6 HOUR PROGRAM WITH 1 PPS SIGNAL THE MASTER TO BE CONNECTED TO 11 PIN.

Dependencies:   mbed

main.cpp

Committer:
manujose
Date:
2010-12-14
Revision:
1:9efda6a3f83c
Parent:
0:e6964ff1bbcc

File content as of revision 1:9efda6a3f83c:


#include "problemb1.h"

//void Timer2_IRQHandler(void);

//Serial pc(p9,p10);



void hello(void) {
    timeval t;
    getTime(&t);
    pc.printf(" \n Seconds = %d, usec = %d", t.tv_sec,t.tv_usec);
}


Ticker debug;
static struct pt pt1,pt2,pt3;
int main() {
 sync.baud(460800);
 pc.baud(115200);
wait(2); 

    pc.printf("ENTERING MAIN JOBS\n");
   
    initialSetup();

   
    int p;

// 1 PPS 
    pps.tv_sec = 10; 
    pps.tv_usec = 700000; 
     //ideal_trg_time[0].tv_sec = 10; 
      //ideal_trg_time[0].tv_usec  =700000; 
      
   runAtTime(&pinToggle,&pps); 
    
    myled = 1; 
    //On any sync request from slave, respond to it
    sync.attach(&resp_sync_request);

   
    timeval t;
    t.tv_sec = 5;
    t.tv_usec = 34;
   
    t.tv_sec =4;
    t.tv_usec =0;
   


    timeval rt;

   //runAtTrigger(&reportToggle);


    char c;
    int i;
    unsigned int tt;
    union {
        timeval t;
        char BYTE[8];
    } ttt;
    while (1) {
        // update(&pt1);
        //  scheduleRunAtTime(&pt2);
//pc.printf("WHILE IN MAIN  \n");
        // wait(1);
        //getTime(&t);
        //pc.printf(" \n Seconds = %d, usec = %d", t.tv_sec,t.tv_usec);
//START:
        if (pc.readable()) {
            c ='k';
            i=0;
            tt=0;
         //   pc.printf("RECIVED DATA FROM DSEERIAL\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();

            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);
            //ideal_trg_time.tv_sec = ttt.t.tv_sec;
            //ideal_trg_time.tv_usec = ttt.t.tv_usec;
            pc.printf("DATA RECV :%d SEC %d AND MICRO %d \n",tt,ttt.t.tv_sec,ttt.t.tv_usec);
            /*trig.mode(PullDown); 
            wait(2); 
            trig.mode(PullUp); 
            wait(2); 
            trig.mode(PullDown); 
            */
        }

     

    }

}