#include <ubuntu/visibility.h>
#include <stdint.h>
#include <stddef.h>
Go to the source code of this file.
|
| typedef uint32_t | UHardwareGpsNiNotifyFlags |
| |
| typedef int | UHardwareGpsUserResponseType |
| |
| typedef int | UHardwareGpsNiEncodingType |
| |
| typedef uint16_t | UHardwareGpsAidingData |
| |
| typedef uint16_t | UHardwareGpsAGpsType |
| |
| typedef struct UHardwareGps_ * | UHardwareGps |
| |
| typedef void(* | UHardwareGpsLocationCallback) (UHardwareGpsLocation *location, void *context) |
| |
| typedef void(* | UHardwareGpsStatusCallback) (uint16_t status, void *context) |
| |
| typedef void(* | UHardwareGpsSvStatusCallback) (UHardwareGpsSvStatus *sv_info, void *context) |
| |
| typedef void(* | UHardwareGpsNmeaCallback) (int64_t timestamp, const char *nmea, int length, void *context) |
| |
| typedef void(* | UHardwareGpsSetCapabilities) (uint32_t capabilities, void *context) |
| |
| typedef void(* | UHardwareGpsRequestUtcTime) (void *context) |
| |
| typedef void(* | UHardwareGpsXtraDownloadRequest) (void *context) |
| |
| typedef void(* | UHardwareGpsAGpsStatusCallback) (UHardwareGpsAGpsStatus *status, void *context) |
| |
| typedef void(* | UHardwareGpsNiNotifyCallback) (UHardwareGpsNiNotification *notification, void *context) |
| |
| typedef void(* | UHardwareGpsAGpsRilRequestSetId) (uint32_t flags, void *context) |
| |
| typedef void(* | UHardwareGpsAGpsRilRequestRefLoc) (uint32_t flags, void *context) |
| |
|
| enum | {
U_HARDWARE_GPS_STATUS_NONE = 0,
U_HARDWARE_GPS_STATUS_SESSION_BEGIN = 1,
U_HARDWARE_GPS_STATUS_SESSION_END = 2,
U_HARDWARE_GPS_STATUS_ENGINE_ON = 3,
U_HARDWARE_GPS_STATUS_ENGINE_OFF = 4
} |
| |
| enum | {
U_HARDWARE_GPS_NI_RESPONSE_ACCEPT = 1,
U_HARDWARE_GPS_NI_RESPONSE_DENY = 2,
U_HARDWARE_GPS_NI_RESPONSE_NORESP = 3
} |
| |
| enum | {
U_HARDWARE_GPS_NI_TYPE_VOICE = 1,
U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL = 2,
U_HARDWARE_GPS_NI_TYPE_UMTS_CTRL_PLANE = 3
} |
| |
| enum | {
U_HARDWARE_GPS_ENC_NONE = 0,
U_HARDWARE_GPS_ENC_SUPL_GSM_DEFAULT = 1,
U_HARDWARE_GPS_ENC_SUPL_UTF8 = 2,
U_HARDWARE_GPS_ENC_SUPL_UCS2 = 3,
U_HARDWARE_GPS_ENC_UNKNOWN = -1
} |
| |
| enum | {
U_HARDWARE_GPS_AGPS_TYPE_SUPL = 1,
U_HARDWARE_GPS_AGPS_TYPE_C2K = 2
} |
| |
| enum | {
U_HARDWARE_GPS_POSITION_MODE_STANDALONE = 0,
U_HARDWARE_GPS_POSITION_MODE_MS_BASED = 1,
U_HARDWARE_GPS_POSITION_MODE_MS_ASSISTED = 2
} |
| |
| enum | {
U_HARDWARE_GPS_POSITION_RECURRENCE_PERIODIC = 0,
U_HARDWARE_GPS_POSITION_RECURRENCE_SINGLE = 1
} |
| |
| enum | {
U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN = 1,
U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN = 2,
U_HARDWARE_GPS_AGPS_DATA_CONNECTED = 3,
U_HARDWARE_GPS_AGPS_DATA_CONN_DONE = 4,
U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED = 5
} |
| |
|
| UBUNTU_DLL_PUBLIC UHardwareGps | u_hardware_gps_new (UHardwareGpsParams *params) |
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_delete (UHardwareGps handle) |
| |
| UBUNTU_DLL_PUBLIC bool | u_hardware_gps_start (UHardwareGps self) |
| |
| UBUNTU_DLL_PUBLIC bool | u_hardware_gps_stop (UHardwareGps self) |
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_inject_time (UHardwareGps self, int64_t time, int64_t time_reference, int uncertainty) |
| | Injects a new reference time into the GPS chipset. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_inject_location (UHardwareGps self, UHardwareGpsLocation location) |
| | Injects a new reference location into the GPS chipset. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_agps_set_reference_location (UHardwareGps self, UHardwareGpsAGpsRefLocation *location, size_t size_of_struct) |
| | Informs the GPS chipset about wifi ap's or radio cells to be used in AGPS calls. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_agps_notify_connection_is_open (UHardwareGps self, const char *apn) |
| | Notifies the chipset that a data connection is availble. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_agps_notify_connection_is_closed (UHardwareGps self) |
| | Notifies the chipset that an AGPS data connection has been closed. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_agps_notify_connection_not_available (UHardwareGps self) |
| | Notifies the chipset that an AGPS data connection is not available. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_agps_set_server_for_type (UHardwareGps self, UHardwareGpsAGpsType type, const char *hostname, uint16_t port) |
| | Sets the hostname and port for the AGPS server. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_delete_aiding_data (UHardwareGps self, UHardwareGpsAidingData flags) |
| | Requests the chipset to delete the aiding data specified in flags. More...
|
| |
| UBUNTU_DLL_PUBLIC bool | u_hardware_gps_set_position_mode (UHardwareGps self, uint32_t mode, uint32_t recurrence, uint32_t min_interval, uint32_t preferred_accuracy, uint32_t preferred_time) |
| | Sets the positioning mode of the chipset. More...
|
| |
| UBUNTU_DLL_PUBLIC void | u_hardware_gps_inject_xtra_data (UHardwareGps self, char *data, int length) |
| |
◆ U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_GSM_CELLID
| #define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_GSM_CELLID 1 |
Known types for AGps reference locations. A GSM cell ID.
Definition at line 208 of file gps.h.
◆ U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_UMTS_CELLID
| #define U_HARDWARE_GPS_AGPS_REF_LOCATION_TYPE_UMTS_CELLID 2 |
A UMTS cell ID.
Definition at line 210 of file gps.h.
◆ U_HARDWARE_GPS_AGPS_REG_LOCATION_TYPE_MAC
| #define U_HARDWARE_GPS_AGPS_REG_LOCATION_TYPE_MAC 3 |
The BSSID of a visible access point.
Definition at line 212 of file gps.h.
◆ U_HARDWARE_GPS_AGPS_TYPE_C2K
| #define U_HARDWARE_GPS_AGPS_TYPE_C2K 2 |
◆ U_HARDWARE_GPS_AGPS_TYPE_SUPL
| #define U_HARDWARE_GPS_AGPS_TYPE_SUPL 1 |
◆ U_HARDWARE_GPS_CAPABILITY_MSA
| #define U_HARDWARE_GPS_CAPABILITY_MSA 0x0000004 |
GPS supports MS-Assisted AGPS mode
Definition at line 68 of file gps.h.
◆ U_HARDWARE_GPS_CAPABILITY_MSB
| #define U_HARDWARE_GPS_CAPABILITY_MSB 0x0000002 |
GPS supports MS-Based AGPS mode
Definition at line 66 of file gps.h.
◆ U_HARDWARE_GPS_CAPABILITY_ON_DEMAND_TIME
| #define U_HARDWARE_GPS_CAPABILITY_ON_DEMAND_TIME 0x0000010 |
GPS supports on demand time injection
Definition at line 72 of file gps.h.
◆ U_HARDWARE_GPS_CAPABILITY_SINGLE_SHOT
| #define U_HARDWARE_GPS_CAPABILITY_SINGLE_SHOT 0x0000008 |
GPS supports single-shot fixes
Definition at line 70 of file gps.h.
◆ U_HARDWARE_GPS_DELETE_ALL
| #define U_HARDWARE_GPS_DELETE_ALL 0xFFFF |
◆ U_HARDWARE_GPS_DELETE_ALMANAC
| #define U_HARDWARE_GPS_DELETE_ALMANAC 0x0002 |
◆ U_HARDWARE_GPS_DELETE_CELLDB_INFO
| #define U_HARDWARE_GPS_DELETE_CELLDB_INFO 0x8000 |
◆ U_HARDWARE_GPS_DELETE_EPHEMERIS
| #define U_HARDWARE_GPS_DELETE_EPHEMERIS 0x0001 |
◆ U_HARDWARE_GPS_DELETE_HEALTH
| #define U_HARDWARE_GPS_DELETE_HEALTH 0x0040 |
◆ U_HARDWARE_GPS_DELETE_IONO
| #define U_HARDWARE_GPS_DELETE_IONO 0x0010 |
◆ U_HARDWARE_GPS_DELETE_POSITION
| #define U_HARDWARE_GPS_DELETE_POSITION 0x0004 |
◆ U_HARDWARE_GPS_DELETE_RTI
| #define U_HARDWARE_GPS_DELETE_RTI 0x0400 |
◆ U_HARDWARE_GPS_DELETE_SADATA
| #define U_HARDWARE_GPS_DELETE_SADATA 0x0200 |
◆ U_HARDWARE_GPS_DELETE_SVDIR
| #define U_HARDWARE_GPS_DELETE_SVDIR 0x0080 |
◆ U_HARDWARE_GPS_DELETE_SVSTEER
| #define U_HARDWARE_GPS_DELETE_SVSTEER 0x0100 |
◆ U_HARDWARE_GPS_DELETE_TIME
| #define U_HARDWARE_GPS_DELETE_TIME 0x0008 |
◆ U_HARDWARE_GPS_DELETE_UTC
| #define U_HARDWARE_GPS_DELETE_UTC 0x0020 |
◆ U_HARDWARE_GPS_LOCATION_HAS_ACCURACY
| #define U_HARDWARE_GPS_LOCATION_HAS_ACCURACY 0x0010 |
◆ U_HARDWARE_GPS_LOCATION_HAS_ALTITUDE
| #define U_HARDWARE_GPS_LOCATION_HAS_ALTITUDE 0x0002 |
◆ U_HARDWARE_GPS_LOCATION_HAS_BEARING
| #define U_HARDWARE_GPS_LOCATION_HAS_BEARING 0x0008 |
◆ U_HARDWARE_GPS_LOCATION_HAS_LAT_LONG
| #define U_HARDWARE_GPS_LOCATION_HAS_LAT_LONG 0x0001 |
◆ U_HARDWARE_GPS_LOCATION_HAS_SPEED
| #define U_HARDWARE_GPS_LOCATION_HAS_SPEED 0x0004 |
◆ U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN
| #define U_HARDWARE_GPS_NI_LONG_STRING_MAXLEN 2048 |
◆ U_HARDWARE_GPS_NI_NEED_NOTIFY
| #define U_HARDWARE_GPS_NI_NEED_NOTIFY 0x0001 |
NI requires notification
Definition at line 80 of file gps.h.
◆ U_HARDWARE_GPS_NI_NEED_VERIFY
| #define U_HARDWARE_GPS_NI_NEED_VERIFY 0x0002 |
NI requires verification
Definition at line 82 of file gps.h.
◆ U_HARDWARE_GPS_NI_PRIVACY_OVERRIDE
| #define U_HARDWARE_GPS_NI_PRIVACY_OVERRIDE 0x0004 |
NI requires privacy override, no notification/minimal trace
Definition at line 84 of file gps.h.
◆ UHardwareGps
◆ UHardwareGpsAGpsRilRequestRefLoc
| typedef void(* UHardwareGpsAGpsRilRequestRefLoc) (uint32_t flags, void *context) |
Callback invoked by the driver to request a reference location (typically cell ID).
Definition at line 438 of file gps.h.
◆ UHardwareGpsAGpsRilRequestSetId
| typedef void(* UHardwareGpsAGpsRilRequestSetId) (uint32_t flags, void *context) |
Callback invoked by the driver to set the set id.
Definition at line 436 of file gps.h.
◆ UHardwareGpsAGpsStatusCallback
Callback with AGPS status information.
Definition at line 430 of file gps.h.
◆ UHardwareGpsAGpsType
AGPS type
Definition at line 202 of file gps.h.
◆ UHardwareGpsAidingData
Flags used to specify which aiding data to delete when calling delete_aiding_data().
Definition at line 185 of file gps.h.
◆ UHardwareGpsLocationCallback
◆ UHardwareGpsNiNotifyCallback
Callback with NI notification.
Definition at line 433 of file gps.h.
◆ UHardwareGpsNmeaCallback
| typedef void(* UHardwareGpsNmeaCallback) (int64_t timestamp, const char *nmea, int length, void *context) |
◆ UHardwareGpsRequestUtcTime
| typedef void(* UHardwareGpsRequestUtcTime) (void *context) |
◆ UHardwareGpsSetCapabilities
| typedef void(* UHardwareGpsSetCapabilities) (uint32_t capabilities, void *context) |
◆ UHardwareGpsStatusCallback
| typedef void(* UHardwareGpsStatusCallback) (uint16_t status, void *context) |
◆ UHardwareGpsSvStatusCallback
◆ UHardwareGpsXtraDownloadRequest
| typedef void(* UHardwareGpsXtraDownloadRequest) (void *context) |
Callback to request the client to download XTRA data. The client should download XTRA data and inject it by calling inject_xtra_data().
Definition at line 427 of file gps.h.
◆ anonymous enum
| Enumerator |
|---|
| U_HARDWARE_GPS_NI_RESPONSE_ACCEPT | |
| U_HARDWARE_GPS_NI_RESPONSE_DENY | |
| U_HARDWARE_GPS_NI_RESPONSE_NORESP | |
Definition at line 93 of file gps.h.
◆ anonymous enum
| Enumerator |
|---|
| U_HARDWARE_GPS_NI_TYPE_VOICE | |
| U_HARDWARE_GPS_NI_TYPE_UMTS_SUPL | |
| U_HARDWARE_GPS_NI_TYPE_UMTS_CTRL_PLANE | |
Definition at line 100 of file gps.h.
◆ anonymous enum
| Enumerator |
|---|
| U_HARDWARE_GPS_REQUEST_AGPS_DATA_CONN | GPS requests data connection for AGPS.
|
| U_HARDWARE_GPS_RELEASE_AGPS_DATA_CONN | GPS releases the AGPS data connection.
|
| U_HARDWARE_GPS_AGPS_DATA_CONNECTED | AGPS data connection initiated
|
| U_HARDWARE_GPS_AGPS_DATA_CONN_DONE | AGPS data connection completed
|
| U_HARDWARE_GPS_AGPS_DATA_CONN_FAILED | AGPS data connection failed
|
Definition at line 169 of file gps.h.
◆ u_hardware_gps_agps_notify_connection_is_closed()
Notifies the chipset that an AGPS data connection has been closed.
- Parameters
-
| self | The instance to be notified. |
◆ u_hardware_gps_agps_notify_connection_is_open()
Notifies the chipset that a data connection is availble.
- Parameters
-
| self | The instance to be notified. |
| apn | Name of the apn to be used for SUPL. |
◆ u_hardware_gps_agps_notify_connection_not_available()
Notifies the chipset that an AGPS data connection is not available.
- Parameters
-
| self | The instance to be notified. |
◆ u_hardware_gps_agps_set_reference_location()
Informs the GPS chipset about wifi ap's or radio cells to be used in AGPS calls.
- Parameters
-
| self | The instance to inform. |
| location | The reference location, that is a wifi ap or a radio cell. |
| size_of_struct | The size of the reference location struct. |
◆ u_hardware_gps_agps_set_server_for_type()
Sets the hostname and port for the AGPS server.
- Parameters
-
| self | The instance to be altered. |
| type | Type of the server, one of U_HARDWARE_GPS_AGPS_TYPE_SUPL or U_HARDWARE_GPS_AGPS_TYPE_C2K. |
| hostname | The hostname of the AGPS server. |
| port | The post of the AGPS server. |
◆ u_hardware_gps_delete()
◆ u_hardware_gps_delete_aiding_data()
Requests the chipset to delete the aiding data specified in flags.
- Parameters
-
| self | The instance to apply the change to. |
| flags | Specifies the aiding data that should be deleted. |
◆ u_hardware_gps_inject_location()
Injects a new reference location into the GPS chipset.
- Parameters
-
| self | The instance to apply the change to. |
| location | New location to me injected. The structure must have the following details, any others are ignored:
- location: New coordinate, in [°].
- longitude: New coordinate, [°].
- accuracy: Accuracy estimate of the location, in [m].
|
◆ u_hardware_gps_inject_time()
Injects a new reference time into the GPS chipset.
- Parameters
-
| time | NTP time, in milliseconds since Jan 1st 1970. |
| time_reference | time from the internal clock at the moment that NTP time was taken. |
| uncertainty | possible deviation in the time supplied (uncertainty) in milliseconds. |
◆ u_hardware_gps_inject_xtra_data()
◆ u_hardware_gps_new()
◆ u_hardware_gps_set_position_mode()
| UBUNTU_DLL_PUBLIC bool u_hardware_gps_set_position_mode |
( |
UHardwareGps |
self, |
|
|
uint32_t |
mode, |
|
|
uint32_t |
recurrence, |
|
|
uint32_t |
min_interval, |
|
|
uint32_t |
preferred_accuracy, |
|
|
uint32_t |
preferred_time |
|
) |
| |
Sets the positioning mode of the chipset.
- Parameters
-
| mode | One of the U_HARDWARE_GPS_POSITION_MODE_* values |
| recurrence | One of the U_HARDWARE_GPS_POSITION_RECURRENCE_* values |
| min_interval | represents the time between fixes in milliseconds. |
| preferred_accuracy | The requested fix accuracy in meters. Can be zero. |
| preferred_time | The requested time to first fix in milliseconds. Can be zero. |
◆ u_hardware_gps_start()
◆ u_hardware_gps_stop()