21 Commits
Author SHA1 Message Date
Raphaël Jakse 63dd4ad263 iface-location: allow enabling without SIM
When the modem is in a failed state because of a SIM-related error,
like a missing SIM, or if the modem is SIM-locked, allow the
Location interface to initialize and be enabled anyway.

This allows someone without a SIM to use the GPS, which does not
particularly require a phone subscription. It also allows
someone with a SIM to use the GPS even if the SIM is still
locked.

This patch was reworked, while keeping the original idea, by:
Aleksander Morgado <aleksander@aleksander.es>

Fixes #183
2023-12-11 12:37:42 +00:00
Aleksander Morgado bf9005df07 api,location: update TAC documentation to allow 3-byte values in 5GNR 2021-07-03 22:49:01 +02:00
Aleksander Morgado 97ae345d9e api: add 'Since' tags
These are not actively used by gdbus-codegen or gtk-doc, but they're
helpful anyway so that users know when a given API method was
introduced.
2021-03-23 12:50:17 +01:00
Aleksander Morgado b95bcfe6e3 api,location: improve InjectAssistanceData() method docs
Explain when this method should be used instead of A-GPS.
2020-04-12 17:49:36 +02:00
Aleksander Morgado ef56114244 api,location: improve Setup() method docs
Explicitly state that the signals_location argument affects the
behavior of the Location property.
2020-04-12 17:40:52 +02:00
Aleksander Morgado d93526a114 api,location: improve Location property docs
Clearly specify that GetLocation() is another way to retrieve the
location information instead of the Location property.
2020-04-12 17:15:58 +02:00
Aleksander Morgado 2d171207bb api,location: fix A-GPS MSA/MSB documentation links 2019-07-02 18:40:17 +02:00
Aleksander Morgado d5dc9751b6 location,agps: include support for MSB A-GPS 2019-04-09 12:24:39 +00:00
Aleksander Morgado b77aa7ab0e location,agps: explicitly specify that MSA A-GPS is implemented
The A-GPS based implementations we currently have assume MSA A-GPS, so
rename the MMModemLocationSource enum value to reflect that.
2019-04-09 12:24:39 +00:00
Aleksander Morgado 5123add860 api,doc: add note about when each modem interface is available 2019-01-15 15:40:10 +01:00
Aleksander Morgado 6e84f3d459 iface-modem-location: validate SUPL server address
Devices will expect SUPL server given as either IP:PORT or FQDN:PORT,
so just avoid saying we require a 'URL' because it's not true.

We will use a new helper method to parse and validate user-provided
SUPL server address.
2018-09-12 17:14:36 +00:00
Aleksander Morgado 091bf4dbd8 api: support location assistance data
Sometimes SUPL-server based A-GPS is not possible, e.g. if the module
doesn't have Internet connectivity. In such cases, the modem may
support injecting additional "assistance data" that may be downloaded
from the Internet using external means (e.g. WiFi), in order to keep
having a quick time to first fix.

We now support using this location assistance data, with the following
new API elements:

 * A new mask of supported assistance data types is provided in the
   SupportedAssistanceData property.

 * A new list of URLs from where the aassistance data may be
   downloaded is also provided in a new AssistanceDataServers
   property.

 * A new InjectAssistanceData() method is provided, to perform the
   data injection in the module once it's been downloaded to the host
   system.
2018-08-21 13:26:08 +00:00
Aleksander Morgado 7e6b4d7aa9 api,location: give Tracking Area Code field in 3GPP location info
The "location area code" field is given in GSM/UMTS networks
exclusively. LTE networks use the concept of "tracking area code"
instead.

This patch updates the Location interface to Provide separate fields
for LAC and TAC, instead of giving TAC values in the LAC field.
2018-08-08 21:46:28 +02:00
Aleksander Morgado 6c35878f12 location: support updating the GPS refresh time
The default setup uses a refresh time of 30s, which means that even if the GPS
location updates are received at a higher frequency, the DBus interface will
still expose at most one update every 30s.

This patch includes a new "SetGpsRefreshTime()" method in the Location
interface, which takes a single 'u' parameter, specifying the refresh rate to
use, in seconds. This method also allows 0 being passed, which will make the
implementation to publish the GPS location updates are soon as ModemManager
detects them.

Along with the new method, a "GpsRefreshTime" read-only property is exposed
to specify the refresh time in effect.

The new method and property will only be applicable if the device has GPS
capabilities.

https://bugs.freedesktop.org/show_bug.cgi?id=89924
2015-12-19 12:22:30 +01:00
Aleksander Morgado fbeee20d5b introspection,api: add SUPL server configuration in the Location interface 2014-09-05 11:28:10 +02:00
Aleksander Morgado 1e69874e59 api,introspection: update interface version number 2013-07-19 09:59:21 +02:00
Aleksander Morgado 2be7adb5ea api,introspection: update copyright notices 2013-06-11 10:12:33 +02:00
Aleksander Morgado 24c40e32bd api: new source for the CDMA Base Station location 2012-11-02 08:23:10 +01:00
Aleksander Morgado ad8a40f8aa api,dbus: update the fields retrievable in the raw GPS location source
Currently just provide the time of measurement, latitude, longitude and
altitude.
2012-03-29 09:18:04 +02:00
Aleksander Morgado ceefa2c356 location: rework to allow multiple location sources
Location sources can now be enabled or disabled by using the mask of sources
given in Setup() (similar previous Enable()).
2012-03-29 09:17:53 +02:00
Aleksander Morgado e68db23a97 introspection: setup all new files and remove old ones 2012-03-16 14:53:17 +01:00