Created
June 16, 2016 08:34
-
-
Save Xplorer001/98b572c04938a9de5ad84e6771c52b2b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <TinyGPS++.h> | |
//We are using HW serial port on Explore M3 hence commented out | |
//#include <SoftwareSerial.h> | |
/* | |
This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object. | |
It requires the use of SoftwareSerial, and assumes that you have a | |
9600-baud serial GPS device hooked up on pins 4(rx) and 3(tx). | |
Explore M3 note: The soft serial object ss is replaced with Serial0 | |
*/ | |
//Not required of HW serial port | |
//static const int RXPin = 4, TXPin = 3; | |
static const uint32_t GPSBaud = 9600; | |
// The TinyGPS++ object | |
TinyGPSPlus gps; | |
// The serial connection to the GPS device | |
//SoftwareSerial ss(RXPin, TXPin); | |
void setup() | |
{ | |
delay(5000); | |
Serial.begin(115200); | |
Serial0.begin(GPSBaud); | |
Serial.println(F("DeviceExample.ino")); | |
Serial.println(F("A simple demonstration of TinyGPS++ with an attached GPS module")); | |
Serial.print(F("Testing TinyGPS++ library v. ")); Serial.println(TinyGPSPlus::libraryVersion()); | |
Serial.println(F("by Mikal Hart")); | |
Serial.println(); | |
} | |
void loop() | |
{ | |
// This sketch displays information every time a new sentence is correctly encoded. | |
while (Serial0.available() > 0) | |
if (gps.encode(Serial0.read())) | |
displayInfo(); | |
if (millis() > 5000 && gps.charsProcessed() < 10) | |
{ | |
Serial.println(F("No GPS detected: check wiring.")); | |
while(true); | |
} | |
} | |
void displayInfo() | |
{ | |
Serial.print(F("Location: ")); | |
if (gps.location.isValid()) | |
{ | |
Serial.print(gps.location.lat(), 6); | |
Serial.print(F(",")); | |
Serial.print(gps.location.lng(), 6); | |
} | |
else | |
{ | |
Serial.print(F("INVALID")); | |
} | |
Serial.print(F(" Date/Time: ")); | |
if (gps.date.isValid()) | |
{ | |
Serial.print(gps.date.month()); | |
Serial.print(F("/")); | |
Serial.print(gps.date.day()); | |
Serial.print(F("/")); | |
Serial.print(gps.date.year()); | |
} | |
else | |
{ | |
Serial.print(F("INVALID")); | |
} | |
Serial.print(F(" ")); | |
if (gps.time.isValid()) | |
{ | |
if (gps.time.hour() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.hour()); | |
Serial.print(F(":")); | |
if (gps.time.minute() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.minute()); | |
Serial.print(F(":")); | |
if (gps.time.second() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.second()); | |
Serial.print(F(".")); | |
if (gps.time.centisecond() < 10) Serial.print(F("0")); | |
Serial.print(gps.time.centisecond()); | |
} | |
else | |
{ | |
Serial.print(F("INVALID")); | |
} | |
Serial.println(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment