This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf9160 modem XFILEWRITE gps almanac

Hi,

I see in the nrf9160 1.2.0 AT document there is a command XFILEWRITE that suggests the GPS almanac can be written and persist in the modem.

Can you provide more documentation on this command and the format of the data you can write?

I'd like to improve the TTFF for the GPS. I've got the SUPL GPS client example working and it does indeed speed up TTFF to a few seconds. But I'd like to be able to store that information in the modem in cases where I have no LTE connection or it is simply unavailable for other reasons. That is I want the GPS data to persist. Suggestions welcome!

Regards,

Paul

  • Hi Paul

    The reason you might not have seen it work initially is that the device needs to fetch the almanac initially. This takes ~12.5 minutes of continuous GPS reception if it's fetched from a satellite. It can also be fetched by AGPS, which I guess you have done in your latest reply. 

    In order to utilize the almanac/ephemeris to speed up TTFF optimally, coarse time and place are needed as well. The device will have both if it made a successful fix recently (less than 30 minutes ago). The coarse place is also stored in Flash at a graceful power-down. However, time can not be stored, so at power-up, you'll need to get the coarse time from somewhere, either LTE or an external source, and inject it to GPS to speed up TTFF.

    As for the constants you're referring to, it should not be a problem on the GPS side of things to inject this from the application. Question is, where would you like to get these from, and how. All of them can for example come from AGPS, but if you don't want to use SUPL or MQTT, I suppose you'll have to get it from a PC. The almanac can be injected with some AT command, and time can be fetched from the LTE modem with an AT command and then injected.

    Please note that we're entering the summer vacation period here in Norway, so delays must be expected as we are low on staff for the month of July. Sorry about the inconvenience!

    Best regards,

    Simon

  • I'm just returning to this thread after a while. As suggested I'd like to get the current time into the GPS on startup. What is the recommended way of doing this?

    Regards,

    Paul

  • Hi You can get time from the LTE by subscribing to time notifications using the %XTIME AT command. Alternatively, you can get the time (somewhat slower) from the GPS as well.

    Best regards,

    Simon

  • Thanks for prompt reply. I should have been clearer with the question.The original thread was to do with TTFF for the GPS. Let us suppose I have the current time by sme means. I need to get this current time into the nrf9160 GPS module _without_ doing a complete AGPS SUPL session. How do I get the time into the GPS module to achieve faster TTFF ?

    Regards,

    Paul

  • Hi again

    Okay, thank you for clarifying. If you populate the following struct here and include it in your application, that shoud let you get time to the GPS module as you describe it. We don't have an example project doing this as you describe it yet, so it will have to be added manually I'm afraid.

    Best regards,

    Simon

Related