blob: 1d4d4e381b9bf888f5f412398be3976232f9a5e0 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/******************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2013
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*******************************************************************************/
35
36/******************************************************************************
37 * Filename:
38 * --------------------------------------------------------
39 * gnss2lcsp_enum.h
40 *
41 * Project:
42 * --------------------------------------------------------
43 * A-GNSS project
44 *
45 * Description:
46 * --------------------------------------------------------
47 *
48 *
49 * Author:
50 * --------------------------------------------------------
51 * -------
52 *
53 * --------------------------------------------------------
54 * $Log$
55 *
56 * 02 13 2019 tzu-ying.chen
57 * [MOLY00376476] [GPS] GPS/GNSS assistance data timing issue in 2/3G GCF performance test cases for GPS
58 *
59 * .
60 *
61 * 07 30 2018 tzu-ying.chen
62 * [MOLY00342999] [LBS] A-Galileo development
63 *
64 * .
65 *
66 * 10 16 2017 jl.hsiao
67 * [MOLY00282702] [LBS] Early fix and MDT battery level support
68 * .
69 *
70 * 10 16 2017 jl.hsiao
71 * [MOLY00282702] [LBS] Early fix and MDT battery level support
72 * .
73 *
74 * 07 07 2017 wynne.chu
75 * [MOLY00261827] [UMOYLA] LPPe development
76 *
77 * .
78 *
79 * 04 07 2017 jie-yu.wang
80 * [MOLY00233110] [SBP] MDT feature change for CMCC requirement
81 * [LBS][Sync from 91/92][Header] MDT feature.
82 *
83 * 10 28 2016 wynne.chu
84 * [MOLY00206577] [Gen92] A-BeiDou feature development
85 *
86 * .
87 *
88 * 10 20 2016 wynne.chu
89 * [MOLY00208519] [MT6293][VzW]LTE SIB8/16 for AGPS fine time aiding (code sync from UMOLY)
90 *
91 * .
92 *
93 * 01 18 2016 roland.li
94 * [MOLY00149314] [Metrico ??]AGPS??, ??OTDOA?ECID????ECID.
95 * .
96 *
97 * 12 10 2015 roland.li
98 * [MOLY00149314] [Metrico ??]AGPS??, ??OTDOA?ECID????ECID.
99 * .
100 *
101 * 04 29 2015 roland.li
102 * [MOLY00109917] [6291][LBS]MDT check in to UMOLY TRUNK
103 * Fix buld error.
104 *
105 * 04 29 2015 roland.li
106 * [MOLY00109917] [6291][LBS]MDT check in to UMOLY TRUNK
107 * [MDT]LBS part.
108 *
109 * 04 16 2015 roland.li
110 * [MOLY00087866] [Uni-Bin]AGNSS ubin change
111 * .
112 *
113 *
114 *****************************************************************************/
115
116#ifndef _GNSS2LCSP_ENUM_H
117#define _GNSS2LCSP_ENUM_H
118
119
120/* MACROS *******************************************************************/
121
122/**
123 * among LPP/RRC/RRLP, the max number of elements for GNSS data is different in some data fields.
124 * we take the largest value as element definition for common interface
125 */
126#define GNSS_MAX_REF_TIME_SAT_ELEMENT 16 /* 64 for LPP, 16 for RRC, 12 for RRLP. Use 16 to reduce structure size */
127#define GNSS_MAX_REF_CELL_FTA_ELEMENT 16 /* 16 for LPP, 1 for RRC/RRLP */
128
129#define GNSS_MAX_GNSS_GENERIC_ASSIST_DATA_ELEMENT 16 /* 16 for LPP, 8 for RRC/RRLP in provide assistance data;
130 16 for LPP/RRLP, 8 for RRC in capability */
131
132/* GNSS Time Model */
133#define GNSS_MAX_TIME_MODEL_ELEMENT 5 /* 15 for LPP, 7 for RRC/RRLP, Use 5 since gnss-TO-ID only 5 (GPS, Galileo, QZSS, GLONASS, BDS) */
134
135/* GNSS DGNSS */
136#define GNSS_MAX_DGNSS_SGN_TYPE_ELEMENT 3 /* 3 for LPP/RRLP, 8 for RRC */
137#define GNSS_MAX_DGNSS_CORRECTION_INFO_ELEMENT 16 /* 64 for LPP/RRC, 16 for RRLP. Use 16 to reduce structure size */
138
139/* GNSS Navigation Model */
140#define GNSS_MAX_NAV_SAT_ELEMENT 16 /* 64 for LPP/RRC, 32 for RRLP. Use 16 to reduce structure size */
141#define GNSS_MAX_NAV_SAT_ELEMENT_BIT_POS 64 /* 64 for LPP/RRC, 32 for RRLP, dedicated for assist data req */
142#define GNSS_MAX_NAV_STD_CLK_MODEL_ELEMENT 4 /* 2 for LPP/RRLP, 4 for RRC */
143#define GNSS_MAX_NAV_CLOCK_MODEL_ELEMENT 6 /* currently there is 6 clock models */
144#define GNSS_MAX_NAV_ORBIT_MODEL_ELEMENT 6 /* currently there is 6 orbit models */
145
146/* GNSS Real Time Integrity */
147#define GNSS_MAX_RTI_BAD_SAT_ELEMENT 16 /* 64 for LPP/RRC, 16 for RRLP. Use 16 to reduce structure size */
148
149/* GNSS Data Bit Assistance */
150#define GNSS_MAX_DBA_SGN_TYPE_ELEMENT 8 /* 8 for LPP/RRC/RRLP */
151#define GNSS_MAX_DBA_SAT_ELEMENT 16 /* 64 for LPP/RRC, 32 for RRLP. Use 16 to reduce structure size */
152#define GNSS_MAX_DBA_BIT_LENGTH 64 /* 1024 bit for LPP/RRC/RRLP, but RRLP use integer intead of bit. Process only max 64 bits to reduce structure size */
153
154/* GNSS Acquisition Assitance */
155#define GNSS_MAX_ACQ_ASSIST_SAT_ELEMENT 16 /* 64 for LPP/RRC, 16 for RRLP. Use 16 to reduce structure size */
156
157/* GNSS Almanac */
158#define GNSS_MAX_ALMANAC_SAT_ELEMENT 32 /* 64 for LPP/RRC, 36 for RRLP. Use 32 to reduce structure size */
159
160/* GNSS Auxiliary Information */
161#define GNSS_MAX_AUX_SAT_ELEMENT 16 /* 64 for LPP/RRC/RRLP. Use 16 to reduce structure size */
162
163/* GNSS BDS Grid Ion Model */
164#define GNSS_MAX_BDS_GRID_ION_ELEMENT 16 /* 320 for LPP/RRC/RRLP. Use 16 to reduce structure size.
165 Spec description of BDS-GridModelParameter\gridIonList:
166 This list provides ionospheric grid point information for each grid point. Up to 16 instances are used in this version of the specification.
167 The values 17 to 320 are reserved for future use */
168
169/* GNSS DBDS Correction */
170#define GNSS_MAX_DBDS_SGN_TYPE_ELEMENT 3 /* 3 for LPP/RRLP, 8 for RRC */
171#define GNSS_MAX_DBDS_CORRECTION_ELEMENT 16 /* 64 for LPP/RRC/RRLP. Use 16 to reduce structure size */
172
173
174/* MTK supports standalone GPS+QZSS+GLONASS+Galileo+Beidou, and assisted-GNSS supports A-GPS+A-GLONASS+A-BDS */
175#define GNSS_MAX_SUPPORT_NUM 0x04 /* A-GPS + A-GLONASS + A-BDS+A-Galileo */
176
177
178/* GNSS Measurement Info */
179#define GNSS_MAX_MEASURED_GNSS_ELEMENT GNSS_MAX_SUPPORT_NUM /* 16 for LPP, 8 for RRC/RRLP, Use GNSS_MAX_SUPPORT_NUM to reduce structure size */
180#define GNSS_MAX_MEASURED_SGN_PER_GNSS_ELEMENT 4 /* 8 for LPP/RRC/RRLP, Use 4 to reduce structure size */
181#define GNSS_MAX_MEASURED_SAT_PER_SGN_ELEMENT 16 /* 64 for LPP/RRC, 16 for RRLP. Use 16 to reduce structure size */
182
183/* GNSS Request Additional Generic Assist Data */
184#define GNSS_MAX_REQ_ADD_GENERIC_ASSIST_DATA_ELEMENT GNSS_MAX_SUPPORT_NUM /* 16 for LPP, 8 for RRC, unspecified for RRLP (up to 40 bytes), Use 9 since number of generic assistance data type is only 9 */
185
186
187/* GNSS ID Bitmap, use two-byte representation */
188#define GNSS_ID_BITMAP_NONE 0x00
189#define GNSS_ID_BITMAP_GPS 0x8000 /* gps (0) */
190#define GNSS_ID_BITMAP_SBAS 0x4000 /* sbas (1) */
191#define GNSS_ID_BITMAP_QZSS 0x2000 /* qzss (2) */
192#define GNSS_ID_BITMAP_GALILEO 0x1000 /* galileo (3) */
193#define GNSS_ID_BITMAP_GLONASS 0x0800 /* glonass (4) */
194#define GNSS_ID_BITMAP_BDS 0x0400 /* bds (5) */
195
196#define GNSS_ID_BITMAP_GPS_GLONASS (GNSS_ID_BITMAP_GPS | GNSS_ID_BITMAP_GLONASS)
197#define GNSS_ID_BITMAP_GPS_BDS (GNSS_ID_BITMAP_GPS | GNSS_ID_BITMAP_BDS)
198#define GNSS_ID_BITMAP_GPS_GLONASS_BDS (GNSS_ID_BITMAP_GPS | GNSS_ID_BITMAP_GLONASS | GNSS_ID_BITMAP_BDS)
199#define GNSS_ID_BITMAP_GPS_GALILEO (GNSS_ID_BITMAP_GPS | GNSS_ID_BITMAP_GALILEO)
200#define GNSS_ID_BITMAP_GPS_GLONASS_BDS_GALILEO (GNSS_ID_BITMAP_GPS | GNSS_ID_BITMAP_GLONASS | GNSS_ID_BITMAP_BDS | GNSS_ID_BITMAP_GALILEO)
201
202/* SBAS ID Bitmap, use one-byte representation */
203#define SBAS_ID_BITMAP_NONE 0x00
204#define SBAS_ID_BITMAP_WASS 0x80 /* waas (0) */
205#define SBAS_ID_BITMAP_EGNOS 0x40 /* egnos (1) */
206#define SBAS_ID_BITMAP_MSAS 0x20 /* msas (2) */
207#define SBAS_ID_BITMAP_GAGAN 0x10 /* gagan (3) */
208
209/* GNSS Signal IDs Bitmap, use one-byte representation
210 * GNSS | Bit 1 | Bit 2 | Bit 3 | Bit 4 | Bit 5 | Bit 6 | Bit 7 | Bit 8 |
211 * | (MSB) | | | | | | | (LSB) |
212 * --------+--------+-------+-------+-------+-------+-------+-------+-------+
213 * GPS | L1 C/A | L1C | L2C | L5 | -- reserved --|-------|-------|
214 * SBAS | L1 | -- reserved --|-------|-------|-------|-------|-------|
215 * QZSS | QZS-L1 |QZS-L1C|QZS-L2C| QZS-L5| -- reserved --|-------|-------|
216 * GLONASS | G1 | G2 | G3 | -- reserved --|-------|-------|-------|
217 * Galileo | E1 | E5a | E5b | E6 |E5a+E5b| -- reserved --|-------|
218 * BDS | B1I | -- reserved --|-------|-------|-------|-------|-------|
219 */
220/* GNSS signal spectrum */
221#define GNSS_SGN_ID_BITMAP_GPS_L1C_A 0x80 /* bit 1 */
222#define GNSS_SGN_ID_BITMAP_GPS_L1C 0x40 /* bit 2 */
223#define GNSS_SGN_ID_BITMAP_GPS_L2C 0x20 /* bit 3 */
224#define GNSS_SGN_ID_BITMAP_GPS_L5 0x10 /* bit 4 */
225
226#define GNSS_SGN_ID_BITMAP_SBAS_L1 0x80 /* bit 1 */
227
228#define GNSS_SGN_ID_BITMAP_QZSS_L1C_A 0x80 /* bit 1 */
229#define GNSS_SGN_ID_BITMAP_QZSS_L1C 0x40 /* bit 2 */
230#define GNSS_SGN_ID_BITMAP_QZSS_L2C 0x20 /* bit 3 */
231#define GNSS_SGN_ID_BITMAP_QZSS_L5 0x10 /* bit 4 */
232
233#define GNSS_SGN_ID_BITMAP_GLONASS_G1 0x80 /* bit 1 */
234#define GNSS_SGN_ID_BITMAP_GLONASS_G2 0x40 /* bit 2 */
235#define GNSS_SGN_ID_BITMAP_GLONASS_G3 0x20 /* bit 3 */
236
237#define GNSS_SGN_ID_BITMAP_GALILEO_E1 0x80 /* bit 1 */
238#define GNSS_SGN_ID_BITMAP_GALILEO_E5A 0x40 /* bit 2 */
239#define GNSS_SGN_ID_BITMAP_GALILEO_E5B 0x20 /* bit 3 */
240#define GNSS_SGN_ID_BITMAP_GALILEO_E6 0x10 /* bit 4 */
241#define GNSS_SGN_ID_BITMAP_GALILEO_E5_A_B 0x08 /* bit 5 */
242
243#define GNSS_SGN_ID_BITMAP_BDS_B1I 0x80 /* bit 1 */
244
245/* GNSS Signal ID value */
246#define GNSS_SGN_ID_VALUE_GPS_L1C_A 0
247#define GNSS_SGN_ID_VALUE_GPS_L1C 1
248#define GNSS_SGN_ID_VALUE_GPS_L2C 2
249#define GNSS_SGN_ID_VALUE_GPS_L5 3
250
251#define GNSS_SGN_ID_VALUE_SBAS_L1 0
252
253#define GNSS_SGN_ID_VALUE_QZSS_L1C_A 0
254#define GNSS_SGN_ID_VALUE_QZSS_L1C 1
255#define GNSS_SGN_ID_VALUE_QZSS_L2C 2
256#define GNSS_SGN_ID_VALUE_QZSS_L5 3
257
258#define GNSS_SGN_ID_VALUE_GLONASS_G1 0
259#define GNSS_SGN_ID_VALUE_GLONASS_G2 1
260#define GNSS_SGN_ID_VALUE_GLONASS_G3 2
261
262#define GNSS_SGN_ID_VALUE_GALILEO_E1 0
263#define GNSS_SGN_ID_VALUE_GALILEO_E5A 1
264#define GNSS_SGN_ID_VALUE_GALILEO_E5B 2
265#define GNSS_SGN_ID_VALUE_GALILEO_E6 3
266#define GNSS_SGN_ID_VALUE_GALILEO_E5_A_B 4
267
268#define GNSS_SGN_ID_VALUE_BDS_B1I 0
269
270#define GNSS_SGN_ID_VALUE_MAX 7
271
272/* GNSS Clock and Orbit Model Value (for Navigation Model) */
273#define GNSS_NAV_CLOCK_MODEL_1_VALUE_STANDARD 1 /* model-1 */
274#define GNSS_NAV_CLOCK_MODEL_2_VALUE_NAV 2 /* model-2 */
275#define GNSS_NAV_CLOCK_MODEL_3_VALUE_CNAV 3 /* model-3 */
276#define GNSS_NAV_CLOCK_MODEL_4_VALUE_GLONASS 4 /* model-4 */
277#define GNSS_NAV_CLOCK_MODEL_5_VALUE_SBAS 5 /* model-5 */
278#define GNSS_NAV_CLOCK_MODEL_6_VALUE_BDS 6 /* model-6 */
279
280#define GNSS_NAV_ORBIT_MODEL_1_VALUE_KEPLERIAN_SET 1 /* model-1 */
281#define GNSS_NAV_ORBIT_MODEL_2_VALUE_NAV_KEPLERIAN_SET 2 /* model-2 */
282#define GNSS_NAV_ORBIT_MODEL_3_VALUE_CNAV_KEPLERIAN_SET 3 /* model-3 */
283#define GNSS_NAV_ORBIT_MODEL_4_VALUE_GLONASS_ECEF 4 /* model-4 */
284#define GNSS_NAV_ORBIT_MODEL_5_VALUE_SBAS_ECEF 5 /* model-5 */
285#define GNSS_NAV_ORBIT_MODEL_6_VALUE_BDS_KEPLERIAN_SET 6 /* model-6 */
286
287/* Almanac Model Value */
288#define GNSS_ALMANAC_MODEL_1_VALUE_KEPLERIAN_SET 1 /* model-1 */
289#define GNSS_ALMANAC_MODEL_2_VALUE_NAV_KEPLERIAN_SET 2 /* model-2 */
290#define GNSS_ALMANAC_MODEL_3_VALUE_REDUCED_KEPLERIAN_SET 3 /* model-3 */
291#define GNSS_ALMANAC_MODEL_4_VALUE_MIDI_KEPLERIAN_SET 4 /* model-4 */
292#define GNSS_ALMANAC_MODEL_5_VALUE_GLONASS_SET 5 /* model-5 */
293#define GNSS_ALMANAC_MODEL_6_VALUE_ECEF_SBAS_SET 6 /* model-6 */
294#define GNSS_ALMANAC_MODEL_7_VALUE_BDS_ALMANAC_SET 7 /* model-7 */
295
296/* UTC Model Value */
297#define GNSS_UTC_MODEL_1_VALUE 1 /* model-1 (0) */
298#define GNSS_UTC_MODEL_2_VALUE 2 /* model-2 (1) */
299#define GNSS_UTC_MODEL_3_VALUE 3 /* model-3 (2) */
300#define GNSS_UTC_MODEL_4_VALUE 4 /* model-4 (3) */
301#define GNSS_UTC_MODEL_5_VALUE 5 /* model-5 (4) */
302
303/* Ionospheric Model */
304#define GNSS_ION_MODEL_KLOBUCHAR 0x80 /* klobuchar (0) */
305#define GNSS_ION_MODEL_NEQUICK 0x40 /* neQuick (1) */
306
307/* Klobuchar Model Parameter - dataID (2 bits) */
308/**
309 * '11': the parameters have been generated by QZSS
310 * '01': the parameters have been generated by BDS
311 * '00': the parameters are applicable worldwide
312 */
313#define GNSS_ION_KLOBUCHAR_DATA_ID_VALUE_QZSS 0x03
314#define GNSS_ION_KLOBUCHAR_DATA_ID_VALUE_BDS 0x01
315#define GNSS_ION_KLOBUCHAR_DATA_ID_VALUE_WW 0x00
316#define GNSS_ION_KLOBUCHAR_DATA_ID_MASK 0x03
317
318/* Navigation Model */
319#define GNSS_NAV_CLOCK_MODEL_1_STANDARD 0x80 /* model-1 (0) */
320#define GNSS_NAV_CLOCK_MODEL_2_NAV 0x40 /* model-2 (1) */
321#define GNSS_NAV_CLOCK_MODEL_3_CNAV 0x20 /* model-3 (2) */
322#define GNSS_NAV_CLOCK_MODEL_4_GLONASS 0x10 /* model-4 (3) */
323#define GNSS_NAV_CLOCK_MODEL_5_SBAS 0x08 /* model-5 (4) */
324#define GNSS_NAV_CLOCK_MODEL_6_BDS 0x04 /* model-6 (5) */
325
326#define GNSS_NAV_ORBIT_MODEL_1_KEPLERIAN_SET 0x80 /* model-1 (0) */
327#define GNSS_NAV_ORBIT_MODEL_2_NAV_KEPLERIAN_SET 0x40 /* model-2 (1) */
328#define GNSS_NAV_ORBIT_MODEL_3_CNAV_KEPLERIAN_SET 0x20 /* model-3 (2) */
329#define GNSS_NAV_ORBIT_MODEL_4_GLONASS_ECEF 0x10 /* model-4 (3) */
330#define GNSS_NAV_ORBIT_MODEL_5_SBAS_ECEF 0x08 /* model-5 (4) */
331#define GNSS_NAV_ORBIT_MODEL_6_BDS_KEPLERIAN_SET 0x04 /* model-6 (5) */
332
333
334/* Almanac */
335#define GNSS_ALMANAC_MODEL_1_KEPLERIAN_SET 0x80 /* model-1 (0) */
336#define GNSS_ALMANAC_MODEL_2_NAV_KEPLERIAN_SET 0x40 /* model-2 (1) */
337#define GNSS_ALMANAC_MODEL_3_REDUCED_KEPLERIAN_SET 0x20 /* model-3 (2) */
338#define GNSS_ALMANAC_MODEL_4_MIDI_KEPLERIAN_SET 0x10 /* model-4 (3) */
339#define GNSS_ALMANAC_MODEL_5_GLONASS_SET 0x08 /* model-5 (4) */
340#define GNSS_ALMANAC_MODEL_6_ECEF_SBAS_SET 0x04 /* model-6 (5) */
341#define GNSS_ALMANAC_MODEL_7_BDS_ALMANAC_SET 0x02 /* model-7 (6) */
342
343
344/* UTC Model*/
345#define GNSS_UTC_MODEL_1 0x80 /* model-1 (0) */
346#define GNSS_UTC_MODEL_2 0x40 /* model-2 (1) */
347#define GNSS_UTC_MODEL_3 0x20 /* model-3 (2) */
348#define GNSS_UTC_MODEL_4 0x10 /* model-4 (3) */
349#define GNSS_UTC_MODEL_5 0x08 /* model-5 (4) */
350
351
352/* GNSS measurement fields validity bitmask */
353#define GNSS_MEAS_INFO_CARRIER_QUALITY_VALIDITY 0x01
354#define GNSS_MEAS_INFO_INT_CODE_PHASE_VALIDITY 0x02
355#define GNSS_MEAS_INFO_DOPPLER_VALIDITY 0x04
356#define GNSS_MEAS_INFO_ADR_VALIDITY 0x08
357#define GNSS_MEAS_INFO_ALL_VALIDITY 0x0F
358
359#define CHECK_GNSS_MEAS_INFO_CARRIER_QUALITY_VALIDITY(validity) ((validity & GNSS_MEAS_INFO_ALL_VALIDITY) & GNSS_MEAS_INFO_CARRIER_QUALITY_VALIDITY) ? KAL_TRUE : KAL_FALSE
360#define SET_GNSS_MEAS_INFO_CARRIER_QUALITY_VALIDITY(validity) (validity |= GNSS_MEAS_INFO_CARRIER_QUALITY_VALIDITY)
361
362#define CHECK_GNSS_MEAS_INFO_INT_CODE_PHASE_VALIDITY(validity) ((validity & GNSS_MEAS_INFO_ALL_VALIDITY) & GNSS_MEAS_INFO_INT_CODE_PHASE_VALIDITY) ? KAL_TRUE : KAL_FALSE
363#define SET_GNSS_MEAS_INFO_INT_CODE_PHASE_VALIDITY(validity) (validity |= GNSS_MEAS_INFO_INT_CODE_PHASE_VALIDITY)
364
365#define CHECK_GNSS_MEAS_INFO_DOPPLER_VALIDITY(validity) ((validity & GNSS_MEAS_INFO_ALL_VALIDITY) & GNSS_MEAS_INFO_DOPPLER_VALIDITY) ? KAL_TRUE : KAL_FALSE
366#define SET_GNSS_MEAS_INFO_DOPPLER_VALIDITY(validity) (validity |= GNSS_MEAS_INFO_DOPPLER_VALIDITY)
367
368#define CHECK_GNSS_MEAS_INFO_ADR_VALIDITY(validity) ((validity & GNSS_MEAS_INFO_ALL_VALIDITY) & GNSS_MEAS_INFO_ADR_VALIDITY) ? KAL_TRUE : KAL_FALSE
369#define SET_GNSS_MEAS_INFO_ADR_VALIDITY(validity) (validity |= GNSS_MEAS_INFO_ADR_VALIDITY)
370
371
372/* GNSS assist data type bitmask */
373#define GNSS_ASSIST_MASK_NONE 0x0
374
375#define GNSS_COM_ASSIST_MASK_REF_TIME (1 << 0) /* 0x0001 */
376#define GNSS_COM_ASSIST_MASK_REF_LOCATION (1 << 1) /* 0x0002 */
377#define GNSS_COM_ASSIST_MASK_IONOSPHERE (1 << 2) /* 0x0004 */
378#define GNSS_COM_ASSIST_MASK_EARTH_ORIENT_PARAMS (1 << 3) /* 0x0008 */
379
380#define GNSS_GEN_ASSIST_MASK_TIME_MODEL (1 << 4) /* 0x0010 */
381#define GNSS_GEN_ASSIST_MASK_DGNSS_CORRECTION (1 << 5) /* 0x0020 */
382#define GNSS_GEN_ASSIST_MASK_NAV_MODEL (1 << 6) /* 0x0040 */
383#define GNSS_GEN_ASSIST_MASK_RTI (1 << 7) /* 0x0080 */
384#define GNSS_GEN_ASSIST_MASK_DATA_BIT_ASSIST (1 << 8) /* 0x0100 */
385#define GNSS_GEN_ASSIST_MASK_ACQUISITION (1 << 9) /* 0x0200 */
386#define GNSS_GEN_ASSIST_MASK_ALMANAC (1 <<10) /* 0x0400 */
387#define GNSS_GEN_ASSIST_MASK_UTC_MODEL (1 <<11) /* 0x0800 */
388#define GNSS_GEN_ASSIST_MASK_AUX_INFO (1 <<12) /* 0x1000 */
389#define GNSS_GEN_ASSIST_MASK_DBDS_CORRECTION (1 <<13) /* 0x2000 */
390#define GNSS_GEN_ASSIST_MASK_BDS_GRID_MODEL (1 <<14) /* 0x4000 */
391
392// LPPE HA Part
393#define MAX_ENUM_VALUE 2147483647
394
395#define GNSS_HA_COM_ASSIST_MASK_IONOSPHERE (1 << 15) /* 0x08000 */
396#define GNSS_HA_COM_ASSIST_MASK_TROPOSPHERE (1 << 16) /* 0x10000 */
397#define GNSS_HA_COM_ASSIST_MASK_ALTITUDE (1 << 17) /* 0x20000 */
398#define GNSS_HA_COM_ASSIST_MASK_SOLAR_RADIATION (1 << 18) /* 0x40000 */
399#define GNSS_HA_COM_ASSIST_MASK_CCP (1 << 19) /* 0x80000 */
400#define GNSS_HA_GEN_ASSIST_MASK_CCP (1 << 20) /* 0x100000 */
401#define GNSS_HA_GEN_ASSIST_MASK_DEGRADATION (1 << 21) /* 0x200000 */
402
403
404#define GNSS_ASSIST_MB_MANDATORY_MASK (GNSS_COM_ASSIST_MASK_REF_TIME | \
405 GNSS_COM_ASSIST_MASK_REF_LOCATION | \
406 GNSS_COM_ASSIST_MASK_IONOSPHERE | \
407 GNSS_COM_ASSIST_MASK_EARTH_ORIENT_PARAMS | \
408 GNSS_GEN_ASSIST_MASK_TIME_MODEL | \
409 GNSS_GEN_ASSIST_MASK_DGNSS_CORRECTION | \
410 GNSS_GEN_ASSIST_MASK_NAV_MODEL | \
411 GNSS_GEN_ASSIST_MASK_RTI | \
412 GNSS_GEN_ASSIST_MASK_DATA_BIT_ASSIST | \
413 GNSS_GEN_ASSIST_MASK_ALMANAC | \
414 GNSS_GEN_ASSIST_MASK_UTC_MODEL | \
415 GNSS_GEN_ASSIST_MASK_AUX_INFO | \
416 GNSS_GEN_ASSIST_MASK_DBDS_CORRECTION | \
417 GNSS_GEN_ASSIST_MASK_BDS_GRID_MODEL) /* 0x7DFF */
418
419
420#define GNSS_ASSIST_MA_MANDATORY_MASK (GNSS_COM_ASSIST_MASK_REF_TIME | \
421 GNSS_GEN_ASSIST_MASK_ACQUISITION | \
422 GNSS_GEN_ASSIST_MASK_AUX_INFO) /* 0x1201 */
423
424
425#define GNSS_ASSIST_TIME_INDEPENDENT_MASK (GNSS_COM_ASSIST_MASK_REF_LOCATION) /* 0x0002 */
426
427
428#define GNSS_LAST_SEC_TIME 1000
429#define GNSS_MDT_GPS_RESPONSE_TIME 1000
430#define GNSS_MDT_LBS_ERRC_PERIOD_TIME 1280
431#define GNSS_INIT_TIMER_INTERVAL 10000
432
433
434/* ---LPPe HA GNSS Interface--- maximum element definition */
435#define GNSS_HA_MAX_LOCAL_KLOBUCHAR_MODEL_ELEMENT 16
436#define GNSS_HA_MAX_LOCAL_KLOBUCHAR_MODEL 8
437#define GNSS_HA_MAX_STORM_ELEMENT 16
438#define GNSS_HA_MAX_LOCAL_TROPO_DELAY_AREA_ELEMENT 8
439#define GNSS_HA_MAX_LOCAL_TROPO_DELAY_TIME_ELEMENT 8
440#define GNSS_HA_MAX_LOCAL_SURFACE_PARAMS_ELEMENT 8
441#define GNSS_HA_MAX_LOCAL_SURFACE_PARAMS_TIME_ELEMENT 8
442#define GNSS_HA_MAX_ALTITUDE_ASSIST_AREA_ELEMENT 8
443#define GNSS_HA_MAX_PRESSURE_ASSIST_ELEMENT 16
444#define GNSS_HA_MAX_CCP_SIGNAL_SUPP_ELEMENT 8
445#define GNSS_HA_MAX_CCP_PREF_STATION_LIST_ELEMENT 8 /* OMA-TS-LPPe: maxReferenceStations */
446#define GNSS_HA_MAX_WA_IONO_SURF_PER_SV_ELEMENT 16 /* OMA-TS-LPPe: defines 64, reduce size to 16 */
447#define GNSS_HA_MAX_MECHANICS_SV_ELEMENT 16 /* OMA-TS-LPPe: defines 64, reduce size to 16 */
448#define GNSS_HA_MAX_DCB_LIST_ELEMENT 16 /* OMA-TS-LPPe: defines 64, reduce size to 16 */
449#define GNSS_HA_MAX_DCB_ELEMENT 16
450#define GNSS_HA_MAX_DEGRAD_MODEL_ELEMENT 16 /* OMA-TS-LPPe: defines 64, reduce size to 16 */
451#define GNSS_HA_MAX_CCP_GENERIC_ELEMENT 8
452#define GNSS_HA_MAX_CCP_PER_SIG_ELEMENT 8
453#define GNSS_HA_MAX_CCP_PER_SV_ELEMENT 16 /* OMA-TS-LPPe: defines 64, reduce size to 16 */
454#define GNSS_HA_MAX_REQ_NAV_MODEL_ID_ELEMENT 8
455#define GNSS_HA_MAX_MEAS_PER_GNSS_ELEMENT 16
456#define GNSS_HA_MAX_MEAS_PER_SIGNAL_ELEMENT 8
457#define GNSS_HA_MAX_MEAS_PER_SV_ELEMENT 16 /* OMA-TS-LPPe: defines 64, reduce size to 16 */
458#define GNSS_HA_MAX_TEC_PER_SV_ELEMENT 16 /* OMA-TS-LPPe: defines 64, reduce size to 16 */
459
460#define GNSS_HA_MAX_GNSS_GENERIC_ASSIST_DATA_ELEMENT 16
461#define GNSS_HA_MAX_GENERIC_AD_NAV_MODEL_ID_ELEMENT 8
462#define GNSS_HA_MAX_HA_GNSS_CAPA_ELEMENT 8
463
464
465/* ---LPPe HA GNSS Interface--- optional field validity bit definition */
466#define GNSS_HA_MAPPING_FUNC_PARAMS_BIT_BH_VALID 0x80
467#define GNSS_HA_MAPPING_FUNC_PARAMS_BIT_CH_VALID 0x40
468#define GNSS_HA_MAPPING_FUNC_PARAMS_BIT_AW_VALID 0x20
469#define GNSS_HA_MAPPING_FUNC_PARAMS_BIT_BW_VALID 0x10
470#define GNSS_HA_MAPPING_FUNC_PARAMS_BIT_CW_VALID 0x08
471
472#define GNSS_HA_LOCAL_TROPO_DELAY_TIME_ELEMENT_BIT_EH_VALID 0x80
473#define GNSS_HA_LOCAL_TROPO_DELAY_TIME_ELEMENT_BIT_ZW0_VALID 0x40
474#define GNSS_HA_LOCAL_TROPO_DELAY_TIME_ELEMENT_BIT_EW_VALID 0x20
475#define GNSS_HA_LOCAL_TROPO_DELAY_TIME_ELEMENT_BIT_GN_VALID 0x10
476#define GNSS_HA_LOCAL_TROPO_DELAY_TIME_ELEMENT_BIT_GE_VALID 0x08
477
478#define GNSS_HA_LOCAL_SURF_PARAMS_TIME_ELEMENT_BIT_GN_PRESSURE 0x80
479#define GNSS_HA_LOCAL_SURF_PARAMS_TIME_ELEMENT_BIT_GE_PRESSURE 0x40
480#define GNSS_HA_LOCAL_SURF_PARAMS_TIME_ELEMENT_BIT_TEMPERATURE 0x20
481#define GNSS_HA_LOCAL_SURF_PARAMS_TIME_ELEMENT_BIT_TEMPERATURE_RATE 0x10
482#define GNSS_HA_LOCAL_SURF_PARAMS_TIME_ELEMENT_BIT_GN_TEMPERATURE 0x08
483#define GNSS_HA_LOCAL_SURF_PARAMS_TIME_ELEMENT_BIT_GE_TEMPERATURE 0x04
484
485
486/* ---LPPe HA GNSS Interface--- bitmask field bit defintion */
487#define GNSS_HA_COMM_AD_REQ_IONO_BIT_KLOBUCHAR_MODEL 0x01
488#define GNSS_HA_COMM_AD_REQ_IONO_BIT_IONO_STORM_WARNING 0x02
489
490#define GNSS_HA_COMM_AD_REQ_TROPO_BIT_DELAY_LIST 0x01
491#define GNSS_HA_COMM_AD_REQ_TROPO_BIT_SURFACE_PARAMS 0x02
492
493#define GNSS_HA_IONO_MEAS_REQ_BIT_TEC_PER_SV 0x01
494#define GNSS_HA_IONO_MEAS_REQ_BIT_ZENITH_TEC 0x02
495
496#define GNSS_HA_COMM_IONO_AD_SUPP_BIT_LOCAL_KLOBUCHAR 0x01
497#define GNSS_HA_COMM_IONO_AD_SUPP_BIT_IONO_STORM_WARNING 0x02
498#define GNSS_HA_COMM_IONO_AD_SUPP_BIT_WIDE_AREA_IONO_SURFACE 0x04
499
500#define GNSS_HA_COMM_TROPO_AD_SUPP_BIT_LOCAL_TROPOSPHERE_DELAY 0x01
501#define GNSS_HA_COMM_TROPO_AD_SUPP_BIT_SURFACE_PARAMETERS 0x02
502#define GNSS_HA_COMM_TROPO_AD_SUPP_BIT_MULTI_GRID_POINTS 0x04
503
504#define GNSS_HA_COMM_CCP_AD_SUPP_BIT_SUPPORT_AREA_ASSIST 0x01
505#define GNSS_HA_COMM_CCP_AD_SUPP_BIT_MULTI_REF_STATION 0x02
506
507#define GNSS_HA_GENE_AD_SUPP_BIT_BIT_TEC_PER_SV 0x01
508#define GNSS_HA_GENE_AD_SUPP_BIT_BIT_ZENITH_TEC 0x02
509
510#define GNSS_HA_MODE_SUPPORT_BIT_UE_BASED 0x01
511#define GNSS_HA_MODE_SUPPORT_BIT_UE_ASSISTED 0x02
512
513#define GNSS_HA_ANT_SUPPORT_BIT_ANT_DESCRIPTION 0x01
514#define GNSS_HA_ANT_SUPPORT_BIT_ANT_ORIENTATION 0x02
515
516
517/* GNSS standard clock model element */
518#define ITEM_0_IS_INAV 0
519#define ITEM_1_IS_INAV 1
520#define ITEM_0_IS_FNAV 0
521#define ITEM_1_IS_FNAV 1
522#define STANDARD_CLOCK_MODEL_INAV 0
523#define STANDARD_CLOCK_MODEL_FNAV 1
524
525
526
527
528/* NNUM ********************************************************************/
529
530typedef enum
531{
532 GNSS_NETWORK_CELL_TYPE_NULL,
533 GNSS_NETWORK_CELL_TYPE_EUTRA,
534 GNSS_NETWORK_CELL_TYPE_UTRA,
535 GNSS_NETWORK_CELL_TYPE_GSM
536} gnss_network_cell_type_enum;
537
538
539typedef enum
540{
541 GNSS_ID_GPS,
542 GNSS_ID_SBAS,
543 GNSS_ID_QZSS,
544 GNSS_ID_GALILEO,
545 GNSS_ID_GLONASS,
546 GNSS_ID_BDS,
547 GNSS_ID_MAX = MAX_ENUM_VALUE
548} gnss_id_enum;
549
550
551typedef enum
552{
553 GNSS_TO_ID_GPS = 1,
554 GNSS_TO_ID_GALILEO,
555 GNSS_TO_ID_QZSS,
556 GNSS_TO_ID_GLONASS,
557 GNSS_TO_ID_BDS
558} gnss_to_id_enum;
559
560
561typedef enum
562{
563 SBAS_ID_WAAS,
564 SBAS_ID_EGNOS,
565 SBAS_ID_MSAS,
566 SBAS_ID_GAGAN
567} sbas_id_enum;
568
569
570typedef enum
571{
572 GNSS_COMMON_ASSIST_DATA_TYPE_REF_TIME,
573 GNSS_COMMON_ASSIST_DATA_TYPE_REF_LOCACTION,
574 GNSS_COMMON_ASSIST_DATA_TYPE_ION_MODEL,
575 GNSS_COMMON_ASSIST_DATA_TYPE_EARTH_ORIENT_PARAMS,
576 GNSS_COMMON_HA_ASSIST_DATA_TYPE_ION_MODEL,
577 GNSS_COMMON_HA_ASSIST_DATA_TYPE_TROPO_MODEL,
578 GNSS_COMMON_HA_ASSIST_DATA_TYPE_ALT,
579 GNSS_COMMON_HA_ASSIST_DATA_TYPE_SOLAR,
580 GNSS_COMMON_HA_ASSIST_DATA_TYPE_CCP
581} gnss_common_assist_data_type_enum;
582
583
584typedef enum
585{
586 GNSS_GENERIC_ASSIST_DATA_TYPE_TIME_MODEL,
587 GNSS_GENERIC_ASSIST_DATA_TYPE_DGNSS_CORRECTION,
588 GNSS_GENERIC_ASSIST_DATA_TYPE_NAVIGATION_MODEL,
589 GNSS_GENERIC_ASSIST_DATA_TYPE_RTI,
590 GNSS_GENERIC_ASSIST_DATA_TYPE_DATA_BIT_ASSIST,
591 GNSS_GENERIC_ASSIST_DATA_TYPE_ACQUISITION,
592 GNSS_GENERIC_ASSIST_DATA_TYPE_ALMANAC,
593 GNSS_GENERIC_ASSIST_DATA_TYPE_UTC_MODEL,
594 GNSS_GENERIC_ASSIST_DATA_TYPE_AUX_INFO,
595 GNSS_GENERIC_ASSIST_DATA_TYPE_DBDS_CORRECTION,
596 GNSS_GENERIC_ASSIST_DATA_TYPE_BDS_GRID_MODEL,
597 GNSS_GENERIC_HA_ASSIST_DATA_TYPE_CCP,
598 GNSS_GENERIC_HA_ASSIST_DATA_TYPE_DEGRADATION
599} gnss_generic_assist_data_type_enum;
600
601
602typedef enum
603{
604 GNSS_CLOCK_MODEL_TYPE_STANDARD,
605 GNSS_CLOCK_MODEL_TYPE_NAV,
606 GNSS_CLOCK_MODEL_TYPE_CNAV,
607 GNSS_CLOCK_MODEL_TYPE_GLONASS,
608 GNSS_CLOCK_MODEL_TYPE_SBAS,
609 GNSS_CLOCK_MODEL_TYPE_BDS
610} gnss_clock_model_type_enum;
611
612
613typedef enum
614{
615 GNSS_ORBIT_MODEL_TYPE_KEPLERIAN_SET,
616 GNSS_ORBIT_MODEL_TYPE_NAV_KEPLERIAN_SET,
617 GNSS_ORBIT_MODEL_TYPE_CNAV_KEPLERIAN_SET,
618 GNSS_ORBIT_MODEL_TYPE_GLONASS_ECEF,
619 GNSS_ORBIT_MODEL_TYPE_SBAS_ECEF,
620 GNSS_ORBIT_MODEL_TYPE_BDS_KEPLERIAN_SET
621} gnss_orbit_model_type_enum;
622
623
624typedef enum
625{
626 GNSS_NAV_MODEL_REQ_TYPE_STORED_NAV_LIST,
627 GNSS_NAV_MODEL_REQ_TYPE_REQ_NAV_LIST
628} gnss_nav_model_req_type_enum;
629
630typedef enum
631{
632 GNSS_ACQ_ASSIST_DOPPLER_UNCERTAINTY_EXT_ENUM_D60,
633 GNSS_ACQ_ASSIST_DOPPLER_UNCERTAINTY_EXT_ENUM_D80,
634 GNSS_ACQ_ASSIST_DOPPLER_UNCERTAINTY_EXT_ENUM_D100,
635 GNSS_ACQ_ASSIST_DOPPLER_UNCERTAINTY_EXT_ENUM_D120,
636 GNSS_ACQ_ASSIST_DOPPLER_UNCERTAINTY_EXT_ENUM_NO_INFO
637} gnss_acq_assist_doppler_uncertainty_ext_enum;
638
639
640typedef enum
641{
642 GNSS_ALMANAC_TYPE_KEPLERIAN_SET,
643 GNSS_ALMANAC_TYPE_NAV_KEPLERIAN_SET,
644 GNSS_ALMANAC_TYPE_REDUCED_KEPLERIAN_SET,
645 GNSS_ALMANAC_TYPE_MIDI_KEPLERIAN_SET,
646 GNSS_ALMANAC_TYPE_GLONASS_SET,
647 GNSS_ALMANAC_TYPE_ECEF_SBAS_SET,
648 GNSS_ALMANAC_TYPE_BDS_ALMANAC_SET
649} gnss_almanac_type_enum;
650
651
652typedef enum
653{
654 GNSS_UTC_MODEL_TYPE_MODEL1, /* GPS, Galileo, QZSS */
655 GNSS_UTC_MODEL_TYPE_MODEL2,
656 GNSS_UTC_MODEL_TYPE_MODEL3, /* GLONASS */
657 GNSS_UTC_MODEL_TYPE_MODEL4, /* SBAS */
658 GNSS_UTC_MODEL_TYPE_MODEL5 /* BDS */
659} gnss_utc_model_type_enum;
660
661
662typedef enum
663{
664 GNSS_AUX_INFO_GNSS_TYPE_GPS,
665 GNSS_AUX_INFO_GNSS_TYPE_GLONASS
666} gnss_aux_info_gnss_type_enum;
667
668
669typedef enum
670{
671 GNSS_POS_RESULT_TYPE_POS_CNF,
672 GNSS_POS_RESULT_TYPE_ASSIST_DATA_REQ
673} gnss_pos_result_type_enum;
674
675
676typedef enum
677{
678 GNSS_MEAS_RESULT_TYPE_MEAS_CNF,
679 GNSS_MEAS_RESULT_TYPE_ASSIST_DATA_REQ
680} gnss_meas_result_type_enum;
681
682
683typedef enum
684{
685 GNSS_LOC_RESULT_NULL,
686 GNSS_LOC_RESULT_NO_ERROR,
687 GNSS_LOC_RESULT_UNDEFINED,
688 GNSS_LOC_RESULT_REQ_TIMEOUT,
689 GNSS_LOC_RESULT_NOT_ENOUGH_SATELLITES,
690 GNSS_LOC_RESULT_ASSIST_DATA_MISSING, /* not used in POS(MEAS)_REQ/CNF primitive */
691
692 /* dedicated for RRLP */
693 GNSS_LOC_RESULT_METHOD_NOT_SUPPORTED,
694 GNSS_LOC_RESULT_REFERENCE_BTS_NOT_SERVING_BTS,
695
696 /* dedicated for RRC */
697 GNSS_LOC_RESULT_NOT_ACCOMPLISHED_TIMING_OF_CELL_FRAMES, /* similar to FINE_TIME_ASSISTANCE_MEASUREMENTS_NOT_POSSIBLE */
698 GNSS_LOC_RESULT_REFERENCE_CELL_NOT_SERVING_CELL, /* reference cell's SFN cannot be decoded */
699
700 /* dedicated for LPP */
701 GNSS_LOC_RESULT_FINE_TIME_ASSISTANCE_MEASUREMENTS_NOT_POSSIBLE, /* fineTimeAssistanceMeasurementsNotPossible IE present */
702 GNSS_LOC_RESULT_ADR_MEASUREMENTS_NOT_POSSIBLE, /* adrMeasurementsNotPossible IE present */
703 GNSS_LOC_RESULT_MULTI_FREQUENCY_MEASUREMENTS_NOT_POSSIBLE /* multiFrequencyMeasurementsNotPossible IE present */
704//#ifdef __EARLY_FIX_SUPPORT__
705 ,GNSS_LOC_RESULT_EARLY_FIX, /* Early fix result */
706 GNSS_LOC_RESULT_EARLY_FIX_NO_RESULT /* Early fix no result */
707//#endif
708} gnss_loc_result_enum;
709
710
711typedef enum {
712 TIME_SIB_RESULT_OK =0, /* ERRC/EL1 reported useful info, check fields in lbs_errc_read_time_sib_ind_struct */
713 TIME_SIB_RESULT_NOT_TRY =1, /* No valid SIB info, and LBS doesn��t need to try again */
714 TIME_SIB_RESULT_RE_TRY =2, /* No valid SIB info, and LBS may try again */
715 TIME_SIB_RESULT_TIMEOUT =3 /* While trying to read SIB for time sync, guard timer timeouts(2s), Can retry, ask ERRC for further check*/
716} time_sib_result_enum;
717
718
719typedef enum {
720 TIME_SIB_CDMA_SYS_TIME_SYNC =0,
721 TIME_SIB_CDMA_SYS_TIME_ASYNC =1
722} time_sib_cdma_sys_time_type_enum;
723
724
725typedef enum {
726 GNSS_TIME,
727 GPS_TIME,
728 UTC_TIME
729} frame_sync_pulse_time_type_enum;
730
731typedef enum{
732 ERRC_MDT_NO_REPORT_LOCATION,
733 ERRC_MDT_REQUEST_STORE_LOCATION, /* ERRC request report stored location, LBS will determine report mode by ERRC request and User location setting. */
734 ERRC_MDT_REQUEST_OPEN_GPS /* ERRC request report GPS, LBS will determine report mode by ERRC request and User location setting. */
735} errc_lbs_gnss_pos_mdt_type_enum;
736
737
738/* ---LPPe HA GNSS Interface--- */
739typedef enum
740{
741 GNSS_HA_IONO_MODEL_TYPE_STATIC_MODEL,
742 GNSS_HA_IONO_MODEL_TYPE_PERIODIC_MODEL,
743 GNSS_HA_IONO_MODEL_TYPE_MAX = MAX_ENUM_VALUE
744} gnss_ha_iono_model_type_enum;
745
746
747typedef enum
748{
749 GNSS_HA_COMMON_ASSIST_DATA_TYPE_IONO_MODEL,
750 GNSS_HA_COMMON_ASSIST_DATA_TYPE_TROPO_MODEL,
751 GNSS_HA_COMMON_ASSIST_DATA_TYPE_ALTITUDE,
752 GNSS_HA_COMMON_ASSIST_DATA_TYPE_SOLAR_RAD,
753 GNSS_HA_COMMON_ASSIST_DATA_TYPE_CCP_ASSIST,
754 GNSS_HA_COMMON_ASSIST_DATA_TYPE_MAX = MAX_ENUM_VALUE
755} gnss_ha_common_assist_data_type_enum;
756
757
758typedef enum
759{
760 GNSS_HA_GENERIC_ASSIST_DATA_TYPE_WA_ION_SURF,
761 GNSS_HA_GENERIC_ASSIST_DATA_TYPE_SV_MECHANICS,
762 GNSS_HA_GENERIC_ASSIST_DATA_TYPE_SV_DCB,
763 GNSS_HA_GENERIC_ASSIST_DATA_TYPE_DEGRAD_MODEL,
764 GNSS_HA_GENERIC_ASSIST_DATA_TYPE_CCP_ASSIST,
765 GNSS_HA_GENERIC_ASSIST_DATA_TYPE_NAV_MODEL,
766 GNSS_HA_GENERIC_ASSIST_DATA_TYPE_MAX = MAX_ENUM_VALUE
767} gnss_ha_generic_assist_data_type_enum;
768
769
770typedef enum
771{
772 GNSS_HA_CCP_ASSIST_COMMON_TYPE_COMMOM,
773 GNSS_HA_CCP_ASSIST_COMMON_TYPE_CONTROL,
774 GNSS_HA_CCP_ASSIST_COMMON_TYPE_MAX = MAX_ENUM_VALUE
775} gnss_ha_ccp_assist_common_type_enum;
776
777
778typedef enum
779{
780 GNSS_HA_SV_TYPE_GPS_IIR,
781 GNSS_HA_SV_TYPE_GPS_IIRM,
782 GNSS_HA_SV_TYPE_GPS_IIF,
783 GNSS_HA_SV_TYPE_GPS_III,
784 GNSS_HA_SV_TYPE_GLONASS_M,
785 GNSS_HA_SV_TYPE_GLONASS_K1,
786 GNSS_HA_SV_TYPE_GLONASS_K2,
787 GNSS_HA_SV_TYPE_GLONASS_KM,
788 GNSS_HA_SV_TYPE_UNKNOWN,
789 GNSS_HA_SV_TYPE_MAX = MAX_ENUM_VALUE
790} gnss_ha_sv_type_enum;
791
792
793typedef enum
794{
795 GNSS_HA_DCB_REF_PD_PILOT,
796 GNSS_HA_DCB_REF_PD_DATA,
797 GNSS_HA_DCB_REF_PD_NOT_APPLICABLE,
798 GNSS_HA_DCB_REF_MAX = MAX_ENUM_VALUE
799} gnss_ha_dcb_ref_pd_enum;
800
801
802typedef enum
803{
804 GNSS_HA_CODE_PHASE_ERR_TYPE_RMS,
805 GNSS_HA_CODE_PHASE_ERR_TYPE_CNR,
806 GNSS_HA_CODE_PHASE_ERR_TYPE_MAX = MAX_ENUM_VALUE
807} gnss_ha_code_phase_err_type_enum;
808
809
810typedef enum
811{
812 GNSS_HA_AGNSS_QOR_TYPE_10_M,
813 GNSS_HA_AGNSS_QOR_TYPE_1_KM,
814 GNSS_HA_AGNSS_QOR_TYPE_10_KM,
815 GNSS_HA_AGNSS_QOR_TYPE_100_KM,
816 GNAA_HA_AGNSS_QOR_TYPE_MAX = MAX_ENUM_VALUE
817} gnss_ha_agnss_qor_type_enum;
818
819
820typedef enum
821{
822 GNSS_HA_HORI_UNC_TYPE_CEP,
823 GNSS_HA_HORI_UNC_TYPE_ELLIPSE,
824 GNSS_HA_HORI_UNC_TYPE_MAX = MAX_ENUM_VALUE
825} gnss_ha_hori_unc_type_enum;
826
827
828typedef enum
829{
830 GNSS_HA_MULTIPATH_DETECTION_TYPE_LOW,
831 GNSS_HA_MULTIPATH_DETECTION_TYPE_MODERATE,
832 GNSS_HA_MULTIPATH_DETECTION_TYPE_HIGH,
833 GNSS_HA_MULTIPATH_DETECTION_TYPE_NOT_MEASURED,
834 GNSS_HA_MULTIPATH_DETECTION_TYPE_MAX = MAX_ENUM_VALUE
835} gnss_ha_multipath_detect_type_enum;
836
837
838typedef enum
839{
840 GNSS_HA_TGT_ERR_CAUSE_UNDEFINED,
841 GNSS_HA_TGT_ERR_CAUSE_HA_METHOD_NOT_SUPPORTED,
842 GNSS_HA_TGT_ERR_CAUSE_MAX = MAX_ENUM_VALUE
843} gnss_ha_tgt_err_cause_enum;
844
845
846typedef enum
847{
848 GNSS_HA_TGT_IONO_MEAS_ERR_CAUSE_UNDEFINED,
849 GNSS_HA_TGT_IONO_MEAS_ERR_CAUSE_IONO_MEAS_NOT_SUPPORTED,
850 GNSS_HA_TGT_IONO_MEAS_ERR_CAUSE_IONO_MEAS_NOT_AVAILABLE,
851 GNSS_HA_TGT_IONO_MEAS_ERR_CAUSE_MAX = MAX_ENUM_VALUE
852} gnss_ha_tgt_iono_meas_err_cause_enum;
853
854typedef enum
855{
856 GNSS_HA_TGT_ENV_OBSERVE_ERR_CAUSE_UNDEFINED,
857 GNSS_HA_TGT_ENV_OBSERVE_ERR_CAUSE_SURF_MEAS_NOT_SUPPORTED,
858 GNSS_HA_TGT_ENV_OBSERVE_ERR_CAUSE_SURF_MEAS_NOT_AVAILABLE,
859 GNSS_HA_TGT_ENV_OBSERVE_ERR_CAUSE_MAX = MAX_ENUM_VALUE
860} gnss_ha_tgt_env_observe_err_cause_enum;
861
862
863typedef enum
864{
865 GNSS_HA_TGT_GNSS_ERR_CAUSE_UNDEFINED,
866 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_NOT_SUPPORTED_BY_TARGET,
867 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_UNAVAILABLE_FOR_ALL_REQUESTED_SIGNALS,
868 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_ANTENNA_INFO_NOT_SUPPORTED,
869 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_ANTENNA_INFO_NOT_AVAILABLE,
870 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_PRESSURE_INFO_NOT_SUPPORTED,
871 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_PRESSURE_INFO_NOT_AVAILABLE,
872 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_UNABLE_TO_MODIFY_CTRL_PARAMS,
873 GNSS_HA_TGT_GNSS_ERR_CAUSE_GNSS_MAX = MAX_ENUM_VALUE
874} gnss_ha_tgt_gnss_err_cause_enum;
875
876
877typedef enum
878{
879 GNSS_HA_REQ_CCP_REF_STATION_TYPE_POS_BASED,
880 GNSS_HA_REQ_CCP_REF_STATION_TYPE_ID_BASED,
881 GNSS_HA_REQ_CCP_REF_STATION_TYPE_KILL_LIST,
882 GNSS_HA_REQ_CCP_REF_STATION_TYPE_MAX = MAX_ENUM_VALUE
883} gnss_ha_req_ccp_ref_station_type_enum;
884
885
886typedef enum
887{
888 GNSS_HA_RleIonoElement_ionoIndex_noaaScales_selected = 1,
889 GNSS_HA_RleIonoElement_ionoIndex_UnKnowItem_selected,
890 GNSS_HA_RleIonoElement_ionoIndex_MAX = MAX_ENUM_VALUE
891} gnss_ha_rle_iono_element_selector_enum;
892
893
894typedef enum
895{
896 GNSS_HA_NOAASCALES_G1,
897 GNSS_HA_NOAASCALES_G2,
898 GNSS_HA_NOAASCALES_G3,
899 GNSS_HA_NOAASCALES_G4,
900 GNSS_HA_NOAASCALES_G5,
901 GNSS_HA_NOAASCALES_UNKNOWN,
902 GNSS_HA_NOAASCALES_NONE,
903 GNSS_HA_NOAASCALES_MAX = MAX_ENUM_VALUE
904} gnss_ha_noaa_scales_enum;
905
906
907typedef enum
908{
909 GNSS_HA_ELLIPSOID_POINT_LATITUDESIGN_NORTH,
910 GNSS_HA_ELLIPSOID_POINT_LATITUDESIGN_SOUTH,
911 GNSS_HA_ELLIPSOID_POINT_LATITUDESIGN_MAX = MAX_ENUM_VALUE
912} gnss_ha_ellopsoid_point_latitude_sign_enum;
913
914
915typedef enum
916{
917 GNSS_HA_ANTENNA_DESCRIPTION_IGS_ANTENNA_NAME_SELECTED = 1,
918 GNSS_HA_ANTENNA_DESCRIPTION_PROPRIETARY_NAME_SELECTED,
919 GNSS_HA_ANTENNA_DESCRIPTION_UNKNOWN_ITEM_SELECTED,
920 GNSS_HA_ANTENNA_DESCRIPTION_MAX = MAX_ENUM_VALUE
921} gnss_ha_antenna_description_selector_enum;
922
923
924typedef enum
925{
926 GNSS_HA_NAVMODEL_COORDINATE_BASED_REFERENCED_TO_CENTER_OF_MASS,
927 GNSS_HA_NavModel_COORDINATE_BASED_REFERENCED_TO_ANTENNA_PHASE_CENTER,
928 GNSS_HA_NavModel_COORDINATE_BASED_REFERENCED_TO_MAX = MAX_ENUM_VALUE
929} gnss_ha_nav_model_coordinate_based_referenced_enum;
930
931typedef enum
932{
933 LIST_GPS_ASSIST_ALMANAC,
934 LIST_GPS_ASSIST_NAVIGATION_MODEL,
935 LIST_GPS_ASSIST_REF_LOCATION,
936 LIST_GNSS_COMMON_ASSIST_DATA_REF_LOCACTION,
937 LIST_GNSS_GENERIC_ASSIST_DATA_NAVIGATION_MODEL,
938 LIST_GNSS_GENERIC_ASSIST_DATA_ALMANAC,
939
940 LIST_GPS_GNSS_ASSIST_DATA_TYPE_MAX
941} list_gps_gnss_assist_data_type_enum;
942
943#endif /* _GNSS2LCSP_ENUM_H_ */
944