-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
application: serial_lte_modem: BUG-FIX GNSS scheduled download #12468
Conversation
Test specificationCI/Jenkins/NRF
CI/Jenkins/integration
Detailed information of selected test modules Note: This message is automatically posted and updated by the CI |
This is a feature of the periodic navigation mode. From
In my understanding this shouldn't happen often.
I don't know whether we really want to do that. Can you provide some more explanation as to why this change should be made, what has been experienced? Also, I didn't quite understand your last sentence:
|
Downloading all almanacs takes about 13 minutes. GNSS splits this into one minute parts, so in the best case GNSS would be running continuously 13 times 1 minute. In case there are errors, the corresponding pages are retried later. After almanacs have been downloaded, the next download should happen only after a couple of weeks, if I remember correctly. Additionally, if the interval is less than 30 minutes, GNSS also does scheduled downloads for the ephemerides. Downloading an ephemeris takes something like 16 seconds, I think, but because each satellite is only transmitting it's own ephemeris, GNSS will have to repeat this again when it acquires a new satellite for which it does not yet have an ephemeris. If scheduled downloads are disabled and GNSS assistance is not used, GNSS will be most likely using less satellites for the fixes and it probably never gets almanacs for the satellites. This impacts fix accuracy.
The problem is, that if scheduled downloads are not disabled, GNSS does not always respect the given fix interval. The application may for example expect a fix every 60 seconds, but GNSS may suddenly start running continuously for one minute because of the scheduled downloads.
MFW v2.0.0 has a new flag in the GNSS PVT, which indicates if the PVT notification was sent because of a scheduled download. With this flag, the application could ignore those PVTs which are not "real" fixes with the requested interval. The GNSS API implementation in libmodem can also use this flag to determine when it should send the NRF_MODEM_GNSS_EVT_FIX event. Now this event is sent once a second also during scheduled downloads, which may be confusing. |
Maybe the choice between time and position accuracy could be given to the user. Anyway, the GNSS AT commands have been reworked and the PR is ready to get merged, so @junqingzou I think you need to base your changes on it.
This is confusing... Fake fix events are sent or |
When GNSS is running because of a scheduled download, This is confusing, that's why the GNSS periodic mode hasn't been used much. Later, we got the option to disable scheduled downloads. It's the only way to guarantee that GNSS runs only when it's time for the next periodic fix. One thing to consider is that running GNSS continuously for 13 minutes to download the almanacs uses a lot of energy. During a scheduled download, nRF9160 consumes more than 40 mA all the time. |
Yeah, not ideal. This does not happen at all in continuous navigation mode? This gets me wondering, how bad is the loss of accuracy. It may be worth the gain of time accuracy and consumption. What do you think? Does it make sense to always disable the scheduled downloads in periodic navigation mode? |
In continuous navigation GNSS runs all the time and is continuously decoding data from the satellites, so there's no need for such behavior.
Well, that's pretty much impossible to say. Running several tens or hundreds of fixes would give some kind of idea. But then again, results from different signal conditions would probably be different. There are two different ways the accuracy is affected. One is the number of usable satellites, which is pretty much unpredictable. Another are the Klobuchar ionospheric corrections, which would never be received without scheduled downloads or A-GNSS. The benefit from Klobuchar correction parameters probably isn't that big, though.
If you want the periodic mode to work logically, there's not much choice. I think it's probably better to always disable scheduled downloads. And A-GNSS usage is always a good idea. |
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.
Good to me. Changes will have to be re-made if #12359 gets merged before this.
Will wait in pipe. |
@tomi-font rebased to #12359 |
26b980d
to
644e0de
Compare
644e0de
to
c95ab3f
Compare
You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds. Note: This comment is automatically posted by the Documentation Publishing GitHub Action. |
c95ab3f
to
544ca64
Compare
Currently GNSS scheduled download is disabled for SLM AGPS/PGPS periodical tracking to save power as AGPS/PGPS data has the info. There is a need to disable it for SLM GPS periodical tracking as well, due to scheduled download would generate fixes not according to the interval configuration, i.e. fix per second. From mfw_2.0 the fix by scheduled download will be flagged and the libmodem GNSS could filter the unwanted fix. Signed-off-by: Jun Qing Zou <[email protected]>
544ca64
to
e52916a
Compare
Currently GNSS scheduled download is disabled for SLM AGPS/PGPS periodical tracking to save power as AGPS/PGPS data has the info.
There is a need to disable it for SLM GPS periodical tracking as well, due to scheduled download would generate fixes not according to the interval configuration, i.e. fix per second.
From mfw_2.0 the fix by scheduled download will be flagged and the libmodem GNSS could filter the unwanted fix.