Dependencies:   mbed

main.cpp

Committer:
pd0wm
Date:
2010-11-11
Revision:
0:974604e10bf7

File content as of revision 0:974604e10bf7:

#include "mbed.h"
#include "GPS.h"


Serial pc(USBTX, USBRX);
DigitalOut led1(LED1);
PwmOut led3(LED3);
DigitalOut led4(LED4);
GPS gps(NC, p25);
PwmOut led2(LED2);
Timeout t2, t3, t4;
char buffer[30];


void send_message() {
    unsigned char x = 0;

    while (buffer[x] != 10) { //10 , 13 = \n
        while (pc.writeable() == 0);
        pc.putc(buffer[x]);
        x++;
    }
    pc.putc(10);
    pc.putc(13);

}


void serieel_lezen() {
    char lezen;
    while (pc.readable()) {
        lezen = pc.getc();
        if (lezen == 1) {
            while (pc.readable() == 0);
            lezen = pc.getc();
            led2 = lezen / 255.0;
        }
        if (lezen == 2) {
            while (pc.readable() == 0);
            lezen = pc.getc();
            led3 = lezen / 255.0;
        }
    }
}

int main() {
    GPS_Time q1;

    pc.baud(19200);
    pc.attach(&serieel_lezen);
    gps.baud(9600);
    gps.format(8, GPS::None, 1);





    while (1) {
        // Every 3 seconds, flip LED1 and print the basic GPS info.
        wait(3);
        led1 = 1;

        sprintf(buffer, "abcdefghijklmnopqrstuvwxyz\n");
        send_message();
        /*
        //gps.timeNow(&q1);
        //pc.printf("Method 1. Lat = %.4f ", gps.latitude());
        //pc.printf("Lon = %.4f ", gps.longitude());
        //pc.printf("Alt = %.4f ", gps.altitude());

        pc.printf("%02d:%02d:%02d %02d/%02d/%04d\r\n",
            q1.hour, q1.minute, q1.second, q1.day, q1.month, q1.year);

        // Alternative method that does the same thing.
        GPS_Time *q2 = gps.timeNow();
        pc.printf("Method 2. Lat = %.4f ", gps.latitude());
        pc.printf("Lon = %.4f ", gps.longitude());
        pc.printf("Alt = %.4f ", gps.altitude());
        pc.printf("%02d:%02d:%02d %02d/%02d/%04d\r\n\n",
            q2->hour, q2->minute, q2->second, q2->day, q2->month, q2->year);
        delete(q2);

        */
        led1 = 0;

    }
}