mirror of
https://github.com/KevinMidboe/Arduino.git
synced 2025-10-29 17:40:11 +00:00
Init commit with many years of arduino sketches and projects. I dont know if the esp8266 includes much, but there are also libraries. I hope they dont have crazy automatic versioning through the Arduino IDE.
This commit is contained in:
191
libraries/TinyGPSPlus-1.0.2/examples/KitchenSink/KitchenSink.ino
Executable file
191
libraries/TinyGPSPlus-1.0.2/examples/KitchenSink/KitchenSink.ino
Executable file
@@ -0,0 +1,191 @@
|
||||
#include <TinyGPS++.h>
|
||||
#include <SoftwareSerial.h>
|
||||
/*
|
||||
This sample code demonstrates just about every built-in operation of TinyGPS++ (TinyGPSPlus).
|
||||
It requires the use of SoftwareSerial, and assumes that you have a
|
||||
4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
|
||||
*/
|
||||
static const int RXPin = 4, TXPin = 3;
|
||||
static const uint32_t GPSBaud = 4800;
|
||||
|
||||
// The TinyGPS++ object
|
||||
TinyGPSPlus gps;
|
||||
|
||||
// The serial connection to the GPS device
|
||||
SoftwareSerial ss(RXPin, TXPin);
|
||||
|
||||
// For stats that happen every 5 seconds
|
||||
unsigned long last = 0UL;
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
ss.begin(GPSBaud);
|
||||
|
||||
Serial.println(F("KitchenSink.ino"));
|
||||
Serial.println(F("Demonstrating nearly every feature of TinyGPS++"));
|
||||
Serial.print(F("Testing TinyGPS++ library v. ")); Serial.println(TinyGPSPlus::libraryVersion());
|
||||
Serial.println(F("by Mikal Hart"));
|
||||
Serial.println();
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// Dispatch incoming characters
|
||||
while (ss.available() > 0)
|
||||
gps.encode(ss.read());
|
||||
|
||||
if (gps.location.isUpdated())
|
||||
{
|
||||
Serial.print(F("LOCATION Fix Age="));
|
||||
Serial.print(gps.location.age());
|
||||
Serial.print(F("ms Raw Lat="));
|
||||
Serial.print(gps.location.rawLat().negative ? "-" : "+");
|
||||
Serial.print(gps.location.rawLat().deg);
|
||||
Serial.print("[+");
|
||||
Serial.print(gps.location.rawLat().billionths);
|
||||
Serial.print(F(" billionths], Raw Long="));
|
||||
Serial.print(gps.location.rawLng().negative ? "-" : "+");
|
||||
Serial.print(gps.location.rawLng().deg);
|
||||
Serial.print("[+");
|
||||
Serial.print(gps.location.rawLng().billionths);
|
||||
Serial.print(F(" billionths], Lat="));
|
||||
Serial.print(gps.location.lat(), 6);
|
||||
Serial.print(F(" Long="));
|
||||
Serial.println(gps.location.lng(), 6);
|
||||
}
|
||||
|
||||
else if (gps.date.isUpdated())
|
||||
{
|
||||
Serial.print(F("DATE Fix Age="));
|
||||
Serial.print(gps.date.age());
|
||||
Serial.print(F("ms Raw="));
|
||||
Serial.print(gps.date.value());
|
||||
Serial.print(F(" Year="));
|
||||
Serial.print(gps.date.year());
|
||||
Serial.print(F(" Month="));
|
||||
Serial.print(gps.date.month());
|
||||
Serial.print(F(" Day="));
|
||||
Serial.println(gps.date.day());
|
||||
}
|
||||
|
||||
else if (gps.time.isUpdated())
|
||||
{
|
||||
Serial.print(F("TIME Fix Age="));
|
||||
Serial.print(gps.time.age());
|
||||
Serial.print(F("ms Raw="));
|
||||
Serial.print(gps.time.value());
|
||||
Serial.print(F(" Hour="));
|
||||
Serial.print(gps.time.hour());
|
||||
Serial.print(F(" Minute="));
|
||||
Serial.print(gps.time.minute());
|
||||
Serial.print(F(" Second="));
|
||||
Serial.print(gps.time.second());
|
||||
Serial.print(F(" Hundredths="));
|
||||
Serial.println(gps.time.centisecond());
|
||||
}
|
||||
|
||||
else if (gps.speed.isUpdated())
|
||||
{
|
||||
Serial.print(F("SPEED Fix Age="));
|
||||
Serial.print(gps.speed.age());
|
||||
Serial.print(F("ms Raw="));
|
||||
Serial.print(gps.speed.value());
|
||||
Serial.print(F(" Knots="));
|
||||
Serial.print(gps.speed.knots());
|
||||
Serial.print(F(" MPH="));
|
||||
Serial.print(gps.speed.mph());
|
||||
Serial.print(F(" m/s="));
|
||||
Serial.print(gps.speed.mps());
|
||||
Serial.print(F(" km/h="));
|
||||
Serial.println(gps.speed.kmph());
|
||||
}
|
||||
|
||||
else if (gps.course.isUpdated())
|
||||
{
|
||||
Serial.print(F("COURSE Fix Age="));
|
||||
Serial.print(gps.course.age());
|
||||
Serial.print(F("ms Raw="));
|
||||
Serial.print(gps.course.value());
|
||||
Serial.print(F(" Deg="));
|
||||
Serial.println(gps.course.deg());
|
||||
}
|
||||
|
||||
else if (gps.altitude.isUpdated())
|
||||
{
|
||||
Serial.print(F("ALTITUDE Fix Age="));
|
||||
Serial.print(gps.altitude.age());
|
||||
Serial.print(F("ms Raw="));
|
||||
Serial.print(gps.altitude.value());
|
||||
Serial.print(F(" Meters="));
|
||||
Serial.print(gps.altitude.meters());
|
||||
Serial.print(F(" Miles="));
|
||||
Serial.print(gps.altitude.miles());
|
||||
Serial.print(F(" KM="));
|
||||
Serial.print(gps.altitude.kilometers());
|
||||
Serial.print(F(" Feet="));
|
||||
Serial.println(gps.altitude.feet());
|
||||
}
|
||||
|
||||
else if (gps.satellites.isUpdated())
|
||||
{
|
||||
Serial.print(F("SATELLITES Fix Age="));
|
||||
Serial.print(gps.satellites.age());
|
||||
Serial.print(F("ms Value="));
|
||||
Serial.println(gps.satellites.value());
|
||||
}
|
||||
|
||||
else if (gps.hdop.isUpdated())
|
||||
{
|
||||
Serial.print(F("HDOP Fix Age="));
|
||||
Serial.print(gps.hdop.age());
|
||||
Serial.print(F("ms raw="));
|
||||
Serial.print(gps.hdop.value());
|
||||
Serial.print(F(" hdop="));
|
||||
Serial.println(gps.hdop.hdop());
|
||||
}
|
||||
|
||||
else if (millis() - last > 5000)
|
||||
{
|
||||
Serial.println();
|
||||
if (gps.location.isValid())
|
||||
{
|
||||
static const double LONDON_LAT = 51.508131, LONDON_LON = -0.128002;
|
||||
double distanceToLondon =
|
||||
TinyGPSPlus::distanceBetween(
|
||||
gps.location.lat(),
|
||||
gps.location.lng(),
|
||||
LONDON_LAT,
|
||||
LONDON_LON);
|
||||
double courseToLondon =
|
||||
TinyGPSPlus::courseTo(
|
||||
gps.location.lat(),
|
||||
gps.location.lng(),
|
||||
LONDON_LAT,
|
||||
LONDON_LON);
|
||||
|
||||
Serial.print(F("LONDON Distance="));
|
||||
Serial.print(distanceToLondon/1000, 6);
|
||||
Serial.print(F(" km Course-to="));
|
||||
Serial.print(courseToLondon, 6);
|
||||
Serial.print(F(" degrees ["));
|
||||
Serial.print(TinyGPSPlus::cardinal(courseToLondon));
|
||||
Serial.println(F("]"));
|
||||
}
|
||||
|
||||
Serial.print(F("DIAGS Chars="));
|
||||
Serial.print(gps.charsProcessed());
|
||||
Serial.print(F(" Sentences-with-Fix="));
|
||||
Serial.print(gps.sentencesWithFix());
|
||||
Serial.print(F(" Failed-checksum="));
|
||||
Serial.print(gps.failedChecksum());
|
||||
Serial.print(F(" Passed-checksum="));
|
||||
Serial.println(gps.passedChecksum());
|
||||
|
||||
if (gps.charsProcessed() < 10)
|
||||
Serial.println(F("WARNING: No GPS data. Check wiring."));
|
||||
|
||||
last = millis();
|
||||
Serial.println();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user