it seems that GPS data is getting deleted when sending nRF to sleep with AT#XSLEEP=1 command + AGPS issue

Hi,

I'm using nRF9160 SLM application SDK 1.9.1

We are using the GPS in 4 operation modes and in between we sent nRF to sleep, it seems when we sent it to sleep all the GPS data is lost and every time we want to get a fix we get it by cold start (60 to 120 seconds to get a fix) and not hot start (few seconds to get a fix)- we use 1/5/15/30 minutes intervals atm

If I do CFUN=0, come after 20 minutes, do CFUN=31 and look for GPS I get a fix in about 5 seconds
If I do SLEEP=1, wake up after 10 seconds, do CFUN=31 and look for GPS I get a fix in about 60-120 seconds (like the first fix from the cold start)

How can I overcome this issue and get a hot fix after going to SLEEP?

We are also using AGPS every 4 hours to have data refresh so we can get fixes faster (doesn't really help since we go to sleep and all the data is lost) - after an AGPS request from the cloud there is 1 minute timeout for the modem to go idle and then it starts to look for GPS (which take 60-120 second to get a fix even with the data - why? it suppose to be much faster) - how can I reduce this 60 second and make the modem go idle faster?

*I think the reason it takes AGPS similar time to get a fix like normal GPS is because of this :

 

"Received":{3 items
"appId":"AGPS"
"messageType":"DATA"
"data":{6 items
"mcc":425
"mnc":1
"tac":19411
"eci":16386561
"rsrp":-140
"types":[8 items
0:1
1:2
2:3
3:4
4:6
5:7
6:8
7:9
]
}
}
"ERROR":{1 item
"message":"src property must be a valid json object"
}
"ERROR":{1 item
"message":"src property must be a valid json object"
}

Why this error occur?

Thanks,

Ofir

Parents
  • Update:


    Pleas see the documentation of the XSLEEP, using XSLEEP=1 does disable both UART, SLM service and the modem. Setting it two 2 instead only disables UART, and when the app-core/modem is not doing anything then it idles.

    So test with =2 and see if that solves the issue you have.

    Regards,
    Jonathan

  • Hi Jonathan,

    Thanks for the reply

    using XSLEEP=2 isn't good for us because we want all the system to go to sleep and not only part of it (to reduce the consumption to minimum).

    Why the GPS data doesn't saved to NVM or internal flash of the modem before going to sleep and then on wakeup to retrieve this data? is there a way to modify the SLM code in order to do so?

    Using EDRX and PSM isn't an option at the moment and we using XSLEEP=1 so we need a way to save data and use hot fix after we wake up

    There are 2 more issues in this ticket:

    1. is there a way to reduce the time we need to wait for the modem to go idle after receiving the AGPS data from the cloud? (at the moment this is 1 minute of waiting before the GNSS look for a fix).

    2. sometime there are errors from the cloud and it seems the modem didn't get the data, is there a way to overcome this error?

  • What modem firmware are you using?

    And can you take a modem trace and share it?

  • What modem firmware are you using?

    Modem FW 1.3.2 SDK 1.9.1 SLM app

    And can you take a modem trace and share it?

    I'm not sure, I will try and post if I succeed.

    using XSLEEP=1 does disable both UART, SLM service and the modem. Setting it two 2 instead only disables UART

    We did try with CFUN=0 and then SLEEP=2 and it seems to work good with hot start after a first fix so we have another issue we need to solve.

    After I receive the AGPS data from the cloud how can I send modem to idle? (he goes to idle after 60 seconds and I want it to be less)

    * We come across another thing regarding hot start of GPS: after we do reset to nRF (pin reset) we loose some of the GPS data (after reset it take 30 seconds to get a fix), I guess it relates to the retained RAM

    2 RAM can be configured to be retained using registers in VMC — Volatile memory controller

    How can I program the code to retain the memory at the reset? (I think it should solve what we need)

  • Every time the modem is turned off it will loos its timing, so then it will use more time to get a GPS fix.

    RAM retention will not be solution here as it is not the RAM in the modem that would be retained.

    Modem trace: https://infocenter.nordicsemi.com/topic/ug_trace_collector/UG/trace_collector/intro.html?cp=10_3_3

    If you could share what you do well as the modem trace then we might be able to better address the challenges you are seeing.

    Can you share what you are trying to do and how you plan to use the nrf9160 and its features?

    How often do you plan to get a GPS fix?

    How important is power consumption?

    Ofir_A said:
    After I receive the AGPS data from the cloud how can I send modem to idle? (he goes to idle after 60 seconds and I want it to be less)

    This can depend on the network, so idling will happen when PSM\eDRX is granted, and that is up to the network to decide.

    Regards,
    Jonathan

Reply
  • Every time the modem is turned off it will loos its timing, so then it will use more time to get a GPS fix.

    RAM retention will not be solution here as it is not the RAM in the modem that would be retained.

    Modem trace: https://infocenter.nordicsemi.com/topic/ug_trace_collector/UG/trace_collector/intro.html?cp=10_3_3

    If you could share what you do well as the modem trace then we might be able to better address the challenges you are seeing.

    Can you share what you are trying to do and how you plan to use the nrf9160 and its features?

    How often do you plan to get a GPS fix?

    How important is power consumption?

    Ofir_A said:
    After I receive the AGPS data from the cloud how can I send modem to idle? (he goes to idle after 60 seconds and I want it to be less)

    This can depend on the network, so idling will happen when PSM\eDRX is granted, and that is up to the network to decide.

    Regards,
    Jonathan

Children
  • H Jonathan,

    Thanks for the reply

    Every time the modem is turned off it will loos its timing, so then it will use more time to get a GPS fix.

    RAM retention will not be solution here as it is not the RAM in the modem that would be retained.

    I understand, thanks for that
    So we will see how we can reduce the times we do resets and handle errors differently.

    You gave us answers for 2/3 Thanks :)
    We remain with only one thing and its the time to get idle

    Can you share what you are trying to do and how you plan to use the nrf9160 and its features?

    We are using the nrf9160 for transmitting data and getting GPS position, the nrf is a slave and we control it with at commands.

    How often do you plan to get a GPS fix?

    It depends, we have 4 operation modes, tracking every 1/5/15/30 minutes intervals
    * We connect with WIFI as well and when we use WIFI we don't use nrf at all, when there is no WIFI we want to know GPS and to transmit data with cellular

    How important is power consumption?

    Very important.

    This can depend on the network, so idling will happen when PSM\eDRX is granted, and that is up to the network to decide.

    We don't use PSM/eDRX, Is there a way to give GPS priority with the SLM application?
    Is the 60 seconds to go idle is the minimum or we can ask for less?

    *Regarding the AGPS, we've been told to ask for AGPS every 4 hours, if we receive fixes with GPS every 30 minutes, do we still need to ask every 4 hours from the last AGPS fix or every 4 hours from a regular fix?

  • Ok, thanks for the extra details.

    So in the scenarios where the 9160 is used with the 4 different modes, GPS fix every 1, 5, 15 and 30 minutes there might need to be some adjustments for the individual modes. At least for the mode with a GPS fix every minute. With such a fast interval of position fix then it might actually be better to leave the GPS on. Would have to navigate the LTE stack in a way that would not interfere with the GPS fix interval. 

    However a 1 minute fix interval is not very battery friendly, so here i guess there might have to be some trade off, GPS is more important then battery or not. 

    So the two questions remining now is:
    Is the 60 seconds to go idle is the minimum or we can ask for less?
    and
    Regarding the AGPS, we've been told to ask for AGPS every 4 hours, if we receive fixes with GPS every 30 minutes, do we still need to ask every 4 hours from the last AGPS fix or every 4 hours from a regular fix?

    Will get back to you on the two, might be more conditions to consider for both questions. 

    Regards,
    Jonathan

  • Hi Jonathan

    Is the 60 seconds to go idle is the minimum or we can ask for less?

    Any update regarding GPS priority over LTE?

  • To how often the AGPS data is needed:

    GNSS requests new A-GPS data when it's needed. There's different assistance data with different validity times. Ephemerides have the shortest validity time, they are only valid for 2 hours on average. So, to always have fresh assistance data available, GNSS should request new data roughly every two hours.

    You don't have to always download everything, but GNSS tells which data is needed. Usually it's only the ephemerides. For example almanacs are valid for weeks.



    Ofir_A said:
    Is there a way to give GPS priority with the SLM application?

    No, the modem will prioritise LTE over GPS

    Regards,
    Jonathan
Related