Dependencies:   mbed

Committer:
pd0wm
Date:
Thu Nov 11 19:59:22 2010 +0000
Revision:
0:974604e10bf7

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pd0wm 0:974604e10bf7 1 #include "mbed.h"
pd0wm 0:974604e10bf7 2 #include "GPS.h"
pd0wm 0:974604e10bf7 3
pd0wm 0:974604e10bf7 4
pd0wm 0:974604e10bf7 5 Serial pc(USBTX, USBRX);
pd0wm 0:974604e10bf7 6 DigitalOut led1(LED1);
pd0wm 0:974604e10bf7 7 PwmOut led3(LED3);
pd0wm 0:974604e10bf7 8 DigitalOut led4(LED4);
pd0wm 0:974604e10bf7 9 GPS gps(NC, p25);
pd0wm 0:974604e10bf7 10 PwmOut led2(LED2);
pd0wm 0:974604e10bf7 11 Timeout t2, t3, t4;
pd0wm 0:974604e10bf7 12 char buffer[30];
pd0wm 0:974604e10bf7 13
pd0wm 0:974604e10bf7 14
pd0wm 0:974604e10bf7 15 void send_message() {
pd0wm 0:974604e10bf7 16 unsigned char x = 0;
pd0wm 0:974604e10bf7 17
pd0wm 0:974604e10bf7 18 while (buffer[x] != 10) { //10 , 13 = \n
pd0wm 0:974604e10bf7 19 while (pc.writeable() == 0);
pd0wm 0:974604e10bf7 20 pc.putc(buffer[x]);
pd0wm 0:974604e10bf7 21 x++;
pd0wm 0:974604e10bf7 22 }
pd0wm 0:974604e10bf7 23 pc.putc(10);
pd0wm 0:974604e10bf7 24 pc.putc(13);
pd0wm 0:974604e10bf7 25
pd0wm 0:974604e10bf7 26 }
pd0wm 0:974604e10bf7 27
pd0wm 0:974604e10bf7 28
pd0wm 0:974604e10bf7 29 void serieel_lezen() {
pd0wm 0:974604e10bf7 30 char lezen;
pd0wm 0:974604e10bf7 31 while (pc.readable()) {
pd0wm 0:974604e10bf7 32 lezen = pc.getc();
pd0wm 0:974604e10bf7 33 if (lezen == 1) {
pd0wm 0:974604e10bf7 34 while (pc.readable() == 0);
pd0wm 0:974604e10bf7 35 lezen = pc.getc();
pd0wm 0:974604e10bf7 36 led2 = lezen / 255.0;
pd0wm 0:974604e10bf7 37 }
pd0wm 0:974604e10bf7 38 if (lezen == 2) {
pd0wm 0:974604e10bf7 39 while (pc.readable() == 0);
pd0wm 0:974604e10bf7 40 lezen = pc.getc();
pd0wm 0:974604e10bf7 41 led3 = lezen / 255.0;
pd0wm 0:974604e10bf7 42 }
pd0wm 0:974604e10bf7 43 }
pd0wm 0:974604e10bf7 44 }
pd0wm 0:974604e10bf7 45
pd0wm 0:974604e10bf7 46 int main() {
pd0wm 0:974604e10bf7 47 GPS_Time q1;
pd0wm 0:974604e10bf7 48
pd0wm 0:974604e10bf7 49 pc.baud(19200);
pd0wm 0:974604e10bf7 50 pc.attach(&serieel_lezen);
pd0wm 0:974604e10bf7 51 gps.baud(9600);
pd0wm 0:974604e10bf7 52 gps.format(8, GPS::None, 1);
pd0wm 0:974604e10bf7 53
pd0wm 0:974604e10bf7 54
pd0wm 0:974604e10bf7 55
pd0wm 0:974604e10bf7 56
pd0wm 0:974604e10bf7 57
pd0wm 0:974604e10bf7 58 while (1) {
pd0wm 0:974604e10bf7 59 // Every 3 seconds, flip LED1 and print the basic GPS info.
pd0wm 0:974604e10bf7 60 wait(3);
pd0wm 0:974604e10bf7 61 led1 = 1;
pd0wm 0:974604e10bf7 62
pd0wm 0:974604e10bf7 63 sprintf(buffer, "abcdefghijklmnopqrstuvwxyz\n");
pd0wm 0:974604e10bf7 64 send_message();
pd0wm 0:974604e10bf7 65 /*
pd0wm 0:974604e10bf7 66 //gps.timeNow(&q1);
pd0wm 0:974604e10bf7 67 //pc.printf("Method 1. Lat = %.4f ", gps.latitude());
pd0wm 0:974604e10bf7 68 //pc.printf("Lon = %.4f ", gps.longitude());
pd0wm 0:974604e10bf7 69 //pc.printf("Alt = %.4f ", gps.altitude());
pd0wm 0:974604e10bf7 70
pd0wm 0:974604e10bf7 71 pc.printf("%02d:%02d:%02d %02d/%02d/%04d\r\n",
pd0wm 0:974604e10bf7 72 q1.hour, q1.minute, q1.second, q1.day, q1.month, q1.year);
pd0wm 0:974604e10bf7 73
pd0wm 0:974604e10bf7 74 // Alternative method that does the same thing.
pd0wm 0:974604e10bf7 75 GPS_Time *q2 = gps.timeNow();
pd0wm 0:974604e10bf7 76 pc.printf("Method 2. Lat = %.4f ", gps.latitude());
pd0wm 0:974604e10bf7 77 pc.printf("Lon = %.4f ", gps.longitude());
pd0wm 0:974604e10bf7 78 pc.printf("Alt = %.4f ", gps.altitude());
pd0wm 0:974604e10bf7 79 pc.printf("%02d:%02d:%02d %02d/%02d/%04d\r\n\n",
pd0wm 0:974604e10bf7 80 q2->hour, q2->minute, q2->second, q2->day, q2->month, q2->year);
pd0wm 0:974604e10bf7 81 delete(q2);
pd0wm 0:974604e10bf7 82
pd0wm 0:974604e10bf7 83 */
pd0wm 0:974604e10bf7 84 led1 = 0;
pd0wm 0:974604e10bf7 85
pd0wm 0:974604e10bf7 86 }
pd0wm 0:974604e10bf7 87 }