Further power optimization through A-GPS - wait for data to be processed before starting to search

Hello everyone,

In my application, and in samples I have studied, the A-GPS data request starts with the NRF_MODEM_GNSS_EVT_AGPS_REQ event when the modem wakes up/is started.

After this events, there can be a waiting time of 10-20 seconds before the data is received and processed (+ ~6 seconds before RRC Idle). During this time, the modem still searches for a fix. I consider this a power waste. It searches with little hope of getting a fix. Is there any way we can make the modem wait until after the A-GPS data is injected before it starts searching? Or perhaps a way of making the modem wait until its in RRC Idle mode?

The time spent waiting can, under good circumstances, be longer than the time it actually takes to get a fix with the assistance data.

Wouldn't waiting be a lot better, or am I wrong in this matter?

Thank you all!

Kind regards,

Torje

  • Hi Tjore,

    Looking in t this and will update you.

    Regards,
    Jonathan

  • Wouldn't waiting be a lot better, or am I wrong in this matter?

    It is not an exact YES/NO situation you are describing. 


    So there will be scenarios when the what you describe is happening and theoretically some power could be saved. But there are other things to consider, like how often is the assistance data needed, so if we don't turn on GPS first, then it will always receive assistance data. So you can send a request to the cloud before staring the GPS. In that instance you might end up fetching the assistance data more often then needed. 


    So you can do some IRL testing and figure out what works best for your application as the ideal solution will depend on use case. 

    Regards,
    Jonathan

  • Hello Jonathan,

    And thank you for replying.

    In all cases, I would consider the duration which the GPS is blocked due to A-GPS fetching routine as a waste of power. Having the GNSS modem wait until the routine is done seems like an improvement. (Unless turning it off-and-on costs more power than leaving it running for ~10 seconds)

    In my own design the intervals of getting a fix is quite long, so it will request A-GPS data every time. Following your advice,  I will request the data before starting the GPS. 

    Thank you again!

    Kind regards,
    Torje

Related