26#ifndef __TinyGPSPlus_h
27#define __TinyGPSPlus_h
33#define _GPS_VERSION "1.1.0"
34#define _GPS_MPH_PER_KNOT 1.15077945
35#define _GPS_MPS_PER_KNOT 0.51444444
36#define _GPS_KMPH_PER_KNOT 1.852
37#define _GPS_MILES_PER_METER 0.00062137112
38#define _GPS_KM_PER_METER 0.001
39#define _GPS_FEET_PER_METER 3.2808399
40#define _GPS_MAX_FIELD_SIZE 15
41#define _GPS_EARTH_MEAN_RADIUS 6371009
58 enum Mode {
N =
'N',
A =
'A',
D =
'D',
E =
'E'};
62 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
75 RawDegrees rawLatData, rawLngData, rawNewLatData, rawNewLngData;
76 Quality fixQuality, newFixQuality;
77 Mode fixMode, newFixMode;
78 uint32_t lastCommitTime;
80 void setLatitude(
const char *term);
81 void setLongitude(
const char *term);
90 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
102 uint32_t
date, newDate;
103 uint32_t lastCommitTime;
105 void setDate(
const char *term);
114 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
127 uint32_t
time, newTime;
128 uint32_t lastCommitTime;
130 void setTime(
const char *term);
139 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
140 int32_t
value() { updated =
false;
return val; }
147 uint32_t lastCommitTime;
150 void set(
const char *term);
159 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
160 uint32_t
value() { updated =
false;
return val; }
167 uint32_t lastCommitTime;
168 uint32_t val, newval;
170 void set(
const char *term);
209 uint32_t
age()
const {
return valid ?
millis() - lastCommitTime : (uint32_t)ULONG_MAX; }
210 const char *
value() { updated =
false;
return buffer; }
214 void set(
const char *term);
218 unsigned long lastCommitTime;
220 const char *sentenceName;
244 static double distanceBetween(
double lat1,
double long1,
double lat2,
double long2);
245 static double courseTo(
double lat1,
double long1,
double lat2,
double long2);
258 isChecksumTerm =
false;
262 sentenceHasFix =
false;
265 encodedCharCount = 0;
266 sentencesWithFixCount = 0;
267 failedChecksumCount = 0;
268 passedChecksumCount = 0;
283 customElts =
nullptr;
284 customCandidates =
nullptr;
287 enum {GPS_SENTENCE_GGA, GPS_SENTENCE_RMC, GPS_SENTENCE_OTHER};
293 uint8_t curSentenceType;
294 uint8_t curTermNumber;
295 uint8_t curTermOffset;
302 void insertCustom(
TinyGPSCustom *pElt,
const char *sentenceName,
int index);
305 uint32_t encodedCharCount;
306 uint32_t sentencesWithFixCount;
307 uint32_t failedChecksumCount;
308 uint32_t passedChecksumCount;
312 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()