Commit Graph

18 Commits

Author SHA1 Message Date
Rick Sellens d14e220c1b Add noCRLF option to build()
new optional argument will leave the carriage return and linefeed off the end of an NMEA sentence.
2020-01-30 14:29:17 -05:00
Rick Sellens 7d889e3a9d Reorder and document
Align the order in the .h with the order in the various .cpp
Note that ! is also a valid starting character for an NMEA sentence.
2020-01-29 12:03:25 -05:00
Rick Sellens 1d58e4e66e run data_init() under common_init() 2020-01-29 10:35:00 -05:00
Rick Sellens 0fca64d082 Comment out old Lat Lon parsing
new parse() uses generalized parseCoord()
2020-01-29 10:27:05 -05:00
Rick Sellens 3876f29fc1 New parse() with more sentences
move other parsing functions in NMEA_parse.cpp
fix parseTime to be insensitive to number of decimal places and return bool.
add isEmpty() checks where needed.
reorder some declarations.
2020-01-29 10:18:41 -05:00
Rick Sellens 4b6e181770 New version of build() with more sentences
move addChecksum() to NMEA_build.cpp
2020-01-29 10:03:59 -05:00
Rick Sellens 6f41d311cd Add no comms constructor, destructor, data values 2020-01-29 09:56:21 -05:00
Owen Torres 748707b6ee Fix -Wdouble-promotion warnings
We want to avoid using doubles where unnessesary since many embedded
targets have only a single precision FPU or no FPU at all.

Passing doubles is unavoidable with the printf family of functions,
so use an explicit cast to silence the warning.
2020-01-27 19:01:45 +00:00
Owen Torres 61fe38d503 Remove unused variables 2020-01-27 18:54:28 +00:00
Owen Torres 17bb6d1ed2 Replace boolean with standard bool
This causes deprecation warnings when compiling with the STM32duino
Arduino core.
2020-01-27 18:54:28 +00:00
Rick Sellens 7d806715fc this one too 2020-01-19 09:52:28 -05:00
Rick Sellens 3a823f80e0 this comment has a trailing space 2020-01-19 09:37:51 -05:00
Rick Sellens 8c3bdfd0ca clang 2020-01-19 09:15:18 -05:00
Rick Sellens c006654469 clang hates trailing white space 2020-01-19 08:56:06 -05:00
Rick Sellens 0051f37600 change from float to nmea_float_t
Not sure whether to make it float or double by default

/*************************************************************************
  doubles and floats are identical on AVR processors like the UNO where space
  is tight. doubles avoid the roundoff errors that led to the fixed point mods
  in https://github.com/adafruit/Adafruit-GPS-Library/pull/13, provided the
  processor supports actual doubles like the SAMD series with more storage. The
  total penalty for going all double is under a few hundred bytes / instance or
  0 bytes / instance on an UNO. This typedef allows a switch to lower precision
  to save some storage if needed. A float carries 23 bits of fractional
  resolution, giving a resolution of at least 9 significant digits, thus 6
  significant digits in the decimal place of an angular value like latitude, and
  thus a resolution on earth of at least 110 mm. That's closer than GPS will
  hit, and closer than needed for navigation, so floats can be used to save a
  little storage.
 **************************************************************************/
typedef double
    nmea_float_t; ///< the type of variables to use for floating point
2020-01-19 08:14:02 -05:00
Rick Sellens 8739f08ca6 move resetSentTime out of extensions
potentially useful elsewhere, and small
2020-01-19 08:06:26 -05:00
Rick Sellens d1c93e04a7 Move parse and build to their own source files 2020-01-19 07:43:48 -05:00
Rick Sellens 30280c5de2 Moved source files to source, no other changes 2020-01-19 07:31:56 -05:00
Renamed from Adafruit_GPS.cpp (Browse further)