Skip to content

Instantly share code, notes, and snippets.

@UniversalSuperBox
Created July 4, 2019 19:54
Show Gist options
  • Save UniversalSuperBox/345b4d72588fc1d6fc0a593d5c08a503 to your computer and use it in GitHub Desktop.
Save UniversalSuperBox/345b4d72588fc1d6fc0a593d5c08a503 to your computer and use it in GitHub Desktop.
Excerpt about GPS in Ubuntu Touch

The following is a short discussion on GPS "fixing" or "locking" and the different states that a GPS device may be in when trying to get its first fix. I wrote it for the UBports documentation but it just didn't seem to fit anywhere in the article I was writing. Maybe I'll use it later.

Most GPS hardware in mobile devices does not directly state its expected TTFF or its progress toward acheiving its first fix. To make matters worse, Ubuntu Touch does not currently use a Wi-Fi positioning system or cell-site multilateration. For this reason, it can seem that Ubuntu Touch takes a very long time to receive location data.

Cold fix

If GPS hardware is not used for a while or the device's battery dies, it may need to aquire a "Cold" fix. This means that the hardware does not know the position or velocity of any positioning satellites (the almanac). The hardware will search for any GPS satellites that it can find and begin receiving data from them. Since the satellites only transmit data at 50 bits per second, it will take about 15 minutes to complete this process.

A cold fix takes anywhere from 15 minutes to an hour to complete. The device must be awake and have an uninterrupted view of one or more satellites during this process, so it is best to set it near a window and turn off auto-lock features.

Most GPS hardware in mobile handsets will download an almanac from the GSM/LTE network if it has a valid SIM card installed and a connection to the network. This is part of the Assisted GPS, or A-GPS, feature. Devices which are able to perform this process will instead aquire a warm fix.

Warm fix

A device will usually only need to aquire a warm fix. This means that the device has most of the data it needs to aquire a fix and must only determine the exact position of the satellites it can detect.

A warm fix takes one to four minutes to complete.

Hot fix

A device will aquire a hot fix when it has recently aquired a fix, for example if location services were used within a few hours without rebooting the device.

A hot fix takes seconds to complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment