Add NMEA parsing library to framework #268
Labels
No Label
API Change
Breaking API Change
bug
build
cosmetics
Documentation
duplicate
feature
help wanted
hotfix
invalid
question
Refactor
Tests
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: fsfw/fsfw#268
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
NMEA is a very common format for messages, but requires ASCII parsing. Instead of implementing the parsing over and over again in mission code(there are ASCII parsing components, but no NMEA parsing components) , I suggest to add functionalities to parse NMEA sentences. However this has already been done so I don't see a reason to implement this ourselves and instead use proven code by adding a library like https://github.com/kosma/minmea , which is licensed under WTFPL to the contrib folder. It consists of one source, one header and one nice LICENSE file so its also really easy to integrate, but it appears to not really be maintained anymore.
Another option would be https://docs.majerle.eu/projects/lwgps/en/latest/index.html
but I am not sure the MIT license in compatible. According to https://law.stackexchange.com/questions/6081/can-i-bundle-mit-licensed-components-in-a-apache-2-0-licensed-project it is.
This library includes an option file, so one way to make inclusion of the whole library optional would be preprocessor defines
Background information: EIVE GPS only outputs NMEA messages and I don't want to reinvent the wheel again. Maybe there is also a way to integrate this into the framework for future missions..
Add NMEA library to frameworkto Add NMEA parsing library to frameworkDid you use one of those libs?
No, but I will propably try to find and use a good (and maintained) one for the EIVE GPS device handler.
I added the library. I adapted it to have CMake support as well: https://github.com/rmspacefish/lwgps/tree/mueller/added-cmake-support. I will test it soon with the Hyperion GPS device NMEA strings.
These libraries are really small and can be added on a project base as a submodule. I don' think it is necessary to add them to FSFW