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

Custom AGPS: Which data is required for the AGPS?

Hi,

I'm currently implementing AGPS on 9160, nrf connect master branch.

Right before every GPS search we are connecting to our own server via CoAP.
To minimize data usage and power consumption I want to avoid using the SUPL library.
Instead I'm returning approximate coordinates and a timestamp from our server to the device, and I'm trying to feed it to the AGPS.

As there is no documentation for the gps driver I've been digging around in the code.
I've found a few data structures that I can send to the driver, but they all have quite a lot of extra data that I'm not sure is required or not.

The struct called nrf_gnss_agps_data_location_t seems to be the one I need, but it doesn't just have latitude+longitude, it has orientations and uncertainty etc.
Are all of those data points in the same struct necessary?
For instance, can I just use 0x00 or 0xff for some data points I don't have?

Also, should I load the AGPS with all the different types of structs as well?
Does some of the structs make other structs irrelevant?
For instance, should I load the agps with ephemeris, almanac and location, or would just location be enough?

---------

Bonus questions:
Do you have any examples of, or documentation regarding using AGPS through the GPS driver without the SUPL library?
What is the data usage and power consumption cost of using the SUPL library?
Am I crazy for rolling my own solution instead of just using it?

Related