Partager via


structure GNSS_DEVICE_CAPABILITY (driver.h)

La structure GNSS_DEVICE_CAPABILITY est utilisée pour déterminer les fonctionnalités d’appareil du moteur UTILISAIT sous-jacent.

Syntaxe

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;

Membres

Size

Taille de la structure.

Version

Numéro de version.

SupportMultipleFixSessions

Indique si le pilote PSEC prend en charge en mode natif plusieurs sessions pour le même type (par exemple, plusieurs sessions de suivi à distance simultanées initiées par le HLOS). Si la valeur est FALSE, l’adaptateur TABLEAUX multiplexe les demandes de session de correction de plusieurs applications LBS pour les combiner en une seule demande de session de correction qui satisfait à toutes les demandes clientes.

Si cette fonctionnalité n’est pas présente, le pilote doit prendre en charge au moins une session active de chaque type de session de correctif pris en charge. Par exemple, si le pilote prend en charge le suivi basé sur la distance et la fonctionnalité mono-capture, il doit prendre en charge une session de correctif basée sur la distance et une session de correction à un seul coup actif en même temps.

Le pilote doit toujours prendre en charge la modification du paramètre de session pour un type de session de correctif actif afin que l’adaptateur PSEC n’ait pas besoin d’arrêter/démarrer une session de correction en cours lorsqu’une nouvelle demande de correctif doit être multiplexée. Dans Windows 10, l’adaptateur PSEC ne prend pas en charge le lancement dans le pilote SEE plusieurs sessions du même type.

SupportMultipleAppSessions

Indique si le pilote PSEC prend en charge et suit en mode natif les requêtes provenant de plusieurs applications HLOS. Le pilote PSEC ne doit pas restreindre l’appel de plusieurs applications en même temps.

La valeur TRUE indique que le pilote effectue le suivi des différentes sessions d’application HLOS, partitionne logiquement les requêtes, garantit que la demande d’une session d’application n’influence pas une autre session d’application, et ainsi de suite. Par exemple, il sera en mesure de gérer séparément l’adaptateur SECOURS et une application de test, et de répondre aux commandes de chacune séparément.

La valeur FALSE indique que le pilote ne différencie pas les différentes sessions d’application HLOS et traite logiquement tout de manière globale comme s’ils proviennent tous d’une session d’application HLOS unique.

RequireAGnssInjection

Indique si le pilote PSEC nécessite l’injection de données d’assistance pour accélérer le TTFF.

AgnssFormatSupported

Spécifie un masque de bits contenant les différents formats APSEC (GNSS_AGNSSFORMAT_*) que le pilote peut gérer.

#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

Les valeurs 0x0080-0xFFFF sont réservées à l’extensibilité.

Cette liste inclut actuellement quelques formats propriétaires IHV. La liste peut être mise à jour lorsque les IMV ou les OEM décident d’obtenir les informations d’assistance de l’HRA, en particulier les éphémères étendus, via la plateforme d’emplacement.

AgnssFormatPreferred

Spécifie le format ATABLEAUX préféré à l’aide du même masque de bits que AformatSupported. Par exemple, si XTRA1 et XTRA2 sont pris en charge, mais que XTRA2 est le format préféré, le pilote PSEC définit ApsecFormatSupported sur 0x000C et ApsecFormatPreferred pour 0x0004.

SupportDistanceTracking

Indique si le pilote/moteur PSEC prend en charge en mode natif le suivi à faible puissance de l’appareil en fonction d’un seuil spécifique à la session. Une valeur TRUE implique que le pilote peut prendre en charge ce mode natif en mode basse alimentation, par exemple en déchargeant le suivi sur un processeur à faible alimentation et en ne nécessitant pas que le processeur d’application soit à l’origine du déplacement.

Si le pilote PSEC prend en charge le suivi de distance, il prend implicitement en charge d’autres types de sessions de réparation parallèles en même temps. Par exemple, si une session de suivi de distance est active, une capture unique parallèle doit également être autorisée et les deux types de sessions de réparation doivent être respectés.

SupportContinuousTracking

Indique si le pilote/moteur PSEC prend en charge en mode natif le suivi continu à faible puissance de l’appareil. Une valeur TRUE implique que le pilote peut prendre en charge cette fonctionnalité en mode natif en mode basse alimentation, par exemple en déchargeant le suivi sur un processeur à faible alimentation et en ne nécessitant pas que le processeur d’application soit en cours d’interrogation en continu.

Si le pilote PSEC prend en charge le suivi continu, il prend implicitement en charge d’autres types de sessions de correctif parallèle en même temps. Par exemple, un suivi unique et continu peut se produire en parallèle.

Reserved1

Réservé pour une utilisation ultérieure.

Reserved2

Réservé pour une utilisation ultérieure.

Reserved3

Réservé pour une utilisation ultérieure.

Reserved4

Réservé pour une utilisation ultérieure.

Reserved5

Réservé pour une utilisation ultérieure.

GeofencingSupport

Les pilotes JDBC version 1 doivent indiquer que cette fonctionnalité n’est pas prise en charge.

Les pilotes JDBC version 2 et versions ultérieures peuvent indiquer la prise en charge de la limite géographique en définissant les masques de bits suivants :

#define GNSS_GEOFENCESUPPORT_SUPPORTED     0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE        0x02

GNSS_GEOFENCESUPPORT_SUPPORTED indique que le moteur INTEROPÉRABILITÉ prend en charge le suivi de la limite géographique. La prise en charge des fonctionnalités de suivi de la limite géographique implique qu’elle est effectuée en mode natif, de manière optimisée par puissance et utilise les technologies de positionnement hybride appropriées disponibles dans le moteur SEE, le cas échéant.

GNSS_GEOFENCESUPPORT_CIRCLE indique que le moteur TABLEAUX prend en charge les limites géographiques circulaires.

Reserved6

Réservé pour une utilisation ultérieure.

Reserved7

Réservé pour une utilisation ultérieure.

SupportCpLocation

Spécifie si l’emplacement CP est pris en charge.

SupportUplV2

Spécifie si l’emplacement du plan utilisateur V2 pour CDMA est pris en charge.

SupportSuplV1

Spécifie si SUPL V1 est pris en charge.

SupportSuplV2

Spécifie si SUPL V2 est pris en charge.

SupportedSuplVersion

Spécifie la dernière version de SUPL prise en charge par le client SUPL. Ces informations de version ne sont actuellement pas utilisées par le HLOS à des fins de validation.

MaxGeofencesSupported

Spécifie le nombre de limites géographiques que le moteur MACHI peut suivre en fonction des contraintes définies par la plateforme. Cette valeur n’est valide que lorsque le champ GeofencingSupport est défini.

SupportMultipleSuplRootCert

Spécifie le paramètre SUPL.

GnssBreadCrumbPayloadVersion

Doit être BREADCRUMBING_UNSUPPORTED ou BREADCRUMBING_VERSION_x.

MaxGnssBreadCrumbFixes

Doit être supérieur ou égal à MIN_BREADCRUMBS_SUPPORTED.

Unused[496]

Mémoire tampon de remplissage réservée pour une utilisation ultérieure.

Remarques

Il s’agit d’une liste de prise en charge des fonctionnalités individuelles. La fonctionnalité est représentée par une valeur booléenne ou par une énumération bien définie de l’attribut spécifique.

Exigences

Exigence Valeur
d’en-tête driver.h (include Messagedriver.h)