Compartir a través de


estructura GNSS_DEVICE_CAPABILITY (gnssdriver.h)

La estructura GNSS_DEVICE_CAPABILITY se usa para determinar las funcionalidades del dispositivo del motor GNSS subyacente.

Sintaxis

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;

Miembros

Size

Tamaño de la estructura.

Version

Número de versión.

SupportMultipleFixSessions

Indica si el controlador GNSS admite de forma nativa varias sesiones para el mismo tipo (por ejemplo, varias sesiones de seguimiento de distancia simultáneas iniciadas por el HLOS). Si es FALSE, el adaptador de GNSS multiplexará las solicitudes de sesión de corrección de varias aplicaciones LBS para combinarlas en una solicitud de sesión de corrección que satisfaga todas las solicitudes de cliente.

Si esta funcionalidad no está presente, el controlador debe admitir al menos una sesión activa de cada tipo de sesión de corrección compatible. Por ejemplo, si el controlador admite el seguimiento basado en distancia y la funcionalidad de captura única, debe admitir una sesión de corrección basada en distancia y una sesión de corrección de captura única activa al mismo tiempo.

El controlador siempre debe admitir la modificación del parámetro de sesión para un tipo de sesión de corrección activa para que el adaptador de GNSS no necesite detener o iniciar una sesión de corrección en curso cuando es necesario multiplexar una nueva solicitud de corrección. En Windows 10, el adaptador de GNSS no admite el inicio en el controlador GNSS varias sesiones del mismo tipo.

SupportMultipleAppSessions

Indica si el controlador GNSS admite y realiza un seguimiento de las solicitudes procedentes de varias aplicaciones HLOS de forma nativa. El controlador GNSS no debe restringir la llamada desde más de una aplicación al mismo tiempo.

Un valor true indica que el controlador realiza un seguimiento de las distintas sesiones de aplicación de HLOS, particiona lógicamente las solicitudes, garantiza que la solicitud de una sesión de aplicación no influye en otra sesión de aplicación, etc. Por ejemplo, podrá controlar por separado el adaptador de GNSS y una aplicación de prueba, y responder a los comandos de cada uno de ellos por separado.

Un valor false indica que el controlador no diferencia las sesiones de aplicación HLOS diferentes y trata lógicamente todo de forma global como si todos provenían de una sola sesión de aplicación de HLOS.

RequireAGnssInjection

Indica si el controlador GNSS requiere que se inserten datos de asistencia para una TTFF más rápida.

AgnssFormatSupported

Especifica una máscara de bits que contiene los diferentes formatos AGNSS (GNSS_AGNSSFORMAT_*) que el controlador puede controlar.

#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

Los valores 0x0080-0xFFFF están reservados para la extensibilidad.

Esta lista incluye actualmente algunos formatos propietarios de IHV. La lista se puede actualizar cuando los IHD o los OEM decidan obtener la información de asistencia de GNSS, específicamente ephemeris extendidas, a través de la plataforma de ubicación.

AgnssFormatPreferred

Especifica el formato de AGNSS preferido con la misma máscara de bits que AgnssFormatSupported. Por ejemplo, si se admiten XTRA1 y XTRA2, pero XTRA2 es el formato preferido, el controlador GNSS establece AgnssFormatSupported en 0x000C y AgnssFormatPreferred en 0x0004.

SupportDistanceTracking

Indica si el controlador o el motor de GNSS admite de forma nativa el seguimiento de baja potencia del dispositivo en función de un umbral específico de la sesión. Un valor TRUE implica que el controlador puede admitir esto de forma nativa en un modo de bajo consumo, por ejemplo, descargando el seguimiento en un procesador de baja potencia y no requerir que el procesador de la aplicación esté encendido y sondear el movimiento.

Si el controlador GNSS admite el seguimiento de distancia, admite implícitamente otros tipos de sesiones de corrección paralelas al mismo tiempo. Por ejemplo, si una sesión de seguimiento de distancia está activa, también se debe permitir una captura única paralela y se deben respetar ambos tipos de sesiones de corrección.

SupportContinuousTracking

Indica si el controlador o motor de GNSS admite de forma nativa el seguimiento continuo de baja potencia del dispositivo. Un valor TRUE implica que el controlador puede admitir esto de forma nativa en un modo de bajo consumo, por ejemplo, descargando el seguimiento en un procesador de baja potencia y no requerir que el procesador de la aplicación esté encendido y sondee continuamente.

Si el controlador GNSS admite el seguimiento continuo, admite implícitamente otros tipos de sesiones de corrección paralelas al mismo tiempo. Por ejemplo, el seguimiento continuo y de captura única puede producirse en paralelo.

Reserved1

Reservado para un uso futuro.

Reserved2

Reservado para un uso futuro.

Reserved3

Reservado para un uso futuro.

Reserved4

Reservado para un uso futuro.

Reserved5

Reservado para un uso futuro.

GeofencingSupport

Los controladores GNSS de la versión 1 deben indicar que esta funcionalidad no se admite.

Los controladores GNSS de la versión 2 y versiones posteriores pueden indicar la compatibilidad con la geovalla estableciendo las siguientes máscaras de bits:

#define GNSS_GEOFENCESUPPORT_SUPPORTED     0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE        0x02

GNSS_GEOFENCESUPPORT_SUPPORTED indica que el motor GNSS admite el seguimiento de geovalla. Admitir la funcionalidad de seguimiento de geovalla implica que se realiza de forma nativa, de forma optimizada para energía, y usa las tecnologías de posicionamiento híbridas adecuadas disponibles en el motor GNSS, según corresponda.

GNSS_GEOFENCESUPPORT_CIRCLE indica que el motor GNSS admite geovallas circulares.

Reserved6

Reservado para un uso futuro.

Reserved7

Reservado para un uso futuro.

SupportCpLocation

Especifica si se admite la ubicación de CP.

SupportUplV2

Especifica si se admite la ubicación del plano de usuario V2 para STORAGE.

SupportSuplV1

Especifica si se admite SUPL V1.

SupportSuplV2

Especifica si se admite SUPL V2.

SupportedSuplVersion

Especifica la versión más reciente de SUPL compatible con el cliente SUPL. Actualmente, el HLOS no usa esta información de versión con fines de validación.

MaxGeofencesSupported

Especifica el número de geovallas que el motor de GNSS puede realizar un seguimiento en función de las restricciones establecidas por la plataforma. Este valor solo será válido cuando se establezca el campo GeofencingSupport.

SupportMultipleSuplRootCert

Especifica el parámetro SUPL.

GnssBreadCrumbPayloadVersion

Debe ser BREADCRUMBING_UNSUPPORTED o BREADCRUMBING_VERSION_x.

MaxGnssBreadCrumbFixes

Debe ser mayor o igual que MIN_BREADCRUMBS_SUPPORTED.

Unused[496]

Búfer de relleno reservado para uso futuro.

Comentarios

Se trata de una lista de compatibilidad con funcionalidades individuales. La funcionalidad se representa mediante un valor booleano o una enumeración bien definida del atributo específico.

Requisitos

Requisito Valor
Header gnsdriver.h (incluya Gnssdriver.h)