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) |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk