26#ifndef __TinyGPSPlus_h
27#define __TinyGPSPlus_h
30#include "../../Defines.h"
34#define _GPS_VERSION "1.1.0"
35#define _GPS_MPH_PER_KNOT 1.15077945
36#define _GPS_MPS_PER_KNOT 0.51444444
37#define _GPS_KMPH_PER_KNOT 1.852
38#define _GPS_MILES_PER_METER 0.00062137112
39#define _GPS_KM_PER_METER 0.001
40#define _GPS_FEET_PER_METER 3.2808399
41#define _GPS_MAX_FIELD_SIZE 15
42#define _GPS_EARTH_MEAN_RADIUS 6371009
59 enum Mode {
N =
'N',
A =
'A',
D =
'D',
E =
'E'};
63 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
76 RawDegrees rawLatData, rawLngData, rawNewLatData, rawNewLngData;
77 Quality fixQuality, newFixQuality;
78 Mode fixMode, newFixMode;
79 uint32_t lastCommitTime;
81 void setLatitude(
const char *term);
82 void setLongitude(
const char *term);
91 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
103 uint32_t
date, newDate;
104 uint32_t lastCommitTime;
106 void setDate(
const char *term);
115 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
128 uint32_t
time, newTime;
129 uint32_t lastCommitTime;
131 void setTime(
const char *term);
140 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
141 int32_t
value() { updated =
false;
return val; }
148 uint32_t lastCommitTime;
151 void set(
const char *term);
160 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
161 uint32_t
value() { updated =
false;
return val; }
168 uint32_t lastCommitTime;
169 uint32_t val, newval;
171 void set(
const char *term);
210 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
211 const char *
value() { updated =
false;
return buffer; }
215 void set(
const char *term);
219 unsigned long lastCommitTime;
221 const char *sentenceName;
245 static double distanceBetween(
double lat1,
double long1,
double lat2,
double long2);
246 static double courseTo(
double lat1,
double long1,
double lat2,
double long2);
259 isChecksumTerm =
false;
263 sentenceHasFix =
false;
266 encodedCharCount = 0;
267 sentencesWithFixCount = 0;
268 failedChecksumCount = 0;
269 passedChecksumCount = 0;
284 customElts =
nullptr;
285 customCandidates =
nullptr;
288 enum {GPS_SENTENCE_GGA, GPS_SENTENCE_RMC, GPS_SENTENCE_OTHER};
294 uint8_t curSentenceType;
295 uint8_t curTermNumber;
296 uint8_t curTermOffset;
303 void insertCustom(
TinyGPSCustom *pElt,
const char *sentenceName,
int index);
306 uint32_t encodedCharCount;
307 uint32_t sentencesWithFixCount;
308 uint32_t failedChecksumCount;
309 uint32_t passedChecksumCount;
313 bool endOfTermHandler();
MultipleSatellite gps(Serial1, GPSBaud, SERIAL_8N1, TinyGPS_RXPin, TinyGPS_TXPin)
#define _GPS_MPH_PER_KNOT
#define _GPS_KM_PER_METER
#define _GPS_MILES_PER_METER
#define _GPS_MPS_PER_KNOT
#define _GPS_KMPH_PER_KNOT
#define _GPS_MAX_FIELD_SIZE
#define _GPS_FEET_PER_METER
void begin(TinyGPSPlus &gps, const char *_sentenceName, int _termNumber)
static void parseDegrees(const char *term, RawDegrees °)
TinyGPSPlus & operator<<(char c)
static int32_t parseDecimal(const char *term)
uint32_t passedChecksum() const
TinyGPSInteger satellites
uint32_t sentencesWithFix() const
static const char * cardinal(double course)
static const char * libraryVersion()
static double distanceBetween(double lat1, double long1, double lat2, double long2)
uint32_t charsProcessed() const
static double courseTo(double lat1, double long1, double lat2, double long2)
uint32_t failedChecksum() const
const RawDegrees & rawLng()
const RawDegrees & rawLat()