Simple USBHost GPS Dongle Receiver for FRDM-KL46Z test program

Dependencies:   KL46Z-USBHost mbed SLCD

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "USBHostGPS.h"
00002 #include "SLCD.h"
00003 
00004 DigitalOut led1(LED_GREEN);
00005 DigitalOut led2(LED_RED);
00006 #define LED_OFF 1
00007 #define LED_ON  0
00008 
00009 SLCD slcd;
00010 
00011 void callback_gps(char* buf, int size) {
00012     for(int i = 0; i < size; i++) {
00013         char c = buf[i];
00014         printf("%c", c);
00015     }
00016     led2 = !led2;
00017 }
00018 
00019 int main() {
00020     // GT-730F/L 38400bps
00021     // Gosget SD-200 GPS DONGLE 4800bps
00022      USBHostGPS gps(4800);
00023     if (!gps.connect()) {
00024         error("GPS not found.\n");
00025     }
00026     gps.attachEventRaw(callback_gps);
00027 
00028     time_t prev = gps.nmea.update_t;
00029     while(1) {
00030         USBHost::poll();
00031         if (prev != gps.nmea.update_t) {
00032             struct tm * timeinfo;
00033             timeinfo = localtime(&gps.nmea.update_t);
00034             char buf[5];
00035             strftime(buf, sizeof(buf), "%M%S", timeinfo);
00036             slcd.printf("%.4s", buf);
00037             prev = gps.nmea.update_t;
00038             led1 = !led1;
00039         }
00040     }
00041 }