Willem Melching
/
bootje_nieuw
main.cpp@0:974604e10bf7, 2010-11-11 (annotated)
- Committer:
- pd0wm
- Date:
- Thu Nov 11 19:59:22 2010 +0000
- Revision:
- 0:974604e10bf7
Who changed what in which revision?
User | Revision | Line number | New 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 | } |