Add additional parameters in gps extended file
Change-Id: I667b999dc164184d84aac0c5b6c1f3b2e9c761ea CRs-Fixed: 2183994
This commit is contained in:
parent
87c52f1f37
commit
7f9ce9ddd0
1 changed files with 203 additions and 2 deletions
|
@ -105,6 +105,7 @@ typedef uint32_t LocPosTechMask;
|
||||||
#define LOC_POS_TECH_MASK_INJECTED_COARSE_POSITION ((LocPosTechMask)0x00000020)
|
#define LOC_POS_TECH_MASK_INJECTED_COARSE_POSITION ((LocPosTechMask)0x00000020)
|
||||||
#define LOC_POS_TECH_MASK_AFLT ((LocPosTechMask)0x00000040)
|
#define LOC_POS_TECH_MASK_AFLT ((LocPosTechMask)0x00000040)
|
||||||
#define LOC_POS_TECH_MASK_HYBRID ((LocPosTechMask)0x00000080)
|
#define LOC_POS_TECH_MASK_HYBRID ((LocPosTechMask)0x00000080)
|
||||||
|
#define LOC_POS_TECH_MASK_PPE ((LocPosTechMask)0x00000100)
|
||||||
|
|
||||||
enum loc_registration_mask_status {
|
enum loc_registration_mask_status {
|
||||||
LOC_REGISTRATION_MASK_ENABLED,
|
LOC_REGISTRATION_MASK_ENABLED,
|
||||||
|
@ -305,6 +306,30 @@ typedef uint32_t GpsLocationExtendedFlags;
|
||||||
#define GPS_LOCATION_EXTENDED_HAS_GPS_TIME 0x20000
|
#define GPS_LOCATION_EXTENDED_HAS_GPS_TIME 0x20000
|
||||||
/** GpsLocationExtended has Extended Dilution of Precision */
|
/** GpsLocationExtended has Extended Dilution of Precision */
|
||||||
#define GPS_LOCATION_EXTENDED_HAS_EXT_DOP 0x40000
|
#define GPS_LOCATION_EXTENDED_HAS_EXT_DOP 0x40000
|
||||||
|
/** GpsLocationExtended has North standard deviation */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_NORTH_STD_DEV 0x80000
|
||||||
|
/** GpsLocationExtended has East standard deviation*/
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_EAST_STD_DEV 0x100000
|
||||||
|
/** GpsLocationExtended has North Velocity */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_NORTH_VEL 0x200000
|
||||||
|
/** GpsLocationExtended has East Velocity */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_EAST_VEL 0x400000
|
||||||
|
/** GpsLocationExtended has up Velocity */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_UP_VEL 0x800000
|
||||||
|
/** GpsLocationExtended has North Velocity Uncertainty */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_NORTH_VEL_UNC 0x1000000
|
||||||
|
/** GpsLocationExtended has East Velocity Uncertainty */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_EAST_VEL_UNC 0x2000000
|
||||||
|
/** GpsLocationExtended has up Velocity Uncertainty */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_UP_VEL_UNC 0x4000000
|
||||||
|
/** GpsLocationExtended has up Clock Bias */
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_CLOCK_BIAS 0x8000000
|
||||||
|
/** GpsLocationExtended has up Clock Bias std deviation*/
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_CLOCK_BIAS_STD_DEV 0x10000000
|
||||||
|
/** GpsLocationExtended has up Clock drift*/
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_CLOCK_DRIFT 0x20000000
|
||||||
|
/** GpsLocationExtended has up Clock drift std deviation**/
|
||||||
|
#define GPS_LOCATION_EXTENDED_HAS_CLOCK_DRIFT_STD_DEV 0x40000000
|
||||||
|
|
||||||
typedef uint32_t LocNavSolutionMask;
|
typedef uint32_t LocNavSolutionMask;
|
||||||
/* Bitmask to specify whether SBAS ionospheric correction is used */
|
/* Bitmask to specify whether SBAS ionospheric correction is used */
|
||||||
|
@ -315,6 +340,12 @@ typedef uint32_t LocNavSolutionMask;
|
||||||
#define LOC_NAV_MASK_SBAS_CORRECTION_LONG ((LocNavSolutionMask)0x0004)
|
#define LOC_NAV_MASK_SBAS_CORRECTION_LONG ((LocNavSolutionMask)0x0004)
|
||||||
/**< Bitmask to specify whether SBAS integrity information is used */
|
/**< Bitmask to specify whether SBAS integrity information is used */
|
||||||
#define LOC_NAV_MASK_SBAS_INTEGRITY ((LocNavSolutionMask)0x0008)
|
#define LOC_NAV_MASK_SBAS_INTEGRITY ((LocNavSolutionMask)0x0008)
|
||||||
|
/**< Bitmask to specify whether Position Report is DGNSS corrected */
|
||||||
|
#define LOC_NAV_MASK_DGNSS_CORRECTION ((LocNavSolutionMask)0x0010)
|
||||||
|
/**< Bitmask to specify whether Position Report is RTK corrected */
|
||||||
|
#define LOC_NAV_MASK_RTK_CORRECTION ((LocNavSolutionMask)0x0020)
|
||||||
|
/**< Bitmask to specify whether Position Report is PPP corrected */
|
||||||
|
#define LOC_NAV_MASK_PPP_CORRECTION ((LocNavSolutionMask)0x0040)
|
||||||
|
|
||||||
typedef uint32_t LocPosDataMask;
|
typedef uint32_t LocPosDataMask;
|
||||||
/* Bitmask to specify whether Navigation data has Forward Acceleration */
|
/* Bitmask to specify whether Navigation data has Forward Acceleration */
|
||||||
|
@ -425,12 +456,123 @@ typedef struct {
|
||||||
uint32_t gpsTimeOfWeekMs;
|
uint32_t gpsTimeOfWeekMs;
|
||||||
}GPSTimeStruct;
|
}GPSTimeStruct;
|
||||||
|
|
||||||
|
typedef uint8_t CarrierPhaseAmbiguityType;
|
||||||
|
#define CARRIER_PHASE_AMBIGUITY_RESOLUTION_NONE ((CarrierPhaseAmbiguityType)0)
|
||||||
|
#define CARRIER_PHASE_AMBIGUITY_RESOLUTION_FLOAT ((CarrierPhaseAmbiguityType)1)
|
||||||
|
#define CARRIER_PHASE_AMBIGUITY_RESOLUTION_FIXED ((CarrierPhaseAmbiguityType)2)
|
||||||
|
|
||||||
|
/** GNSS Signal Type and RF Band */
|
||||||
|
typedef uint32_t GnssSignalTypeMask;
|
||||||
|
/** GPS L1CA Signal */
|
||||||
|
#define GNSS_SIGNAL_GPS_L1CA ((GnssSignalTypeMask)0x00000001ul)
|
||||||
|
/** GPS L1C Signal */
|
||||||
|
#define GNSS_SIGNAL_GPS_L1C ((GnssSignalTypeMask)0x00000002ul)
|
||||||
|
/** GPS L2 RF Band */
|
||||||
|
#define GNSS_SIGNAL_GPS_L2 ((GnssSignalTypeMask)0x00000004ul)
|
||||||
|
/** GPS L5 RF Band */
|
||||||
|
#define GNSS_SIGNAL_GPS_L5 ((GnssSignalTypeMask)0x00000008ul)
|
||||||
|
/** GLONASS G1 (L1OF) RF Band */
|
||||||
|
#define GNSS_SIGNAL_GLONASS_G1 ((GnssSignalTypeMask)0x00000010ul)
|
||||||
|
/** GLONASS G2 (L2OF) RF Band */
|
||||||
|
#define GNSS_SIGNAL_GLONASS_G2 ((GnssSignalTypeMask)0x00000020ul)
|
||||||
|
/** GALILEO E1 RF Band */
|
||||||
|
#define GNSS_SIGNAL_GALILEO_E1 ((GnssSignalTypeMask)0x00000040ul)
|
||||||
|
/** GALILEO E5A RF Band */
|
||||||
|
#define GNSS_SIGNAL_GALILEO_E5A ((GnssSignalTypeMask)0x00000080ul)
|
||||||
|
/** GALILEO E5B RF Band */
|
||||||
|
#define GNSS_SIGNAL_GALILIEO_E5B ((GnssSignalTypeMask)0x00000100ul)
|
||||||
|
/** BEIDOU B1 RF Band */
|
||||||
|
#define GNSS_SIGNAL_BEIDOU_B1 ((GnssSignalTypeMask)0x00000200ul)
|
||||||
|
/** BEIDOU B2 RF Band */
|
||||||
|
#define GNSS_SIGNAL_BEIDOU_B2 ((GnssSignalTypeMask)0x00000400ul)
|
||||||
|
/** QZSS L1CA RF Band */
|
||||||
|
#define GNSS_SIGNAL_QZSS_L1CA ((GnssSignalTypeMask)0x00000800ul)
|
||||||
|
/** QZSS L1S RF Band */
|
||||||
|
#define GNSS_SIGNAL_QZSS_L1S ((GnssSignalTypeMask)0x00001000ul)
|
||||||
|
/** QZSS L2 RF Band */
|
||||||
|
#define GNSS_SIGNAL_QZSS_L2 ((GnssSignalTypeMask)0x00002000ul)
|
||||||
|
/** QZSS L5 RF Band */
|
||||||
|
#define GNSS_SIGNAL_QZSS_L5 ((GnssSignalTypeMask)0x00004000ul)
|
||||||
|
/** SBAS L1 RF Band */
|
||||||
|
#define GNSS_SIGNAL_SBAS_L1 ((GnssSignalTypeMask)0x00008000ul)
|
||||||
|
|
||||||
|
typedef uint16_t GnssMeasUsageStatusBitMask;
|
||||||
|
/** Used in fix */
|
||||||
|
#define GNSS_MEAS_USED_IN_PVT ((GnssMeasUsageStatusBitMask)0x00000001ul)
|
||||||
|
/** Measurement is Bad */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_BAD_MEAS ((GnssMeasUsageStatusBitMask)0x00000002ul)
|
||||||
|
/** Measurement has too low C/N */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_CNO_TOO_LOW ((GnssMeasUsageStatusBitMask)0x00000004ul)
|
||||||
|
/** Measurement has too low elevation */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_ELEVATION_TOO_LOW ((GnssMeasUsageStatusBitMask)0x00000008ul)
|
||||||
|
/** No ephemeris available for this measurement */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_NO_EPHEMERIS ((GnssMeasUsageStatusBitMask)0x00000010ul)
|
||||||
|
/** No corrections available for the measurement */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_NO_CORRECTIONS ((GnssMeasUsageStatusBitMask)0x00000020ul)
|
||||||
|
/** Corrections has timed out for the measurement */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_CORRECTION_TIMEOUT ((GnssMeasUsageStatusBitMask)0x00000040ul)
|
||||||
|
/** Measurement is unhealthy */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_UNHEALTHY ((GnssMeasUsageStatusBitMask)0x00000080ul)
|
||||||
|
/** Configuration is disabled for this measurement */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_CONFIG_DISABLED ((GnssMeasUsageStatusBitMask)0x00000100ul)
|
||||||
|
/** Measurement not used for other reasons */
|
||||||
|
#define GNSS_MEAS_USAGE_STATUS_OTHER ((GnssMeasUsageStatusBitMask)0x00000200ul)
|
||||||
|
|
||||||
|
/** Flags to indicate valid fields in epMeasUsageInfo */
|
||||||
|
typedef uint16_t GnssMeasUsageInfoValidityMask;
|
||||||
|
#define GNSS_PSEUDO_RANGE_RESIDUAL_VALID ((GnssMeasUsageInfoValidityMask)0x00000001ul)
|
||||||
|
#define GNSS_DOPPLER_RESIDUAL_VALID ((GnssMeasUsageInfoValidityMask)0x00000002ul)
|
||||||
|
#define GNSS_CARRIER_PHASE_RESIDUAL_VALID ((GnssMeasUsageInfoValidityMask)0x00000004ul)
|
||||||
|
#define GNSS_CARRIER_PHASE_AMBIGUITY_TYPE_VALID ((GnssMeasUsageInfoValidityMask)0x00000008ul)
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/** Specifies GNSS signal type
|
||||||
|
Mandatory Field*/
|
||||||
|
GnssSignalTypeMask gnssSignalType;
|
||||||
|
/** Specifies GNSS Constellation Type
|
||||||
|
Mandatory Field*/
|
||||||
|
Gnss_LocSvSystemEnumType gnssConstellation;
|
||||||
|
/** GNSS SV ID.
|
||||||
|
For GPS: 1 to 32
|
||||||
|
For GLONASS: 65 to 96. When slot-number to SV ID mapping is unknown, set as 255.
|
||||||
|
For SBAS: 120 to 151
|
||||||
|
For QZSS-L1CA:193 to 197
|
||||||
|
For BDS: 201 to 237
|
||||||
|
For GAL: 301 to 336 */
|
||||||
|
uint16_t gnssSvId;
|
||||||
|
/** GLONASS frequency number + 7.
|
||||||
|
Valid only for a GLONASS system and
|
||||||
|
is to be ignored for all other systems.
|
||||||
|
Range: 1 to 14 */
|
||||||
|
uint8_t gloFrequency;
|
||||||
|
/** Carrier phase ambiguity type. */
|
||||||
|
CarrierPhaseAmbiguityType carrierPhaseAmbiguityType;
|
||||||
|
/** Validity mask */
|
||||||
|
GnssMeasUsageStatusBitMask measUsageStatusMask;
|
||||||
|
/** Specifies measurement usage status
|
||||||
|
Mandatory Field*/
|
||||||
|
GnssMeasUsageInfoValidityMask validityMask;
|
||||||
|
/** Computed pseudorange residual.
|
||||||
|
Unit: Meters */
|
||||||
|
float pseudorangeResidual;
|
||||||
|
/** Computed doppler residual.
|
||||||
|
Unit: Meters/sec*/
|
||||||
|
float dopplerResidual;
|
||||||
|
/** Computed carrier phase residual.
|
||||||
|
Unit: Cycles*/
|
||||||
|
float carrierPhaseResidual;
|
||||||
|
/** Carrier phase ambiguity value.
|
||||||
|
Unit: Cycles*/
|
||||||
|
float carrierPhasAmbiguity;
|
||||||
|
} GpsMeasUsageInfo;
|
||||||
|
|
||||||
|
|
||||||
/** Represents gps location extended. */
|
/** Represents gps location extended. */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/** set to sizeof(GpsLocationExtended) */
|
/** set to sizeof(GpsLocationExtended) */
|
||||||
size_t size;
|
size_t size;
|
||||||
/** Contains GpsLocationExtendedFlags bits. */
|
/** Contains GpsLocationExtendedFlags bits. */
|
||||||
uint32_t flags;
|
uint64_t flags;
|
||||||
/** Contains the Altitude wrt mean sea level */
|
/** Contains the Altitude wrt mean sea level */
|
||||||
float altitudeMeanSeaLevel;
|
float altitudeMeanSeaLevel;
|
||||||
/** Contains Position Dilusion of Precision. */
|
/** Contains Position Dilusion of Precision. */
|
||||||
|
@ -471,8 +613,52 @@ typedef struct {
|
||||||
LocPositionDynamics bodyFrameData;
|
LocPositionDynamics bodyFrameData;
|
||||||
/** GPS Time */
|
/** GPS Time */
|
||||||
GPSTimeStruct gpsTime;
|
GPSTimeStruct gpsTime;
|
||||||
|
GnssSystemTime gnssSystemTime;
|
||||||
/** Dilution of precision associated with this position*/
|
/** Dilution of precision associated with this position*/
|
||||||
LocExtDOP extDOP;
|
LocExtDOP extDOP;
|
||||||
|
/** North standard deviation.
|
||||||
|
Unit: Meters */
|
||||||
|
float northStdDeviation;
|
||||||
|
/** East standard deviation.
|
||||||
|
Unit: Meters */
|
||||||
|
float eastStdDeviation;
|
||||||
|
/** North Velocity.
|
||||||
|
Unit: Meters/sec */
|
||||||
|
float northVelocity;
|
||||||
|
/** East Velocity.
|
||||||
|
Unit: Meters/sec */
|
||||||
|
float eastVelocity;
|
||||||
|
/** Up Velocity.
|
||||||
|
Unit: Meters/sec */
|
||||||
|
float upVelocity;
|
||||||
|
/** North Velocity standard deviation.
|
||||||
|
Unit: Meters/sec */
|
||||||
|
float northVelocityStdDeviation;
|
||||||
|
/** East Velocity standard deviation.
|
||||||
|
Unit: Meters/sec */
|
||||||
|
float eastVelocityStdDeviation;
|
||||||
|
/** Up Velocity standard deviation
|
||||||
|
Unit: Meters/sec */
|
||||||
|
float upVelocityStdDeviation;
|
||||||
|
/** Estimated clock bias. Unit: Nano seconds */
|
||||||
|
float clockbiasMeter;
|
||||||
|
/** Estimated clock bias std deviation. Unit: Nano seconds */
|
||||||
|
float clockBiasStdDeviationMeter;
|
||||||
|
/** Estimated clock drift. Unit: Meters/sec */
|
||||||
|
float clockDrift;
|
||||||
|
/** Estimated clock drift std deviation. Unit: Meters/sec */
|
||||||
|
float clockDriftStdDeviation;
|
||||||
|
/** Number of valid reference stations. Range:[0-4] */
|
||||||
|
uint8_t numValidRefStations;
|
||||||
|
/** Reference station(s) number */
|
||||||
|
uint16_t referenceStation[4];
|
||||||
|
/** Number of measurements received for use in fix.
|
||||||
|
Shall be used as maximum index in-to svUsageInfo[].
|
||||||
|
Set to 0, if svUsageInfo reporting is not supported.
|
||||||
|
Range: 0-EP_GNSS_MAX_MEAS */
|
||||||
|
uint8_t numOfMeasReceived;
|
||||||
|
/** Measurement Usage Information */
|
||||||
|
GpsMeasUsageInfo measUsageInfo[GNSS_SV_MAX];
|
||||||
} GpsLocationExtended;
|
} GpsLocationExtended;
|
||||||
|
|
||||||
enum loc_sess_status {
|
enum loc_sess_status {
|
||||||
|
@ -955,7 +1141,6 @@ typedef enum
|
||||||
/**< SV is being tracked */
|
/**< SV is being tracked */
|
||||||
}Gnss_LocSvSearchStatusEnumT;
|
}Gnss_LocSvSearchStatusEnumT;
|
||||||
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
size_t size;
|
size_t size;
|
||||||
|
@ -1080,6 +1265,19 @@ typedef struct
|
||||||
/**< Satellite Elevation
|
/**< Satellite Elevation
|
||||||
- Units: radians \n
|
- Units: radians \n
|
||||||
*/
|
*/
|
||||||
|
uint64_t validMeasStatusMask;
|
||||||
|
/**< Bitmask indicating SV measurement status Validity.
|
||||||
|
Valid bitmasks: \n
|
||||||
|
If any MSB bit in 0xFFC0000000000000 DONT_USE is set, the measurement
|
||||||
|
must not be used by the client.
|
||||||
|
@MASK()
|
||||||
|
*/
|
||||||
|
bool carrierPhaseUncValid;
|
||||||
|
/**< Validity flag for SV direction */
|
||||||
|
|
||||||
|
float carrierPhaseUnc;
|
||||||
|
|
||||||
|
|
||||||
} Gnss_SVMeasurementStructType;
|
} Gnss_SVMeasurementStructType;
|
||||||
|
|
||||||
/**< Maximum number of satellites in measurement block for given system. */
|
/**< Maximum number of satellites in measurement block for given system. */
|
||||||
|
@ -1141,6 +1339,9 @@ typedef struct
|
||||||
bool gnssMeasValid;
|
bool gnssMeasValid;
|
||||||
Gnss_ClockMeasurementStructType gnssMeas;
|
Gnss_ClockMeasurementStructType gnssMeas;
|
||||||
Gnss_ApTimeStampStructType timeStamp;
|
Gnss_ApTimeStampStructType timeStamp;
|
||||||
|
/* Extended Time Information - Cumulative Number of Clock Resets */
|
||||||
|
uint8_t numClockResets_valid; /**< Must be set to true if numClockResets is being passed */
|
||||||
|
uint32_t numClockResets;
|
||||||
|
|
||||||
} GnssSvMeasurementSet;
|
} GnssSvMeasurementSet;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue