Commit Graph

34 Commits

Author SHA1 Message Date
Rick Sellens d0f7f47dc9 Warning about scaling 2020-01-30 17:09:35 -05:00
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 deb312b293 Clear thisSentence and thisSource at start of each check
that way previous sentence identifiers won't bleed through on failure.
2020-01-29 19:52:13 -05:00
Rick Sellens 84eaad66e4 Fail Check if sentence not recognized
Previous check would pass for unknown but properly formatted sentence.
2020-01-29 19:44:05 -05:00
Rick Sellens ebb09d0480 clang 2020-01-29 13:23:02 -05:00
Rick Sellens 1afe1df764 clang 2020-01-29 13:10:43 -05:00
Rick Sellens 8ae6a7b75a clang 2020-01-29 12:57:20 -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 0b0996bbb0 Add NMEA_EXTRAS for command line compile control 2020-01-29 09:59:47 -05:00
Rick Sellens 2a5b5bdd1c Update source and sentence lists 2020-01-29 09:57:49 -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 7025f17c82 clang 2020-01-21 14:20:40 -05:00
Rick Sellens 35069cb40c trigger a new check run 2020-01-21 13:49:48 -05:00
Rick Sellens 15788bd2f0 let the float type be set from the compile command line 2020-01-21 12:34:35 -05:00
Rick Sellens af963a4846 clang 2020-01-19 20:25:14 -05:00
Rick Sellens 716315af97 single is not float
that's what happens when you rush
2020-01-19 20:16:24 -05:00
Rick Sellens edc7146730 Update NMEA_data.h 2020-01-19 19:48:00 -05: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 4bfbd03b90 move PMTK defines to their own .h 2020-01-19 07:54:34 -05:00
Rick Sellens aa56da31e7 Add NMEA_data.h
typedefs to support tracking more NMEA data besides position.
2020-01-19 07:48:41 -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