|
@@ -28,8 +28,7 @@
|
|
|
|
|
|
/*
|
|
|
Changes from Qualcomm Innovation Center are provided under the following license:
|
|
|
-
|
|
|
-Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
+Copyright (c) 2022, 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
|
modification, are permitted (subject to the limitations in the
|
|
@@ -282,81 +281,91 @@ typedef enum {
|
|
|
|
|
|
// Set of masks for Modem and QWES capabilities.
|
|
|
typedef uint64_t LocationCapabilitiesMask;
|
|
|
-typedef enum {
|
|
|
- // supports startTracking API with minInterval param
|
|
|
- LOCATION_CAPABILITIES_TIME_BASED_TRACKING_BIT = (1<<0),
|
|
|
- // supports startBatching API with minInterval param
|
|
|
- LOCATION_CAPABILITIES_TIME_BASED_BATCHING_BIT = (1<<1),
|
|
|
- // supports startTracking API with minDistance param
|
|
|
- LOCATION_CAPABILITIES_DISTANCE_BASED_TRACKING_BIT = (1<<2),
|
|
|
- // supports startBatching API with minDistance param
|
|
|
- LOCATION_CAPABILITIES_DISTANCE_BASED_BATCHING_BIT = (1<<3),
|
|
|
- // supports addGeofences API
|
|
|
- LOCATION_CAPABILITIES_GEOFENCE_BIT = (1<<4),
|
|
|
- // supports GnssMeasurementsCallback
|
|
|
- LOCATION_CAPABILITIES_GNSS_MEASUREMENTS_BIT = (1<<5),
|
|
|
- // supports startTracking/startBatching API with LocationOptions.mode of MSB (Ms Based)
|
|
|
- LOCATION_CAPABILITIES_GNSS_MSB_BIT = (1<<6),
|
|
|
- // supports startTracking/startBatching API with LocationOptions.mode of MSA (MS Assisted)
|
|
|
- LOCATION_CAPABILITIES_GNSS_MSA_BIT = (1<<7),
|
|
|
- // supports debug nmea sentences in the debugNmeaCallback
|
|
|
- LOCATION_CAPABILITIES_DEBUG_NMEA_BIT = (1<<8),
|
|
|
- // support outdoor trip batching
|
|
|
- LOCATION_CAPABILITIES_OUTDOOR_TRIP_BATCHING_BIT = (1<<9),
|
|
|
- // support constellation enablement
|
|
|
- LOCATION_CAPABILITIES_CONSTELLATION_ENABLEMENT_BIT = (1<<10),
|
|
|
- // support agpm
|
|
|
- LOCATION_CAPABILITIES_AGPM_BIT = (1<<11),
|
|
|
- // support location privacy
|
|
|
- LOCATION_CAPABILITIES_PRIVACY_BIT = (1<<12),
|
|
|
- // support measurement corrections
|
|
|
- LOCATION_CAPABILITIES_MEASUREMENTS_CORRECTION_BIT = (1<<13),
|
|
|
- // support Robust Location
|
|
|
- LOCATION_CAPABILITIES_CONFORMITY_INDEX_BIT = (1<<14),
|
|
|
- // support precise location edgnss
|
|
|
- LOCATION_CAPABILITIES_EDGNSS_BIT = (1<<15),
|
|
|
- // Modem supports Carrier Phase for Precise Positioning
|
|
|
- // Measurement Engine (PPME).
|
|
|
- LOCATION_CAPABILITIES_QWES_CARRIER_PHASE_BIT = (1<<16),
|
|
|
- // Modem supports SV Polynomial for tightly coupled external
|
|
|
- // DR support. This is a Standalone Feature.
|
|
|
- LOCATION_CAPABILITIES_QWES_SV_POLYNOMIAL_BIT = (1<<17),
|
|
|
- // Modem supports SV Ephemeris for tightly coupled external
|
|
|
- // PPE engines. This is a Standalone Feature.
|
|
|
- LOCATION_CAPABILITIES_QWES_SV_EPHEMERIS_BIT = (1<<18),
|
|
|
- // Modem supports GNSS Single Frequency feature. This is a
|
|
|
- // Standalone Feature.
|
|
|
- LOCATION_CAPABILITIES_QWES_GNSS_SINGLE_FREQUENCY = (1<<19),
|
|
|
- // Modem supports GNSS Multi Frequency feature. Multi Frequency
|
|
|
- // enables Single frequency also.
|
|
|
- LOCATION_CAPABILITIES_QWES_GNSS_MULTI_FREQUENCY = (1<<20),
|
|
|
- // This mask indicates VPe license bundle is enabled. VEPP
|
|
|
- // bundle include Carrier Phase and SV Polynomial features.
|
|
|
- LOCATION_CAPABILITIES_QWES_VPE = (1<<21),
|
|
|
- // This mask indicates support for CV2X Location basic features.
|
|
|
- // This bundle includes features for GTS Time & Freq, C-TUNC
|
|
|
- // (Constrained Time uncertainity.
|
|
|
- LOCATION_CAPABILITIES_QWES_CV2X_LOCATION_BASIC = (1<<22),
|
|
|
- // This mask indicates support for CV2X Location premium features.
|
|
|
- // This bundle includes features for CV2X Location Basic features,
|
|
|
- // QDR3 feature, and PACE. (Position Assisted Clock Estimator.
|
|
|
- LOCATION_CAPABILITIES_QWES_CV2X_LOCATION_PREMIUM = (1<<23),
|
|
|
- // This mask indicates that PPE (Precise Positioning Engine)
|
|
|
- // library is enabled or Precise Positioning Framework (PPF)
|
|
|
- // is available. This bundle includes features for Carrier
|
|
|
- // Phase and SV Ephermeris.
|
|
|
- LOCATION_CAPABILITIES_QWES_PPE = (1<<24),
|
|
|
- // This mask indicates QDR2_C license bundle is enabled. This
|
|
|
- // bundle includes features for SV Polynomial.
|
|
|
- LOCATION_CAPABILITIES_QWES_QDR2 = (1<<25),
|
|
|
- // This mask indicates QDR3_C license bundle is enabled. This
|
|
|
- // bundle includes features for SV Polynomial.
|
|
|
- LOCATION_CAPABILITIES_QWES_QDR3 = (1<<26),
|
|
|
- // This mask indicates DGNSS license bundle is enabled.
|
|
|
- LOCATION_CAPABILITIES_QWES_DGNSS = (1<<27),
|
|
|
- // This mask indicates engine debug data enabled.
|
|
|
- LOCATION_CAPABILITIES_ENGINE_DEBUG_DATA_BIT = (1<<28)
|
|
|
-} LocationCapabilitiesBits;
|
|
|
+// supports startTracking API with minInterval param
|
|
|
+#define LOCATION_CAPABILITIES_TIME_BASED_TRACKING_BIT (1<<0)
|
|
|
+// supports startBatching API with minInterval param
|
|
|
+#define LOCATION_CAPABILITIES_TIME_BASED_BATCHING_BIT (1<<1)
|
|
|
+// supports startTracking API with minDistance param
|
|
|
+#define LOCATION_CAPABILITIES_DISTANCE_BASED_TRACKING_BIT (1<<2)
|
|
|
+// supports startBatching API with minDistance param
|
|
|
+#define LOCATION_CAPABILITIES_DISTANCE_BASED_BATCHING_BIT (1<<3)
|
|
|
+// supports addGeofences API
|
|
|
+#define LOCATION_CAPABILITIES_GEOFENCE_BIT (1<<4)
|
|
|
+// supports GnssMeasurementsCallback
|
|
|
+#define LOCATION_CAPABILITIES_GNSS_MEASUREMENTS_BIT (1<<5)
|
|
|
+// supports startTracking/startBatching API with LocationOptions.mode of MSB (Ms Based)
|
|
|
+#define LOCATION_CAPABILITIES_GNSS_MSB_BIT (1<<6)
|
|
|
+// supports startTracking/startBatching API with LocationOptions.mode of MSA (MS Assisted)
|
|
|
+#define LOCATION_CAPABILITIES_GNSS_MSA_BIT (1<<7)
|
|
|
+// supports debug nmea sentences in the debugNmeaCallback
|
|
|
+#define LOCATION_CAPABILITIES_DEBUG_NMEA_BIT (1<<8)
|
|
|
+// support outdoor trip batching
|
|
|
+#define LOCATION_CAPABILITIES_OUTDOOR_TRIP_BATCHING_BIT (1<<9)
|
|
|
+// support constellation enablement
|
|
|
+#define LOCATION_CAPABILITIES_CONSTELLATION_ENABLEMENT_BIT (1<<10)
|
|
|
+// support agpm
|
|
|
+#define LOCATION_CAPABILITIES_AGPM_BIT (1<<11)
|
|
|
+// support location privacy
|
|
|
+#define LOCATION_CAPABILITIES_PRIVACY_BIT (1<<12)
|
|
|
+// support measurement corrections
|
|
|
+#define LOCATION_CAPABILITIES_MEASUREMENTS_CORRECTION_BIT (1<<13)
|
|
|
+// support Robust Location
|
|
|
+#define LOCATION_CAPABILITIES_CONFORMITY_INDEX_BIT (1<<14)
|
|
|
+// support precise location edgnss
|
|
|
+#define LOCATION_CAPABILITIES_EDGNSS_BIT (1<<15)
|
|
|
+// Modem supports Carrier Phase for Precise Positioning
|
|
|
+// Measurement Engine (PPME).
|
|
|
+#define LOCATION_CAPABILITIES_QWES_CARRIER_PHASE_BIT (1<<16)
|
|
|
+// Modem supports SV Polynomial for tightly coupled external
|
|
|
+// DR support. This is a Standalone Feature.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_SV_POLYNOMIAL_BIT (1<<17)
|
|
|
+// Modem supports SV Ephemeris for tightly coupled external
|
|
|
+// PPE engines. This is a Standalone Feature.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_SV_EPHEMERIS_BIT (1<<18)
|
|
|
+// Modem supports GNSS Single Frequency feature. This is a
|
|
|
+// Standalone Feature.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_GNSS_SINGLE_FREQUENCY (1<<19)
|
|
|
+// Modem supports GNSS Multi Frequency feature. Multi Frequency
|
|
|
+// enables Single frequency also.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_GNSS_MULTI_FREQUENCY (1<<20)
|
|
|
+// This mask indicates VPe license bundle is enabled. VEPP
|
|
|
+// bundle include Carrier Phase and SV Polynomial features.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_VPE (1<<21)
|
|
|
+// This mask indicates support for CV2X Location basic features.
|
|
|
+// This bundle includes features for GTS Time & Freq, C-TUNC
|
|
|
+// (Constrained Time uncertainity.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_CV2X_LOCATION_BASIC (1<<22)
|
|
|
+// This mask indicates support for CV2X Location premium features.
|
|
|
+// This bundle includes features for CV2X Location Basic features,
|
|
|
+// QDR3 feature, and PACE. (Position Assisted Clock Estimator.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_CV2X_LOCATION_PREMIUM (1<<23)
|
|
|
+// This mask indicates that PPE (Precise Positioning Engine)
|
|
|
+// library is enabled or Precise Positioning Framework (PPF)
|
|
|
+// is available. This bundle includes features for Carrier
|
|
|
+// Phase and SV Ephermeris.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_PPE (1<<24)
|
|
|
+// This mask indicates QDR2_C license bundle is enabled. This
|
|
|
+// bundle includes features for SV Polynomial.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_QDR2 (1<<25)
|
|
|
+// This mask indicates QDR3_C license bundle is enabled. This
|
|
|
+// bundle includes features for SV Polynomial.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_QDR3 (1<<26)
|
|
|
+// This mask indicates DGNSS license bundle is enabled.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_DGNSS (1<<27)
|
|
|
+// This mask indicates Antenna info is enabled.
|
|
|
+#define LOCATION_CAPABILITIES_ANTENNA_INFO (1<<28)
|
|
|
+// This mask indicates qppe or qfe library is presented.
|
|
|
+#define LOCATION_CAPABILITIES_PRECISE_LIB_PRESENT (1<<29)
|
|
|
+// This mask indicates wifi RSSI positioning is
|
|
|
+// enabled by QWES license.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_WIFI_RSSI_POSITIONING (1ULL<<30)
|
|
|
+// This mask indicates wifi RTT positioning is
|
|
|
+// enabled by QWES license.
|
|
|
+#define LOCATION_CAPABILITIES_QWES_WIFI_RTT_POSITIONING (1ULL<<31)
|
|
|
+// This mask indicates wifi RSSI positioning is supported.
|
|
|
+#define LOCATION_CAPABILITIES_WIFI_RSSI_POSITIONING (1ULL<<32)
|
|
|
+// This mask indicates wifi RTT positioning is supported.
|
|
|
+#define LOCATION_CAPABILITIES_WIFI_RTT_POSITIONING (1ULL<<33)
|
|
|
|
|
|
typedef uint8_t LocationQwesFeatureType;
|
|
|
typedef enum {
|
|
@@ -397,10 +406,27 @@ typedef enum {
|
|
|
LOCATION_QWES_FEATURE_TYPE_VPE,
|
|
|
// This indicates DGNSS license is enabled.
|
|
|
LOCATION_QWES_FEATURE_TYPE_DGNSS,
|
|
|
+ // This indicates DLP feature is enabled by QESDK APP
|
|
|
+ // license
|
|
|
+ LOCATION_QWES_FEATURE_TYPE_DLP_QESDK,
|
|
|
+ // This indicates wifi RSSI positioning is
|
|
|
+ // enabled by QWES license.
|
|
|
+ LOCATION_QWES_FEATURE_TYPE_RSSI_POSITIONING,
|
|
|
+ // This indicates wifi RTT positioning is
|
|
|
+ // enabled by QWES license.
|
|
|
+ LOCATION_QWES_FEATURE_TYPE_RTT_POSITIONING,
|
|
|
// Max value
|
|
|
LOCATION_QWES_FEATURE_TYPE_MAX
|
|
|
} LocationQwesFeatureTypes;
|
|
|
|
|
|
+typedef uint64_t LocationHwCapabilitiesMask;
|
|
|
+typedef enum {
|
|
|
+ // This indicates wifi HW has RSSI capability.
|
|
|
+ LOCATION_WIFI_CAPABILITY_RSSI = (1<<0),
|
|
|
+ // This indicates wifi HW has RTT capability.
|
|
|
+ LOCATION_WIFI_CAPABILITY_RTT = (1<<1)
|
|
|
+} LocationHwCapabilitiesBits;
|
|
|
+
|
|
|
typedef enum {
|
|
|
LOCATION_TECHNOLOGY_TYPE_GNSS = 0,
|
|
|
} LocationTechnologyType;
|