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 Reply Children
  • 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

  • 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?

Related