-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Changed parse interface, differentiation between config needed and po…
…sition updated, working but might be solved more elegant
- Loading branch information
Julian Oes
committed
Feb 6, 2013
1 parent
fbbeef7
commit a79ad17
Showing
5 changed files
with
81 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a79ad17
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So we have to flags now: config_needed and pos_updated.
I know this sounds complicated but I was looking for a way to reconfigure when not all messages arrive and still publish the position if it is available. If we only wait for a position update, we might forget about the other messages.
For MTK and NMEA this won't be that complicated.
a79ad17
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you're overwriting the timestamp now for position messages, which means the estimator has no idea from when the position measurement actually was (and experience suggests the filter has an internal more or less fixed delay, which combined would allow to properly fuse the GPS measurement). I don't think the timestamps should be updated for anything else than position, or if you do, you need to have per-measurement timestamps (e.g. a velocity estimate timestamp).
In addition, how likely is it that the GPS module decides halfway into the mission to stop sending one particular message? It still looks as if we should configure first, check for the configuration result (and throw away all other messages we're not interested in) and move through the config steps until the module is fully configured.
Not saying that the current approach is wrong or does not work, but it involves a couple of global states and state switches that are hard to read, understand and maintain.