GNSS_DEVICE_CAPABILITY Struktur (GNSSDRIVER.h)

Die GNSS_DEVICE_CAPABILITY-Struktur wird verwendet, um die Gerätefunktionen der zugrunde liegenden GNSS-Engine 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;

Member

Size

Strukturgröße.

Version

Versionsnummer:

SupportMultipleFixSessions

Gibt an, ob der GNSS-Treiber mehrere Sitzungen für denselben Typ nativ unterstützt (z. B. mehrere gleichzeitige Entfernungsverfolgungssitzungen, die vom HLOS initiiert werden). Bei FALSE multiplext der GNSS-Adapter die Fixsitzungsanforderungen von mehreren LBS-Apps, um sie 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 beispielsweise entfernungsbasierte Nachverfolgung und Single-Shot-Funktionalität unterstützt, muss er eine entfernungsbasierte Fixsitzung und eine Single-Shot-Fixsitzung gleichzeitig unterstützen.

Der Treiber muss immer die Änderung des Sitzungsparameters für einen aktiven Fixsitzungstyp unterstützen, damit der GNSS-Adapter eine laufende Fixsitzung nicht beenden/starten muss, wenn eine neue Fixanforderung multiplext 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 das Aufrufen von mehr als einer Anwendung gleichzeitig nicht einschränken.

Der Wert TRUE gibt an, dass der Treiber die verschiedenen HLOS-Anwendungssitzungen nachverfolgt, die Anforderungen logisch partitioniert, sicherstellt, dass die Anforderung von einer Anwendungssitzung keine andere Anwendungssitzung beeinflusst usw. Beispielsweise kann sie den GNSS-Adapter und eine Testanwendung separat verarbeiten und auf Befehle aus den einzelnen Anwendungen reagieren.

Der Wert FALSE gibt an, dass der Treiber unterschiedliche HLOS-Anwendungssitzungen nicht unterscheidet und alles logisch global behandelt, als ob sie alle aus einer einzelnen HLOS-Anwendungssitzung stammen.

RequireAGnssInjection

Gibt an, ob für den GNSS-Treiber Unterstützungsdaten für eine schnellere TTFF eingefügt werden müssen.

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 beschließen, die GNSS-Unterstützungsinformationen, insbesondere erweiterte Ephemeris, über die Standortplattform zu erhalten.

AgnssFormatPreferred

Gibt das bevorzugte AGNSS-Format unter Verwendung derselben Bitmaske wie AGNSSFormatSupported an. Wenn beispielsweise XTRA1 und XTRA2 unterstützt werden, XTRA2 das bevorzugte Format ist, legt der GNSS-Treiber AgnssFormatSupported auf 0x000C und AgnssFormatPreferred auf 0x0004 fest.

SupportDistanceTracking

Gibt an, ob der GNSS-Treiber/die GNSS-Engine nativ die Nachverfolgung des Geräts mit geringer Leistung unterstützt, basierend auf einem sitzungsspezifischen Schwellenwert. Ein TRUE-Wert impliziert, dass der Treiber dies nativ in einem Energiesparmodus unterstützen kann, z. B. durch Auslagerung der Nachverfolgung an einen Prozessor mit geringer Leistung und nicht erforderlich, dass der App-Prozessor aktiviert ist und nach Bewegung abfragt.

Wenn der GNSS-Treiber die Entfernungsverfolgung unterstützt, unterstützt er implizit gleichzeitig andere Arten von parallelen Fixsitzungen. Wenn beispielsweise eine Entfernungsverfolgungssitzung aktiv ist, muss auch eine parallele Einzelaufnahme zulässig sein, und beide Arten von Fixsitzungen müssen berücksichtigt werden.

SupportContinuousTracking

Gibt an, ob der GNSS-Treiber/die GNSS-Engine nativ die kontinuierliche Nachverfolgung des Geräts mit geringem Stromverbrauch unterstützt. Ein TRUE-Wert impliziert, dass der Treiber dies nativ in einem Energiesparmodus unterstützen kann, z. B. durch Auslagerung der Nachverfolgung an einen Prozessor mit geringer Leistung und nicht erforderlich, dass der App-Prozessor kontinuierlich aktiviert ist und abruft.

Wenn der GNSS-Treiber die fortlaufende Nachverfolgung unterstützt, unterstützt er implizit gleichzeitig andere Arten von parallelen Fixsitzungen. Beispielsweise können single-shot und continuous tracking parallel erfolgen.

Reserved1

Für zukünftige Verwendung reserviert.

Reserved2

Für zukünftige Verwendung reserviert.

Reserved3

Für zukünftige Verwendung reserviert.

Reserved4

Für zukünftige Verwendung reserviert.

Reserved5

Für zukünftige Verwendung reserviert.

GeofencingSupport

GNSS-Treiber der Version 1 müssen angeben, dass diese Funktion nicht unterstützt wird.

GNSS-Treiber der Version 2 und höher können die Geofenceunterstützung anzeigen, indem sie die folgenden Bitmasken festlegen:

#define GNSS_GEOFENCESUPPORT_SUPPORTED     0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE        0x02

GNSS_GEOFENCESUPPORT_SUPPORTED gibt an, dass die GNSS-Engine die Geofencenachverfolgung unterstützt. Die Unterstützung der Geofence-Tracking-Funktionalität setzt voraus, dass dies nativ und leistungsoptimiert erfolgt und die entsprechenden Hybridpositionierungstechnologien verwendet, die in der GNSS-Engine verfügbar sind.

GNSS_GEOFENCESUPPORT_CIRCLE gibt an, dass die GNSS-Engine kreisförmige Geofences unterstützt.

Reserved6

Für zukünftige Verwendung reserviert.

Reserved7

Für zukünftige Verwendung reserviert.

SupportCpLocation

Gibt an, ob der CP-Speicherort unterstützt wird.

SupportUplV2

Gibt an, ob der Speicherort 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 vom HLOS unter nicht zu Validierungszwecken verwendet.

MaxGeofencesSupported

Gibt die Anzahl von Geofences an, die die GNSS-Engine basierend auf den von der Plattform festgelegten Einschränkungen nachverfolgen kann. Dieser Wert ist nur gültig, wenn das Feld GeofencingSupport festgelegt ist.

SupportMultipleSuplRootCert

Gibt den SUPL-Parameter an.

GnssBreadCrumbPayloadVersion

Muss BREADCRUMBING_UNSUPPORTED oder BREADCRUMBING_VERSION_x sein.

MaxGnssBreadCrumbFixes

Muss größer als oder gleich MIN_BREADCRUMBS_SUPPORTED sein.

Unused[496]

Puffer für die zukünftige Verwendung reserviert.

Hinweise

Dies ist eine Liste mit der Unterstützung einzelner Funktionen. Die Funktion wird entweder durch einen booleschen Wert oder durch eine klar definierte Enumeration des spezifischen Attributs dargestellt.

Anforderungen

Anforderung Wert
Header gnssdriver.h (einschließlich GNSSdriver.h)