-
Notifications
You must be signed in to change notification settings - Fork 197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
decrease timeout from RTK to DGNSS when no RTCM are available #109
base: main
Are you sure you want to change the base?
Conversation
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've seen the drop to 1Hz as well, and I believe it's trying to wait until it gets RTCM data with a 1s timeout. I did not see it being mentioned in the docs either.
btw you can log all gps samples by changing this: https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/logger/logged_topics.cpp#L191
@@ -2196,7 +2198,7 @@ GPSDriverUBX::activateRTCMOutput(bool reduce_update_rate) | |||
cfgValset<uint16_t>(UBX_CFG_KEY_RATE_MEAS, 1000, cfg_valset_msg_size); | |||
} | |||
|
|||
cfgValsetPort(UBX_CFG_KEY_MSGOUT_RTCM_3X_TYPE1005_I2C, 5, cfg_valset_msg_size); | |||
cfgValsetPort(UBX_CFG_KEY_MSGOUT_RTCM_3X_TYPE1005_I2C, 1, cfg_valset_msg_size); |
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.
How much does this affect bandwidth?
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.
Could you please test it? @bkueng (I won't have access to the F9P until September)
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 might be able to test it.
@@ -520,6 +520,8 @@ int GPSDriverUBX::configureDevice(const GNSSSystemsMask &gnssSystems) | |||
cfgValset<uint8_t>(UBX_CFG_KEY_NAVSPG_UTCSTANDARD, 3 /* USNO (U.S. Naval Observatory derived from GPS) */, | |||
cfg_valset_msg_size); | |||
cfgValset<uint8_t>(UBX_CFG_KEY_NAVSPG_DYNMODEL, _dyn_model, cfg_valset_msg_size); | |||
// The rover will stop using RTCM corrections that are older than 2 seconds | |||
cfgValset<uint8_t>(CFG_NAVSPG_CONSTR_DGNSSTO, 2, cfg_valset_msg_size); |
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.
Probably ok, but it means it will also fall out of RTK with base station quite quickly
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.
From your experience, the RTCM data does not arrive at 1Hz?
The other options that I see are:
- set it to a higher value i.e. 3 (which is already much better than 60s)
- create a parameter for
CFG_NAVSPG_CONSTR_DGNSSTO
and let the user chose.
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.
From your experience, the RTCM data does not arrive at 1Hz?
Yes but the datalink might not always have perfect connectivity.
We can set it to 3. The other option would be to just set it to the one that gets the heading corrections (it does not get the RTK base station corrections at the same time).
Setup:
Experiment:
Issue:
Explanation
Proposed solution:
Results: