struktur GNSS_DEVICE_CAPABILITY (gnssdriver.h)

Struktur GNSS_DEVICE_CAPABILITY digunakan untuk menentukan kemampuan perangkat dari mesin GNSS yang mendasar.

Sintaks

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;

Anggota

Size

Ukuran struktur.

Version

Nomor versi.

SupportMultipleFixSessions

Menunjukkan apakah driver GNSS secara asli mendukung beberapa sesi untuk jenis yang sama (Misalnya, beberapa sesi pelacakan jarak simultan yang dimulai oleh HLOS). Jika FALSE, adaptor GNSS akan mengalikan permintaan sesi perbaikan dari beberapa aplikasi LBS untuk digabungkan ke dalam satu permintaan sesi perbaikan yang memenuhi semua permintaan klien.

Jika kemampuan ini tidak ada, driver harus mendukung setidaknya satu sesi aktif dari setiap jenis sesi perbaikan yang didukung. Misalnya, jika driver mendukung pelacakan berbasis jarak dan fungsionalitas bidikan tunggal, driver harus mendukung satu sesi perbaikan berbasis jarak dan satu sesi perbaikan satu bidikan aktif secara bersamaan.

Driver harus selalu mendukung modifikasi parameter sesi untuk jenis sesi perbaikan aktif sehingga adaptor GNSS tidak perlu menghentikan/memulai sesi perbaikan yang sedang berlangsung ketika permintaan perbaikan baru perlu di-multipleks. Dalam Windows 10, adaptor GNSS tidak mendukung dimulainya beberapa sesi driver GNSS dengan jenis yang sama.

SupportMultipleAppSessions

Menunjukkan apakah driver GNSS secara asli mendukung dan melacak permintaan yang berasal dari beberapa aplikasi HLOS. Driver GNSS tidak boleh membatasi dipanggil dari lebih dari satu aplikasi secara bersamaan.

Nilai TRUE menunjukkan bahwa driver melacak sesi aplikasi HLOS yang berbeda, secara logis mempartisi permintaan, memastikan bahwa permintaan dari satu sesi aplikasi tidak memengaruhi sesi aplikasi lain, dan sebagainya. Misalnya, ia akan dapat menangani adaptor GNSS dan aplikasi pengujian secara terpisah, dan menanggapi perintah dari masing-masing secara terpisah.

Nilai FALSE menunjukkan bahwa driver tidak membedakan sesi aplikasi HLOS yang berbeda dan secara logis memperlakukan semuanya secara global seolah-olah semuanya berasal dari satu sesi aplikasi HLOS.

RequireAGnssInjection

Menunjukkan apakah driver GNSS memerlukan data bantuan untuk disuntikkan untuk TTFF yang lebih cepat.

AgnssFormatSupported

Menentukan bitmask yang berisi format AGNSS yang berbeda (GNSS_AGNSSFORMAT_*) yang dapat ditangani driver.

#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

Nilai 0x0080-0xFFFF disediakan untuk ekstensibilitas.

Daftar ini saat ini mencakup beberapa format kepemilikan IHV. Daftar ini dapat diperbarui ketika IHV atau OEM memutuskan untuk mendapatkan informasi bantuan GNSS, khususnya ephemeris yang diperluas, melalui platform lokasi.

AgnssFormatPreferred

Menentukan format AGNSS pilihan menggunakan bitmask yang sama dengan AgnssFormatSupported. Misalnya, jika XTRA1 dan XTRA2 didukung tetapi XTRA2 adalah format yang disukai, driver GNSS mengatur AgnssFormatSupported ke 0x000C dan AgnssFormatPreferred ke 0x0004.

SupportDistanceTracking

Menunjukkan apakah driver/mesin GNSS secara asli mendukung pelacakan perangkat berdaya rendah berdasarkan ambang batas khusus sesi. Nilai TRUE menyiratkan bahwa driver dapat mendukung ini secara asli dalam mode daya rendah, misalnya, dengan membongkar pelacakan ke prosesor berdaya rendah dan tidak mengharuskan prosesor aplikasi aktif dan polling untuk gerakan.

Jika driver GNSS mendukung pelacakan jarak, driver tersebut secara implisit mendukung jenis sesi perbaikan paralel lainnya secara bersamaan. Misalnya, jika sesi pelacakan jarak aktif, bidikan tunggal paralel juga harus diizinkan dan kedua jenis sesi perbaikan harus dihormati.

SupportContinuousTracking

Menunjukkan apakah Driver/Mesin GNSS secara asli mendukung pelacakan perangkat berdaya rendah berkelanjutan. Nilai TRUE menyiratkan bahwa driver dapat mendukung ini secara asli dalam mode daya rendah, misalnya, dengan membongkar pelacakan ke prosesor berdaya rendah dan tidak mengharuskan prosesor aplikasi aktif dan polling terus menerus.

Jika Driver GNSS mendukung pelacakan berkelanjutan, itu secara implisit mendukung jenis sesi perbaikan paralel lainnya secara bersamaan. Misalnya, pelacakan satu bidikan dan berkelanjutan dapat terjadi secara paralel.

Reserved1

Disiapkan untuk penggunaan masa mendatang.

Reserved2

Disiapkan untuk penggunaan masa mendatang.

Reserved3

Disiapkan untuk penggunaan masa mendatang.

Reserved4

Disiapkan untuk penggunaan masa mendatang.

Reserved5

Disiapkan untuk penggunaan masa mendatang.

GeofencingSupport

Driver GNSS versi 1 harus menunjukkan bahwa kemampuan ini tidak didukung.

Driver GNSS versi 2 dan yang lebih baru dapat menunjukkan dukungan geofence dengan mengatur bitmask berikut:

#define GNSS_GEOFENCESUPPORT_SUPPORTED     0x01
#define GNSS_GEOFENCESUPPORT_CIRCLE        0x02

GNSS_GEOFENCESUPPORT_SUPPORTED menunjukkan bahwa mesin GNSS mendukung pelacakan geofence. Mendukung fungsionalitas pelacakan geofence menyiratkan bahwa itu dilakukan secara asli, dengan cara yang dioptimalkan daya, dan menggunakan teknologi pemosisian hibrid yang sesuai yang tersedia di mesin GNSS, sebagaimana berlaku.

GNSS_GEOFENCESUPPORT_CIRCLE menunjukkan bahwa mesin GNSS mendukung geofence melingkar.

Reserved6

Disiapkan untuk penggunaan masa mendatang.

Reserved7

Disiapkan untuk penggunaan masa mendatang.

SupportCpLocation

Menentukan apakah lokasi CP didukung.

SupportUplV2

Menentukan apakah lokasi bidang pengguna V2 untuk CDMA didukung.

SupportSuplV1

Menentukan apakah SUPL V1 didukung.

SupportSuplV2

Menentukan apakah SUPL V2 didukung.

SupportedSuplVersion

Menentukan versi SUPL terbaru yang didukung oleh klien SUPL. Informasi versi ini saat ini tidak digunakan oleh HLOS untuk tujuan validasi apa pun.

MaxGeofencesSupported

Menentukan jumlah geofence yang dapat dilacak mesin GNSS berdasarkan batasan yang ditetapkan oleh platform. Nilai ini hanya akan valid ketika bidang GeofencingSupport diatur.

SupportMultipleSuplRootCert

Menentukan parameter SUPL.

GnssBreadCrumbPayloadVersion

Harus BREADCRUMBING_UNSUPPORTED atau BREADCRUMBING_VERSION_x.

MaxGnssBreadCrumbFixes

Harus lebih besar dari atau sama dengan MIN_BREADCRUMBS_SUPPORTED.

Unused[496]

Buffer Padding dicadangkan untuk digunakan di masa mendatang.

Keterangan

Ini adalah daftar dukungan kemampuan individual. Kemampuan ini diwakili baik oleh Boolean atau oleh enumerasi yang terdefinisi dengan baik dari atribut tertentu.

Persyaratan

Persyaratan Nilai
Header gnssdriver.h (termasuk Gnssdriver.h)