Adafruit GPS Library
Public Member Functions | Public Attributes | List of all members
Adafruit_GPS Class Reference

The GPS class. More...

#include <Adafruit_GPS.h>

Inheritance diagram for Adafruit_GPS:

Public Member Functions

bool begin (uint32_t baud_or_i2caddr)
 Start the HW or SW serial port. More...
 
 Adafruit_GPS (HardwareSerial *ser)
 Constructor when using SoftwareSerial. More...
 
 Adafruit_GPS (Stream *data)
 Constructor when using Stream. More...
 
 Adafruit_GPS (TwoWire *theWire)
 Constructor when using I2C. More...
 
 Adafruit_GPS (SPIClass *theSPI, int8_t cspin)
 Constructor when using SPI. More...
 
 Adafruit_GPS ()
 Constructor when there are no communications attached.
 
void common_init (void)
 Initialization code used by all constructor types.
 
virtual ~Adafruit_GPS ()
 Destroy the object. More...
 
size_t available (void)
 How many bytes are available to read - part of 'Print'-class functionality. More...
 
size_t write (uint8_t)
 Write a byte to the underlying transport - part of 'Print'-class functionality. More...
 
char read (void)
 Read one character from the GPS device. More...
 
void sendCommand (const char *)
 Send a command to the GPS device. More...
 
bool newNMEAreceived ()
 Check to see if a new NMEA line has been received. More...
 
void pause (bool b)
 Pause/unpause receiving new data. More...
 
char * lastNMEA (void)
 Returns the last NMEA line received and unsets the received flag. More...
 
bool waitForSentence (const char *wait, uint8_t max=MAXWAITSENTENCE, bool usingInterrupts=false)
 Wait for a specified sentence from the device. More...
 
bool LOCUS_StartLogger (void)
 Start the LOCUS logger. More...
 
bool LOCUS_StopLogger (void)
 Stop the LOCUS logger. More...
 
bool LOCUS_ReadStatus (void)
 Read the logger status. More...
 
bool standby (void)
 Standby Mode Switches. More...
 
bool wakeup (void)
 Wake the sensor up. More...
 
nmea_float_t secondsSinceFix ()
 Time in seconds since the last position fix was obtained. The time returned is limited to 2^32 milliseconds, which is about 49.7 days. It will wrap around to zero if no position fix is received for this long. More...
 
nmea_float_t secondsSinceTime ()
 Time in seconds since the last GPS time was obtained. The time returned is limited to 2^32 milliseconds, which is about 49.7 days. It will wrap around to zero if no GPS time is received for this long. More...
 
nmea_float_t secondsSinceDate ()
 Time in seconds since the last GPS date was obtained. The time returned is limited to 2^32 milliseconds, which is about 49.7 days. It will wrap around to zero if no GPS date is received for this long. More...
 
void resetSentTime ()
 Fakes time of receipt of a sentence. Use between build() and parse() to make the timing look like the sentence arrived from the GPS.
 
bool parse (char *)
 Parse a standard NMEA string and update the relevant variables. Sentences start with a $, then a two character source identifier, then a three character sentence identifier that defines the format, then a comma and more comma separated fields defined by the sentence name. There are many sentences listed that are not yet supported, including proprietary sentences that start with P, like the $PMTK commands to the GPS modules. See the build() function and http://fort21.ru/download/NMEAdescription.pdf for sentence descriptions. More...
 
bool check (char *nmea)
 Check an NMEA string for basic format, valid source ID and valid and valid sentence ID. Update the values of thisCheck, thisSource and thisSentence. More...
 
bool onList (char *nmea, const char **list)
 Check if an NMEA string is valid and is on a list, perhaps to decide if it should be passed to a particular NMEA device. More...
 
uint8_t parseHex (char c)
 Parse a hex character and return the appropriate decimal value. More...
 
char * build (char *nmea, const char *thisSource, const char *thisSentence, char ref='R', bool noCRLF=false)
 Build an NMEA sentence string based on the relevant variables. Sentences start with a $, then a two character source identifier, then a three character sentence name that defines the format, then a comma and more comma separated fields defined by the sentence name. There are many sentences listed that are not yet supported. Most of these sentence definitions were found at http://fort21.ru/download/NMEAdescription.pdf. More...
 
void addChecksum (char *buff)
 Add *CS where CS is the two character hex checksum for all but the first character in the string. The checksum is the result of an exclusive or of all the characters in the string. Also useful if you are creating new PMTK strings for controlling a GPS module and need a checksum added. More...
 
void newDataValue (nmea_index_t tag, nmea_float_t v)
 Update the value and history information with a new value. Call whenever a new data value is received. The function does nothing if the NMEA extensions are not enabled. More...
 
nmea_float_t get (nmea_index_t idx)
 Clearer approach to retrieving NMEA values by allowing calls that look like nmea.get(NMEA_TWA) instead of val[NMEA_TWA].latest. Use newDataValue() to set the values. More...
 
nmea_float_t getSmoothed (nmea_index_t idx)
 Clearer approach to retrieving NMEA values. More...
 
void initDataValue (nmea_index_t idx, char *label=NULL, char *fmt=NULL, char *unit=NULL, unsigned long response=0, nmea_value_type_t type=NMEA_SIMPLE_FLOAT)
 Initialize the contents of a data value table entry. More...
 
nmea_history_tinitHistory (nmea_index_t idx, nmea_float_t scale=10.0, nmea_float_t offset=0.0, unsigned historyInterval=20, unsigned historyN=192)
 Attempt to add history to a data value table entry. If it fails to malloc the space, history will not be added. Test the pointer for a check if needed. Select scale and offset values carefully so that operations and results will fit inside 16 bit integer limits. For example a scale of 1.0 and an offset of 100000.0 would be a good choice for atmospheric pressure in Pa with values ranging ~ +/- 3500, while a scale of 10.0 would be pushing the integer limits. More...
 
void removeHistory (nmea_index_t idx)
 Remove history from a data value table entry, if it has been added. More...
 
void showDataValue (nmea_index_t idx, int n=7)
 Print out the current state of a data value. Primarily useful as a debugging aid. More...
 
bool isCompoundAngle (nmea_index_t idx)
 Check if it is a compound angle. More...
 
nmea_float_t boatAngle (nmea_float_t s, nmea_float_t c)
 Estimate a direction in -180 to 180 degree range from the values of the sine and cosine of the compound angle, which could be noisy. More...
 
nmea_float_t compassAngle (nmea_float_t s, nmea_float_t c)
 Estimate a direction in 0 to 360 degree range from the values of the sine and cosine of the compound angle, which could be noisy. More...
 

Public Attributes

int thisCheck = 0
 the results of the check on the current sentence
 
char thisSource [NMEA_MAX_SOURCE_ID]
 the first two letters of the current sentence, e.g. WI, GP More...
 
char thisSentence [NMEA_MAX_SENTENCE_ID]
 the next three letters of the current sentence, e.g. GLL, RMC More...
 
char lastSource [NMEA_MAX_SOURCE_ID]
 
char lastSentence [NMEA_MAX_SENTENCE_ID]
 
uint8_t hour
 GMT hours.
 
uint8_t minute
 GMT minutes.
 
uint8_t seconds
 GMT seconds.
 
uint16_t milliseconds
 GMT milliseconds.
 
uint8_t year
 GMT year.
 
uint8_t month
 GMT month.
 
uint8_t day
 GMT day.
 
nmea_float_t latitude
 
nmea_float_t longitude
 
int32_t latitude_fixed
 
int32_t longitude_fixed
 
nmea_float_t latitudeDegrees
 Latitude in decimal degrees.
 
nmea_float_t longitudeDegrees
 Longitude in decimal degrees.
 
nmea_float_t geoidheight
 Diff between geoid height and WGS84 height.
 
nmea_float_t altitude
 Altitude in meters above MSL.
 
nmea_float_t speed
 Current speed over ground in knots.
 
nmea_float_t angle
 Course in degrees from true north.
 
nmea_float_t magvariation
 Magnetic variation in degrees (vs. true north)
 
nmea_float_t HDOP
 
nmea_float_t VDOP
 
nmea_float_t PDOP
 
char lat = 'X'
 N/S.
 
char lon = 'X'
 E/W.
 
char mag = 'X'
 Magnetic variation direction.
 
bool fix
 Have a fix?
 
uint8_t fixquality
 Fix quality (0, 1, 2 = Invalid, GPS, DGPS)
 
uint8_t fixquality_3d
 3D fix quality (1, 3, 3 = Nofix, 2D fix, 3D fix)
 
uint8_t satellites
 Number of satellites in use.
 
uint8_t antenna
 Antenna that is used (from PGTOP)
 
uint16_t LOCUS_serial
 Log serial number.
 
uint16_t LOCUS_records
 Log number of data record.
 
uint8_t LOCUS_type
 Log type, 0: Overlap, 1: FullStop.
 
uint8_t LOCUS_mode
 Logging mode, 0x08 interval logger.
 
uint8_t LOCUS_config
 Contents of configuration.
 
uint8_t LOCUS_interval
 Interval setting.
 
uint8_t LOCUS_distance
 Distance setting.
 
uint8_t LOCUS_speed
 Speed setting.
 
uint8_t LOCUS_status
 0: Logging, 1: Stop logging
 
uint8_t LOCUS_percent
 Log life used percentage.
 
nmea_datavalue_t val [NMEA_MAX_INDEX]
 
nmea_float_t depthToKeel
 depth from surface to bottom of keel in metres More...
 
nmea_float_t depthToTransducer
 depth of transducer below the surface in metres More...
 
char toID [NMEA_MAX_WP_ID]
 id of waypoint going to on this segment of the route More...
 
char fromID [NMEA_MAX_WP_ID]
 id of waypoint coming from on this segment of the route More...
 
char txtTXT [63] = {0}
 text content from most recent TXT sentence
 
int txtTot = 0
 total TXT sentences in group
 
int txtID = 0
 id of the text message
 
int txtN = 0
 the TXT sentence number
 

Detailed Description

The GPS class.

Constructor & Destructor Documentation

◆ Adafruit_GPS() [1/4]

Adafruit_GPS::Adafruit_GPS ( HardwareSerial *  ser)

Constructor when using SoftwareSerial.

Parameters
serPointer to SoftwareSerial device

Constructor when using HardwareSerial

Parameters
serPointer to a HardwareSerial object

◆ Adafruit_GPS() [2/4]

Adafruit_GPS::Adafruit_GPS ( Stream *  data)

Constructor when using Stream.

Parameters
dataPointer to a Stream object

◆ Adafruit_GPS() [3/4]

Adafruit_GPS::Adafruit_GPS ( TwoWire *  theWire)

Constructor when using I2C.

Parameters
theWirePointer to an I2C TwoWire object

◆ Adafruit_GPS() [4/4]

Adafruit_GPS::Adafruit_GPS ( SPIClass *  theSPI,
int8_t  cspin 
)

Constructor when using SPI.

Parameters
theSPIPointer to an SPI device object
cspinThe pin connected to the GPS CS, can be -1 if unused

◆ ~Adafruit_GPS()

Adafruit_GPS::~Adafruit_GPS ( )
virtual

Destroy the object.

Returns
none

Member Function Documentation

◆ begin()

bool Adafruit_GPS::begin ( uint32_t  baud_or_i2caddr)

Start the HW or SW serial port.

Parameters
baud_or_i2caddrBaud rate if using serial, I2C address if using I2C
Returns
True on successful hardware init, False on failure

◆ available()

size_t Adafruit_GPS::available ( void  )

How many bytes are available to read - part of 'Print'-class functionality.

Returns
Bytes available, 0 if none

◆ write()

size_t Adafruit_GPS::write ( uint8_t  c)

Write a byte to the underlying transport - part of 'Print'-class functionality.

Parameters
cA single byte to send
Returns
Bytes written - 1 on success, 0 on failure

◆ read()

char Adafruit_GPS::read ( void  )

Read one character from the GPS device.

Call very frequently and multiple times per opportunity or the buffer may overflow if there are frequent NMEA sentences. An 82 character NMEA sentence 10 times per second will require 820 calls per second, and once a loop() may not be enough. Check for newNMEAreceived() after at least every 10 calls, or you may miss some short sentences.

Returns
The character that we received, or 0 if nothing was available

◆ sendCommand()

void Adafruit_GPS::sendCommand ( const char *  str)

Send a command to the GPS device.

Parameters
strPointer to a string holding the command to send

◆ newNMEAreceived()

bool Adafruit_GPS::newNMEAreceived ( void  )

Check to see if a new NMEA line has been received.

Returns
True if received, false if not

◆ pause()

void Adafruit_GPS::pause ( bool  p)

Pause/unpause receiving new data.

Parameters
pTrue = pause, false = unpause

◆ lastNMEA()

char * Adafruit_GPS::lastNMEA ( void  )

Returns the last NMEA line received and unsets the received flag.

Returns
Pointer to the last line string

◆ waitForSentence()

bool Adafruit_GPS::waitForSentence ( const char *  wait4me,
uint8_t  max = MAXWAITSENTENCE,
bool  usingInterrupts = false 
)

Wait for a specified sentence from the device.

Parameters
wait4mePointer to a string holding the desired response
maxHow long to wait, default is MAXWAITSENTENCE
usingInterruptsTrue if using interrupts to read from the GPS (default is false)
Returns
True if we got what we wanted, false otherwise

◆ LOCUS_StartLogger()

bool Adafruit_GPS::LOCUS_StartLogger ( void  )

Start the LOCUS logger.

Returns
True on success, false if it failed

◆ LOCUS_StopLogger()

bool Adafruit_GPS::LOCUS_StopLogger ( void  )

Stop the LOCUS logger.

Returns
True on success, false if it failed

◆ LOCUS_ReadStatus()

bool Adafruit_GPS::LOCUS_ReadStatus ( void  )

Read the logger status.

Returns
True if we read the data, false if there was no response

◆ standby()

bool Adafruit_GPS::standby ( void  )

Standby Mode Switches.

Returns
False if already in standby, true if it entered standby

◆ wakeup()

bool Adafruit_GPS::wakeup ( void  )

Wake the sensor up.

Returns
True if woken up, false if not in standby or failed to wake

◆ secondsSinceFix()

nmea_float_t Adafruit_GPS::secondsSinceFix ( )

Time in seconds since the last position fix was obtained. The time returned is limited to 2^32 milliseconds, which is about 49.7 days. It will wrap around to zero if no position fix is received for this long.

Returns
nmea_float_t value in seconds since last fix.

◆ secondsSinceTime()

nmea_float_t Adafruit_GPS::secondsSinceTime ( )

Time in seconds since the last GPS time was obtained. The time returned is limited to 2^32 milliseconds, which is about 49.7 days. It will wrap around to zero if no GPS time is received for this long.

Returns
nmea_float_t value in seconds since last GPS time.

◆ secondsSinceDate()

nmea_float_t Adafruit_GPS::secondsSinceDate ( )

Time in seconds since the last GPS date was obtained. The time returned is limited to 2^32 milliseconds, which is about 49.7 days. It will wrap around to zero if no GPS date is received for this long.

Returns
nmea_float_t value in seconds since last GPS date.

◆ parse()

bool Adafruit_GPS::parse ( char *  nmea)

Parse a standard NMEA string and update the relevant variables. Sentences start with a $, then a two character source identifier, then a three character sentence identifier that defines the format, then a comma and more comma separated fields defined by the sentence name. There are many sentences listed that are not yet supported, including proprietary sentences that start with P, like the $PMTK commands to the GPS modules. See the build() function and http://fort21.ru/download/NMEAdescription.pdf for sentence descriptions.

Encapsulated data sentences are supported by NMEA-183, and start with ! instead of $. https://gpsd.gitlab.io/gpsd/AIVDM.html provides details about encapsulated data sentences used in AIS.

parse() permits, but does not require Carriage Return and Line Feed at the end of sentences. The end of the sentence is recognized by the * for the checksum. parse() will not recognize a sentence without a valid checksum.

NMEA_EXTENSIONS must be defined in order to parse more than basic GPS module sentences.

Parameters
nmeaPointer to the NMEA string
Returns
True if successfully parsed, false if fails check or parsing

◆ check()

bool Adafruit_GPS::check ( char *  nmea)

Check an NMEA string for basic format, valid source ID and valid and valid sentence ID. Update the values of thisCheck, thisSource and thisSentence.

Parameters
nmeaPointer to the NMEA string
Returns
True if well formed, false if it has problems

◆ onList()

bool Adafruit_GPS::onList ( char *  nmea,
const char **  list 
)

Check if an NMEA string is valid and is on a list, perhaps to decide if it should be passed to a particular NMEA device.

Parameters
nmeaPointer to the NMEA string
listA list of strings, with the final entry "ZZ"
Returns
True if on the list, false if it fails check or is not on the list

◆ parseHex()

uint8_t Adafruit_GPS::parseHex ( char  c)

Parse a hex character and return the appropriate decimal value.

Parameters
cHex character, e.g. '0' or 'B'
Returns
Integer value of the hex character. Returns 0 if c is not a proper character

◆ build()

char * Adafruit_GPS::build ( char *  nmea,
const char *  thisSource,
const char *  thisSentence,
char  ref = 'R',
bool  noCRLF = false 
)

Build an NMEA sentence string based on the relevant variables. Sentences start with a $, then a two character source identifier, then a three character sentence name that defines the format, then a comma and more comma separated fields defined by the sentence name. There are many sentences listed that are not yet supported. Most of these sentence definitions were found at http://fort21.ru/download/NMEAdescription.pdf.

build() will work with other lengths for source and sentence to allow extension to building proprietary sentences like $PMTK220,100*2F.

build() will not work properly in an environment that does not support the f floating point formatter in sprintf(), and will return NULL. Floating point arguments to sprintf() are explicitly cast to double to avoid warnings in some compilers.

build() adds Carriage Return and Line Feed to sentences to conform to NMEA-183, so send your output with a print, not a println.

The resulting sentence may be corrupted if the input data is corrupt. In particular, the sentence will be truncated if any of the character data is 0, e.g. if lat is not set to 'N' or 'S'.

Some of the data in these test sentences may be arbitrary, e.g. for the TXT sentence which has a more complicated protocol for multiple lines sent as a message set. Also, the data in the class variables are presumed to be valid, so these sentences may contain values that are stale, or the result of initialization rather than measurement.

Parameters
nmeaPointer to the NMEA string buffer. Must be big enough to hold the sentence. No guarantee what will be in it if the building of the sentence fails.
thisSourcePointer to the source name string (2 upper case)
thisSentencePointer to the sentence name string (3 upper case)
refReference for the sentence, usually relative (R) or true (T)
noCRLFset true to disable adding CR/LF to comply with NMEA-183
Returns
Pointer to sentence if successful, NULL if fails

◆ addChecksum()

void Adafruit_GPS::addChecksum ( char *  buff)

Add *CS where CS is the two character hex checksum for all but the first character in the string. The checksum is the result of an exclusive or of all the characters in the string. Also useful if you are creating new PMTK strings for controlling a GPS module and need a checksum added.

Parameters
buffPointer to the string, which must be long enough
Returns
none

◆ newDataValue()

void Adafruit_GPS::newDataValue ( nmea_index_t  idx,
nmea_float_t  v 
)

Update the value and history information with a new value. Call whenever a new data value is received. The function does nothing if the NMEA extensions are not enabled.

Parameters
idxThe data index for which a new value has been received
vThe new value received
Returns
none

◆ get()

nmea_float_t Adafruit_GPS::get ( nmea_index_t  idx)

Clearer approach to retrieving NMEA values by allowing calls that look like nmea.get(NMEA_TWA) instead of val[NMEA_TWA].latest. Use newDataValue() to set the values.

Parameters
idxthe NMEA value's index
Returns
the latest NMEA value

◆ getSmoothed()

nmea_float_t Adafruit_GPS::getSmoothed ( nmea_index_t  idx)

Clearer approach to retrieving NMEA values.

Parameters
idxthe NMEA value's index
Returns
the latest NMEA value, smoothed

◆ initDataValue()

void Adafruit_GPS::initDataValue ( nmea_index_t  idx,
char *  label = NULL,
char *  fmt = NULL,
char *  unit = NULL,
unsigned long  response = 0,
nmea_value_type_t  type = NMEA_SIMPLE_FLOAT 
)

Initialize the contents of a data value table entry.

Parameters
idxThe data index for the value to be initialized
labelPointer to a label string that describes the value
fmtPointer to a sprintf format to use for the value, e.g. "%6.2f"
unitPointer to a string for the units, e.g. "Deg Mag"
responseTime constant for smoothing in ms. The longer the time constant, the more slowly the smoothed value will move towards a new value.
typeThe type of data contained in the value. simple float 0, angle 0-360 1, angle +/-180 2, angle with history centered +/- around the latest angle 3, lat/lon DDMM.mm 10, time HHMMSS 20.
Returns
none

◆ initHistory()

nmea_history_t * Adafruit_GPS::initHistory ( nmea_index_t  idx,
nmea_float_t  scale = 10.0,
nmea_float_t  offset = 0.0,
unsigned  historyInterval = 20,
unsigned  historyN = 192 
)

Attempt to add history to a data value table entry. If it fails to malloc the space, history will not be added. Test the pointer for a check if needed. Select scale and offset values carefully so that operations and results will fit inside 16 bit integer limits. For example a scale of 1.0 and an offset of 100000.0 would be a good choice for atmospheric pressure in Pa with values ranging ~ +/- 3500, while a scale of 10.0 would be pushing the integer limits.

Parameters
idxThe data index for the value to have history recorded
scaleValue for scaling the integer history list
offsetValue for scaling the integer history list
historyIntervalApproximate Time in seconds between historical values.
historyNSet size of data buffer.
Returns
pointer to the history

◆ removeHistory()

void Adafruit_GPS::removeHistory ( nmea_index_t  idx)

Remove history from a data value table entry, if it has been added.

Parameters
idxThe data index for the value to have history removed
Returns
none

◆ showDataValue()

void Adafruit_GPS::showDataValue ( nmea_index_t  idx,
int  n = 7 
)

Print out the current state of a data value. Primarily useful as a debugging aid.

Parameters
idxThe index for the data value
nThe number of history values to include
Returns
none

◆ isCompoundAngle()

bool Adafruit_GPS::isCompoundAngle ( nmea_index_t  idx)

Check if it is a compound angle.

Parameters
idxThe index for the data value
Returns
true if a compound angle requiring 3 contiguos data values.

◆ boatAngle()

nmea_float_t Adafruit_GPS::boatAngle ( nmea_float_t  s,
nmea_float_t  c 
)

Estimate a direction in -180 to 180 degree range from the values of the sine and cosine of the compound angle, which could be noisy.

Parameters
sThe sin of the angle
cThe cosine of the angle
Returns
The angle in -180 to 180 degree range.

◆ compassAngle()

nmea_float_t Adafruit_GPS::compassAngle ( nmea_float_t  s,
nmea_float_t  c 
)

Estimate a direction in 0 to 360 degree range from the values of the sine and cosine of the compound angle, which could be noisy.

Parameters
sThe sin of the angle
cThe cosine of the angle
Returns
The angle in 0 to 360 degree range.

Member Data Documentation

◆ thisSource

char Adafruit_GPS::thisSource[NMEA_MAX_SOURCE_ID]
Initial value:
= {
0}

the first two letters of the current sentence, e.g. WI, GP

◆ thisSentence

char Adafruit_GPS::thisSentence[NMEA_MAX_SENTENCE_ID]
Initial value:
= {
0}

the next three letters of the current sentence, e.g. GLL, RMC

◆ lastSource

char Adafruit_GPS::lastSource[NMEA_MAX_SOURCE_ID]
Initial value:
= {
0}

the results of the check on the most recent successfully parsed sentence

◆ lastSentence

char Adafruit_GPS::lastSentence[NMEA_MAX_SENTENCE_ID]
Initial value:
= {
0}

the next three letters of the most recent successfully parsed sentence, e.g. GLL, RMC

◆ latitude

nmea_float_t Adafruit_GPS::latitude

Floating point latitude value in degrees/minutes as received from the GPS (DDMM.MMMM)

◆ longitude

nmea_float_t Adafruit_GPS::longitude

Floating point longitude value in degrees/minutes as received from the GPS (DDDMM.MMMM)

◆ latitude_fixed

int32_t Adafruit_GPS::latitude_fixed

Fixed point latitude and longitude value with degrees stored in units of 1/10000000 of a degree. See pull #13 for more details: https://github.com/adafruit/Adafruit-GPS-Library/pull/13 Fixed point latitude in decimal degrees. Divide by 10000000.0 to get a double.

◆ longitude_fixed

int32_t Adafruit_GPS::longitude_fixed

Fixed point longitude in decimal degrees Divide by 10000000.0 to get a double.

◆ HDOP

nmea_float_t Adafruit_GPS::HDOP

Horizontal Dilution of Precision - relative accuracy of horizontal position

◆ VDOP

nmea_float_t Adafruit_GPS::VDOP

Vertical Dilution of Precision - relative accuracy of vertical position

◆ PDOP

nmea_float_t Adafruit_GPS::PDOP

Position Dilution of Precision - Complex maths derives a simple, single number for each kind of DOP

◆ val

nmea_datavalue_t Adafruit_GPS::val[NMEA_MAX_INDEX]

an array of data value structs, val[0] = most recent HDOP so that ockam indexing works

◆ depthToKeel

nmea_float_t Adafruit_GPS::depthToKeel
Initial value:
=
2.4

depth from surface to bottom of keel in metres

◆ depthToTransducer

nmea_float_t Adafruit_GPS::depthToTransducer
Initial value:
=
0.0

depth of transducer below the surface in metres

◆ toID

char Adafruit_GPS::toID[NMEA_MAX_WP_ID]
Initial value:
= {
0}

id of waypoint going to on this segment of the route

◆ fromID

char Adafruit_GPS::fromID[NMEA_MAX_WP_ID]
Initial value:
= {
0}

id of waypoint coming from on this segment of the route


The documentation for this class was generated from the following files: