Example application that utilizes the GroveGPS library

Files at this revision

API Documentation at this revision

Comitter:
Michael Ray
Date:
Tue Jan 30 13:47:17 2018 -0600
Commit message:
Initial commit

Changed in this revision

GroveGPS.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-os.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 39b09b3d8731 GroveGPS.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GroveGPS.lib	Tue Jan 30 13:47:17 2018 -0600
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/michaelray/code/GroveGPS/#56d6407653a7
diff -r 000000000000 -r 39b09b3d8731 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Jan 30 13:47:17 2018 -0600
@@ -0,0 +1,54 @@
+// ----------------------------------------------------------------------------
+// Copyright 2016-2017 ARM Ltd.
+//
+// SPDX-License-Identifier: Apache-2.0
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ----------------------------------------------------------------------------
+
+#include "mbed.h"
+
+#include "GroveGPS.h"
+
+Serial gps_serial(D1, D0, 9600);
+
+Thread gpsThread;
+GroveGPS gps;
+
+// Runs at 1Hz and updates the GPS location every second
+void gps_updater_thread() {
+    while(true) {
+        char latBuffer[16], lonBuffer[16];
+        gps.getLatitude(latBuffer);
+        gps.getLongitude(lonBuffer);
+
+        // Utilize latitude and longitude values here
+        printf("Latitude: %f\n, Longitude: %f\n", latBuffer, lonBuffer);
+        wait(1);
+    }
+}
+
+int main() {
+
+    // Start a thread to get updated GPS values
+    gpsThread.start(gps_updater_thread);
+
+    // Read the serial bus to get NMEA GPS details
+    while (true) {
+        if (gps_serial.readable()) {
+            gps.readCharacter(gps_serial.getc());
+        }
+    }
+
+    return 0;
+}
\ No newline at end of file
diff -r 000000000000 -r 39b09b3d8731 mbed-os.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-os.lib	Tue Jan 30 13:47:17 2018 -0600
@@ -0,0 +1,1 @@
+https://github.com/ARMmbed/mbed-os/#cf5065c3126210cc7f1132886c22c42d9574bcce