GPS受信機からの受信データを処理するサンプルコード。GPS受信機が即位できる屋外でテストして下さい。

Dependencies:   TimerExtended TinyGPS mbed

Files at this revision

API Documentation at this revision

Comitter:
morimoriYNCT
Date:
Mon Dec 08 12:30:18 2014 +0000
Commit message:
GPS???????????????????????

Changed in this revision

TimerExtended.lib Show annotated file Show diff for this revision Revisions of this file
TinyGPS.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r cfd5cc72b38c TimerExtended.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TimerExtended.lib	Mon Dec 08 12:30:18 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/morimoriYNCT/code/TimerExtended/#2441ccdcd627
diff -r 000000000000 -r cfd5cc72b38c TinyGPS.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TinyGPS.lib	Mon Dec 08 12:30:18 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/shimniok/code/TinyGPS/#f522b8bdf987
diff -r 000000000000 -r cfd5cc72b38c main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Dec 08 12:30:18 2014 +0000
@@ -0,0 +1,70 @@
+/**********************************
+check: OK, ublox 5T
+**********************************/
+#include "mbed.h"
+#include "TinyGPS.h"
+#include "TimerExtended.h"
+
+TinyGPS gpsr;
+
+// serial
+Serial serial_gps(p9, p10);        // tx, rx
+Serial serial_pc(USBTX, USBRX);    // tx, rx
+
+Timer timer;
+TimerExtended timer2;
+TimerExtended timer3;
+
+void setup()
+{
+    timer.start();
+    timer2.start();
+    
+    serial_gps.baud(9600);
+    serial_pc.baud(115200);  
+    
+    serial_pc.printf("hello\n");
+    wait(3.0);  
+    
+    timer3.start();
+}
+
+void loop()
+{
+    if(serial_gps.readable())
+    {
+        //serial_pc.printf("hoge\n");
+        char c = serial_gps.getc();
+        //serial_pc.putc(c);
+        bool gps_avairable = gpsr.encode(c);
+        if(gps_avairable)
+        {
+            //serial_pc.printf("fuga\n");
+            double lat, lon;
+            unsigned long age;
+            (void)gpsr.f_get_position(&lat, &lon, &age);
+            
+            int year;
+            byte month, day, hour, minute, second;
+            (void)gpsr.crack_datetime(&year, &month, &day, &hour, &minute, &second);
+            
+            double t = (double)timer.read_ms() / 1000.0;
+            serial_pc.printf("%f, ", t);
+            double t2 = (double)timer2.read_ms() / 1000.0;
+            serial_pc.printf("%f, ", t2);
+            double t3 = (double)timer3.read_ms() / 1000.0;
+            serial_pc.printf("%f, ", t3);
+            serial_pc.printf("%d-%02d-%02d %02d:%02d:%02d, ", year, month, day, hour, minute, second);
+            serial_pc.printf("%f, %f\n", lat, lon);
+        }
+    }
+}
+
+int main() {
+    setup();
+    
+    while(1) 
+    {   
+        loop();
+    }
+}
diff -r 000000000000 -r cfd5cc72b38c mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Dec 08 12:30:18 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/04dd9b1680ae
\ No newline at end of file