24#ifndef __TinyGPSPlus_h
25#define __TinyGPSPlus_h
27#if defined(ARDUINO) && ARDUINO >= 100
34#define _GPS_VERSION "1.0.3"
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
123 void setTime(
const char *term);
143 void set(
const char *term);
163 void set(
const char *term);
169 double mph() {
return _GPS_MPH_PER_KNOT *
value() / 100.0; }
170 double mps() {
return _GPS_MPS_PER_KNOT *
value() / 100.0; }
171 double kmph() {
return _GPS_KMPH_PER_KNOT *
value() / 100.0; }
182 double miles() {
return _GPS_MILES_PER_METER *
value() / 100.0; }
184 double feet() {
return _GPS_FEET_PER_METER *
value() / 100.0; }
207 void set(
const char *term);
237 static double distanceBetween(
double lat1,
double long1,
double lat2,
double long2);
238 static double courseTo(
double lat1,
double long1,
double lat2,
double long2);
255 char term[_GPS_MAX_FIELD_SIZE];
Definition: TinyGPS++.h:194
const char * value()
Definition: TinyGPS++.h:203
void begin(TinyGPSPlus &gps, const char *_sentenceName, int _termNumber)
Definition: TinyGPS++.cpp:465
void commit()
Definition: TinyGPS++.cpp:478
bool valid
Definition: TinyGPS++.h:212
bool isValid() const
Definition: TinyGPS++.h:201
char stagingBuffer[_GPS_MAX_FIELD_SIZE+1]
Definition: TinyGPS++.h:209
void set(const char *term)
Definition: TinyGPS++.cpp:485
TinyGPSCustom * next
Definition: TinyGPS++.h:216
bool updated
Definition: TinyGPS++.h:212
const char * sentenceName
Definition: TinyGPS++.h:213
bool isUpdated() const
Definition: TinyGPS++.h:200
TinyGPSCustom()
Definition: TinyGPS++.h:196
unsigned long lastCommitTime
Definition: TinyGPS++.h:211
int termNumber
Definition: TinyGPS++.h:214
uint32_t age() const
Definition: TinyGPS++.h:202
char buffer[_GPS_MAX_FIELD_SIZE+1]
Definition: TinyGPS++.h:210
Definition: TinyGPS++.h:220
uint32_t passedChecksumCount
Definition: TinyGPS++.h:271
static void parseDegrees(const char *term, RawDegrees °)
Definition: TinyGPS++.cpp:132
TinyGPSPlus & operator<<(char c)
Definition: TinyGPS++.h:224
static int32_t parseDecimal(const char *term)
Definition: TinyGPS++.cpp:115
TinyGPSAltitude altitude
Definition: TinyGPS++.h:231
TinyGPSHDOP hdop
Definition: TinyGPS++.h:233
bool isChecksumTerm
Definition: TinyGPS++.h:254
uint8_t curTermOffset
Definition: TinyGPS++.h:258
uint32_t sentencesWithFixCount
Definition: TinyGPS++.h:269
TinyGPSTime time
Definition: TinyGPS++.h:228
TinyGPSPlus()
Definition: TinyGPS++.cpp:35
uint32_t passedChecksum() const
Definition: TinyGPS++.h:247
uint8_t curTermNumber
Definition: TinyGPS++.h:257
TinyGPSInteger satellites
Definition: TinyGPS++.h:232
uint32_t sentencesWithFix() const
Definition: TinyGPS++.h:245
uint32_t encodedCharCount
Definition: TinyGPS++.h:268
TinyGPSCustom * customElts
Definition: TinyGPS++.h:263
TinyGPSDate date
Definition: TinyGPS++.h:227
TinyGPSLocation location
Definition: TinyGPS++.h:226
uint8_t curSentenceType
Definition: TinyGPS++.h:256
static const char * cardinal(double course)
Definition: TinyGPS++.cpp:330
@ GPS_SENTENCE_GPGGA
Definition: TinyGPS++.h:250
@ GPS_SENTENCE_OTHER
Definition: TinyGPS++.h:250
@ GPS_SENTENCE_GPRMC
Definition: TinyGPS++.h:250
static const char * libraryVersion()
Definition: TinyGPS++.h:235
int fromHex(char a)
Definition: TinyGPS++.cpp:103
TinyGPSSpeed speed
Definition: TinyGPS++.h:229
char term[_GPS_MAX_FIELD_SIZE]
Definition: TinyGPS++.h:255
uint32_t failedChecksumCount
Definition: TinyGPS++.h:270
static double distanceBetween(double lat1, double long1, double lat2, double long2)
Definition: TinyGPS++.cpp:285
bool endOfTermHandler()
Definition: TinyGPS++.cpp:159
TinyGPSCourse course
Definition: TinyGPS++.h:230
bool encode(char c)
Definition: TinyGPS++.cpp:56
TinyGPSCustom * customCandidates
Definition: TinyGPS++.h:264
uint32_t charsProcessed() const
Definition: TinyGPS++.h:244
uint8_t parity
Definition: TinyGPS++.h:253
static double courseTo(double lat1, double long1, double lat2, double long2)
Definition: TinyGPS++.cpp:310
bool sentenceHasFix
Definition: TinyGPS++.h:259
uint32_t failedChecksum() const
Definition: TinyGPS++.h:246
void insertCustom(TinyGPSCustom *pElt, const char *sentenceName, int index)
Definition: TinyGPS++.cpp:490
Definition: TinyGPS++.h:44
uint16_t deg
Definition: TinyGPS++.h:45
uint32_t billionths
Definition: TinyGPS++.h:46
RawDegrees()
Definition: TinyGPS++.h:49
bool negative
Definition: TinyGPS++.h:47
Definition: TinyGPS++.h:180
double kilometers()
Definition: TinyGPS++.h:183
double meters()
Definition: TinyGPS++.h:181
double miles()
Definition: TinyGPS++.h:182
double feet()
Definition: TinyGPS++.h:184
Definition: TinyGPS++.h:175
double deg()
Definition: TinyGPS++.h:176
Definition: TinyGPS++.h:78
bool isUpdated() const
Definition: TinyGPS++.h:82
void setDate(const char *term)
Definition: TinyGPS++.cpp:388
bool isValid() const
Definition: TinyGPS++.h:81
TinyGPSDate()
Definition: TinyGPS++.h:90
bool valid
Definition: TinyGPS++.h:94
uint8_t month()
Definition: TinyGPS++.cpp:400
uint32_t value()
Definition: TinyGPS++.h:85
uint32_t newDate
Definition: TinyGPS++.h:95
uint32_t date
Definition: TinyGPS++.h:95
uint32_t lastCommitTime
Definition: TinyGPS++.h:96
uint16_t year()
Definition: TinyGPS++.cpp:393
uint8_t day()
Definition: TinyGPS++.cpp:406
void commit()
Definition: TinyGPS++.cpp:369
uint32_t age() const
Definition: TinyGPS++.h:83
bool updated
Definition: TinyGPS++.h:94
Definition: TinyGPS++.h:127
uint32_t age() const
Definition: TinyGPS++.h:132
int32_t val
Definition: TinyGPS++.h:141
bool isValid() const
Definition: TinyGPS++.h:130
void commit()
Definition: TinyGPS++.cpp:436
void set(const char *term)
Definition: TinyGPS++.cpp:443
bool valid
Definition: TinyGPS++.h:139
bool isUpdated() const
Definition: TinyGPS++.h:131
uint32_t lastCommitTime
Definition: TinyGPS++.h:140
int32_t value()
Definition: TinyGPS++.h:133
int32_t newval
Definition: TinyGPS++.h:141
TinyGPSDecimal()
Definition: TinyGPS++.h:135
bool updated
Definition: TinyGPS++.h:139
Definition: TinyGPS++.h:188
double hdop()
Definition: TinyGPS++.h:189
Definition: TinyGPS++.h:147
TinyGPSInteger()
Definition: TinyGPS++.h:155
void commit()
Definition: TinyGPS++.cpp:448
bool valid
Definition: TinyGPS++.h:159
uint32_t val
Definition: TinyGPS++.h:161
bool isUpdated() const
Definition: TinyGPS++.h:151
bool isValid() const
Definition: TinyGPS++.h:150
uint32_t value()
Definition: TinyGPS++.h:153
uint32_t newval
Definition: TinyGPS++.h:161
bool updated
Definition: TinyGPS++.h:159
void set(const char *term)
Definition: TinyGPS++.cpp:455
uint32_t age() const
Definition: TinyGPS++.h:152
uint32_t lastCommitTime
Definition: TinyGPS++.h:160
Definition: TinyGPS++.h:54
RawDegrees rawLatData
Definition: TinyGPS++.h:70
uint32_t lastCommitTime
Definition: TinyGPS++.h:71
RawDegrees rawNewLngData
Definition: TinyGPS++.h:70
const RawDegrees & rawLng()
Definition: TinyGPS++.h:61
double lng()
Definition: TinyGPS++.cpp:362
RawDegrees rawNewLatData
Definition: TinyGPS++.h:70
bool updated
Definition: TinyGPS++.h:69
RawDegrees rawLngData
Definition: TinyGPS++.h:70
double lat()
Definition: TinyGPS++.cpp:355
bool valid
Definition: TinyGPS++.h:69
bool isUpdated() const
Definition: TinyGPS++.h:58
TinyGPSLocation()
Definition: TinyGPS++.h:65
bool isValid() const
Definition: TinyGPS++.h:57
void commit()
Definition: TinyGPS++.cpp:337
void setLatitude(const char *term)
Definition: TinyGPS++.cpp:345
const RawDegrees & rawLat()
Definition: TinyGPS++.h:60
void setLongitude(const char *term)
Definition: TinyGPS++.cpp:350
uint32_t age() const
Definition: TinyGPS++.h:59
Definition: TinyGPS++.h:167
double mph()
Definition: TinyGPS++.h:169
double kmph()
Definition: TinyGPS++.h:171
double knots()
Definition: TinyGPS++.h:168
double mps()
Definition: TinyGPS++.h:170
Definition: TinyGPS++.h:102
void setTime(const char *term)
Definition: TinyGPS++.cpp:383
bool isUpdated() const
Definition: TinyGPS++.h:106
uint8_t centisecond()
Definition: TinyGPS++.cpp:430
uint8_t hour()
Definition: TinyGPS++.cpp:412
uint32_t lastCommitTime
Definition: TinyGPS++.h:121
bool isValid() const
Definition: TinyGPS++.h:105
uint8_t second()
Definition: TinyGPS++.cpp:424
void commit()
Definition: TinyGPS++.cpp:376
bool updated
Definition: TinyGPS++.h:119
bool valid
Definition: TinyGPS++.h:119
uint32_t newTime
Definition: TinyGPS++.h:120
TinyGPSTime()
Definition: TinyGPS++.h:115
uint32_t age() const
Definition: TinyGPS++.h:107
uint32_t time
Definition: TinyGPS++.h:120
uint8_t minute()
Definition: TinyGPS++.cpp:418
uint32_t value()
Definition: TinyGPS++.h:109