rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | /****************************************************************************** |
| 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 | |
| 530 | typedef 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 | |
| 539 | typedef 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 | |
| 551 | typedef 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 | |
| 561 | typedef enum |
| 562 | { |
| 563 | SBAS_ID_WAAS, |
| 564 | SBAS_ID_EGNOS, |
| 565 | SBAS_ID_MSAS, |
| 566 | SBAS_ID_GAGAN |
| 567 | } sbas_id_enum; |
| 568 | |
| 569 | |
| 570 | typedef 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 | |
| 584 | typedef 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 | |
| 602 | typedef 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 | |
| 613 | typedef 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 | |
| 624 | typedef 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 | |
| 630 | typedef 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 | |
| 640 | typedef 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 | |
| 652 | typedef 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 | |
| 662 | typedef 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 | |
| 669 | typedef 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 | |
| 676 | typedef 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 | |
| 683 | typedef 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 | |
| 711 | typedef 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 | |
| 719 | typedef 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 | |
| 725 | typedef enum { |
| 726 | GNSS_TIME, |
| 727 | GPS_TIME, |
| 728 | UTC_TIME |
| 729 | } frame_sync_pulse_time_type_enum; |
| 730 | |
| 731 | typedef 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--- */ |
| 739 | typedef 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 | |
| 747 | typedef 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 | |
| 758 | typedef 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 | |
| 770 | typedef 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 | |
| 778 | typedef 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 | |
| 793 | typedef 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 | |
| 802 | typedef 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 | |
| 810 | typedef 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 | |
| 820 | typedef 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 | |
| 828 | typedef 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 | |
| 838 | typedef 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 | |
| 846 | typedef 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 | |
| 854 | typedef 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 | |
| 863 | typedef 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 | |
| 877 | typedef 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 | |
| 886 | typedef 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 | |
| 894 | typedef 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 | |
| 907 | typedef 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 | |
| 915 | typedef 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 | |
| 924 | typedef 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 | |
| 931 | typedef 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 | |