GNSS_DEVICE_CAPABILITY Struktur (gnssdriver.h)
Die GNSS_DEVICE_CAPABILITY Struktur wird verwendet, um die Gerätefunktionen des zugrunde liegenden GNSS-Moduls zu bestimmen.
Syntax
typedef struct {
ULONG Size;
ULONG Version;
BOOL SupportMultipleFixSessions;
BOOL SupportMultipleAppSessions;
BOOL RequireAGnssInjection;
ULONG AgnssFormatSupported;
ULONG AgnssFormatPreferred;
BOOL SupportDistanceTracking;
BOOL SupportContinuousTracking;
ULONG Reserved1;
BOOL Reserved2;
BOOL Reserved3;
BOOL Reserved4;
BOOL Reserved5;
ULONG GeofencingSupport;
BOOL Reserved6;
BOOL Reserved7;
BOOL SupportCpLocation;
BOOL SupportUplV2;
BOOL SupportSuplV1;
BOOL SupportSuplV2;
GNSS_SUPL_VERSION SupportedSuplVersion;
ULONG MaxGeofencesSupported;
BOOL SupportMultipleSuplRootCert;
ULONG GnssBreadCrumbPayloadVersion;
ULONG MaxGnssBreadCrumbFixes;
BYTE Unused[496];
} GNSS_DEVICE_CAPABILITY, *PGNSS_DEVICE_CAPABILITY;
Angehörige
Size
Strukturgröße.
Version
Versionsnummer.
SupportMultipleFixSessions
Gibt an, ob der GNSS-Treiber nativ mehrere Sitzungen für denselben Typ unterstützt (z. B. mehrere gleichzeitige Entfernungsverfolgungssitzungen, die vom HLOS initiiert werden). Wenn FALSE, wird der GNSS-Adapter die Fixsitzungsanforderungen von mehreren LBS-Apps multiplex, um in einer Fixsitzungsanforderung zu kombinieren, die alle Clientanforderungen erfüllt.
Wenn diese Funktion nicht vorhanden ist, muss der Treiber mindestens eine aktive Sitzung jedes unterstützten Fixsitzungstyps unterstützen. Wenn der Treiber z. B. entfernungsbasierte Nachverfolgungs- und Single-Shot-Funktionalität unterstützt, muss er eine distanzbasierte Fixsitzung und eine Einzelschuss-Fixsitzung gleichzeitig unterstützen.
Der Treiber muss immer die Änderung des Sitzungsparameters für einen aktiven Fixsitzungstyp unterstützen, damit der GNSS-Adapter keine fortlaufende Fixsitzung beenden/starten muss, wenn eine neue Fixanforderung multiplexed werden muss. In Windows 10 unterstützt der GNSS-Adapter nicht das Initiieren mehrerer Sitzungen desselben Typs im GNSS-Treiber.
SupportMultipleAppSessions
Gibt an, ob der GNSS-Treiber Anforderungen von mehreren HLOS-Anwendungen nativ unterstützt und nachverfolgt. Der GNSS-Treiber darf nicht einschränken, dass er gleichzeitig von mehr als einer Anwendung aufgerufen wird.
Ein Wert von TRUE gibt an, dass der Treiber die verschiedenen HLOS-Anwendungssitzungen nachverfolgt, die Anforderungen logisch partitioniert, sicherstellt, dass die Anforderung aus einer Anwendungssitzung keine andere Anwendungssitzung beeinflusst usw. So kann er beispielsweise separat den GNSS-Adapter und eine Testanwendung verarbeiten und auf Befehle von jedem separat reagieren.
Ein Wert von FALSE gibt an, dass der Treiber keine verschiedenen HLOS-Anwendungssitzungen unterscheidet und alles auf globale Weise behandelt, als ob sie alle aus einer einzigen HLOS-Anwendungssitzung kommen.
RequireAGnssInjection
Gibt an, ob der GNSS-Treiber Unterstützungsdaten für schnellere TTFF injiziert werden muss.
AgnssFormatSupported
Gibt eine Bitmaske an, die die verschiedenen AGNSS-Formate (GNSS_AGNSSFORMAT_*) enthält, die der Treiber verarbeiten kann.
#define GNSS_AGNSSFORMAT_XTRA1 0x01
#define GNSS_AGNSSFORMAT_XTRA2 0x02
#define GNSS_AGNSSFORMAT_LTO 0x04
#define GNSS_AGNSSFORMAT_XTRA3 0x08
#define GNSS_AGNSSFORMAT_XTRA3_1 0x10
#define GNSS_AGNSSFORMAT_XTRA3_2 0x20
#define GNSS_AGNSSFORMAT_XTRA_INT 0x40
Die Werte 0x0080-0xFFFF sind für die Erweiterbarkeit reserviert.
Diese Liste enthält derzeit einige proprietäre IHV-Formate. Die Liste kann aktualisiert werden, wenn IHVs oder OEMs entscheiden, die GNSS-Unterstützungsinformationen, insbesondere erweiterte Ephemeris, über die Standortplattform zu erhalten.
AgnssFormatPreferred
Gibt das bevorzugte AGNSS-Format mit der gleichen Bitmaske wie AgnssFormatSupported an. Wenn z. B. sowohl XTRA1 als auch XTRA2 unterstützt werden, XTRA2 jedoch das bevorzugte Format ist, legt der GNSS-Treiber AgnssFormatSupported auf 0x000C und AgnssFormatPreferred auf 0x0004 fest.
SupportDistanceTracking
Gibt an, ob der GNSS-Treiber/motor systemeigene Nachverfolgung des Geräts basierend auf einem sitzungsspezifischen Schwellenwert unterstützt. Ein WAHR-Wert bedeutet, dass der Treiber dies nativ in einem Energiesparmodus unterstützen kann, z. B. durch Das Entladen der Nachverfolgung auf einen Prozessor mit niedriger Leistung und nicht, dass der App-Prozessor für die Bewegung aufstehen und nicht abfragt.
Wenn der GNSS-Treiber Die Entfernungsverfolgung unterstützt, unterstützt er implizit andere Arten paralleler Fixsitzungen gleichzeitig. Wenn beispielsweise eine Distanzverfolgungssitzung aktiv ist, muss auch ein paralleler Einzelschuss zulässig sein, und beide Arten von Fixsitzungen müssen berücksichtigt werden.
SupportContinuousTracking
Gibt an, ob der GNSS-Treiber/-Motor systemintern eine kontinuierliche Nachverfolgung mit geringem Stromverbrauch des Geräts unterstützt. Ein WAHR-Wert bedeutet, dass der Treiber dies nativ in einem Energiesparmodus unterstützen kann, z. B. durch Das Entladen der Nachverfolgung auf einen Prozessor mit niedriger Leistung und nicht, dass der App-Prozessor kontinuierlich ausgeführt und abgefragt werden muss.
Wenn der GNSS-Treiber die kontinuierliche Nachverfolgung unterstützt, unterstützt er implizit andere Arten paralleler Fixsitzungen gleichzeitig. So kann z. B. die Einzelaufnahme und die fortlaufende Nachverfolgung parallel erfolgen.
Reserved1
Reserviert für die zukünftige Verwendung.
Reserved2
Reserviert für die zukünftige Verwendung.
Reserved3
Reserviert für die zukünftige Verwendung.
Reserved4
Reserviert für die zukünftige Verwendung.
Reserved5
Reserviert für die zukünftige Verwendung.
GeofencingSupport
Version 1 GNSS-Treiber müssen angeben, dass diese Funktion nicht unterstützt wird.
Version 2 GNSS-Treiber und höher können die Geofence-Unterstützung angeben, indem Sie die folgenden Bitmasken festlegen:
#define GNSS_GEOFENCESUPPORT_SUPPORTED 0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE 0x02
GNSS_GEOFENCESUPPORT_SUPPORTED weist darauf hin, dass das GNSS-Modul geofence Tracking unterstützt. Die Unterstützung der Geofence-Tracking-Funktionalität bedeutet, dass sie nativ, leistungsoptimiert durchgeführt wird und die entsprechenden Hybridpositionierungstechnologien verwendet, die im GNSS-Modul verfügbar sind, sofern zutreffend.
GNSS_GEOFENCESUPPORT_CIRCLE weist darauf hin, dass das GNSS-Modul kreisförmige Geofences unterstützt.
Reserved6
Reserviert für die zukünftige Verwendung.
Reserved7
Reserviert für die zukünftige Verwendung.
SupportCpLocation
Gibt an, ob der CP-Speicherort unterstützt wird.
SupportUplV2
Gibt an, ob der Standort der V2-Benutzerebene für CDMA unterstützt wird.
SupportSuplV1
Gibt an, ob SUPL V1 unterstützt wird.
SupportSuplV2
Gibt an, ob SUPL V2 unterstützt wird.
SupportedSuplVersion
Gibt die neueste SUPL-Version an, die vom SUPL-Client unterstützt wird. Diese Versionsinformationen werden derzeit nicht von der HLOS zu Überprüfungszwecken verwendet.
MaxGeofencesSupported
Gibt die Anzahl der Geofences an, die das GNSS-Modul basierend auf von der Plattform festgelegten Einschränkungen nachverfolgen kann. Dieser Wert ist nur gültig, wenn das Feld GeofencingSupport festgelegt wird.
SupportMultipleSuplRootCert
Gibt den SUPL-Parameter an.
GnssBreadCrumbPayloadVersion
Muss BREADCRUMBING_UNSUPPORTED oder BREADCRUMBING_VERSION_xsein.
MaxGnssBreadCrumbFixes
Muss größer oder gleich MIN_BREADCRUMBS_SUPPORTED sein.
Unused[496]
Abstandspuffer, der für die zukünftige Verwendung reserviert ist.
Bemerkungen
Dies ist eine Liste der individuellen Funktionsunterstützung. Die Funktion wird entweder durch einen Booleschen Wert oder durch eine klar definierte Enumeration des spezifischen Attributs dargestellt.
Anforderungen
Anforderung | Wert |
---|---|
Header- | gnssdriver.h (include Gnssdriver.h) |