nmea_gps: Update to handle parsing into structures

NMEA GPS class now uses threads to handle parsing NMEA sentences.
Currently only handles GGA, GSV, and GLL types.  Added queues for
holding parsed data.

    * Parsing thread
    * Parse GPS Fix from GGA and GLL
    * Parse satellite info from GSV
    * Provide a queue for GPS fix data as well as raw sentences
      (for debugging)
    * Target structures and NMEAGPS class have a __str__() method
      which summarizes the objects into a std::string.  These are
      tied to the __str__ method in python
    * Added google unit test for the above functionality

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2018-05-21 07:35:48 -07:00
parent 1b5087105b
commit 3a077df5f6
8 changed files with 1040 additions and 121 deletions

View File

@ -18,6 +18,11 @@ target_link_libraries(json_tests GTest::GTest GTest::Main)
target_include_directories(json_tests PRIVATE "${UPM_COMMON_HEADER_DIRS}/")
gtest_add_tests(json_tests "" AUTO)
# Unit tests - nmea_gps library
add_executable(nmea_gps_tests nmea_gps/nmea_gps_tests.cxx)
target_link_libraries(nmea_gps_tests nmea_gps GTest::GTest GTest::Main)
gtest_add_tests(nmea_gps_tests "" AUTO)
# Add a custom target for unit tests
add_custom_target(tests-unit ALL
DEPENDS