MaJerle / lwgps

Lightweight GPS NMEA parser for embedded systems
MIT License
393 stars 128 forks source link

Feature additions and tests #13

Closed siriobalmelli closed 4 years ago

siriobalmelli commented 4 years ago

This commit series:

  1. Adds optional parsing for PUBX TIME messages (disabled by default).

    • This is pretty straightforward, just adding #if blocks, optional data fields in gps_t and Doxygen documentation on the option.
  2. Adds optional status callback to gps_process() so callers can track messages received and/or have a vision into what the GPS is sending (disabled by default).

    • This required encoding GPS statement types as an enum gps_statement_t; care was taken that the compiler would pack this down to 8 bits.
    • The call signature for gps_process() was optionally changed to invoke a user-supplied callback on request.
  3. Extends the existing test code, adds a Makefile and some documentation instructions on running tests.

    • Common test defines moved into test_common.h

These changes have been being used in downstream firmware for several weeks successfully and are mature enough to merge.

siriobalmelli commented 4 years ago

Thanks for detailed review, please see fix commits for each.