diff options
Diffstat (limited to 'epan/dissectors/asn1/lpp')
-rw-r--r-- | epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn | 22 | ||||
-rw-r--r-- | epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn | 1505 | ||||
-rw-r--r-- | epan/dissectors/asn1/lpp/lpp.cnf | 228 | ||||
-rw-r--r-- | epan/dissectors/asn1/lpp/packet-lpp-template.c | 948 | ||||
-rw-r--r-- | epan/dissectors/asn1/lpp/packet-lpp-template.h | 14 |
5 files changed, 2104 insertions, 613 deletions
diff --git a/epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn b/epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn index cb5df311..44f4778a 100644 --- a/epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn +++ b/epan/dissectors/asn1/lpp/LPP-Broadcast-Definitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 37.355 V17.5.0 (2023-06) +-- 3GPP TS 37.355 V18.2.0 (2024-06) LPP-Broadcast-Definitions @@ -11,7 +11,12 @@ IMPORTS OTDOA-NeighbourCellInfoList, NR-TRP-LocationInfo-r16, NR-DL-PRS-BeamInfo-r16, - NR-RTD-Info-r16 + NR-RTD-Info-r16, + NR-IntegrityParametersTRP-LocationInfo-r18, + NR-IntegrityParametersDL-PRS-BeamInfo-r18, + NR-IntegrityParametersRTD-Info-r18, + NR-IntegrityParametersTRP-BeamAntennaInfo-r18 + FROM LPP-PDU-Definitions; @@ -58,4 +63,17 @@ NR-UEB-TRP-RTD-Info-r16 ::= SEQUENCE { } +NR-IntegrityParameters-r18 ::= SEQUENCE { + nr-IntegrityParametersTRP-LocationInfo-r18 + NR-IntegrityParametersTRP-LocationInfo-r18 OPTIONAL, -- Need OR + nr-IntegrityParametersDL-PRS-BeamInfo-r18 + NR-IntegrityParametersDL-PRS-BeamInfo-r18 OPTIONAL, -- Need OR + nr-IntegrityParametersRTD-Info-r18 + NR-IntegrityParametersRTD-Info-r18 OPTIONAL, -- Need OR + nr-IntegrityParametersTRP-BeamAntennaInfo-r18 + NR-IntegrityParametersTRP-BeamAntennaInfo-r18 OPTIONAL, -- Need OR + ... +} + + END diff --git a/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn b/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn index d7bf0b1d..5dd23721 100644 --- a/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn +++ b/epan/dissectors/asn1/lpp/LPP-PDU-Definitions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 37.355 V17.5.0 (2023-06) +-- 3GPP TS 37.355 V18.2.0 (2024-06) LPP-PDU-Definitions DEFINITIONS AUTOMATIC TAGS ::= @@ -147,8 +147,10 @@ RequestAssistanceData-r9-IEs ::= SEQUENCE { [[ nr-Multi-RTT-RequestAssistanceData-r16 NR-Multi-RTT-RequestAssistanceData-r16 OPTIONAL, nr-DL-AoD-RequestAssistanceData-r16 NR-DL-AoD-RequestAssistanceData-r16 OPTIONAL, nr-DL-TDOA-RequestAssistanceData-r16 NR-DL-TDOA-RequestAssistanceData-r16 OPTIONAL - ]] -} + ]], + [[ + bt-RequestAssistanceData-r18 BT-RequestAssistanceData-r18 OPTIONAL + ]]} ProvideAssistanceData ::= SEQUENCE { @@ -180,6 +182,9 @@ ProvideAssistanceData-r9-IEs ::= SEQUENCE { nr-DL-TDOA-ProvideAssistanceData-r16 NR-DL-TDOA-ProvideAssistanceData-r16 OPTIONAL -- Need ON + ]], + [[ + bt-ProvideAssistanceData-r18 BT-ProvideAssistanceData-r18 OPTIONAL -- Need ON ]] } @@ -525,6 +530,33 @@ HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE { } +Local2dPointWithUncertaintyEllipse-r18 ::= SEQUENCE { + localOrigin-r18 ReferencePoint-r16, + cartesianCoordinatesUnits-r18 ENUMERATED { mm, cm, dm, m, ...}, + x-value-r18 X-Value-r18, + y-value-r18 Y-Value-r18, + uncertaintySemiMajor-r18 INTEGER (0..127), + uncertaintySemiMinor-r18 INTEGER (0..127), + orientationMajorAxis-r18 INTEGER (0..179), + confidence-r18 INTEGER (0..100) +} + + +Local3dPointWithUncertaintyEllipsoid-r18 ::= SEQUENCE { + localOrigin-r18 ReferencePoint-r16, + cartesianCoordinatesUnits-r18 ENUMERATED { mm, cm, dm, m, ...}, + x-value-r18 X-Value-r18, + y-value-r18 Y-Value-r18, + z-value-r18 Z-Value-r18, + uncertaintySemiMajor-r18 INTEGER (0..127), + uncertaintySemiMinor-r18 INTEGER (0..127), + orientationMajorAxis-r18 INTEGER (0..179), + uncertaintyAltitude-r18 INTEGER (0..127), + confidence-r18 INTEGER (0..100), + vConfidence-r18 INTEGER (0..100) OPTIONAL -- Need ON +} + + LocationCoordinateTypes ::= SEQUENCE { ellipsoidPoint BOOLEAN, ellipsoidPointWithUncertaintyCircle BOOLEAN, @@ -545,6 +577,10 @@ LocationCoordinateTypes ::= SEQUENCE { BOOLEAN OPTIONAL, -- Need ON ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16 BOOLEAN OPTIONAL -- Need ON + ]], + [[ + local2dPointWithUncertaintyEllipse-r18 BOOLEAN OPTIONAL, -- Need ON + local3dPointWithUncertaintyEllipsoid-r18 BOOLEAN OPTIONAL -- Need ON ]] } @@ -576,6 +612,20 @@ PeriodicSessionID-r15 ::= SEQUENCE { UpdateCapabilities-r15 ::= BIT STRING {primaryCellID-r15 (0)} (SIZE(1..8)) +PeriodicReportingIntervalMsSupport-r18 ::= SEQUENCE { + minPeriodicReportingIntervalMs-r18 ENUMERATED {ms1, ms10, ms100,...}, + ... +} + + +PeriodicReportingIntervalMsSupportPerMode-r18 ::= SEQUENCE { + minPeriodicReportingIntervalMs1-Supported-r18 PositioningModes OPTIONAL, + minPeriodicReportingIntervalMs10-Supported-r18 PositioningModes OPTIONAL, + minPeriodicReportingIntervalMs100-Supported-r18 PositioningModes OPTIONAL, + ... +} + + Polygon ::= SEQUENCE (SIZE (3..15)) OF PolygonPoints PolygonPoints ::= SEQUENCE { @@ -634,6 +684,9 @@ CommonIEsRequestCapabilities ::= SEQUENCE { [[ lpp-message-segmentation-req-r14 BIT STRING { serverToTarget (0), targetToServer (1) } OPTIONAL -- Need ON + ]], + [[ + remoteUE-IndicationReq-r18 ENUMERATED { true } OPTIONAL -- Cond NR ]] } @@ -644,6 +697,10 @@ CommonIEsProvideCapabilities ::= SEQUENCE { segmentationInfo-r14 SegmentationInfo-r14 OPTIONAL, -- Cond Segmentation lpp-message-segmentation-r14 BIT STRING { serverToTarget (0), targetToServer (1) } OPTIONAL + ]], + [[ + remoteUE-Indication-r18 BOOLEAN OPTIONAL, -- Cond NR + locationEstimateAndMeasurementReporting-r18 ENUMERATED { supported } OPTIONAL ]] } @@ -696,6 +753,11 @@ CommonIEsRequestLocationInformation ::= SEQUENCE { ScheduledLocationTime-r17 OPTIONAL, -- Need ON targetIntegrityRisk-r17 TargetIntegrityRisk-r17 OPTIONAL -- Need ON + ]], + [[ + periodicalReportingExt-r18 + PeriodicalReportingCriteriaExt-r18 + OPTIONAL -- Need ON ]] } @@ -704,7 +766,8 @@ LocationInformationType ::= ENUMERATED { locationMeasurementsRequired, locationEstimatePreferred, locationMeasurementsPreferred, - ... + ..., + locationEstimateAndMeasurementsRequired-r18 } PeriodicalReportingCriteria ::= SEQUENCE { @@ -718,6 +781,15 @@ PeriodicalReportingCriteria ::= SEQUENCE { } } +PeriodicalReportingCriteriaExt-r18 ::= SEQUENCE { + reportingAmount-r18 ENUMERATED { + ra2, ra4, ra8, ra16, ra32, + ra64, ra-Infinity + } DEFAULT ra-Infinity, + reportingIntervalMs-r18 INTEGER (1..999), + ... +} + TriggeredReportingCriteria ::= SEQUENCE { cellChange BOOLEAN, reportingDuration ReportingDuration, @@ -866,9 +938,11 @@ LocationCoordinates ::= CHOICE { HighAccuracyEllipsoidPointWithUncertaintyEllipse-r15, highAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-v1510 HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15, - ha-EllipsoidPointWithScalableUncertaintyEllipse-v1680 HA-EllipsoidPointWithScalableUncertaintyEllipse-r16, + ha-EllipsoidPointWithScalableUncertaintyEllipse-v1680 HA-EllipsoidPointWithScalableUncertaintyEllipse-r16, ha-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-v1680 - HA-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16 + HA-EllipsoidPointWithAltitudeAndScalableUncertaintyEllipsoid-r16, + local2dPointWithUncertaintyEllipse-v1800 Local2dPointWithUncertaintyEllipse-r18, + local3dPointWithUncertaintyEllipsoid-v1800 Local3dPointWithUncertaintyEllipsoid-r18 } Velocity ::= CHOICE { @@ -972,6 +1046,14 @@ LCS-GCS-TranslationParameter-r16 ::= SEQUENCE { } +LocalOrigin-r18 ::= SEQUENCE { + coordinateID-r18 VisibleString (SIZE (1..256)), + point-r18 HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15 OPTIONAL, -- Need ON + horizAxesOrientation-r18 INTEGER (0..3599) OPTIONAL, -- Need ON + ... +} + + LOS-NLOS-Indicator-r17 ::= SEQUENCE { indicator-r17 CHOICE { soft-r17 INTEGER (0..10), @@ -1005,7 +1087,13 @@ NR-AdditionalPath-r16 ::= SEQUENCE { k3-r16 INTEGER(0..2044), k4-r16 INTEGER(0..1022), k5-r16 INTEGER(0..511), - ... + ..., + kMinus6-r18 INTEGER(0..1046401), + kMinus5-r18 INTEGER(0..523201), + kMinus4-r18 INTEGER(0..261601), + kMinus3-r18 INTEGER(0..130801), + kMinus2-r18 INTEGER(0..65401), + kMinus1-r18 INTEGER(0..32701) }, nr-PathQuality-r16 NR-TimingQuality-r16 OPTIONAL, ..., @@ -1015,13 +1103,24 @@ NR-AdditionalPath-r16 ::= SEQUENCE { } +NR-AggregatedDL-PRS-ResourceInfo-Element-r18 ::= SEQUENCE { + aggregatedDL-PRS-ID-r18 INTEGER (0..255) OPTIONAL, + nr-DL-PRS-ResourceSetID-r18 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-DL-PRS-ResourceID-r18 NR-DL-PRS-ResourceID-r16 OPTIONAL, + ... +} + + NR-DL-PRS-AssistanceData-r16 ::= SEQUENCE { nr-DL-PRS-ReferenceInfo-r16 DL-PRS-ID-Info-r16, nr-DL-PRS-AssistanceDataList-r16 SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF NR-DL-PRS-AssistanceDataPerFreq-r16, nr-SSB-Config-r16 SEQUENCE (SIZE (1..nrMaxTRPs-r16)) OF NR-SSB-Config-r16 OPTIONAL, -- Need ON - ... + ..., + [[ + nr-DL-PRS-AggregationInfo-r18 NR-DL-PRS-AggregationInfo-r18 OPTIONAL -- Need ON + ]] } NR-DL-PRS-AssistanceDataPerFreq-r16 ::= SEQUENCE { @@ -1083,6 +1182,18 @@ NR-DL-PRS-ExpectedAoD-or-AoA-r17 ::= CHOICE { } } +NR-DL-PRS-AggregationInfo-r18 ::= SEQUENCE (SIZE (1..nrMaxNumPRS-BandWidthAggregation-r18)) OF + NR-linkedDL-PRS-ResourceSetID-PRS-AggregationList-r18 + +NR-linkedDL-PRS-ResourceSetID-PRS-AggregationList-r18 ::= SEQUENCE (SIZE (2..3)) OF + NR-DL-PRS-AggregationElement-r18 + +NR-DL-PRS-AggregationElement-r18 ::= SEQUENCE { + nr-DL-PRS-FrequencyLayerIndex-r18 INTEGER (0..nrMaxFreqLayers-1-r16), + nr-DL-PRS-TRP-Index-r18 INTEGER (0..nrMaxTRPsPerFreq-1-r16), + nr-DL-PRS-ResourceSetIndex-r18 INTEGER (0..nrMaxSetsPerTrpPerFreqLayer-1-r16) +} + NR-DL-PRS-BeamInfo-r16 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF NR-DL-PRS-BeamInfoPerFreqLayer-r16 @@ -1113,6 +1224,17 @@ DL-PRS-BeamInfoElement-r16 ::= SEQUENCE { dl-PRS-Azimuth-fine-r16 INTEGER (0..9) OPTIONAL, -- Need ON dl-PRS-Elevation-r16 INTEGER (0..180) OPTIONAL, -- Need ON dl-PRS-Elevation-fine-r16 INTEGER (0..9) OPTIONAL, -- Need ON + ..., + [[ + nr-IntegrityBeamInfoBounds-r18 NR-IntegrityBeamInfoBounds-r18 OPTIONAL -- Need OP + ]] +} + +NR-IntegrityBeamInfoBounds-r18 ::= SEQUENCE { + meanAzimuth-r18 INTEGER (0..255), + stdDevAzimuth-r18 INTEGER (0..255), + meanElevation-r18 INTEGER (0..255), + stdDevElevation-r18 INTEGER (0..255), ... } @@ -1155,7 +1277,7 @@ NR-DL-PRS-ResourceSet-r16 ::= SEQUENCE { OPTIONAL, -- Need OP dl-PRS-ResourceTimeGap-r16 ENUMERATED {s1, s2, s4, s8, s16, s32, ...} OPTIONAL, -- Cond Rep - dl-PRS-NumSymbols-r16 ENUMERATED {n2, n4, n6, n12, ...}, + dl-PRS-NumSymbols-r16 ENUMERATED {n2, n4, n6, n12, ..., n1-v1800 }, dl-PRS-MutingOption1-r16 DL-PRS-MutingOption1-r16 OPTIONAL, -- Need OP dl-PRS-MutingOption2-r16 DL-PRS-MutingOption2-r16 OPTIONAL, -- Need OP dl-PRS-ResourcePower-r16 INTEGER (-60..50), @@ -1202,6 +1324,9 @@ NR-DL-PRS-Resource-r16 ::= SEQUENCE { ..., [[ dl-PRS-ResourcePrioritySubset-r17 DL-PRS-ResourcePrioritySubset-r17 OPTIONAL -- Need ON + ]], + [[ + dl-PRS-ResourceSymbolOffset-v1800 INTEGER (13) OPTIONAL -- Need OR ]] } @@ -1311,6 +1436,47 @@ NR-DL-PRSResourcePriorityItem-r17 ::= SEQUENCE { } +NR-DL-PRS-MeasurementTimeWindowsConfig-r18 ::= + SEQUENCE (SIZE(1..2)) OF + NR-DL-PRS-MeasurementTimeWindowsConfigElement-r18 + +NR-DL-PRS-MeasurementTimeWindowsConfigElement-r18 ::= SEQUENCE { + nr-StartSFN-TimeWindow-r18 INTEGER (0..1023), + nr-PeriodicOrOneShotTimeWindow-r18 CHOICE { + nr-PeriodicityAndSlotOffsetTimeWindow-r18 + NR-DL-PRS-Periodicity-and-ResourceSetSlotOffset-r16, + nr-OneShotSlotOffsetTimeWindow-r18 CHOICE { + scs15-r18 INTEGER (0..10239), + scs30-r18 INTEGER (0..20479), + scs60-r18 INTEGER (0..40959), + scs120-r18 INTEGER (0..81919) + } + } OPTIONAL, -- Need ON + nr-SymbolOffsetTimeWindow-r18 INTEGER (0..13) OPTIONAL, -- Need ON + nr-DurationTimeWindow-r18 ENUMERATED { n1, n2, n4, n6, n8, n12, n16, ... }, + nr-SelectedDL-PRS-FrequencyLayerIndex-r18 INTEGER (0..nrMaxFreqLayers-1-r16) + OPTIONAL, -- Need ON + nr-SelectedDL-PRS-IndexListPerFreq-r18 + SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) OF + NR-SelectedDL-PRS-IndexPerTRP-r18 OPTIONAL, -- Need OP + nr-MeasurementsToPerformInTimeWindow-r18 BIT STRING { rstd (0), + ueRxTx (1), + rsrp (2), + rsrpp (3), + rscp (4), + rscpd (5) + } (SIZE(1..16)) OPTIONAL, -- Need ON + ... +} + +NR-SelectedDL-PRS-IndexPerTRP-r18 ::= SEQUENCE { + nr-SelectedTRP-Index-r18 INTEGER (0..nrMaxTRPsPerFreq-1-r16), + dl-SelectedPRS-ResourceSetIndexList-r18 SEQUENCE (SIZE (1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF + INTEGER (0..nrMaxSetsPerTrpPerFreqLayer-1-r16) OPTIONAL, --Need OP + ... +} + + NR-DL-PRS-ProcessingCapability-r16 ::= SEQUENCE { prs-ProcessingCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF PRS-ProcessingCapabilityPerBand-r16, @@ -1396,6 +1562,61 @@ PRS-ProcessingCapabilityPerBand-r16 ::= SEQUENCE { [[ prs-MeasurementWithoutMG-r17 ENUMERATED {cp, symbolDot25, symbolDot5, slotDot5} OPTIONAL + ]], + [[ + maxNumOfOneSymbolPRS-ResProcessedPerSlot-RRC-Inactive-r18 SEQUENCE { + scs15-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs30-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs60-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs120-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + ... + } OPTIONAL, + maxNumOfOneSymbolPRS-ResProcessedPerSlot-RRC-Connected-r18 SEQUENCE { + scs15-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs30-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs60-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs120-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + ... + } OPTIONAL, + ppw-maxNumOfOneSymbolPRS-ResProcessedPerSlot-r18 SEQUENCE { + scs15-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs30-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs60-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + scs120-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, n16, n24, + n32, n48, n64} OPTIONAL, + ... + } OPTIONAL, + prs-BWA-TwoContiguousIntrabandInMG-RRC-Connected-r18 + PRS-BWA-TwoContiguousIntrabandInMG-r18 OPTIONAL, + prs-BWA-ThreeContiguousIntrabandInMG-RRC-Connected-r18 + PRS-BWA-ThreeContiguousIntrabandInMG-r18 OPTIONAL, + prs-BWA-TwoContiguousIntraband-RRC-IdleAndInactive-r18 + PRS-BWA-TwoContiguousIntrabandInMG-r18 OPTIONAL, + prs-BWA-ThreeContiguousIntraband-RRC-IdleAndInactive-r18 + PRS-BWA-ThreeContiguousIntrabandInMG-r18 OPTIONAL, + reducedNumOfSampleInMeasurementWithPRS-BWA-RRC-Connected-r18 ENUMERATED { supported } + OPTIONAL, + reducedNumOfSampleInMeasurementWithPRS-BWA-RRC-IdleAndInactive-r18 + ENUMERATED { supported } OPTIONAL, + dl-PRS-MeasurementWithRxFH-RRC-Inactive-r18 ENUMERATED { supported } OPTIONAL, + dl-PRS-MeasurementWithRxFH-RRC-Idle-r18 ENUMERATED { supported } OPTIONAL, + reducedNumOfSampleForMeasurementWithFH-RRC-Connected-r18 ENUMERATED { supported } + OPTIONAL, + reducedNumOfSampleForMeasurementWithFH-RRC-IdleAndInactive-r18 ENUMERATED { supported } + OPTIONAL, + supportOfPRS-BWA-WithTwoPFL-Combination-r18 ENUMERATED { supported } OPTIONAL, + dl-PRS-MeasurementWithRxFH-RRC-Connected-r18 DL-PRS-MeasurementWithRxFH-RRC-Connected-r18 OPTIONAL ]] } @@ -1443,6 +1664,94 @@ PRS-ProcessingCapabilityOutsideMGinPPWperType-r17 ::= SEQUENCE { ]] } +PRS-BWA-TwoContiguousIntrabandInMG-r18 ::= SEQUENCE { + maximumOfTwoAggregatedDL-PRS-Bandwidth-FR1-r18 ENUMERATED {mhz10, mhz20, mhz40, mhz50, + mhz80, mhz100, mhz160, mhz200} + OPTIONAL, + maximumOfTwoAggregatedDL-PRS-Bandwidth-FR2-r18 ENUMERATED {mhz100, mhz200, mhz400, mhz800} + OPTIONAL, + maximumOfDL-PRS-BandwidthPerPFL-FR1-r18 ENUMERATED {mhz5, mhz10, mhz20, mhz40, + mhz50, mhz80, mhz100} OPTIONAL, + maximumOfDL-PRS-BandwidthPerPFL-FR2-r18 ENUMERATED {mhz50, mhz100, mhz200, mhz400} + OPTIONAL, + dl-PRS-BufferTypeOfBWA-r18 ENUMERATED {type1, type2}, + prs-durationOfTwoPRS-BWA-Processing-r18 SEQUENCE { + prs-durationOfTwoPRS-BWA-ProcessingSymbolsN-r18 + ENUMERATED {msDot125, msDot25, msDot5, ms1, ms2, ms4, ms6, ms8, ms12, + ms16, ms20, ms25, ms30, ms32, ms35, ms40, ms45, ms50}, + prs-durationOfTwoPRS-BWA-ProcessingSymbolsT-r18 + ENUMERATED {ms8, ms16, ms20, ms30, ms40, ms80, ms160, ms320, ms640, ms1280} + } OPTIONAL, + maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR1-r18 SEQUENCE { + scs15-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL, + scs30-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL, + scs60-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL + }, + maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR2-r18 SEQUENCE { + scs60-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL, + scs120-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL + } +} + +PRS-BWA-ThreeContiguousIntrabandInMG-r18 ::= SEQUENCE { + maximumOfThreeAggregatedDL-PRS-Bandwidth-FR1-r18 + ENUMERATED {mhz15, mhz20, mhz30, mhz40, mhz50, mhz60, mhz80, mhz100, mhz120, + mhz140, mhz150, mhz180, mhz200, mhz240, mhz300} OPTIONAL, + maximumOfThreeAggregatedDL-PRS-Bandwidth-FR2-r18 + ENUMERATED {mhz150, mhz200, mhz300, mhz400, mhz600, mhz800, mhz1000, + mhz1200} OPTIONAL, + maximumOfDL-PRS-BandwidthPerPFL-FR1-r18 + ENUMERATED {mhz5, mhz10, mhz20, mhz40, mhz50, mhz80, mhz100} OPTIONAL, + maximumOfDL-PRS-BandwidthPerPFL-FR2-r18 + ENUMERATED {mhz50, mhz100, mhz200, mhz400} OPTIONAL, + dl-PRS-BufferTypeOfBWA-r18 ENUMERATED {type1, type2}, + prs-durationOfThreePRS-BWA-Processing-r18 SEQUENCE { + prs-durationOfThreePRS-BWA-ProcessingSymbolsN-r18 + ENUMERATED {msDot125, msDot25, msDot5, ms1, ms2, ms4, ms6, ms8, ms12, + ms16, ms20, ms25, ms30, ms32, ms35, ms40, ms45, ms50}, + prs-durationOfThreePRS-BWA-ProcessingSymbolsT-r18 + ENUMERATED {ms8, ms16, ms20, ms30, ms40, ms80, ms160, + ms320, ms640, ms1280} + } OPTIONAL, + maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR1-r18 SEQUENCE { + scs15-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL, + scs30-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL, + scs60-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL + }, + maxNumOfAggregatedDL-PRS-ResourcePerSlot-FR2-r18 SEQUENCE { + scs60-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL, + scs120-r18 ENUMERATED {n1, n2, n4, n6, n8, n12, + n16, n24, n32, n48, n64 } OPTIONAL + } +} + +DL-PRS-MeasurementWithRxFH-RRC-Connected-r18 ::=SEQUENCE { + maximumPRS-BandwidthAcrossAllHopsFR1-r18 ENUMERATED {mhz40, mhz50, mhz80, mhz100} + OPTIONAL, + maximumPRS-BandwidthAcrossAllHopsFR2-r18 ENUMERATED {mhz100, mhz200, mhz400} OPTIONAL, + maximumFH-Hops-r18 ENUMERATED {n2, n3, n4, n5, n6} OPTIONAL, + processingDuration-r18 SEQUENCE { + processingPRS-SymbolsDurationN3-r18 ENUMERATED {msDot125, msDot25, msDot5, ms1, ms2, + ms4, ms6, ms8, ms12,ms16, ms20, ms25, + ms30, ms32, ms35, ms40, ms45, ms50}, + processingDurationT3-r18 ENUMERATED {ms8, ms16, ms20, ms30, ms40, ms80, + ms160, ms320, ms640, ms1280} + } OPTIONAL, + rf-RxRetunTimeFR1-r18 ENUMERATED {n70,n140,n210} OPTIONAL, + rf-RxRetunTimeFR2-r18 ENUMERATED {n35,n70,n140} OPTIONAL, + numOfOverlappingPRB-r18 ENUMERATED {n0,n1,n2,n4} OPTIONAL, + ... +} + NR-DL-PRS-QCL-ProcessingCapability-r16 ::= SEQUENCE { dl-PRS-QCL-ProcessingCapabilityBandList-r16 SEQUENCE (SIZE (1..nrMaxBands-r16)) OF @@ -1460,7 +1769,6 @@ DL-PRS-QCL-ProcessingCapabilityPerBand-r16 ::= SEQUENCE { NR-DL-PRS-ResourceID-r16 ::= INTEGER (0..nrMaxNumDL-PRS-ResourcesPerSet-1-r16) - NR-DL-PRS-ResourcesCapability-r16 ::= SEQUENCE { maxNrOfDL-PRS-ResourceSetPerTrpPerFrequencyLayer-r16 INTEGER (1..2), @@ -1538,10 +1846,47 @@ DL-PRS-TEG-InfoElement-r17 ::= SEQUENCE { } +NR-IntegrityRiskParameters-r18 ::= SEQUENCE { + nr-ProbOnsetTRP-Fault-r18 INTEGER (0..255), + nr-MeanTRP-FaultDuration-r18 INTEGER (1..3600), + ... +} + + +NR-IntegrityServiceAlert-r18 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF + NR-TRP-IntegrityServiceAlertPerFreqLayer-r18 + +NR-TRP-IntegrityServiceAlertPerFreqLayer-r18 ::= SEQUENCE (SIZE (1..nrMaxTRPsPerFreq-r16)) + OF NR-TRP-IntegrityServiceAlertElement-r18 + +NR-TRP-IntegrityServiceAlertElement-r18 ::= SEQUENCE { + dl-PRS-ID-r18 INTEGER (0..255), + nr-PhysCellID-r18 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r18 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r18 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + rtd-DoNotUse-r18 BOOLEAN OPTIONAL, -- Need OR + trp-LocationDoNotUse-r18 BOOLEAN OPTIONAL, -- Need OR + beamInfo-DoNotUse-r18 BOOLEAN OPTIONAL, -- Need OR + beamAntennaInfo-DoNotUse-r18 BOOLEAN OPTIONAL, -- Need OR + ... +} + + +NR-IntegrityServiceParameters-r18 ::= SEQUENCE { + ir-Minimum-r18 INTEGER (0..255), + ir-Maximum-r18 INTEGER (0..255), + ... +} + + NR-On-Demand-DL-PRS-Configurations-r17 ::= SEQUENCE { on-demand-dl-prs-configuration-list-r17 SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF On-Demand-DL-PRS-Configuration-r17, - ... + ..., + [[ + onDemandDL-PRS-AggregationList-r18 SEQUENCE (SIZE (1.. maxOD-DL-PRS-Configs-r17)) OF + OnDemandDL-PRS-AggregationInfo-r18 OPTIONAL-- Need OR + ]] } On-Demand-DL-PRS-Configuration-r17 ::= SEQUENCE { @@ -1556,6 +1901,8 @@ DL-PRS-Configuration-ID-r17 ::= SEQUENCE { ... } +OnDemandDL-PRS-AggregationInfo-r18 ::= SEQUENCE (SIZE (2..3)) OF DL-PRS-Configuration-ID-r17 + NR-On-Demand-DL-PRS-Information-r17 ::= SEQUENCE (SIZE (1..nrMaxFreqLayers-r16)) OF NR-On-Demand-DL-PRS-PerFreqLayer-r17 @@ -1564,12 +1911,13 @@ NR-On-Demand-DL-PRS-PerFreqLayer-r17 ::= SEQUENCE { dl-prs-FrequencyRangeReq-r17 ENUMERATED { fr1, fr2, ...}, dl-prs-ResourceSetPeriodicityReq-r17 ENUMERATED { p4, p5, p8, p10, p16, p20, p32, p40, p64, p80, p160, p320, p640, p1280, p2560, - p5120, p10240, p20480, p40960, p81920, ...} + p5120, p10240, p20480, p40960, p81920, ..., + p128-v1760, p256-v1760, p512-v1760} OPTIONAL, dl-prs-ResourceBandwidthReq-r17 INTEGER (1..63) OPTIONAL, dl-prs-ResourceRepetitionFactorReq-r17 ENUMERATED {n2, n4, n6, n8, n16, n32, ...} OPTIONAL, - dl-prs-NumSymbolsReq-r17 ENUMERATED {n2, n4, n6, n12, ...} OPTIONAL, + dl-prs-NumSymbolsReq-r17 ENUMERATED {n2, n4, n6, n12, ..., n1-v1800} OPTIONAL, dl-prs-CombSizeN-Req-r17 ENUMERATED {n2, n4, n6, n12, ...} OPTIONAL, dl-prs-QCL-InformationReqTRPlist-r17 DL-PRS-QCL-InformationReqTRPlist-r17 OPTIONAL, ... @@ -1607,7 +1955,15 @@ NR-On-Demand-DL-PRS-Request-r17 ::= SEQUENCE { nr-on-demand-DL-PRS-Information-r17 NR-On-Demand-DL-PRS-Information-r17 OPTIONAL, dl-prs-configuration-id-PrefList-r17 SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF DL-PRS-Configuration-ID-r17 OPTIONAL, - ... + ..., + [[ + dl-PRS-AggregationID-PrefList-r18 SEQUENCE (SIZE (1.. maxOD-DL-PRS-Configs-r17)) OF + INTEGER (1.. maxOD-DL-PRS-Configs-r17) + OPTIONAL, + nr-OnDemandDL-PRS-AggregationReqList-r18 SEQUENCE (SIZE (1.. maxOD-DL-PRS-Configs-r17)) OF + NR-OnDemandDL-PRS-AggregationReqElement-r18 + OPTIONAL + ]] } DL-PRS-StartTime-and-Duration-r17 ::= SEQUENCE { @@ -1621,6 +1977,9 @@ DL-PRS-StartTime-and-Duration-r17 ::= SEQUENCE { ... } +NR-OnDemandDL-PRS-AggregationReqElement-r18 ::= SEQUENCE (SIZE (2..3)) OF + INTEGER (1..nrMaxFreqLayers-r16) + NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 ::= SEQUENCE (SIZE (1..maxOD-DL-PRS-Configs-r17)) OF @@ -1633,6 +1992,25 @@ NR-On-Demand-DL-PRS-Support-r17 ::= SEQUENCE { ... } +NR-PeriodicAssistData-r18 ::= SEQUENCE { + nr-PeriodicPRU-DL-Info-r18 NR-PeriodicControlParam-r18 OPTIONAL, -- Need ON + ... +} + + +NR-PeriodicAssistDataReq-r18 ::= SEQUENCE { + nr-PeriodicPRU-DL-InfoReq-r18 NR-PeriodicControlParam-r18 OPTIONAL, -- Cond pPRU + ... +} + + +NR-PeriodicControlParam-r18 ::= SEQUENCE { + deliveryAmount-r18 INTEGER (1..32), + deliveryInterval-r18 INTEGER (4..81920), + ... +} + + NR-PositionCalculationAssistance-r16 ::= SEQUENCE { nr-TRP-LocationInfo-r16 NR-TRP-LocationInfo-r16 OPTIONAL, -- Need ON nr-DL-PRS-BeamInfo-r16 NR-DL-PRS-BeamInfo-r16 OPTIONAL, -- Need ON @@ -1644,9 +2022,105 @@ NR-PositionCalculationAssistance-r16 ::= SEQUENCE { NR-DL-PRS-ExpectedLOS-NLOS-Assistance-r17 OPTIONAL, -- Need ON nr-DL-PRS-TRP-TEG-Info-r17 NR-DL-PRS-TRP-TEG-Info-r17 OPTIONAL -- Need ON + ]], + [[ + nr-IntegrityServiceParameters-r18 NR-IntegrityServiceParameters-r18 OPTIONAL, -- Need OR + nr-IntegrityServiceAlert-r18 NR-IntegrityServiceAlert-r18 OPTIONAL, -- Need OR + nr-IntegrityRiskParameters-r18 NR-IntegrityRiskParameters-r18 OPTIONAL, -- Need OR + nr-IntegrityParametersTRP-LocationInfo-r18 NR-IntegrityParametersTRP-LocationInfo-r18 + OPTIONAL, -- Cond Integrity1 + nr-IntegrityParametersDL-PRS-BeamInfo-r18 + NR-IntegrityParametersDL-PRS-BeamInfo-r18 + OPTIONAL, -- Cond Integrity2 + nr-IntegrityParametersRTD-Info-r18 NR-IntegrityParametersRTD-Info-r18 + OPTIONAL, -- Cond Integrity3 + nr-IntegrityParametersTRP-BeamAntennaInfo-r18 NR-IntegrityParametersTRP-BeamAntennaInfo-r18 + OPTIONAL, -- Cond Integrity4 + nr-PRU-DL-Info-r18 NR-PRU-DL-Info-r18 OPTIONAL -- Need ON ]] } +NR-IntegrityParametersTRP-LocationInfo-r18 ::= SEQUENCE { + trp-ErrorCorrelationTime-r18 INTEGER(0..255) OPTIONAL, -- Need ON + dl-PRS-ResourceSetARP-ErrorCorrelationTime-r18 INTEGER(0..255) OPTIONAL, -- Need ON + dl-PRS-ResourceARP-ErrorCorrelationTime-r18 INTEGER(0..255) OPTIONAL, -- Need ON + ... +} + +NR-IntegrityParametersDL-PRS-BeamInfo-r18 ::= SEQUENCE { + dl-PRS-BeamInfoErrorCorrelationTime-r18 INTEGER (0..255), + ... +} + +NR-IntegrityParametersRTD-Info-r18 ::= SEQUENCE { + rtd-ErrorCorrelationTime-r18 INTEGER (0..255), + ... +} + +NR-IntegrityParametersTRP-BeamAntennaInfo-r18 ::= SEQUENCE { + trp-BeamAntennaInfoErrorCorrelationTime-r18 INTEGER (0..255), + ... + +} + +NR-PRU-DL-Info-r18 ::= SEQUENCE { + nr-PRU-LocationInfo-r18 LocationCoordinates OPTIONAL, -- Need ON + nr-PRU-DL-TDOA-MeasInfo-r18 NR-DL-TDOA-SignalMeasurementInformation-r16 + OPTIONAL, -- Need ON + nr-PRU-DL-AoD-MeasInfo-r18 NR-DL-AoD-SignalMeasurementInformation-r16 + OPTIONAL, -- Need ON + nr-PRU-RSCP-MeasInfo-r18 NR-PRU-RSCP-MeasurementInformation-r18 + OPTIONAL, -- Need ON + ... +} + +NR-PRU-RSCP-MeasurementInformation-r18 ::= SEQUENCE (SIZE(1..nrMaxTRPs-r16)) OF + NR-PRU-RSCP-MeasElement-r18 + +NR-PRU-RSCP-MeasElement-r18 ::= SEQUENCE { + dl-PRS-ID-r18 INTEGER (0..255), + nr-PhysCellID-r18 NR-PhysCellID-r16 OPTIONAL, -- Need ON + nr-CellGlobalID-r18 NCGI-r15 OPTIONAL, -- Need ON + nr-ARFCN-r18 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON + nr-DL-PRS-ResourceID-r18 NR-DL-PRS-ResourceID-r16 OPTIONAL, -- Need ON + nr-DL-PRS-ResourceSetID-r18 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, -- Need ON + nr-TimeStamp-r18 NR-TimeStamp-r16, + nr-los-nlos-Indicator-r18 CHOICE { + perTRP LOS-NLOS-Indicator-r17, + perResource LOS-NLOS-Indicator-r17 + } OPTIONAL, -- Need ON + nr-RSCP-r18 INTEGER (0..3599) OPTIONAL, -- Need ON + nr-DL-PRS-RSRP-Result-r18 INTEGER (0..126) OPTIONAL, -- Need ON + nr-DL-PRS-FirstPathRSRP-Result-r18 INTEGER (0..126) OPTIONAL, -- Need ON + nr-PhaseQuality-r18 NR-PhaseQuality-r18 OPTIONAL, -- Need ON + nr-PRU-RSCP-AddSampleMeasurements-r18 SEQUENCE (SIZE (1..nrNumOfSamples-1-r18 )) OF + NR-RSCP-AdditionalMeasurements-r18 OPTIONAL, -- Need ON + nr-PRU-RSRP-AddSampleMeasurements-r18 SEQUENCE (SIZE (1..nrNumOfSamples-1-r18)) OF + INTEGER (0..61) OPTIONAL, -- Need ON + nr-PRU-FirstPathRSRP-ResultDiff-AddSampleMeasurements-r18 + SEQUENCE (SIZE (1..nrNumOfSamples-1-r18 )) OF INTEGER (0..61) OPTIONAL, -- Need ON + nr-PRU-RSCP-AdditionalMeasurements-r18 + NR-PRU-RSCP-AdditionalMeasurements-r18 OPTIONAL, -- Need ON + ... +} + +NR-PRU-RSCP-AdditionalMeasurements-r18 ::= SEQUENCE (SIZE (1..3)) OF + NR-PRU-RSCP-AdditionalMeasurementElement-r18 + +NR-PRU-RSCP-AdditionalMeasurementElement-r18 ::= SEQUENCE { + nr-DL-PRS-ResourceID-r18 NR-DL-PRS-ResourceID-r16 OPTIONAL, -- Need ON + nr-DL-PRS-ResourceSetID-r18 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, -- Need ON + nr-DL-PRS-RSRP-ResultDiff-r18 INTEGER (0..61) OPTIONAL, -- Need ON + nr-DL-PRS-FirstPathRSRP-ResultDiff-r18 INTEGER (0..61) OPTIONAL, -- Need ON + nr-PRU-RSCP-AdditionalMeasurementsList-r18 SEQUENCE (SIZE (1..nrNumOfSamples-r18 )) OF + NR-RSCP-AdditionalMeasurements-r18 OPTIONAL, -- Need ON + nr-PRU-RSRPDiff-AdditionalMeasurementsList-r18 SEQUENCE (SIZE (1..nrNumOfSamples-r18 )) OF INTEGER (0..61) OPTIONAL, -- Need ON + nr-PRU-FirstPathRSRP-ResultDiff-AdditionalMeasurementsList-r18 + SEQUENCE (SIZE (1..nrNumOfSamples-r18 )) OF INTEGER (0..61) OPTIONAL, -- Need ON + ... +} + + NR-RTD-Info-r16 ::= SEQUENCE { referenceTRP-RTD-Info-r16 ReferenceTRP-RTD-Info-r16, rtd-InfoList-r16 RTD-InfoList-r16, @@ -1678,6 +2152,16 @@ RTD-InfoElement-r16 ::= SEQUENCE { nr-ARFCN-r16 ARFCN-ValueNR-r15 OPTIONAL, -- Need ON subframeOffset-r16 INTEGER (0..1966079), rtd-Quality-r16 NR-TimingQuality-r16, + ..., + [[ + nr-IntegrityRTD-InfoBounds-r18 NR-IntegrityRTD-InfoBounds-r18 OPTIONAL -- Need OR + ]] +} + +NR-IntegrityRTD-InfoBounds-r18 ::= SEQUENCE { + resolution-r18 ENUMERATED {mdot1, m1, m10, m30, ...}, + meanRTD-r18 INTEGER (0..255), + stdDevRTD-r18 INTEGER (0..31), ... } @@ -1743,7 +2227,10 @@ NR-TimeStamp-r16 ::= SEQUENCE { scs60-r16 INTEGER (0..39), scs120-r16 INTEGER (0..79) }, - ... + ..., + [[ + nr-Symbol-r18 INTEGER (0..13) OPTIONAL -- Need ON + ]] } @@ -1794,6 +2281,15 @@ BeamPowerElement-r17 ::= SEQUENCE { nr-dl-prs-ResourceID-r17 NR-DL-PRS-ResourceID-r16, nr-dl-prs-RelativePower-r17 INTEGER (0..30), nr-dl-prs-RelativePowerFine-r17 INTEGER (0..9) OPTIONAL, -- Need ON + ..., + [[ + nr-IntegrityBeamPowerBounds-r18 NR-IntegrityBeamPowerBounds-r18 OPTIONAL -- Need OP + ]] +} + +NR-IntegrityBeamPowerBounds-r18 ::= SEQUENCE { + meanBeamPower-r18 INTEGER (0..127), + stdDevBeamPower-r18 INTEGER (0..127), ... } @@ -1817,18 +2313,47 @@ TRP-LocationInfoElement-r16 ::= SEQUENCE { trp-Location-r16 RelativeLocation-r16 OPTIONAL, -- Need OP trp-DL-PRS-ResourceSets-r16 SEQUENCE (SIZE(1..nrMaxSetsPerTrpPerFreqLayer-r16)) OF DL-PRS-ResourceSets-TRP-Element-r16 OPTIONAL, -- Need OP - ... + ..., + [[ + trp-LocationCartesian-r18 RelativeCartesianLocation-r18 OPTIONAL, -- Need OP + nr-IntegrityTRP-LocationBounds-r18 + NR-IntegrityLocationBounds-r18 OPTIONAL -- Need OR + ]] } DL-PRS-ResourceSets-TRP-Element-r16 ::= SEQUENCE { dl-PRS-ResourceSetARP-r16 RelativeLocation-r16 OPTIONAL, -- Need OP dl-PRS-Resource-ARP-List-r16 SEQUENCE (SIZE(1..nrMaxResourcesPerSet-r16)) OF DL-PRS-Resource-ARP-Element-r16 OPTIONAL, -- Need OP - ... + ..., + [[ + dl-PRS-ResourceSetARP-Cartesian-r18 RelativeCartesianLocation-r18 OPTIONAL, -- Need OP + nr-IntegrityDL-PRS-ResourceSetARP-LocationBounds-r18 + NR-IntegrityLocationBounds-r18 OPTIONAL -- Need OR + ]] } DL-PRS-Resource-ARP-Element-r16 ::= SEQUENCE { dl-PRS-Resource-ARP-location-r16 RelativeLocation-r16 OPTIONAL, -- Need OP + ..., + [[ + dl-PRS-Resource-ARP-locationCartesian-r18 + RelativeCartesianLocation-r18 OPTIONAL, -- Need OP + nr-IntegrityDL-PRS-ResourceARP-LocationBounds-r18 + NR-IntegrityLocationBounds-r18 OPTIONAL -- Need OR + ]] +} + +NR-IntegrityLocationBounds-r18 ::= SEQUENCE { + units-r18 ENUMERATED {mm, cm, m, ...}, + meanLocationErrorBound-r18 SEQUENCE { + horizontal-r18 INTEGER (0..255), + vertical-r18 INTEGER (0..255) + }, + stdDevLocationErrorBound-r18 SEQUENCE { + horizontal-r18 INTEGER (0..255), + vertical-r18 INTEGER (0..255) + }, ... } @@ -1881,6 +2406,16 @@ SRS-CapabilityPerBand-r16 ::= SEQUENCE { [[ posSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 PosSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 OPTIONAL + ]], + [[ + posSRS-Preconfigured-RRC-InactiveInitialUL-BWP-r18 ENUMERATED {supported} OPTIONAL, + posSRS-Preconfigured-RRC-InactiveOutsideInitialUL-BWP-r18 ENUMERATED {supported} OPTIONAL, + posSRS-ValidityAreaRRC-InactiveInitialUL-BWP-r18 ENUMERATED {supported} OPTIONAL, + posSRS-ValidityAreaRRC-InactiveOutsideInitialUL-BWP-r18 ENUMERATED {supported} OPTIONAL, + posSRS-TxFH-RRC-Connected-r18 PosSRS-TxFrequencyHoppingRRC-Connected-r18 OPTIONAL, + posSRS-TxFH-RRC-Inactive-r18 PosSRS-TxFrequencyHoppingRRC-Inactive-r18 OPTIONAL, + posSRS-TxFH-WithTimeWindow-r18 ENUMERATED {supported} OPTIONAL, + posSRS-BWA-RRC-Inactive-r18 PosSRS-BWA-RRC-Inactive-r18 OPTIONAL ]] } @@ -1911,7 +2446,12 @@ SRS-PosResourcesPerBand-r16 ::= SEQUENCE { OPTIONAL, maxNumberSP-SRS-PosResourcesPerBWP-r16 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL, - ... + ..., + [[ + posSRS-BWA-RRC-Connected-r18 PosSRS-BWA-RRC-Connected-r18 OPTIONAL, + posSRS-BWA-IndependentCA-RRC-Connected-r18 PosSRS-BWA-IndependentCA-RRC-Connected-r18 + OPTIONAL + ]] } PosSRS-RRC-Inactive-InInitialUL-BWP-r17 ::= SEQUENCE { @@ -1978,17 +2518,156 @@ PosSRS-SP-RRC-Inactive-InInitialUL-BWP-r17 ::= SEQUENCE { ... } +PosSRS-TxFrequencyHoppingRRC-Connected-r18 ::=SEQUENCE { + maximumSRS-BandwidthAcrossAllHopsFR1-r18 ENUMERATED {mhz40, mhz50, mhz80, mhz100} + OPTIONAL, + maximumSRS-BandwidthAcrossAllHopsFR2-r18 ENUMERATED {mhz100, mhz200, mhz400} OPTIONAL, + maximumTxFH-Hops-r18 ENUMERATED {n2, n3, n4, n5, n6} OPTIONAL, + rf-TxRetunTimeFR1-r18 ENUMERATED {n70, n140, n210} OPTIONAL, + rf-TxRetunTimeFR2-r18 ENUMERATED {n35, n70, n140} OPTIONAL, + switchTimeBetweenActiveBWP-FrequencyHop-r18 ENUMERATED {n100, n140,n200,n300,n500} OPTIONAL, + numOfOverlappingPRB-r18 ENUMERATED {n0, n1, n2, n4} OPTIONAL, + maximumSRS-ResourcePeriodic-r18 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL, + maximumSRS-ResourceAperiodic-r18 ENUMERATED {n0,n1, n2, n4, n8, n16, n32, n64} OPTIONAL, + maximumSRS-ResourceSemipersistent-r18 ENUMERATED {n0,n1, n2, n4, n8, n16, n32, n64} + OPTIONAL, + ... +} + +PosSRS-TxFrequencyHoppingRRC-Inactive-r18 ::=SEQUENCE { + maximumSRS-BandwidthAcrossAllHopsFR1-r18 ENUMERATED {mhz40, mhz50, mhz80, mhz100} + OPTIONAL, + maximumSRS-BandwidthAcrossAllHopsFR2-r18 ENUMERATED {mhz100, mhz200, mhz400} OPTIONAL, + maximumTxFH-Hops-r18 ENUMERATED {n2, n3, n4, n5, n6} OPTIONAL, + rf-TxRetunTimeFR1-r18 ENUMERATED {n70, n140, n210} OPTIONAL, + rf-TxRetunTimeFR2-r18 ENUMERATED {n35, n70, n140} OPTIONAL, + switchTimeBetweenActiveBWP-FrequencyHop-r18 ENUMERATED {n100, n140,n200,n300,n500} OPTIONAL, + numOfOverlappingPRB-r18 ENUMERATED {n0, n1, n2, n4} OPTIONAL, + maximumSRS-ResourcePeriodic-r18 ENUMERATED {n1, n2, n4, n8, n16, n32, n64} OPTIONAL, + maximumSRS-ResourceSemipersistent-r18 ENUMERATED {n0,n1, n2, n4, n8, n16, n32, n64} + OPTIONAL, + ... +} + +PosSRS-BWA-RRC-Connected-r18 ::=SEQUENCE { + numOfCarriersIntraBandContiguous-r18 ENUMERATED {two, three, twoandthree}, + maximumAggregatedBW-TwoCarriersFR1-r18 ENUMERATED {mhz20, mhz40, mhz50, mhz80, mhz100, mhz160, + mhz180, mhz190, mhz200} OPTIONAL, + maximumAggregatedBW-TwoCarriersFR2-r18 ENUMERATED {mhz50, mhz100, mhz200, mhz400, mhz600, + mhz800} OPTIONAL, + maximumAggregatedBW-ThreeCarriersFR1-r18 ENUMERATED {mhz80, mhz100, mhz160, mhz200, mhz240, + mhz300} OPTIONAL, + maximumAggregatedBW-ThreeCarriersFR2-r18 ENUMERATED {mhz50, mhz100, mhz200, mhz300, mhz400, + mhz600, mhz800, mhz1000, mhz1200} OPTIONAL, + maximumAggregatedResourceSet-r18 ENUMERATED {n1, n2, n4, n8, n12, n16}, + maximumAggregatedResourcePeriodic-r18 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourceAperiodic-r18 ENUMERATED {n0, n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourceSemi-r18 ENUMERATED {n0, n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourcePeriodicPerSlot-r18 ENUMERATED {n1, n2, n3, n4, n5, n6, + n8, n10, n12, n14}, + maximumAggregatedResourceAperiodicPerSlot-r18 ENUMERATED {n0, n1, n2, n3, n4, + n5, n6, n8, n10, n12, n14}, + maximumAggregatedResourceSemiPerSlot-r18 ENUMERATED {n0, n1, n2, n3, n4, + n5, n6, n8, n10, n12, n14}, + ... +} + +PosSRS-BWA-IndependentCA-RRC-Connected-r18 ::=SEQUENCE { + numOfCarriersIntraBandContiguous-r18 ENUMERATED {two, three, twoandthree}, + maximumAggregatedBW-TwoCarriersFR1-r18 ENUMERATED {mhz20, mhz40, mhz50, mhz80, mhz100, mhz160, + mhz180, mhz190, mhz200} OPTIONAL, + maximumAggregatedBW-TwoCarriersFR2-r18 ENUMERATED {mhz50, mhz100, mhz200, mhz400, mhz600, + mhz800} OPTIONAL, + maximumAggregatedBW-ThreeCarriersFR1-r18 ENUMERATED {mhz80, mhz100, mhz160, mhz200, mhz240, + mhz300} OPTIONAL, + maximumAggregatedBW-ThreeCarriersFR2-r18 ENUMERATED {mhz50, mhz100, mhz200, mhz300, mhz400, + mhz600, mhz800, mhz1000, mhz1200} OPTIONAL, + maximumAggregatedResourceSet-r18 ENUMERATED {n1, n2, n4, n8, n12, n16}, + maximumAggregatedResourcePeriodic-r18 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourceAperiodic-r18 ENUMERATED {n0, n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourceSemi-r18 ENUMERATED {n0, n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourcePeriodicPerSlot-r18 ENUMERATED {n1, n2, n3, n4, n5, + n6, n8, n10, n12, n14}, + maximumAggregatedResourceAperiodicPerSlot-r18 ENUMERATED {n0, n1, n2, n3, n4, + n5, n6, n8, n10, n12, n14}, + maximumAggregatedResourceSemiPerSlot-r18 ENUMERATED {n0, n1, n2, n3, n4, + n5, n6, n8, n10, n12, n14}, + guardPeriod-r18 ENUMERATED {n0, n30, n100, n140, n200}, + powerClassForTwoAggregatedCarriers-r18 ENUMERATED {pc2, pc3} OPTIONAL, + powerClassForThreeAggregatedCarriers-r18 ENUMERATED {pc2, pc3} OPTIONAL, +... +} + +PosSRS-BWA-RRC-Inactive-r18 ::=SEQUENCE { + numOfCarriersIntraBandContiguous-r18 ENUMERATED {two, three, twoandthree}, + maximumAggregatedBW-TwoCarriersFR1-r18 ENUMERATED {mhz20, mhz40, mhz50, mhz80, mhz100, mhz160, + mhz180, mhz190, mhz200} OPTIONAL, + maximumAggregatedBW-TwoCarriersFR2-r18 ENUMERATED {mhz50, mhz100, mhz200, mhz400, mhz600, + mhz800} OPTIONAL, + maximumAggregatedBW-ThreeCarriersFR1-r18 ENUMERATED {mhz80, mhz100, mhz160, mhz200, mhz240, + mhz300} OPTIONAL, + maximumAggregatedBW-ThreeCarriersFR2-r18 ENUMERATED {mhz50, mhz100, mhz200, mhz300, mhz400, + mhz600, mhz800, mhz1000, mhz1200} OPTIONAL, + maximumAggregatedResourceSet-r18 ENUMERATED {n1, n2, n4, n8, n12, n16}, + maximumAggregatedResourcePeriodic-r18 ENUMERATED {n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourceSemi-r18 ENUMERATED {n0, n1, n2, n4, n8, n16, n32, n64}, + maximumAggregatedResourcePeriodicPerSlot-r18 ENUMERATED {n1, n2, n3, n4, + n5, n6, n8, n10, n12, n14}, + maximumAggregatedResourceSemiPerSlot-r18 ENUMERATED {n0, n1, n2, n3, n4, + n5, n6, n8, n10, n12, n14}, + guardPeriod-r18 ENUMERATED {n0, n30, n100, n140, n200}, + powerClassForTwoAggregatedCarriers-r18 ENUMERATED {pc2, pc3} OPTIONAL, + powerClassForThreeAggregatedCarriers-r18 ENUMERATED {pc2, pc3} OPTIONAL, +... +} + + +NR-PhaseQuality-r18 ::= SEQUENCE { + phaseQualityIndex-r18 INTEGER (0..179), + phaseQualityResolution-r18 ENUMERATED {mdot1, m1,...}, + ... +} + ReferencePoint-r16 ::= SEQUENCE { referencePointGeographicLocation-r16 CHOICE { location3D-r16 EllipsoidPointWithAltitudeAndUncertaintyEllipsoid, ha-location3D-r16 HighAccuracyEllipsoidPointWithAltitudeAndUncertaintyEllipsoid-r15, - ... + ..., + localOrigin-v1800 LocalOrigin-r18 }, ... } +RelativeCartesianLocation-r18 ::= SEQUENCE { + cartesianCoordinatesUnits-r18 ENUMERATED { mm, cm, dm, m, ...}, + x-value-r18 X-Value-r18, + y-value-r18 Y-Value-r18, + z-value-r18 Z-Value-r18, + locationUnc-r18 LocationUncertainty-r16 OPTIONAL, -- Need OP + ... +} + +X-Value-r18 ::= SEQUENCE { + delta-x-r18 INTEGER (-1024..1023), + coarse-delta-x-r18 INTEGER (0..4095) OPTIONAL, -- Need OP + ... +} + +Y-Value-r18 ::= SEQUENCE { + delta-y-r18 INTEGER (-1024..1023), + coarse-delta-y-r18 INTEGER (0..4095) OPTIONAL, -- Need OP + ... +} + +Z-Value-r18 ::= SEQUENCE { + delta-z-r18 INTEGER (-1024..1023), + coarse-delta-z-r18 INTEGER (0..4095) OPTIONAL, -- Need OP + ... +} + + RelativeLocation-r16 ::= SEQUENCE { milli-arc-second-units-r16 ENUMERATED { mas0-03, mas0-3, mas3, mas30, ...}, height-units-r16 ENUMERATED {mm, cm, m, ...}, @@ -2333,8 +3012,7 @@ NeighbourMeasurementElement ::= SEQUENCE { additionalPathsNeighbour-r14 AdditionalPathList-r14 OPTIONAL, nprsIdNeighbour-r14 INTEGER (0..4095) OPTIONAL, -- Cond ProvidedByServer2 - carrierFreqOffsetNB-Neighbour-r14 - CarrierFreqOffsetNB-r14 OPTIONAL -- Cond NB-IoT + carrierFreqOffsetNB-Neighbour-r14 CarrierFreqOffsetNB-r14 OPTIONAL -- Cond NB-IoT ]], [[ delta-SFN-r15 INTEGER (-8192..8191) OPTIONAL @@ -2441,7 +3119,8 @@ OTDOA-ProvideCapabilities ::= SEQUENCE { numberOfRXantennas-r14 ENUMERATED { rx1, ... } OPTIONAL, motionMeasurements-r15 ENUMERATED { supported } OPTIONAL, interRAT-RSTDmeasurement-r15 ENUMERATED { supported } OPTIONAL, - scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL + scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL, + periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupport-r18 OPTIONAL } maxBands INTEGER ::= 64 @@ -2527,6 +3206,10 @@ GNSS-CommonAssistData ::= SEQUENCE { GNSS-Integrity-ServiceParameters-r17 OPTIONAL, -- Need ON gnss-Integrity-ServiceAlert-r17 GNSS-Integrity-ServiceAlert-r17 OPTIONAL -- Need OR + ]], + [[ + gnss-los-nlos-GridPoints-r18 GNSS-LOS-NLOS-GridPoints-r18 OPTIONAL, -- Need ON + gnss-SSR-IOD-Update-r18 GNSS-SSR-IOD-Update-r18 OPTIONAL -- Need OR ]] } @@ -2576,6 +3259,19 @@ GNSS-GenericAssistDataElement ::= SEQUENCE { OPTIONAL, -- Cond GNSS-ID-NavIC navic-GridModel-r16 NavIC-GridModelParameter-r16 OPTIONAL -- Cond GNSS-ID-NavIC + ]], + [[ + gnss-SSR-OrbitCorrectionsSet2-r17 GNSS-SSR-OrbitCorrectionsSet2-r17 + OPTIONAL, -- Need ON + gnss-SSR-ClockCorrectionsSet2-r17 GNSS-SSR-ClockCorrectionsSet2-r17 + OPTIONAL, -- Need ON + gnss-SSR-URA-Set2-r17 GNSS-SSR-URA-Set2-r17 OPTIONAL -- Need ON + ]], + [[ + gnss-LOS-NLOS-GriddedIndications-r18 GNSS-LOS-NLOS-GriddedIndications-r18 + OPTIONAL, -- Need ON + gnss-SSR-SatellitePCVResiduals-r18 GNSS-SSR-SatellitePCVResiduals-r18 + OPTIONAL -- Need ON ]] } @@ -2601,6 +3297,16 @@ GNSS-PeriodicAssistData-r15 ::= SEQUENCE { ]], [[ gnss-Integrity-PeriodicServiceAlert-r17 GNSS-PeriodicControlParam-r15 OPTIONAL -- Need ON + ]], + [[ + gnss-SSR-PeriodicOrbitCorrectionsSet2-r17 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicClockCorrectionsSet2-r17 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Need ON + gnss-SSR-PeriodicURA-Set2-r17 GNSS-PeriodicControlParam-r15 OPTIONAL -- Need ON + ]], + [[ + gnss-SSR-PeriodicIOD-Update-r18 GNSS-PeriodicControlParam-r15 OPTIONAL -- Need OR ]] } @@ -2900,6 +3606,51 @@ GNSS-Integrity-ServiceAlert-r17 ::= SEQUENCE { } +GNSS-LOS-NLOS-GridPoints-r18 ::= SEQUENCE { + gridPointsSetID-r18 INTEGER (0..16383), + horizontalGridPoints-r18 ArrayOfGridPoints-r18, + referenceAltitudeFine-r18 INTEGER (0..9) OPTIONAL, -- Need OP + verticalGridPoints-r18 VerticalGridPoints-r18 OPTIONAL, -- Cond 3D + ... +} + +ArrayOfGridPoints-r18 ::= SEQUENCE { + referencePointLatitude-r18 INTEGER (-16777216.. 16777215), + referencePointLongitude-r18 INTEGER (-33554432.. 33554431), + numberOfStepsSouth-r18 INTEGER (0.. 255), + numberOfStepsEast-r18 INTEGER (0.. 255), + stepSouth-r18 SpatialDelta-r18, + stepEast-r18 SpatialDelta-r18, + bitmaskOfGrids-r18 CHOICE { + bog16-r18 BIT STRING (SIZE(16)), + bog64-r18 BIT STRING (SIZE(64)), + bog256-r18 BIT STRING (SIZE(256)), + ... + } OPTIONAL, -- Need OP + ... +} + +VerticalGridPoints-r18 ::=SEQUENCE { + referenceAltitudeCoarse-r18 INTEGER (-50..900), + numberOfStepsDown-r18 INTEGER (1..3), + stepDown-r18 SpatialDelta-r18, + upperValidityDeltaAltitude-r18 SpatialDelta-r18 OPTIONAL, -- Need OP + lowerValidityDeltaAltitude-r18 SpatialDelta-r18 OPTIONAL, -- Need OP + ... +} + +SpatialDelta-r18 ::= ENUMERATED {n1, n2, n3, n4, n5, n10, n20, n50, n100} + + +GNSS-SSR-IOD-Update-r18 ::= SEQUENCE { + epochTime-r18 GNSS-SystemTime, + ssrUpdateInterval-r18 INTEGER (0..15), + iod-ssr-r18 INTEGER (0..15), + iod-ssr-PCVResiduals-r18 INTEGER (0..64), + ... +} + + GNSS-TimeModelList ::= SEQUENCE (SIZE (1..15)) OF GNSS-TimeModelElement GNSS-TimeModelElement ::= SEQUENCE { @@ -2933,7 +3684,7 @@ DGNSS-SatList ::= SEQUENCE (SIZE (1..64)) OF DGNSS-CorrectionsElement DGNSS-CorrectionsElement ::= SEQUENCE { svID SV-ID, - iod BIT STRING (SIZE(11)), + iod BIT STRING (SIZE(11)), udre INTEGER (0..3), pseudoRangeCor INTEGER (-2047..2047), rangeRateCor INTEGER (-127..127), @@ -4140,6 +4891,76 @@ RegionIgpElement-r16 ::= SEQUENCE { } +GNSS-SSR-OrbitCorrectionsSet2-r17 ::= SEQUENCE { + refEph-r17 ENUMERATED { b1c,...}, + gnss-SSR-OrbitCorrections-r17 GNSS-SSR-OrbitCorrections-r15, + ... +} + + +GNSS-SSR-ClockCorrectionsSet2-r17 ::= SEQUENCE { + refEph-r17 ENUMERATED { b1c,...}, + gnss-SSR-ClockCorrections-r17 GNSS-SSR-ClockCorrections-r15, + ... +} + + +GNSS-SSR-URA-Set2-r17 ::= SEQUENCE { + refEph-r17 ENUMERATED { b1c,...}, + gnss-SSR-URA-r17 GNSS-SSR-URA-r16, + ... +} + + +GNSS-LOS-NLOS-GriddedIndications-r18 ::= SEQUENCE { + gridPointsSetID-r18 INTEGER (0..16383), + expirationTime-r18 UTCTime OPTIONAL, -- Need ON + gridList-r18 GridList-r18, + ... +} + +GridList-r18 ::= SEQUENCE (SIZE(1..1024)) OF GridElement-r18 + +GridElement-r18 ::= SEQUENCE { + gnss-LOS-InfoList-r18 GNSS-LOS-InfoList-r18 OPTIONAL, -- Need ON + ... +} + +GNSS-LOS-InfoList-r18 ::= SEQUENCE (SIZE(1..64)) OF GNSS-LOS-InfoElement-r18 + +GNSS-LOS-InfoElement-r18 ::= SEQUENCE { + svID-r18 SV-ID, + los-r18 ENUMERATED{true, false, uncertain}, + ... +} + + +GNSS-SSR-SatellitePCVResiduals-r18 ::= SEQUENCE { + iod-ssr-PCVResiduals-r18 INTEGER (0..64), + ssr-SatellitePCV-List-r18 SSR-SatellitePCV-List-r18, + ... +} + +SSR-SatellitePCV-List-r18 ::= SEQUENCE (SIZE(1..64)) OF SSR-SatellitePCV-Element-r18 + +SSR-SatellitePCV-Element-r18 ::= SEQUENCE { + svID-r18 SV-ID, + ssr-SatellitePCV-FrequencyList-r18 SSR-SatellitePCV-FrequencyList-r18, + ... +} + +SSR-SatellitePCV-FrequencyList-r18 ::= SEQUENCE (SIZE(1..8)) OF + SSR-SatellitePCV-FrequencyElement-r18 + +SSR-SatellitePCV-FrequencyElement-r18 ::= SEQUENCE { + frequencyID-r18 GNSS-FrequencyID-r15, + phaseCenterVariations-r18 SSR-PhaseCenterVariationList-r18, + ... +} + +SSR-PhaseCenterVariationList-r18 ::= SEQUENCE (SIZE(1..32)) OF INTEGER(-1024..1023) + + A-GNSS-RequestAssistanceData ::= SEQUENCE { gnss-CommonAssistDataReq GNSS-CommonAssistDataReq OPTIONAL, -- Cond CommonADReq gnss-GenericAssistDataReq GNSS-GenericAssistDataReq OPTIONAL, -- Cond GenADReq @@ -4181,6 +5002,10 @@ GNSS-CommonAssistDataReq ::= SEQUENCE { gnss-Integrity-ServiceAlertReq-r17 GNSS-Integrity-ServiceAlertReq-r17 OPTIONAL -- Cond IntAlertReq + ]], + [[ + gnss-SSR-IOD-UpdateReq-r18 GNSS-SSR-IOD-UpdateReq-r18 + OPTIONAL -- Cond IODUpdateReq ]] } @@ -4236,6 +5061,22 @@ GNSS-GenericAssistDataReqElement ::= SEQUENCE { NavIC-DifferentialCorrectionsReq-r16 OPTIONAL, -- Cond DNavIC-Req navic-GridModelReq-r16 NavIC-GridModelReq-r16 OPTIONAL -- Cond NavIC-GridModReq + ]], + [[ + gnss-SSR-OrbitCorrectionsSet2Req-r17 + GNSS-SSR-OrbitCorrectionsSet2Req-r17 + OPTIONAL, -- Cond OC2-Req + gnss-SSR-ClockCorrectionsSet2Req-r17 + GNSS-SSR-ClockCorrectionsSet2Req-r17 + OPTIONAL, -- Cond CC2-Req + gnss-SSR-URA-Set2Req-r17 GNSS-SSR-URA-Set2Req-r17 OPTIONAL -- Cond URA2-Req + ]], + [[ + gnss-LOS-NLOS-GriddedIndicationsReq-r18 GNSS-LOS-NLOS-GriddedIndicationsReq-r18 + OPTIONAL, -- Cond LOS-GridReq + gnss-SSR-SatellitePCVResidualsReq-r18 + GNSS-SSR-SatellitePCVResidualsReq-r18 + OPTIONAL -- Cond SatPCV-Req ]] } @@ -4263,6 +5104,18 @@ GNSS-PeriodicAssistDataReq-r15 ::= SEQUENCE { [[ gnss-Integrity-PeriodicServiceAlertReq-r17 GNSS-PeriodicControlParam-r15 OPTIONAL -- Cond pDNU + ]], + [[ + gnss-SSR-PeriodicOrbitCorrectionsSet2Req-r17 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pOC2 + gnss-SSR-PeriodicClockCorrectionsSet2Req-r17 + GNSS-PeriodicControlParam-r15 OPTIONAL, -- Cond pCC2 + gnss-SSR-PeriodicURA-Set2Req-r17 + GNSS-PeriodicControlParam-r15 OPTIONAL -- Cond pURA2 + ]], + [[ + gnss-SSR-PeriodicIOD-UpdateReq-r18 + GNSS-PeriodicControlParam-r15 OPTIONAL -- Cond pPCV ]] } @@ -4326,6 +5179,11 @@ GNSS-Integrity-ServiceAlertReq-r17 ::= SEQUENCE { } +GNSS-SSR-IOD-UpdateReq-r18 ::= SEQUENCE { + ... +} + + GNSS-TimeModelListReq ::= SEQUENCE (SIZE(1..15)) OF GNSS-TimeModelElementReq GNSS-TimeModelElementReq ::= SEQUENCE { @@ -4551,6 +5409,46 @@ NavIC-GridModelReq-r16 ::= SEQUENCE { } +GNSS-SSR-OrbitCorrectionsSet2Req-r17 ::= SEQUENCE { + refEphReq-r17 ENUMERATED { b1c,...}, + gnss-SSR-OrbitCorrectionsSet2Req-r17 + GNSS-SSR-OrbitCorrectionsReq-r15 OPTIONAL, -- Cond OC2-Req + ... +} + + +GNSS-SSR-ClockCorrectionsSet2Req-r17 ::= SEQUENCE { + refEphReq-r17 ENUMERATED { b1c,...}, + gnss-SSR-ClockCorrectionsSet2Req-r17 + GNSS-SSR-ClockCorrectionsReq-r15 OPTIONAL, -- Cond CC2-Req + ... +} + + +GNSS-SSR-URA-Set2Req-r17 ::= SEQUENCE { + refEphReq-r17 ENUMERATED { b1c,...}, + ... +} + + +GNSS-LOS-NLOS-GriddedIndicationsReq-r18 ::= SEQUENCE { + gridPointsSetID-Req-r18 INTEGER (0..16383) OPTIONAL, + relativeLocationInfo-r18 CHOICE { + inside-r18 ENUMERATED {upper-left, upper-right, lower-left, lower-right, ...}, + outside-r18 ENUMERATED {north, west, south, east, above, below, ...} + } OPTIONAL, -- Cond Relative + verticalGridType-r18 ENUMERATED {ground-level, threeD}, + referenceAltitudeFine-r18 INTEGER (0..9) OPTIONAL, + referenceAltitudeCoarse-r18 INTEGER (-50..900) OPTIONAL, + ... +} + + +GNSS-SSR-SatellitePCVResidualsReq-r18 ::= SEQUENCE { + ... +} + + A-GNSS-ProvideLocationInformation ::= SEQUENCE { gnss-SignalMeasurementInformation GNSS-SignalMeasurementInformation OPTIONAL, gnss-LocationInformation GNSS-LocationInformation OPTIONAL, @@ -4725,6 +5623,9 @@ A-GNSS-ProvideCapabilities ::= SEQUENCE { ]], [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]], + [[ periodicReportingIntervalMsSupport-r18 + PeriodicReportingIntervalMsSupportPerMode-r18 OPTIONAL ]] } @@ -4785,6 +5686,10 @@ GNSS-CommonAssistanceDataSupport ::= SEQUENCE { gnss-Integrity-ServiceAlertSupport-r17 GNSS-Integrity-ServiceAlertSupport-r17 OPTIONAL -- Cond IntAlertSup + ]], + [[ + gnss-SSR-IOD-UpdateSupport-r18 GNSS-SSR-IOD-UpdateSupport-r18 + OPTIONAL -- Cond IODUpdateSup ]] } @@ -4834,6 +5739,11 @@ GNSS-Integrity-ServiceAlertSupport-r17 ::= SEQUENCE { } +GNSS-SSR-IOD-UpdateSupport-r18 ::= SEQUENCE { + ... +} + + GNSS-GenericAssistanceDataSupport ::= SEQUENCE (SIZE (1..16)) OF GNSS-GenericAssistDataSupportElement @@ -4905,6 +5815,24 @@ GNSS-GenericAssistDataSupportElement ::= SEQUENCE { OPTIONAL, -- Cond DNavIC-Sup navic-GridModelSupport-r16 NavIC-GridModelSupport-r16 OPTIONAL -- Cond NavIC-GridModSup + ]], + [[ + gnss-SSR-OrbitCorrectionsSet2Support-r17 + GNSS-SSR-OrbitCorrectionsSet2Support-r17 + OPTIONAL, -- Cond OC2-Sup + gnss-SSR-ClockCorrectionsSet2Support-r17 + GNSS-SSR-ClockCorrectionsSet2Support-r17 + OPTIONAL, -- Cond CC2-Sup + gnss-SSR-URA-Set2Support-r17 GNSS-SSR-URA-Set2Support-r17 + OPTIONAL -- Cond URA2-Sup + ]], + [[ + gnss-LOS-NLOS-GriddedIndicationsSupport-r18 + GNSS-LOS-NLOS-GriddedIndicationsSupport-r18 + OPTIONAL, -- Cond LOS-NLOS-Grid-Sup + gnss-SSR-SatellitePCVResidualsSupport-r18 + GNSS-SSR-SatellitePCVResidualsSupport-r18 + OPTIONAL -- Cond SatPCV-Sup ]] } @@ -5095,6 +6023,30 @@ NavIC-GridModelSupport-r16 ::= SEQUENCE { } +GNSS-SSR-OrbitCorrectionsSet2Support-r17 ::= SEQUENCE { + ... +} + + +GNSS-SSR-ClockCorrectionsSet2Support-r17 ::= SEQUENCE { + ... +} + + +GNSS-SSR-URA-Set2Support-r17 ::= SEQUENCE { + ... +} + + +GNSS-LOS-NLOS-GriddedIndicationsSupport-r18 ::= SEQUENCE { + ... +} + +GNSS-SSR-SatellitePCVResidualsSupport-r18 ::= SEQUENCE { + ... +} + + A-GNSS-RequestCapabilities ::= SEQUENCE { gnss-SupportListReq BOOLEAN, assistanceDataSupportListReq BOOLEAN, @@ -5135,7 +6087,10 @@ GNSS-TargetDeviceErrorCauses ::= SEQUENCE { fineTimeAssistanceMeasurementsNotPossible NULL OPTIONAL, adrMeasurementsNotPossible NULL OPTIONAL, multiFrequencyMeasurementsNotPossible NULL OPTIONAL, - ... + ..., + [[ + remoteUE-Indication-r18 ENUMERATED {true} OPTIONAL -- Cond NR + ]] } @@ -5308,6 +6263,8 @@ ECID-ProvideCapabilities ::= SEQUENCE { idleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL ]], [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL + ]], + [[ periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupport-r18 OPTIONAL ]] } @@ -5399,6 +6356,9 @@ TBS-ProvideCapabilities-r13 ::= SEQUENCE { mbs-IdleStateForMeasurements-r14 ENUMERATED { required } OPTIONAL ]], [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]], + [[ periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupportPerMode-r18 + OPTIONAL ]] } @@ -5595,6 +6555,9 @@ Sensor-ProvideCapabilities-r13 ::= SEQUENCE { [[ adjustmentSupported-r16 ENUMERATED { true } OPTIONAL ]], [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]], + [[ periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupportPerMode-r18 + OPTIONAL ]] } @@ -5754,6 +6717,9 @@ WLAN-ProvideCapabilities-r13 ::= SEQUENCE { ENUMERATED { required } OPTIONAL ]], [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]], + [[ periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupportPerMode-r18 + OPTIONAL ]] } @@ -5881,6 +6847,21 @@ WLAN-RequestAssistanceData-r14 ::= SEQUENCE { BT-ProvideLocationInformation-r13 ::= SEQUENCE { bt-MeasurementInformation-r13 BT-MeasurementInformation-r13 OPTIONAL, bt-Error-r13 BT-Error-r13 OPTIONAL, + ..., + [[ + bt-AoA-Config-r18 BT-AoA-Config-r18 OPTIONAL + ]] +} + +BT-AoA-Config-r18 ::= SEQUENCE { + bt-Addr-r18 BIT STRING (SIZE (48)), + cte-Status-r18 ENUMERATED { enabled } OPTIONAL, + primaryAdvInterval-r18 INTEGER (32..16777) OPTIONAL, + secondAdvInterval-r18 INTEGER (6..65535) OPTIONAL, + tx-Power-r18 INTEGER (-127..20) OPTIONAL, + cte-Length-r18 INTEGER (2..20) OPTIONAL, + cte-Count-r18 INTEGER (1..16) OPTIONAL, + tx-PHY-M2-r18 ENUMERATED { m2 } OPTIONAL, ... } @@ -5888,7 +6869,10 @@ BT-ProvideLocationInformation-r13 ::= SEQUENCE { BT-MeasurementInformation-r13 ::= SEQUENCE { measurementReferenceTime-r13 UTCTime OPTIONAL, bt-MeasurementList-r13 BT-MeasurementList-r13 OPTIONAL, - ... + ..., + [[ + bt-MeasurementList-r18 BT-MeasurementList-r18 OPTIONAL + ]] } BT-MeasurementList-r13 ::= SEQUENCE (SIZE(1..maxBT-Beacon-r13)) OF BT-MeasurementElement-r13 @@ -5900,18 +6884,48 @@ BT-MeasurementElement-r13 ::= SEQUENCE { ... } +BT-MeasurementList-r18 ::= SEQUENCE (SIZE(1..maxBT-Beacon-r13)) OF BT-MeasurementElement-r18 + +BT-MeasurementElement-r18 ::= SEQUENCE { + btAddr-r18 BIT STRING (SIZE (48)), + bt-azimuth-r18 INTEGER (0..359), + bt-elevation-r18 INTEGER (0..180) OPTIONAL, + rssi-r18 INTEGER (-128..127) OPTIONAL, + ... +} + BT-RequestLocationInformation-r13 ::= SEQUENCE { requestedMeasurements-r13 BIT STRING { - rssi (0)} (SIZE(1..8)), + rssi (0), + aod-v1800 (1)} (SIZE(1..8)), + ..., + [[ + bt-requestedAoA-Config-r18 BIT STRING { + aoa-advConfig (0), + aoa-cteConfig (1)} (SIZE(1..8)) OPTIONAL, -- Need ON + bt-suggestedAoA-Config-r18 BT-SuggestedAoA-Config-r18 OPTIONAL -- Need ON + ]] +} + +BT-SuggestedAoA-Config-r18 ::= SEQUENCE { + cte-Status-r18 ENUMERATED {enabled, disabled} OPTIONAL, -- Need ON + primaryAdvInterval-r18 INTEGER (32..16777) OPTIONAL, -- Need ON + secondAdvInterval-r18 INTEGER (6..65535) OPTIONAL, -- Need ON + tx-Power-r18 INTEGER (-127..20) OPTIONAL, -- Need ON + cte-Length-r18 INTEGER (2..20) OPTIONAL, -- Need ON + cte-Count-r18 INTEGER (1..16) OPTIONAL, -- Need ON + tx-PHY-M2-r18 ENUMERATED { m2 } OPTIONAL, -- Need OP ... } BT-ProvideCapabilities-r13 ::= SEQUENCE { bt-Modes-r13 BIT STRING { standalone (0), - ue-assisted (1)} (SIZE (1..8)), - bt-MeasSupported-r13 BIT STRING { rssi-r13 (0)} (SIZE (1..8)), + ue-assisted (1), + ue-based-v1810 (2)} (SIZE (1..8)), + bt-MeasSupported-r13 BIT STRING { rssi-r13 (0), + aod-v1800 (1)} (SIZE (1..8)), ..., [[ idleStateForMeasurements-r14 @@ -5920,6 +6934,10 @@ BT-ProvideCapabilities-r13 ::= SEQUENCE { PositioningModes OPTIONAL ]], [[ scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupportPerMode-r17 OPTIONAL + ]], + [[ bt-AoA-r18 ENUMERATED { request-only, suggestion } OPTIONAL, + periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupportPerMode-r18 + OPTIONAL ]] } @@ -5937,7 +6955,11 @@ BT-Error-r13 ::= CHOICE { BT-LocationServerErrorCauses-r13 ::= SEQUENCE { - cause-r13 ENUMERATED {undefined, ...}, + cause-r13 ENUMERATED {undefined, ..., + assistanceDataNotSupportedByServer-v1810, + assistanceDataSupportedButCurrentlyNotAvailableByServer-v1810, + notAllrequestedAssistanceDataAvailableByServer-v1810 + }, ... } @@ -5946,13 +6968,109 @@ BT-TargetDeviceErrorCauses-r13 ::= SEQUENCE { cause-r13 ENUMERATED {undefined, requestedMeasurementsNotAvailable, notAllrequestedMeasurementsPossible, - ... + ..., + assistanceDataMissing-v1810 }, bt-Beacon-rssiMeasurementNotPossible-r13 NULL OPTIONAL, ... } +BT-ProvideAssistanceData-r18 ::= SEQUENCE { + bt-BeaconInfo-r18 BT-BeaconInfo-r18, + bt-Error-r18 BT-Error-r13 OPTIONAL, -- Need ON + ... +} + + +BT-BeaconInfo-r18 ::= SEQUENCE { + referencePoint-r18 ReferencePoint-r16, + bt-BeaconInfoList-r18 SEQUENCE (SIZE (1..maxBT-BeaconAD-r18)) OF + BT-BeaconInfoElement-r18, + ... +} + +BT-BeaconInfoElement-r18 ::= SEQUENCE { + bt-Addr-r18 BIT STRING (SIZE (48)), + bt-BeaconLocation-r18 RelativeLocation-r16 OPTIONAL, -- Need OP + bt-LCS-GCS-TranslationParameter-r18 LCS-GCS-TranslationParameter-r16 + OPTIONAL, -- Cond NotSameAsPrev1 + bt-antArrayConfig-r18 BT-AntArrayConfig-r18 OPTIONAL, -- Cond NotSameAsPrev2 + bt-antElementList-r18 SEQUENCE (SIZE (2..maxBT-BeaconAntElt-r18)) OF + BT-AntElement-r18 OPTIONAL, -- Cond NotSameAsPrev3 + bt-antSwitchingPattern-r18 SEQUENCE (SIZE (2..maxBT-BeaconAntElt-r18)) OF + BT-AntSwitchElement-r18 OPTIONAL, -- Cond NotSameAsPrev4 + bt-AoD-TransmConfig-r18 BT-AoD-TransmConfig-r18 OPTIONAL, -- Cond NotSameAsPrev5 + ... +} + +BT-AntArrayConfig-r18 ::= CHOICE { + bt-UniformLinearArray-r18 BT-UniformLinearArray-r18, + bt-UniformRectangularArray-r18 BT-UniformRectangularArray-r18, + bt-UniformCircularArray-r18 BT-UniformCircularArray-r18, + bt-GenericArray-r18 BT-GenericArray-r18 +} + +BT-AntElement-r18 ::= SEQUENCE { + polarization-r18 ENUMERATED {m45, zero, p45, p90, circ}, + ... +} + +BT-AntSwitchElement-r18 ::= SEQUENCE { + antElementIndexShort-r18 INTEGER (1..16), + antElementIndexOffset-r18 ENUMERATED {o16, o32, o48, o64} OPTIONAL, -- Need OP + ... +} + +BT-AoD-TransmConfig-r18 ::= SEQUENCE { + primaryAdvInterval-r18 INTEGER (32..16777), + secondAdvInterval-r18 INTEGER (6..65535), + cte-Length-r18 INTEGER (2..20), + cte-Count-r18 INTEGER (1..16), + cte-Type2us-r18 ENUMERATED { true } OPTIONAL, -- Need OP + tx-PHY-M2-r18 ENUMERATED { true } OPTIONAL, -- Need OP + ... +} + + +BT-UniformLinearArray-r18 ::= SEQUENCE { + bt-NoElements-r18 INTEGER (2..maxBT-BeaconAntElt-r18), + bt-InterElementDist-r18 INTEGER (30..130) +} + + +BT-UniformRectangularArray-r18 ::= SEQUENCE { + bt-NoElementsY-r18 INTEGER (1..maxBT-BeaconAntElt-r18), + bt-NoElementsZ-r18 INTEGER (1..maxBT-BeaconAntElt-r18), + bt-InterElementDistY-r18 INTEGER (30..135), + bt-InterElementDistZ-r18 INTEGER (30..135) +} + + +BT-UniformCircularArray-r18 ::= SEQUENCE { + bt-NoElements-r18 INTEGER (2..maxBT-BeaconAntElt-r18), + bt-InterElementDist-r18 INTEGER (30..130) +} + + +BT-GenericArray-r18 ::= SEQUENCE (SIZE (2..maxBT-BeaconAntElt-r18)) OF BT-ULA-GenericAntElement-r18 + +BT-ULA-GenericAntElement-r18 ::= SEQUENCE { + deltaY-r18 INTEGER (-135..135) OPTIONAL, -- Need OP + deltaX-r18 INTEGER (-135..135) OPTIONAL, -- Need OP + deltaZ-r18 INTEGER (-135..135) OPTIONAL -- Need OP +} + + +BT-RequestAssistanceData-r18 ::= SEQUENCE { + requestedAD-r18 BIT STRING { + beacon-location (0), + beacon-antConfig (1), + beacon-transmConfig (2) } (SIZE (1..8)), + ... +} + + NR-UL-ProvideCapabilities-r16 ::= SEQUENCE { nr-UL-SRS-Capability-r16 NR-UL-SRS-Capability-r16, ..., @@ -6036,6 +7154,8 @@ NR-ECID-ProvideCapabilities-r16 ::= SEQUENCE { ten-ms-unit-ResponseTime-r17 ENUMERATED { supported } OPTIONAL, scheduledLocationRequestSupported-r17 ScheduledLocationTimeSupport-r17 OPTIONAL + ]], + [[ periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupport-r18 OPTIONAL ]] } @@ -6070,7 +7190,10 @@ NR-ECID-TargetDeviceErrorCauses-r16 ::= SEQUENCE { ss-RSRQMeasurementNotPossible-r16 NULL OPTIONAL, csi-RSRPMeasurementNotPossible-r16 NULL OPTIONAL, csi-RSRQMeasurementNotPossible-r16 NULL OPTIONAL, - ... + ..., + [[ + remoteUE-Indication-r18 ENUMERATED {true} OPTIONAL -- Cond NR + ]] } @@ -6089,6 +7212,9 @@ NR-DL-TDOA-ProvideAssistanceData-r16 ::= SEQUENCE { nr-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 NR-On-Demand-DL-PRS-Configurations-Selected-IndexList-r17 OPTIONAL, -- Need ON assistanceDataValidityArea-r17 AreaID-CellList-r17 OPTIONAL -- Need ON + ]], + [[ + nr-PeriodicAssistData-r18 NR-PeriodicAssistData-r18 OPTIONAL -- Cond CtrTrans ]] } @@ -6103,13 +7229,26 @@ NR-DL-TDOA-RequestAssistanceData-r16 ::= SEQUENCE { beamInfo (1), rtdInfo (2), losNlosInfo (3), - trpTEG-Info (4) + trpTEG-Info (4), + nr-IntegrityBounds-r18 (5), + pruInfo-r18 (6) } (SIZE (1..8)) OPTIONAL, nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL, nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17 ENUMERATED { eAoD, eAoA } OPTIONAL, pre-configured-AssistanceDataRequest-r17 ENUMERATED { true } OPTIONAL + ]], + [[ + nr-PeriodicAssistDataReq-r18 NR-PeriodicAssistDataReq-r18 OPTIONAL, -- Cond PerADReq + nr-IntegrityAssistanceRequest-r18 BIT STRING { + serviceParameters (0), + serviceAlert (1), + riskParameters (2), + integrityParaTRP-Loc (3), + integrityParaBeamInfo (4), + integrityParaRTD-Info (5) + } (SIZE (1..8)) OPTIONAL ]] } @@ -6161,7 +7300,13 @@ NR-DL-TDOA-MeasElement-r16 ::= SEQUENCE { k3-r16 INTEGER (0..246257), k4-r16 INTEGER (0..123129), k5-r16 INTEGER (0..61565), - ... + ..., + kMinus6-r18 INTEGER (0..126083073), + kMinus5-r18 INTEGER (0..63041537), + kMinus4-r18 INTEGER (0..31520769), + kMinus3-r18 INTEGER (0..15760385), + kMinus2-r18 INTEGER (0..7880193), + kMinus1-r18 INTEGER (0..3940097) }, nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL, nr-TimingQuality-r16 NR-TimingQuality-r16, @@ -6179,6 +7324,17 @@ NR-DL-TDOA-MeasElement-r16 ::= SEQUENCE { nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL, nr-DL-TDOA-AdditionalMeasurementsExt-r17 NR-DL-TDOA-AdditionalMeasurementsExt-r17 OPTIONAL + ]], + [[ + nr-MeasBasedOnAggregatedResources-r18 ENUMERATED {true} OPTIONAL, + nr-AggregatedDL-PRS-ResourceInfo-List-r18 SEQUENCE (SIZE (2.. 3)) OF + NR-AggregatedDL-PRS-ResourceInfo-Element-r18 OPTIONAL, + nr-RSCPD-r18 INTEGER (0..3599) OPTIONAL, + nr-PhaseQuality-r18 NR-PhaseQuality-r18 OPTIONAL, + nr-RSCPD-AddMeasurementSamples-r18 SEQUENCE (SIZE (1..nrNumOfSamples-1-r18 )) OF + NR-RSCPD-AdditionalMeasurementSamplesElement-r18 OPTIONAL, + nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18 + ENUMERATED { singleHop, multipleHop } OPTIONAL ]] } @@ -6199,7 +7355,13 @@ NR-DL-TDOA-AdditionalMeasurementElement-r16 ::= SEQUENCE { k3-r16 INTEGER (0..1023), k4-r16 INTEGER (0..511), k5-r16 INTEGER (0..255), - ... + ..., + kMinus6-r18 INTEGER (0..524224), + kMinus5-r18 INTEGER (0..262112), + kMinus4-r18 INTEGER (0..131056), + kMinus3-r18 INTEGER (0..65528), + kMinus2-r18 INTEGER (0..32764), + kMinus1-r18 INTEGER (0..16382) }, nr-TimingQuality-r16 NR-TimingQuality-r16, nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..61) OPTIONAL, @@ -6212,9 +7374,28 @@ NR-DL-TDOA-AdditionalMeasurementElement-r16 ::= SEQUENCE { nr-los-nlos-IndicatorPerResource-r17 LOS-NLOS-Indicator-r17 OPTIONAL, nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL + ]], + [[ + nr-MeasBasedOnAggregatedResources-r18 ENUMERATED {true} OPTIONAL, + nr-AggregatedDL-PRS-ResourceInfo-List-r18 SEQUENCE (SIZE (2.. 3)) OF + NR-AggregatedDL-PRS-ResourceInfo-Element-r18 OPTIONAL, + nr-RSCPD-r18 INTEGER (0..3599) OPTIONAL, + nr-PhaseQuality-r18 NR-PhaseQuality-r18 OPTIONAL, + nr-RSCPD-AdditionalMeasurementsAddSamples-r18 + SEQUENCE (SIZE (1..nrNumOfSamples-1-r18 )) OF + NR-RSCPD-AdditionalMeasurementSamplesElement-r18 OPTIONAL, + nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18 + ENUMERATED { singleHop, multipleHop } OPTIONAL ]] } +NR-RSCPD-AdditionalMeasurementSamplesElement-r18 ::= SEQUENCE { + nr-RSCPD-r18 INTEGER (0..3599) OPTIONAL, + nr-PhaseQuality-r18 NR-PhaseQuality-r18 OPTIONAL, + nr-TimeStamp-r18 NR-TimeStamp-r16 OPTIONAL, + ... +} + NR-DL-TDOA-LocationInformation-r16 ::= SEQUENCE { measurementReferenceTime-r16 CHOICE { @@ -6233,7 +7414,8 @@ NR-DL-TDOA-LocationInformation-r16 ::= SEQUENCE { NR-DL-TDOA-RequestLocationInformation-r16 ::= SEQUENCE { nr-DL-PRS-RstdMeasurementInfoRequest-r16 ENUMERATED { true } OPTIONAL,-- Need ON nr-RequestedMeasurements-r16 BIT STRING { prsrsrpReq (0), - firstPathRsrpReq-r17 (1) + firstPathRsrpReq-r17 (1), + dl-PRS-RSCPD-Request-r18 (2) } (SIZE(1..8)), nr-AssistanceAvailability-r16 BOOLEAN, nr-DL-TDOA-ReportConfig-r16 NR-DL-TDOA-ReportConfig-r16 OPTIONAL, -- Need ON @@ -6249,7 +7431,18 @@ NR-DL-TDOA-RequestLocationInformation-r16 ::= SEQUENCE { additionalPathsExt-r17 ENUMERATED { requested } OPTIONAL, -- Need ON additionalPathsDL-PRS-RSRP-Request-r17 ENUMERATED { requested } OPTIONAL, -- Need ON multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL -- Need ON - + ]], + [[ + nr-DL-PRS-JointMeasurementRequest-r18 SEQUENCE { + nr-DL-PRS-JointMeasurementRequestedPFL-List-r18 SEQUENCE (SIZE (2..3)) OF + INTEGER (0..nrMaxFreqLayers-1-r16) OPTIONAL -- Need ON + } OPTIONAL, -- Need ON + nr-DL-PRS-RxHoppingRequest-r18 SEQUENCE { + nr-DL-PRS-RxHoppingTotalBandwidth-r18 CHOICE { + fr1 ENUMERATED {mhz40, mhz50, mhz80, mhz100}, + fr2 ENUMERATED {mhz100, mhz200, mhz400} + } OPTIONAL -- Need ON + } OPTIONAL -- Need ON ]] } @@ -6263,6 +7456,11 @@ NR-DL-TDOA-ReportConfig-r16 ::= SEQUENCE { OPTIONAL, -- Need ON reducedDL-PRS-ProcessingSamples-r17 ENUMERATED { requested, ... } OPTIONAL, -- Need ON lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]], + [[ + timingReportingGranularityFactorExt-r18 INTEGER (-6..-1) OPTIONAL, -- Need ON + nr-DL-PRS-MeasurementTimeWindowsConfig-r18 + NR-DL-PRS-MeasurementTimeWindowsConfig-r18 OPTIONAL -- Need ON ]] } @@ -6281,7 +7479,9 @@ NR-DL-TDOA-ProvideCapabilities-r16 ::= SEQUENCE { nr-PosCalcAssistanceSupport-r17 BIT STRING { trpLocSup (0), beamInfoSup (1), rtdInfoSup (2), - trpTEG-InfoSup (3) + trpTEG-InfoSup (3), + nr-IntegritySup-r18 (4), + pruInfoSup-r18 (5) } (SIZE (1..8)) OPTIONAL, nr-los-nlos-AssistanceDataSupport-r17 SEQUENCE { type-r17 LOS-NLOS-IndicatorType2-r17, @@ -6307,6 +7507,26 @@ NR-DL-TDOA-ProvideCapabilities-r16 ::= SEQUENCE { ]], [[ posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + multiLocationEstimateInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + locationCoordinateTypes-r18 LocationCoordinateTypes OPTIONAL, + periodicAssistanceData-r18 BIT STRING { solicited (0), + unsolicited (1)} (SIZE (1..8)) OPTIONAL, + nr-IntegrityAssistanceSupport-r18 BIT STRING { + serviceParametersSup (0), + serviceAlertSup (1), + riskParametersSup (2), + integrityParaTRP-LocSup (3), + integrityParaBeamInfoSup (4), + integrityParaRTD-InfoSup (5) + } (SIZE (1..8)) OPTIONAL, + nr-DL-TDOA-OnDemandPRS-ForBWA-Support-r18 + ENUMERATED { supported } OPTIONAL, + periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupportPerMode-r18 + OPTIONAL ]] } @@ -6328,7 +7548,26 @@ DL-TDOA-MeasCapabilityPerBand-r17 ::= SEQUENCE { freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16, supportOfDL-PRS-FirstPathRSRP-r17 ENUMERATED { supported } OPTIONAL, dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL, - ... + ..., + [[ + supportOfDL-PRS-BWA-RRC-Connected-r18 ENUMERATED { supported } OPTIONAL, + supportOfDL-PRS-BWA-RRC-Inactive-r18 ENUMERATED { supported } OPTIONAL, + supportOfDL-PRS-BWA-RRC-Idle-r18 ENUMERATED { supported } OPTIONAL, + nr-DL-PRS-RSCPD-ReportingRRC-Connected-r18 ENUMERATED { supported } OPTIONAL, + assocSingleRSTD-WithUpToNsampleRSCPD-r18 ENUMERATED { supported } OPTIONAL, + nr-DL-PRS-RSCPD-MeasurementRRC-Idle-r18 ENUMERATED { supported } OPTIONAL, + supportOfUE-basedCarrierPhasePositioning-r18 ENUMERATED { supported } OPTIONAL, + supportOfSymbolTimeStampForRSCPD-r18 ENUMERATED { supported } OPTIONAL, + supportOfFinerTimingReportGranularityForPRS-Meas-r18 ENUMERATED { minus1, minus2, + minus3, minus4, minus5, minus6} + OPTIONAL, + supportOfMeasurementsInTimeWindow-r18 BIT STRING { rstd (0), + rsrp (1), + rsrpp (2), + rscpd (3) + } (SIZE (1..8)) OPTIONAL, + supportOfPRS-MeasurementRRC-Idle-r18 ENUMERATED { supported } OPTIONAL + ]] } @@ -6366,7 +7605,10 @@ NR-DL-TDOA-TargetDeviceErrorCauses-r16 ::= SEQUENCE { locationCalculationAssistanceDataMissing, ... }, - ... + ..., + [[ + remoteUE-Indication-r18 ENUMERATED {true} OPTIONAL -- Cond NR + ]] } @@ -6401,12 +7643,22 @@ NR-DL-AoD-RequestAssistanceData-r16 ::= SEQUENCE { beamInfo (1), rtdInfo (2), beamAntInfo (3), - losNlosInfo (4) + losNlosInfo (4), + nr-IntegrityBounds-r18 (5) } (SIZE (1..8)) OPTIONAL, nr-DL-PRS-ExpectedAoD-or-AoA-Request-r17 ENUMERATED { eAoD, eAoA } OPTIONAL, nr-DL-PRS-BeamInfoRequest-r17 ENUMERATED { requested } OPTIONAL, nr-on-demand-DL-PRS-Request-r17 NR-On-Demand-DL-PRS-Request-r17 OPTIONAL, - pre-configured-AssistanceDataRequest-r17 ENUMERATED { true } OPTIONAL + pre-configured-AssistanceDataRequest-r17 ENUMERATED { true } OPTIONAL, + nr-IntegrityAssistanceRequest-r18 BIT STRING { + serviceParameters (0), + serviceAlert (1), + riskParameters (2), + integrityParaTRP-Loc (3), + integrityParaBeamInfo (4), + integrityParaRTD-Info (5), + integrityBeamAntInfo (6) + } (SIZE (1..8)) OPTIONAL ]] } @@ -6457,7 +7709,12 @@ NR-DL-AoD-MeasElement-r16 ::= SEQUENCE { } OPTIONAL, nr-DL-AoD-AdditionalMeasurementsExt-r17 NR-DL-AoD-AdditionalMeasurementsExt-r17 OPTIONAL + ]], + [[ + nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18 + ENUMERATED { singleHop, multipleHop } OPTIONAL ]] + } NR-DL-AoD-AdditionalMeasurements-r16 ::= SEQUENCE (SIZE (1..7)) OF @@ -6483,7 +7740,11 @@ NR-DL-AoD-AdditionalMeasurementElement-r17 ::= SEQUENCE { nr-DL-PRS-RxBeamIndex-r17 INTEGER (1..8) OPTIONAL, nr-DL-PRS-FirstPathRSRP-ResultDiff-r17 INTEGER (0..61) OPTIONAL, -- Cond rsrpp nr-los-nlos-IndicatorPerResource-r17 LOS-NLOS-Indicator-r17 OPTIONAL, - ... + ..., + [[ + nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18 + ENUMERATED { singleHop, multipleHop } OPTIONAL + ]] } @@ -6507,6 +7768,14 @@ NR-DL-AoD-RequestLocationInformation-r16 ::= SEQUENCE { ..., [[ multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]], + [[ + nr-DL-PRS-RxHoppingRequest-r18 SEQUENCE { + nr-DL-PRS-RxHoppingTotalBandwidth-r18 CHOICE { + fr1 ENUMERATED {mhz40, mhz50, mhz80, mhz100}, + fr2 ENUMERATED {mhz100, mhz200, mhz400} + } OPTIONAL -- Need ON + } OPTIONAL -- Need ON ]] } @@ -6525,6 +7794,10 @@ NR-DL-AoD-ReportConfig-r16 ::= SEQUENCE { reducedDL-PRS-ProcessingSamples-r17 ENUMERATED { requested, ... } OPTIONAL, -- Need ON lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]], + [[ + nr-DL-PRS-MeasurementTimeWindowsConfig-r18 + NR-DL-PRS-MeasurementTimeWindowsConfig-r18 OPTIONAL -- Need ON ]] } @@ -6542,7 +7815,8 @@ NR-DL-AoD-ProvideCapabilities-r16 ::= SEQUENCE { nr-PosCalcAssistanceSupport-r17 BIT STRING { trpLocSup (0), beamInfoSup (1), rtdInfoSup (2), - beamAntInfoSup (3) + beamAntInfoSup (3), + nr-IntegrityBoundsSup-r18 (4) } (SIZE (1..8)) OPTIONAL, nr-los-nlos-AssistanceDataSupport-r17 SEQUENCE { type-r17 LOS-NLOS-IndicatorType2-r17, @@ -6572,6 +7846,23 @@ NR-DL-AoD-ProvideCapabilities-r16 ::= SEQUENCE { ]], [[ posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + multiLocationEstimateInSameMeasReport-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + locationCoordinateTypes-r18 LocationCoordinateTypes OPTIONAL, + nr-IntegrityAssistanceSupport-r18 BIT STRING { + serviceParametersSup (0), + serviceAlertSup (1), + riskParametersSup (2), + integrityParaTRP-LocSup (3), + integrityParaBeamInfoSup (4), + integrityParaRTD-InfoSup (5), + integrityBeamAntInfoSup (6) + } (SIZE (1..8)) OPTIONAL, + periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupportPerMode-r18 + OPTIONAL ]] } @@ -6596,6 +7887,13 @@ DL-AoD-MeasCapabilityPerBand-r16 ::= SEQUENCE { [[ maxDL-PRS-FirstPathRSRP-MeasPerTRP-r17 ENUMERATED { n1, n2, n4, n8, n16, n24 } OPTIONAL, dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + supportOfMeasurementsInTimeWindow-r18 BIT STRING { + rsrp (0), + rsrpp (1) + } (SIZE (1..8)) OPTIONAL, + supportOfPRS-MeasurementRRC-Idle-r18 ENUMERATED { supported } OPTIONAL ]] } @@ -6634,7 +7932,10 @@ NR-DL-AoD-TargetDeviceErrorCauses-r16 ::= SEQUENCE { locationCalculationAssistanceDataMissing, ... }, - ... + ..., + [[ + remoteUE-Indication-r18 ENUMERATED {true} OPTIONAL -- Cond NR + ]] } @@ -6677,7 +7978,7 @@ NR-Multi-RTT-ProvideLocationInformation-r16 ::= SEQUENCE { nr-Multi-RTT-SignalMeasurementInstances-r17 SEQUENCE (SIZE (1..maxMeasInstances-r17)) OF NR-Multi-RTT-SignalMeasurementInformation-r16 - OPTIONAL + OPTIONAL --Cond batchUEA ]] } @@ -6714,7 +8015,13 @@ NR-Multi-RTT-MeasElement-r16 ::= SEQUENCE { k3-r16 INTEGER (0..246257), k4-r16 INTEGER (0..123129), k5-r16 INTEGER (0..61565), - ... + ..., + kMinus6-r18 INTEGER (0..126083073), + kMinus5-r18 INTEGER (0..63041537), + kMinus4-r18 INTEGER (0..31520769), + kMinus3-r18 INTEGER (0..15760385), + kMinus2-r18 INTEGER (0..7880193), + kMinus1-r18 INTEGER (0..3940097) }, nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL, nr-TimeStamp-r16 NR-TimeStamp-r16, @@ -6733,6 +8040,19 @@ NR-Multi-RTT-MeasElement-r16 ::= SEQUENCE { nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL, nr-Multi-RTT-AdditionalMeasurementsExt-r17 NR-Multi-RTT-AdditionalMeasurementsExt-r17 OPTIONAL + ]], + [[ + nr-MeasBasedOnAggregatedResources-r18 ENUMERATED {true} OPTIONAL, + nr-AggregatedDL-PRS-ResourceInfo-List-r18 SEQUENCE (SIZE (2..3)) OF + NR-AggregatedDL-PRS-ResourceInfo-Element-r18 OPTIONAL, + nr-RSCP-r18 INTEGER (0..3599) OPTIONAL, + nr-PhaseQuality-r18 NR-PhaseQuality-r18 OPTIONAL, + nr-RSCP-AddSampleMeasurements-r18 + SEQUENCE (SIZE (1..nrNumOfSamples-1-r18 )) OF NR-RSCP-AdditionalMeasurements-r18 + OPTIONAL, + nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18 + ENUMERATED { singleHop, multipleHop } OPTIONAL, + nr-NTN-UE-RxTxMeasurements-r18 NR-NTN-UE-RxTxMeasurements-r18 OPTIONAL ]] } @@ -6744,7 +8064,7 @@ NR-Multi-RTT-AdditionalMeasurementsExt-r17 ::= SEQUENCE (SIZE (1..maxAddMeasRTT- NR-Multi-RTT-AdditionalMeasurementElement-r16 ::= SEQUENCE { nr-DL-PRS-ResourceID-r16 NR-DL-PRS-ResourceID-r16 OPTIONAL, - nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, + nr-DL-PRS-ResourceSetID-r16 NR-DL-PRS-ResourceSetID-r16 OPTIONAL, nr-DL-PRS-RSRP-ResultDiff-r16 INTEGER (0..61) OPTIONAL, nr-UE-RxTxTimeDiffAdditional-r16 CHOICE { k0-r16 INTEGER (0..8191), @@ -6753,7 +8073,13 @@ NR-Multi-RTT-AdditionalMeasurementElement-r16 ::= SEQUENCE { k3-r16 INTEGER (0..1023), k4-r16 INTEGER (0..511), k5-r16 INTEGER (0..255), - ... + ..., + kMinus6-r18 INTEGER (0..524224), + kMinus5-r18 INTEGER (0..262112), + kMinus4-r18 INTEGER (0..131056), + kMinus3-r18 INTEGER (0..65528), + kMinus2-r18 INTEGER (0..32764), + kMinus1-r18 INTEGER (0..16382) }, nr-TimingQuality-r16 NR-TimingQuality-r16, nr-AdditionalPathList-r16 NR-AdditionalPathList-r16 OPTIONAL, @@ -6764,6 +8090,19 @@ NR-Multi-RTT-AdditionalMeasurementElement-r16 ::= SEQUENCE { nr-DL-PRS-FirstPathRSRP-ResultDiff-r17 INTEGER (0..61) OPTIONAL, nr-los-nlos-IndicatorPerResource-r17 LOS-NLOS-Indicator-r17 OPTIONAL, nr-AdditionalPathListExt-r17 NR-AdditionalPathListExt-r17 OPTIONAL + ]], + [[ + nr-MeasBasedOnAggregatedResources-r18 ENUMERATED {true} OPTIONAL, + nr-AggregatedDL-PRS-ResourceInfo-List-r18 SEQUENCE (SIZE (2..3)) OF + NR-AggregatedDL-PRS-ResourceInfo-Element-r18 OPTIONAL, + nr-RSCP-r18 INTEGER (0..3599) OPTIONAL, + nr-PhaseQuality-r18 NR-PhaseQuality-r18 OPTIONAL, + nr-RSCP-AdditionalMeasurementsAddSample-r18 + SEQUENCE (SIZE (1..nrNumOfSamples-1-r18 )) OF NR-RSCP-AdditionalMeasurements-r18 + OPTIONAL, + nr-ReportDL-PRS-MeasBasedOnSingleOrMultiHopRx-r18 + ENUMERATED { singleHop, multipleHop } OPTIONAL, + nr-NTN-UE-RxTxMeasurements-r18 NR-NTN-UE-RxTxMeasurements-r18 OPTIONAL ]] } @@ -6794,12 +8133,26 @@ NR-UE-RxTx-TEG-Info-r17 ::= CHOICE { ... } +NR-RSCP-AdditionalMeasurements-r18 ::= SEQUENCE { + nr-RSCP-r18 INTEGER (0..3599) OPTIONAL, + nr-PhaseQuality-r18 NR-PhaseQuality-r18 OPTIONAL, + nr-TimeStamp-r18 NR-TimeStamp-r16 OPTIONAL, + ... +} + +NR-NTN-UE-RxTxMeasurements-r18 ::= SEQUENCE { + nr-NTN-UE-RxTxTimeDiffSubframeOffset-r18 INTEGER (0..542), + nr-NTN-DL-TimingDrift-r18 INTEGER (-265..265) +} + NR-Multi-RTT-RequestLocationInformation-r16 ::= SEQUENCE { nr-UE-RxTxTimeDiffMeasurementInfoRequest-r16 ENUMERATED { true } OPTIONAL, -- Need ON nr-RequestedMeasurements-r16 BIT STRING { prsrsrpReq (0), - firstPathRsrpReq-r17 (1) } (SIZE(1..8)), + firstPathRsrpReq-r17 (1), + dl-PRS-RSCP-Request-r18 (2)} + (SIZE(1..8)), nr-AssistanceAvailability-r16 BOOLEAN, nr-Multi-RTT-ReportConfig-r16 NR-Multi-RTT-ReportConfig-r16, additionalPaths-r16 ENUMERATED { requested } OPTIONAL, -- Need ON @@ -6825,6 +8178,21 @@ NR-Multi-RTT-RequestLocationInformation-r16 ::= SEQUENCE { ENUMERATED { requested } OPTIONAL, -- Need ON multiMeasInSameReport-r17 ENUMERATED { requested } OPTIONAL, -- Need ON lowerRxBeamSweepingFactor-FR2-r17 ENUMERATED { requested } OPTIONAL -- Need ON + ]], + [[ + nr-DL-PRS-RxHoppingRequest-r18 SEQUENCE { + nr-DL-PRS-RxHoppingTotalBandwidth-r18 CHOICE { + fr1 ENUMERATED {mhz40, mhz50, mhz80, mhz100}, + fr2 ENUMERATED {mhz100, mhz200, mhz400} + } OPTIONAL -- Need ON + } OPTIONAL, -- Need ON + timingReportingGranularityFactorExt-r18 INTEGER (-6..-1) OPTIONAL, -- Need ON + nr-DL-PRS-JointMeasurementRequest-r18 SEQUENCE { + nr-DL-PRS-JointMeasurementRequestedPFL-List-r18 SEQUENCE (SIZE (2..3)) OF + INTEGER (0..nrMaxFreqLayers-1-r16) OPTIONAL -- Need ON + } OPTIONAL, -- Need ON + nr-DL-PRS-MeasurementTimeWindowsConfig-r18 + NR-DL-PRS-MeasurementTimeWindowsConfig-r18 OPTIONAL -- Need ON ]] } @@ -6869,6 +8237,10 @@ NR-Multi-RTT-ProvideCapabilities-r16 ::= SEQUENCE { ]], [[ posMeasGapSupport-r17 ENUMERATED { supported } OPTIONAL + ]], + [[ + nr-MultiRTT-OnDemandPRS-ForBWA-Support-r18 ENUMERATED { supported } OPTIONAL, + periodicReportingIntervalMsSupport-r18 PeriodicReportingIntervalMsSupport-r18 OPTIONAL ]] } @@ -6893,7 +8265,23 @@ Multi-RTT-MeasCapabilityPerBand-r17 ::= SEQUENCE { freqBandIndicatorNR-r17 FreqBandIndicatorNR-r16, supportOfDL-PRS-FirstPathRSRP-r17 ENUMERATED { supported } OPTIONAL, dl-PRS-MeasRRC-Inactive-r17 ENUMERATED { supported } OPTIONAL, - ... + ..., + [[ + supportOfDL-PRS-BWA-RRC-Connected-r18 ENUMERATED { supported } OPTIONAL, + supportOfDL-PRS-BWA-RRC-Inactive-r18 ENUMERATED { supported } OPTIONAL, + nr-NTN-MeasAndReport-r18 ENUMERATED { supported } OPTIONAL, + nr-DL-PRS-RSCP-ReportingRRC-Connected-r18 ENUMERATED { supported } OPTIONAL, + nr-DL-PRS-RSCP-ReportingRRC-Inactive-r18 ENUMERATED { supported } OPTIONAL, + assocSingleRx-Tx-WithUpToNsampleRSCP-r18 ENUMERATED { supported } OPTIONAL, + supportOfSymbolTimeStampForRSCP-r18 ENUMERATED { supported } OPTIONAL, + supportOfFinerTimingReportGranularityForPRS-Meas-r18 ENUMERATED { minus1, minus2, + minus3, minus4, minus5, minus6} OPTIONAL, + supportOfMeasurementsInTimeWindow-r18 BIT STRING { rx-tx (0), + rsrp (1), + rsrpp (2), + rscp (3) + } (SIZE (1..8)) OPTIONAL + ]] } @@ -6930,7 +8318,10 @@ NR-Multi-RTT-TargetDeviceErrorCauses-r16 ::= SEQUENCE { unableToTransmit-ul-srs, ... }, - ... + ..., + [[ + remoteUE-Indication-r18 ENUMERATED {true} OPTIONAL -- Cond NR + ]] } @@ -6946,6 +8337,8 @@ maxWLAN-AP-r14 INTEGER ::= 128 maxWLAN-DataSets-r14 INTEGER ::= 8 maxBT-Beacon-r13 INTEGER ::= 32 +maxBT-BeaconAntElt-r18 INTEGER ::= 74 +maxBT-BeaconAD-r18 INTEGER ::= 64 nrMaxBands-r16 INTEGER ::= 1024 -- Maximum number of supported bands in -- UE capability. @@ -6972,8 +8365,8 @@ maxNumOfTxTEGs-1-r17 INTEGER ::= 7 maxTxTEG-Sets-r17 INTEGER ::= 256 -- Maximum applicable number is 64 maxNumOfRxTxTEGs-1-r17 INTEGER ::= 255 maxNumOfTRP-TxTEGs-1-r17 INTEGER ::= 7 -maxNumOfSRS-PosResources-r17 INTEGER ::= 64 -maxNumOfSRS-PosResources-1-r17 INTEGER ::= 63 +maxNumOfSRS-PosResources-r17 INTEGER ::= 64 +maxNumOfSRS-PosResources-1-r17 INTEGER ::= 63 maxNumResourcesPerAngle-r17 INTEGER ::= 24 maxNumPrioResources-r17 INTEGER ::= 24 @@ -6988,5 +8381,11 @@ maxCellIDsPerArea-r17 INTEGER ::= 256 maxNrOfAreas-r17 INTEGER ::= 16 maxMeasInstances-r17 INTEGER ::= 32 +nrMaxNumPRS-BandWidthAggregation-r18 INTEGER ::= 256 -- Max number of DL-PRS bandwidth + -- aggregation configurations that a + -- location server can provide to a UE +nrNumOfSamples-r18 INTEGER ::= 4 -- NSample of RSCP/RSCPD +nrNumOfSamples-1-r18 INTEGER ::= 3 + END diff --git a/epan/dissectors/asn1/lpp/lpp.cnf b/epan/dissectors/asn1/lpp/lpp.cnf index d3ccd23a..5502b4b9 100644 --- a/epan/dissectors/asn1/lpp/lpp.cnf +++ b/epan/dissectors/asn1/lpp/lpp.cnf @@ -1,6 +1,6 @@ # lpp.cnf # lpp conformation file -# Copyright 2011-2023 Pascal Quantin +# Copyright 2011-2024 Pascal Quantin #.OPT PER @@ -69,6 +69,8 @@ GNSS-EarthOrientationParameters GNSS-Integrity-ServiceAlert-r17 GNSS-Integrity-ServiceParameters-r17 GNSS-IonosphericModel +GNSS-LOS-NLOS-GriddedIndications-r18 +GNSS-LOS-NLOS-GridPoints-r18 GNSS-NavigationModel GNSS-RealTimeIntegrity GNSS-ReferenceTime @@ -81,13 +83,18 @@ GNSS-RTK-Observations-r15 GNSS-RTK-ReferenceStationInfo-r15 GNSS-RTK-Residuals-r15 GNSS-SSR-ClockCorrections-r15 +GNSS-SSR-ClockCorrectionsSet2-r17 GNSS-SSR-CodeBias-r15 GNSS-SSR-CorrectionPoints-r16 GNSS-SSR-GriddedCorrection-r16 +GNSS-SSR-IOD-Update-r18 GNSS-SSR-OrbitCorrections-r15 +GNSS-SSR-OrbitCorrectionsSet2-r17 GNSS-SSR-PhaseBias-r16 +GNSS-SSR-SatellitePCVResiduals-r18 GNSS-SSR-STEC-Correction-r16 GNSS-SSR-URA-r16 +GNSS-SSR-URA-Set2-r17 GNSS-TimeModelList GNSS-UTC-Model HorizontalVelocity @@ -101,7 +108,12 @@ NavIC-DifferentialCorrections-r16 NavIC-GridModelParameter-r16 NR-DL-PRS-AssistanceData-r16 NR-DL-PRS-TRP-TEG-Info-r17 +NR-IntegrityParameters-r18 +NR-IntegrityRiskParameters-r18 +NR-IntegrityServiceAlert-r18 +NR-IntegrityServiceParameters-r18 NR-On-Demand-DL-PRS-Configurations-r17 +NR-PRU-DL-Info-r18 NR-TRP-BeamAntennaInfo-r17 NR-UEB-TRP-LocationData-r16 NR-UEB-TRP-RTD-Info-r16 @@ -116,7 +128,7 @@ Velocity #.FIELD_RENAME CellGlobalIdGERAN/cellIdentity cellGlobalIdGERAN_cellIdentity LocationCoordinates/polygon locationCoordinates_polygon -UTC-ModelSet4/utcDN UTC-ModelSet4_utcDN +UTC-ModelSet4/utcDN uTC-ModelSet4_utcDN #.FIELD_ATTR CellGlobalIdGERAN/cellIdentity ABBREV=cellGlobalIdGERAN.cellIdentity @@ -258,34 +270,34 @@ EllipsoidArc/includedAngle DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_angle_fmt) EllipsoidArc/confidence DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt) #.TYPE_ATTR -HorizontalVelocity/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees +HorizontalVelocity/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees) #.TYPE_ATTR -HorizontalVelocity/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh +HorizontalVelocity/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh) #.TYPE_ATTR -HorizontalVelocityWithUncertainty/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees +HorizontalVelocityWithUncertainty/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees) #.TYPE_ATTR -HorizontalVelocityWithUncertainty/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh +HorizontalVelocityWithUncertainty/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh) #.TYPE_ATTR -HorizontalVelocityWithUncertainty/uncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh +HorizontalVelocityWithUncertainty/uncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh) #.TYPE_ATTR -HorizontalWithVerticalVelocityAndUncertainty/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_degree_degrees +HorizontalWithVerticalVelocityAndUncertainty/bearing DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_degree_degrees) #.TYPE_ATTR -HorizontalWithVerticalVelocityAndUncertainty/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh +HorizontalWithVerticalVelocityAndUncertainty/horizontalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh) #.TYPE_ATTR -HorizontalWithVerticalVelocityAndUncertainty/verticalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh +HorizontalWithVerticalVelocityAndUncertainty/verticalSpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh) #.TYPE_ATTR -HorizontalWithVerticalVelocityAndUncertainty/horizontalUncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh +HorizontalWithVerticalVelocityAndUncertainty/horizontalUncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh) #.TYPE_ATTR -HorizontalWithVerticalVelocityAndUncertainty/verticalUncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_kmh +HorizontalWithVerticalVelocityAndUncertainty/verticalUncertaintySpeed DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_kmh) #.TYPE_ATTR PolygonPoints/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLatitude_fmt) @@ -294,8 +306,8 @@ PolygonPoints/degreesLatitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLat PolygonPoints/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLongitude_fmt) #.FN_BODY PeriodicalReportingCriteria/reportingInterval VAL_PTR=&idx - guint32 idx; - const gchar *interval[10] = {"", ": 1s", ": 2s", ": 4s", ": 8s", ": 10s", + uint32_t idx; + const char *interval[10] = {"", ": 1s", ": 2s", ": 4s", ": 8s", ": 10s", ": 16s", ": 20s", ": 32s", ": 64s"}; %(DEFAULT_BODY)s @@ -306,7 +318,7 @@ PolygonPoints/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLo } #.FN_BODY ReportingDuration VAL_PTR = &duration - guint32 duration; + uint32_t duration; %(DEFAULT_BODY)s if (duration == 0) { @@ -314,7 +326,7 @@ PolygonPoints/degreesLongitude DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_degreesLo } #.TYPE_ATTR -ReportingDuration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +ReportingDuration DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR HorizontalAccuracy/accuracy DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_uncertainty_fmt) @@ -335,13 +347,13 @@ HorizontalAccuracyExt-r15/confidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp VerticalAccuracyExt-r15/confidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt) #.TYPE_ATTR -ResponseTime/time DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +ResponseTime/time DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -ResponseTime/eag_1/responseTimeEarlyFix-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +ResponseTime/eag_1/responseTimeEarlyFix-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -ResponseTimeNB-r14/timeNB-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +ResponseTimeNB-r14/timeNB-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR MessageSizeLimitNB-r14/measurementLimit-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_measurementLimit_fmt) @@ -364,7 +376,7 @@ NeighbourMeasurementElement/rstd DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rstd_fm #.FN_FTR OTDOA-MeasQuality/error-Resolution if (error_Resolution_tvb) { - guint bitvalue = tvb_get_bits8(error_Resolution_tvb, 0, 2); + unsigned bitvalue = tvb_get_bits8(error_Resolution_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, error_Resolution_tvb, 0, 1, bitvalue); } @@ -377,7 +389,7 @@ OTDOA-MeasQuality/error-Resolution TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(l #.FN_FTR OTDOA-MeasQuality/error-Value if (error_Value_tvb) { - guint bitvalue = tvb_get_bits8(error_Value_tvb, 0, 5); + unsigned bitvalue = tvb_get_bits8(error_Value_tvb, 0, 5); actx->created_item = proto_tree_add_uint(tree, hf_index, error_Value_tvb, 0, 1, bitvalue); } @@ -390,7 +402,7 @@ OTDOA-MeasQuality/error-Value TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STR #.FN_FTR OTDOA-MeasQuality/error-NumSamples if (error_NumSamples_tvb) { - guint bitvalue = tvb_get_bits8(error_NumSamples_tvb, 0, 3); + unsigned bitvalue = tvb_get_bits8(error_NumSamples_tvb, 0, 3); actx->created_item = proto_tree_add_uint(tree, hf_index, error_NumSamples_tvb, 0, 1, bitvalue); } @@ -412,7 +424,7 @@ GNSS-ReferenceTimeForOneCell/referenceTimeUnc DISPLAY=BASE_CUSTOM STRINGS=CF_FUN #.FN_FTR GNSS-SystemTime/notificationOfLeapSecond if (notificationOfLeapSecond_tvb) { - guint bitvalue = tvb_get_bits8(notificationOfLeapSecond_tvb, 0, 2); + unsigned bitvalue = tvb_get_bits8(notificationOfLeapSecond_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, notificationOfLeapSecond_tvb, 0, 1, bitvalue); } @@ -431,7 +443,7 @@ NetworkTime/frameDrift DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_frameDrift_fmt) #.FN_FTR KlobucharModelParameter/dataID if (dataID_tvb) { - guint bitvalue = tvb_get_bits8(dataID_tvb, 0, 2); + unsigned bitvalue = tvb_get_bits8(dataID_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, dataID_tvb, 0, 1, bitvalue); } @@ -537,7 +549,7 @@ GNSS-RTK-CommonObservationInfo-r15/smoothingIndicator-r15 TYPE=FT_UINT8 DISPLAY= #.FN_FTR GNSS-RTK-CommonObservationInfo-r15/smoothingIndicator-r15 if (param_tvb) { - guint bitvalue = tvb_get_bits8(param_tvb, 0, 1); + unsigned bitvalue = tvb_get_bits8(param_tvb, 0, 1); actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue); } @@ -550,7 +562,7 @@ GNSS-RTK-CommonObservationInfo-r15/smoothingInterval-r15 TYPE=FT_UINT8 DISPLAY=B #.FN_FTR GNSS-RTK-CommonObservationInfo-r15/smoothingInterval-r15 if (param_tvb) { - guint bitvalue = tvb_get_bits8(param_tvb, 0, 3); + unsigned bitvalue = tvb_get_bits8(param_tvb, 0, 3); actx->created_item = proto_tree_add_uint(tree, hf_index, param_tvb, 0, 1, bitvalue); } @@ -585,10 +597,10 @@ GNSS-TimeModelElement/tA2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA2_fmt) GNSS-TimeModelElement/gnss-TO-ID STRINGS=VALS(lpp_gnss_TO_ID_vals) #.TYPE_ATTR -GNSS-TimeModelElement/deltaT DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +GNSS-TimeModelElement/deltaT DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -GNSS-DifferentialCorrections/dgnss-RefTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +GNSS-DifferentialCorrections/dgnss-RefTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR DGNSS-SgnTypeElement/gnss-StatusHealth STRINGS=VALS(lpp_gnss_StatusHealth_vals) @@ -919,7 +931,7 @@ NavModelCNAV-KeplerianSet/cnavCus DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCx NavModelCNAV-KeplerianSet/cnavCuc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_cnavCx_fmt) #.TYPE_ATTR -NavModel-GLONASS-ECEF/gloEn DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days +NavModel-GLONASS-ECEF/gloEn DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_day_days) #.FN_BODY NavModel-GLONASS-ECEF/gloP1 VAL_PTR = &gloP1_tvb HF_INDEX=-1 tvbuff_t *gloP1_tvb = NULL; @@ -927,12 +939,12 @@ NavModel-GLONASS-ECEF/gloEn DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day #.FN_FTR NavModel-GLONASS-ECEF/gloP1 if (gloP1_tvb) { - guint bitvalue = tvb_get_bits8(gloP1_tvb, 0, 2); + unsigned bitvalue = tvb_get_bits8(gloP1_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, gloP1_tvb, 0, 1, bitvalue); } #.TYPE_ATTR -NavModel-GLONASS-ECEF/gloP1 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_minutes +NavModel-GLONASS-ECEF/gloP1 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_minutes) #.TYPE_ATTR NavModel-GLONASS-ECEF/gloX DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloX_Y_Z_fmt) @@ -995,7 +1007,7 @@ NavModel-SBAS-ECEF/sbasZgDotDot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_sbasZgDo NavModel-BDS-KeplerianSet-r12/bdsAODE-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsAODC_AODE_r12_fmt) #.TYPE_ATTR -NavModel-BDS-KeplerianSet-r12/bdsURAI-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meters +NavModel-BDS-KeplerianSet-r12/bdsURAI-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meters) #.TYPE_ATTR NavModel-BDS-KeplerianSet-r12/bdsToe-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsToc_Toe_r12_fmt) @@ -1046,10 +1058,10 @@ NavModel-BDS-KeplerianSet-r12/bdsCic-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp NavModel-BDS-KeplerianSet-r12/bdsCis-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bdsCuc_Cus_Cic_Cis_r12_fmt) #.TYPE_ATTR -GNSS-DataBitAssistance/gnss-TOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +GNSS-DataBitAssistance/gnss-TOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -GNSS-DataBitAssistance/gnss-TODfrac DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +GNSS-DataBitAssistance/gnss-TODfrac DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR GNSS-AcquisitionAssistance/confidence-r10 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt) @@ -1067,7 +1079,7 @@ GNSS-AcquisitionAssistElement/dopplerUncertainty STRINGS=VALS(lpp_dopplerUncerta GNSS-AcquisitionAssistElement/codePhase DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_codePhase_fmt) #.TYPE_ATTR -GNSS-AcquisitionAssistElement/intCodePhase DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +GNSS-AcquisitionAssistElement/intCodePhase DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR GNSS-AcquisitionAssistElement/codePhaseSearchWindow DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_codePhaseSearchWindow_vals_ext @@ -1079,7 +1091,7 @@ GNSS-AcquisitionAssistElement/azimuth DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_az GNSS-AcquisitionAssistElement/elevation DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_azimuth_elevation_fmt) #.FN_BODY GNSS-Almanac/toa VAL_PTR = &toa - guint32 toa, val; + uint32_t toa, val; int len, old_offset = offset; T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data); %(DEFAULT_BODY)s @@ -1091,7 +1103,7 @@ GNSS-AcquisitionAssistElement/elevation DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_ toa, "%u s (%u)", val, toa); #.FN_BODY GNSS-Almanac/eag_1/toa-ext-v1240 VAL_PTR = &toa_ext - guint32 toa_ext, val; + uint32_t toa_ext, val; int len, old_offset = offset; T_GNSS_ID_enum gnss_id = (T_GNSS_ID_enum)GPOINTER_TO_UINT(actx->private_data); %(DEFAULT_BODY)s @@ -1213,7 +1225,7 @@ AlmanacMidiAlmanacSet/midiAlmaf0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlm AlmanacMidiAlmanacSet/midiAlmaf1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_midiAlmaf1_fmt) #.TYPE_ATTR -AlmanacGLONASS-AlmanacSet/gloAlm-NA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days +AlmanacGLONASS-AlmanacSet/gloAlm-NA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_day_days) #.TYPE_ATTR AlmanacGLONASS-AlmanacSet/gloAlmLambdaA DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gloAlmLambdaA_DeltaIa_fmt) @@ -1297,7 +1309,7 @@ AlmanacBDS-AlmanacSet-r12/bdsAlmA1-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_b #.FN_FTR AlmanacBDS-AlmanacSet-r12/bdsSvHealth-r12 if (bdsSvHealth_tvb) { - guint16 bits; + uint16_t bits; subtree = proto_item_add_subtree(actx->created_item, ett_lpp_bdsSvHealth_r12); bits = tvb_get_bits16(bdsSvHealth_tvb, 0, 9,ENC_BIG_ENDIAN); if (bits == 0x1ff) { @@ -1324,19 +1336,19 @@ UTC-ModelSet1/gnss-Utc-A0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A0_fm UTC-ModelSet1/gnss-Utc-Tot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_Tot_fmt) #.TYPE_ATTR -UTC-ModelSet1/gnss-Utc-WNt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks +UTC-ModelSet1/gnss-Utc-WNt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_week_weeks) #.TYPE_ATTR -UTC-ModelSet1/gnss-Utc-DeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet1/gnss-Utc-DeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -UTC-ModelSet1/gnss-Utc-WNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks +UTC-ModelSet1/gnss-Utc-WNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_week_weeks) #.TYPE_ATTR -UTC-ModelSet1/gnss-Utc-DN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days +UTC-ModelSet1/gnss-Utc-DN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_day_days) #.TYPE_ATTR -UTC-ModelSet1/gnss-Utc-DeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet1/gnss-Utc-DeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR UTC-ModelSet2/utcA0 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA0_fmt) @@ -1348,16 +1360,16 @@ UTC-ModelSet2/utcA1 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA1_fmt) UTC-ModelSet2/utcA2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tA2_fmt) #.TYPE_ATTR -UTC-ModelSet2/utcDeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet2/utcDeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR UTC-ModelSet2/utcTot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_TimeModelRefTime_fmt) #.TYPE_ATTR -UTC-ModelSet2/utcWNot DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks +UTC-ModelSet2/utcWNot DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_week_weeks) #.TYPE_ATTR -UTC-ModelSet2/utcWNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks +UTC-ModelSet2/utcWNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_week_weeks) #.FN_BODY UTC-ModelSet2/utcDN VAL_PTR = &utcDN_tvb HF_INDEX=-1 tvbuff_t *utcDN_tvb = NULL; @@ -1365,18 +1377,18 @@ UTC-ModelSet2/utcWNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_wee #.FN_FTR UTC-ModelSet2/utcDN if (utcDN_tvb) { - guint bitvalue = tvb_get_bits8(utcDN_tvb, 0, 4); + unsigned bitvalue = tvb_get_bits8(utcDN_tvb, 0, 4); actx->created_item = proto_tree_add_uint(tree, hf_index, utcDN_tvb, 0, 1, bitvalue); } #.TYPE_ATTR -UTC-ModelSet2/utcDN TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days +UTC-ModelSet2/utcDN TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_day_days) #.TYPE_ATTR -UTC-ModelSet2/utcDeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet2/utcDeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -UTC-ModelSet3/nA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days +UTC-ModelSet3/nA DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_day_days) #.TYPE_ATTR UTC-ModelSet3/tauC DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_tauC_fmt) @@ -1393,7 +1405,7 @@ UTC-ModelSet3/b2 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_b2_fmt) #.FN_FTR UTC-ModelSet3/kp if (kp_tvb) { - guint bitvalue = tvb_get_bits8(kp_tvb, 0, 2); + unsigned bitvalue = tvb_get_bits8(kp_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, kp_tvb, 0, 1, bitvalue); } @@ -1410,19 +1422,19 @@ UTC-ModelSet4/utcA0wnt DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A0_fmt) UTC-ModelSet4/utcTot DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_Tot_fmt) #.TYPE_ATTR -UTC-ModelSet4/utcWNt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks +UTC-ModelSet4/utcWNt DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_week_weeks) #.TYPE_ATTR -UTC-ModelSet4/utcDeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet4/utcDeltaTls DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -UTC-ModelSet4/utcWNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks +UTC-ModelSet4/utcWNlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_week_weeks) #.TYPE_ATTR -UTC-ModelSet4/utcDN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days +UTC-ModelSet4/utcDN DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_day_days) #.TYPE_ATTR -UTC-ModelSet4/utcDeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet4/utcDeltaTlsf DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR UTC-ModelSet4/utcStandardID TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_utcStandardID_vals) @@ -1434,19 +1446,19 @@ UTC-ModelSet5-r12/utcA0-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A0_ UTC-ModelSet5-r12/utcA1-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_gnss_Utc_A1_fmt) #.TYPE_ATTR -UTC-ModelSet5-r12/utcDeltaTls-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet5-r12/utcDeltaTls-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -UTC-ModelSet5-r12/utcWNlsf-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_week_weeks +UTC-ModelSet5-r12/utcWNlsf-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_week_weeks) #.TYPE_ATTR -UTC-ModelSet5-r12/utcDN-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_day_days +UTC-ModelSet5-r12/utcDN-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_day_days) #.TYPE_ATTR -UTC-ModelSet5-r12/utcDeltaTlsf-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +UTC-ModelSet5-r12/utcDeltaTlsf-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -BDS-DifferentialCorrections-r12/dbds-RefTime-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +BDS-DifferentialCorrections-r12/dbds-RefTime-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR DBDS-CorrectionElement-r12/bds-UDREI-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_bds_UDREI_vals_ext @@ -1458,7 +1470,7 @@ DBDS-CorrectionElement-r12/bds-RURAI-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT DBDS-CorrectionElement-r12/bds-ECC-DeltaT-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bds_ECC_DeltaT_r12_fmt) #.TYPE_ATTR -BDS-GridModelParameter-r12/bds-RefTime-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +BDS-GridModelParameter-r12/bds-RefTime-r12 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR GridIonElement-r12/dt-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bds_GridIonElement_dt_r12_fmt) @@ -1467,13 +1479,13 @@ GridIonElement-r12/dt-r12 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_bds_GridIonEle GridIonElement-r12/givei-r12 TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_bds_givei_vals_ext #.TYPE_ATTR -GNSS-RTK-SatelliteDataElement-r15/integer-ms-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +GNSS-RTK-SatelliteDataElement-r15/integer-ms-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR -GNSS-RTK-SatelliteDataElement-r15/rough-range-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +GNSS-RTK-SatelliteDataElement-r15/rough-range-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR -GNSS-RTK-SatelliteDataElement-r15/rough-phase-range-rate-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_meter_sec +GNSS-RTK-SatelliteDataElement-r15/rough-phase-range-rate-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_meter_sec) #.TYPE_ATTR GNSS-RTK-SatelliteSignalDataElement-r15/fine-PseudoRange-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_fine_PseudoRange_r15_fmt) @@ -1581,16 +1593,16 @@ SSR-CodeBiasSignalElement-r15/codeBias-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(l proto_item_append_text(actx->created_item, " (units of 30 mns for glonass, hours otherwise)"); #.TYPE_ATTR -GNSS-DataBitAssistanceReq/gnss-TOD-Req DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +GNSS-DataBitAssistanceReq/gnss-TOD-Req DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR -GNSS-DataBitAssistanceReq/gnss-TOD-FracReq DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +GNSS-DataBitAssistanceReq/gnss-TOD-FracReq DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR GNSS-DataBitAssistanceReq/dataBitInterval TYPE=FT_UINT8 DISPLAY=BASE_DEC|BASE_EXT_STRING STRINGS=&lpp_dataBitInterval_vals_ext #.TYPE_ATTR -MeasurementReferenceTime/gnss-TOD-msec DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +MeasurementReferenceTime/gnss-TOD-msec DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR MeasurementReferenceTime/gnss-TOD-frac DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_fractionalSecondsFromFrameStructureStart_fmt) @@ -1599,13 +1611,13 @@ MeasurementReferenceTime/gnss-TOD-frac DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_f MeasurementReferenceTime/gnss-TOD-unc DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_referenceTimeUnc_fmt) #.TYPE_ATTR -MeasurementReferenceTime/networkTime/gSM/deltaGNSS-TOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +MeasurementReferenceTime/networkTime/gSM/deltaGNSS-TOD DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR -GNSS-SgnMeasElement/gnss-CodePhaseAmbiguity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +GNSS-SgnMeasElement/gnss-CodePhaseAmbiguity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR -GNSS-SatMeasElement/cNo DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbhz +GNSS-SatMeasElement/cNo DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbhz) #.TYPE_ATTR GNSS-SatMeasElement/carrierQualityInd TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VALS(lpp_carrierQualityInd_vals) @@ -1614,7 +1626,7 @@ GNSS-SatMeasElement/carrierQualityInd TYPE=FT_UINT8 DISPLAY=BASE_DEC STRINGS=VAL GNSS-SatMeasElement/codePhase DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_GNSS_SatMeas_codePhase_fmt) #.TYPE_ATTR -GNSS-SatMeasElement/integerCodePhase DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +GNSS-SatMeasElement/integerCodePhase DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.TYPE_ATTR GNSS-SatMeasElement/codePhaseRMSError DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_codePhaseRMSError_fmt) @@ -1635,7 +1647,7 @@ GNSS-SatMeasElement/eag_1/adrRMSerror-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lp GNSS-SatMeasElement/eag_1/delta-codePhase-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_GNSS_SatMeas_delta_codePhase_r15_fmt) #.FN_BODY GNSS-ID/gnss-id VAL_PTR = &gnss_id - guint32 gnss_id; + uint32_t gnss_id; %(DEFAULT_BODY)s actx->private_data = GUINT_TO_POINTER(gnss_id); @@ -1643,7 +1655,7 @@ GNSS-SatMeasElement/eag_1/delta-codePhase-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUN GNSS-PeriodicControlParam-r15/deliveryAmount-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_deliveryAmount_r15_fmt) #.TYPE_ATTR -GNSS-PeriodicControlParam-r15/deliveryInterval-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds +GNSS-PeriodicControlParam-r15/deliveryInterval-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_seconds) #.TYPE_ATTR MeasuredResultsElement/rsrp-Result DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_rsrp_Result_fmt) @@ -1673,13 +1685,13 @@ MBS-BeaconMeasElement-r13/codePhase-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_ MBS-BeaconMeasElement-r13/codePhaseRMSError-r13 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_codePhaseRMSError_fmt) #.TYPE_ATTR -MBS-BeaconMeasElement-r13/eag_1/rssi-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +MBS-BeaconMeasElement-r13/eag_1/rssi-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR -Sensor-MeasurementInformation-r13/uncompensatedBarometricPressure-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_pa +Sensor-MeasurementInformation-r13/uncompensatedBarometricPressure-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_pa) #.TYPE_ATTR -Sensor-MeasurementInformation-r13/eag_1/uncertainty-r14/range-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_pa +Sensor-MeasurementInformation-r13/eag_1/uncertainty-r14/range-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_pa) #.TYPE_ATTR Sensor-MeasurementInformation-r13/eag_1/uncertainty-r14/confidence-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt) @@ -1703,11 +1715,11 @@ Displacement-r15/verticalDistance-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_1_ Displacement-r15/verticalUncConfidence-r15 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_confidence_fmt) #.TYPE_ATTR -UTC-Time-r15/utcTime-ms-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_milliseconds +UTC-Time-r15/utcTime-ms-r15 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_milliseconds) #.FN_BODY MBS-AlmanacAssistance-r14/transmitterLatitude-r14 VAL_PTR = &transmitterLatitude_tvb HF_INDEX=-1 tvbuff_t *transmitterLatitude_tvb = NULL; - guint32 val; + uint32_t val; %(DEFAULT_BODY)s val = tvb_get_bits32(transmitterLatitude_tvb, 0, 26, ENC_BIG_ENDIAN); @@ -1718,7 +1730,7 @@ MBS-AlmanacAssistance-r14/transmitterLatitude-r14 TYPE=FT_UINT32 DISPLAY=BASE_CU #.FN_BODY MBS-AlmanacAssistance-r14/transmitterLongitude-r14 VAL_PTR = &transmitterLongitude_tvb HF_INDEX=-1 tvbuff_t *transmitterLongitude_tvb = NULL; - guint32 val; + uint32_t val; %(DEFAULT_BODY)s val = tvb_get_bits32(transmitterLongitude_tvb, 0, 27, ENC_BIG_ENDIAN); @@ -1729,7 +1741,7 @@ MBS-AlmanacAssistance-r14/transmitterLongitude-r14 TYPE=FT_UINT32 DISPLAY=BASE_C #.FN_BODY MBS-AlmanacAssistance-r14/transmitterAltitude-r14 VAL_PTR = &transmitterAltitude_tvb HF_INDEX=-1 tvbuff_t *transmitterAltitude_tvb = NULL; - guint32 val; + uint32_t val; %(DEFAULT_BODY)s val = tvb_get_bits16(transmitterAltitude_tvb, 0, 15, ENC_BIG_ENDIAN); @@ -1739,10 +1751,10 @@ MBS-AlmanacAssistance-r14/transmitterLongitude-r14 TYPE=FT_UINT32 DISPLAY=BASE_C MBS-AlmanacAssistance-r14/transmitterAltitude-r14 TYPE=FT_UINT16 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_transmitterAltitude_fmt) #.TYPE_ATTR -MBS-AlmanacAssistance-r14/timeCorrection-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_nanoseconds +MBS-AlmanacAssistance-r14/timeCorrection-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_nanoseconds) #.TYPE_ATTR -MBS-AcquisitionAssistance-r14/freq-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_hz +MBS-AcquisitionAssistance-r14/freq-r14 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_hz) #.TYPE_ATTR Sensor-AssistanceDataList-r14/refPressure-r14 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_refPressure_fmt) @@ -1760,10 +1772,10 @@ Sensor-AssistanceDataList-r14/eag_1/period-v1520/referencePressureRate-v1520 DIS proto_item_append_text(actx->created_item, "Pa/Km"); #.TYPE_ATTR -PressureValidityArea-v1520/validityAreaWidth-v1520 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_km +PressureValidityArea-v1520/validityAreaWidth-v1520 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_km) #.TYPE_ATTR -PressureValidityArea-v1520/vvalidityAreaHeight-v1520 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_km +PressureValidityArea-v1520/vvalidityAreaHeight-v1520 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_km) #.TYPE_ATTR PressureValidityPeriod-v1520/beginTimeAlt-v1520 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_PressureValidityPeriod_v1520_fmt) @@ -1772,7 +1784,7 @@ PressureValidityPeriod-v1520/beginTimeAlt-v1520 DISPLAY=BASE_CUSTOM STRINGS=CF_F PressureValidityPeriod-v1520/duration-v1520 DISPLAY=BASE_CUSTOM STRINGS=CF_FUNC(lpp_PressureValidityPeriod_v1520_fmt) #.TYPE_ATTR -WLAN-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +WLAN-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.TYPE_ATTR WLAN-AP-Identifier-r13/bssid-r13 TYPE=FT_ETHER @@ -1796,13 +1808,13 @@ BT-MeasurementElement-r13/btAddr-r13 TYPE=FT_ETHER DISPLAY=BASE_NONE actx->created_item = proto_tree_add_item(tree, hf_index, btAddr_tvb, 0, 6, ENC_NA); #.TYPE_ATTR -BT-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_dbm +BT-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=UNS(&units_dbm) #.FN_HDR CipheringKeyData-r15 - lpp_get_private_data(actx->pinfo)->is_ciphered = TRUE; + lpp_get_private_data(actx->pinfo)->is_ciphered = true; #.FN_HDR SegmentationInfo-r15 - lpp_get_private_data(actx->pinfo)->is_segmented = TRUE; + lpp_get_private_data(actx->pinfo)->is_segmented = true; #.FN_BODY AssistanceDataSIBelement-r15/assistanceDataElement-r15 VAL_PTR = &assist_data_sib_elem_tvb tvbuff_t *assist_data_sib_elem_tvb = NULL; @@ -1844,6 +1856,12 @@ BT-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&un case LPP_POS_SIB_TYPE_1_10: dissect_GNSS_Integrity_ServiceAlert_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; + case LPP_POS_SIB_TYPE_1_11: + dissect_GNSS_LOS_NLOS_GridPoints_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; + case LPP_POS_SIB_TYPE_1_12: + dissect_GNSS_SSR_IOD_Update_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; case LPP_POS_SIB_TYPE_2_1: dissect_GNSS_TimeModelList_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; @@ -1895,15 +1913,24 @@ BT-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&un case LPP_POS_SIB_TYPE_2_17: dissect_GNSS_SSR_OrbitCorrections_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; + case LPP_POS_SIB_TYPE_2_17a: + dissect_GNSS_SSR_OrbitCorrectionsSet2_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; case LPP_POS_SIB_TYPE_2_18: dissect_GNSS_SSR_ClockCorrections_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; + case LPP_POS_SIB_TYPE_2_18a: + dissect_GNSS_SSR_ClockCorrectionsSet2_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; case LPP_POS_SIB_TYPE_2_19: dissect_GNSS_SSR_CodeBias_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; case LPP_POS_SIB_TYPE_2_20: dissect_GNSS_SSR_URA_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; + case LPP_POS_SIB_TYPE_2_20a: + dissect_GNSS_SSR_URA_Set2_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; case LPP_POS_SIB_TYPE_2_21: dissect_GNSS_SSR_PhaseBias_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; @@ -1919,6 +1946,12 @@ BT-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&un case LPP_POS_SIB_TYPE_2_25: dissect_NavIC_GridModelParameter_r16_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; + case LPP_POS_SIB_TYPE_2_26: + dissect_GNSS_LOS_NLOS_GriddedIndications_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; + case LPP_POS_SIB_TYPE_2_27: + dissect_GNSS_SSR_SatellitePCVResiduals_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; case LPP_POS_SIB_TYPE_3_1: dissect_OTDOA_UE_Assisted_r15_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; @@ -1946,6 +1979,21 @@ BT-MeasurementElement-r13/rssi-r13 DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&un case LPP_POS_SIB_TYPE_6_6: dissect_NR_On_Demand_DL_PRS_Configurations_r17_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); break; + case LPP_POS_SIB_TYPE_6_7: + dissect_NR_PRU_DL_Info_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; + case LPP_POS_SIB_TYPE_7_1: + dissect_NR_IntegrityRiskParameters_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; + case LPP_POS_SIB_TYPE_7_2: + dissect_NR_IntegrityServiceParameters_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; + case LPP_POS_SIB_TYPE_7_3: + dissect_NR_IntegrityServiceAlert_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; + case LPP_POS_SIB_TYPE_7_4: + dissect_NR_IntegrityParameters_r18_PDU(assist_data_sib_elem_tvb, actx->pinfo, subtree, NULL); + break; default: break; } diff --git a/epan/dissectors/asn1/lpp/packet-lpp-template.c b/epan/dissectors/asn1/lpp/packet-lpp-template.c index 93fb2645..8c53fc3b 100644 --- a/epan/dissectors/asn1/lpp/packet-lpp-template.c +++ b/epan/dissectors/asn1/lpp/packet-lpp-template.c @@ -1,6 +1,6 @@ /* packet-lpp.c * Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection - * Copyright 2011-2023 Pascal Quantin <pascal@wireshark.org> + * Copyright 2011-2024 Pascal Quantin <pascal@wireshark.org> * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -8,7 +8,7 @@ * * SPDX-License-Identifier: GPL-2.0-or-later * - * Ref 3GPP TS 37.355 version 17.5.0 Release 17 + * Ref 3GPP TS 37.355 version 18.2.0 Release 18 * http://www.3gpp.org */ @@ -20,6 +20,8 @@ #include <epan/asn1.h> #include <epan/tfs.h> #include <epan/proto_data.h> +#include <epan/unit_strings.h> +#include <wsutil/array.h> #include "packet-per.h" #include "packet-lpp.h" @@ -32,31 +34,31 @@ void proto_register_lpp(void); void proto_reg_handoff_lpp(void); /* Initialize the protocol and registered fields */ -static int proto_lpp = -1; +static int proto_lpp; #include "packet-lpp-hf.c" -static int hf_lpp_svHealthExt_v1240_e5bhs = -1; -static int hf_lpp_svHealthExt_v1240_e1_bhs = -1; -static int hf_lpp_kepSV_StatusINAV_e5bhs = -1; -static int hf_lpp_kepSV_StatusINAV_e1_bhs = -1; -static int hf_lpp_kepSV_StatusFNAV_e5ahs = -1; -static int hf_lpp_bdsSvHealth_r12_sat_clock = -1; -static int hf_lpp_bdsSvHealth_r12_b1i = -1; -static int hf_lpp_bdsSvHealth_r12_b2i = -1; -static int hf_lpp_bdsSvHealth_r12_nav = -1; -static int hf_lpp_AssistanceDataSIBelement_r15_PDU = -1; +static int hf_lpp_svHealthExt_v1240_e5bhs; +static int hf_lpp_svHealthExt_v1240_e1_bhs; +static int hf_lpp_kepSV_StatusINAV_e5bhs; +static int hf_lpp_kepSV_StatusINAV_e1_bhs; +static int hf_lpp_kepSV_StatusFNAV_e5ahs; +static int hf_lpp_bdsSvHealth_r12_sat_clock; +static int hf_lpp_bdsSvHealth_r12_b1i; +static int hf_lpp_bdsSvHealth_r12_b2i; +static int hf_lpp_bdsSvHealth_r12_nav; +static int hf_lpp_AssistanceDataSIBelement_r15_PDU; -static dissector_handle_t lppe_handle = NULL; +static dissector_handle_t lppe_handle; -static guint32 lpp_epdu_id = -1; +static uint32_t lpp_epdu_id = -1; /* Initialize the subtree pointers */ -static gint ett_lpp = -1; -static gint ett_lpp_svHealthExt_v1240 = -1; -static gint ett_kepSV_StatusINAV = -1; -static gint ett_kepSV_StatusFNAV = -1; -static gint ett_lpp_bdsSvHealth_r12 = -1; -static gint ett_lpp_assistanceDataElement_r15 = -1; +static int ett_lpp; +static int ett_lpp_svHealthExt_v1240; +static int ett_kepSV_StatusINAV; +static int ett_kepSV_StatusFNAV; +static int ett_lpp_bdsSvHealth_r12; +static int ett_lpp_assistanceDataElement_r15; #include "packet-lpp-ett.c" /* Include constants */ @@ -69,8 +71,8 @@ static const value_string lpp_ePDU_ID_vals[] = { struct lpp_private_data { lpp_pos_sib_type_t pos_sib_type; - gboolean is_ciphered; - gboolean is_segmented; + bool is_ciphered; + bool is_segmented; }; static struct lpp_private_data* @@ -129,25 +131,37 @@ static int dissect_NR_UEB_TRP_RTD_Info_r16_PDU(tvbuff_t *tvb _U_, packet_info *p static int dissect_NR_TRP_BeamAntennaInfo_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_DL_PRS_TRP_TEG_Info_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_NR_On_Demand_DL_PRS_Configurations_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); - -static void -lpp_degreesLatitude_fmt(gchar *s, guint32 v) +static int dissect_GNSS_SSR_OrbitCorrectionsSet2_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_GNSS_SSR_ClockCorrectionsSet2_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_GNSS_SSR_URA_Set2_r17_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_GNSS_LOS_NLOS_GridPoints_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_GNSS_SSR_IOD_Update_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_GNSS_LOS_NLOS_GriddedIndications_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_GNSS_SSR_SatellitePCVResiduals_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_NR_PRU_DL_Info_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_NR_IntegrityRiskParameters_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_NR_IntegrityServiceParameters_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_NR_IntegrityServiceAlert_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static int dissect_NR_IntegrityParameters_r18_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); + +static void +lpp_degreesLatitude_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)", ((float)v/8388607.0)*90, v); } static void -lpp_degreesLongitude_fmt(gchar *s, guint32 v) +lpp_degreesLongitude_fmt(char *s, uint32_t v) { - gint32 longitude = (gint32) v; + int32_t longitude = (int32_t) v; snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%d)", ((float)longitude/8388608.0)*180, longitude); } static void -lpp_uncertainty_fmt(gchar *s, guint32 v) +lpp_uncertainty_fmt(char *s, uint32_t v) { double uncertainty = 10*(pow(1.1, (double)v)-1); @@ -159,13 +173,13 @@ lpp_uncertainty_fmt(gchar *s, guint32 v) } static void -lpp_angle_fmt(gchar *s, guint32 v) +lpp_angle_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%u degrees (%u)", 2*v, v); } static void -lpp_confidence_fmt(gchar *s, guint32 v) +lpp_confidence_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "no information (0)"); @@ -175,7 +189,7 @@ lpp_confidence_fmt(gchar *s, guint32 v) } static void -lpp_1_10_degrees_fmt(gchar *s, guint32 v) +lpp_1_10_degrees_fmt(char *s, uint32_t v) { double val = (double)v/10; @@ -183,7 +197,7 @@ lpp_1_10_degrees_fmt(gchar *s, guint32 v) } static void -lpp_1_100_m_fmt(gchar *s, guint32 v) +lpp_1_100_m_fmt(char *s, uint32_t v) { double val = (double)v/100; @@ -191,19 +205,19 @@ lpp_1_100_m_fmt(gchar *s, guint32 v) } static void -lpp_measurementLimit_fmt(gchar *s, guint32 v) +lpp_measurementLimit_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%u octets (%u)", 100*v, v); } static void -lpp_altitude_fmt(gchar *s, guint32 v) +lpp_altitude_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um", v); } static void -lpp_uncertaintyAltitude_fmt(gchar *s, guint32 v) +lpp_uncertaintyAltitude_fmt(char *s, uint32_t v) { double uncertainty = 45*(pow(1.025, (double)v)-1); @@ -211,33 +225,33 @@ lpp_uncertaintyAltitude_fmt(gchar *s, guint32 v) } static void -lpp_radius_fmt(gchar *s, guint32 v) +lpp_radius_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", 5*v, v); } static void -lpp_nr_LTE_fineTiming_Offset_fmt(gchar *s, guint32 v) +lpp_nr_LTE_fineTiming_Offset_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%.1fms (%u)", (float)v/2, v); } static void -lpp_expectedRSTD_fmt(gchar *s, guint32 v) +lpp_expectedRSTD_fmt(char *s, uint32_t v) { - gint32 rstd = 3*((gint32)v-8192); + int32_t rstd = 3*((int32_t)v-8192); snprintf(s, ITEM_LABEL_LENGTH, "%dTs (%u)", rstd, v); } static void -lpp_expectedRSTD_Uncertainty_fmt(gchar *s, guint32 v) +lpp_expectedRSTD_Uncertainty_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%uTs (%u)", 3*v, v); } static void -lpp_rstd_fmt(gchar *s, guint32 v) +lpp_rstd_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSTD < -15391Ts (0)"); @@ -314,15 +328,15 @@ static const value_string lpp_error_NumSamples_vals[] = { }; static void -lpp_relativeTimeDifference_fmt(gchar *s, guint32 v) +lpp_relativeTimeDifference_fmt(char *s, uint32_t v) { - double rtd = (double)((gint32)v)*0.5; + double rtd = (double)((int32_t)v)*0.5; - snprintf(s, ITEM_LABEL_LENGTH, "%.1f Ts (%d)", rtd, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%.1f Ts (%d)", rtd, (int32_t)v); } static void -lpp_referenceTimeUnc_fmt(gchar *s, guint32 v) +lpp_referenceTimeUnc_fmt(char *s, uint32_t v) { double referenceTimeUnc = 0.5*(pow(1.14, (double)v)-1); @@ -337,7 +351,7 @@ static const value_string lpp_kp_vals[] = { }; static void -lpp_fractionalSecondsFromFrameStructureStart_fmt(gchar *s, guint32 v) +lpp_fractionalSecondsFromFrameStructureStart_fmt(char *s, uint32_t v) { float frac = ((float)v)/4; @@ -345,11 +359,11 @@ lpp_fractionalSecondsFromFrameStructureStart_fmt(gchar *s, guint32 v) } static void -lpp_frameDrift_fmt(gchar *s, guint32 v) +lpp_frameDrift_fmt(char *s, uint32_t v) { - double drift = (double)((gint32)v)*pow(2, -30); + double drift = (double)((int32_t)v)*pow(2, -30); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", drift, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", drift, (int32_t)v); } static const value_string lpp_dataID_vals[] = { @@ -360,55 +374,55 @@ static const value_string lpp_dataID_vals[] = { }; static void -lpp_alpha0_fmt(gchar *s, guint32 v) +lpp_alpha0_fmt(char *s, uint32_t v) { - double alpha = (double)((gint32)v)*pow(2, -30); + double alpha = (double)((int32_t)v)*pow(2, -30); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", alpha, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", alpha, (int32_t)v); } static void -lpp_alpha1_fmt(gchar *s, guint32 v) +lpp_alpha1_fmt(char *s, uint32_t v) { - double alpha = (double)((gint32)v)*pow(2, -27); + double alpha = (double)((int32_t)v)*pow(2, -27); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (int32_t)v); } static void -lpp_alpha2_3_fmt(gchar *s, guint32 v) +lpp_alpha2_3_fmt(char *s, uint32_t v) { - double alpha = (double)((gint32)v)*pow(2, -24); + double alpha = (double)((int32_t)v)*pow(2, -24); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", alpha, (int32_t)v); } static void -lpp_beta0_fmt(gchar *s, guint32 v) +lpp_beta0_fmt(char *s, uint32_t v) { - double beta = (double)((gint32)v)*pow(2, 11); + double beta = (double)((int32_t)v)*pow(2, 11); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", beta, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", beta, (int32_t)v); } static void -lpp_beta1_fmt(gchar *s, guint32 v) +lpp_beta1_fmt(char *s, uint32_t v) { - double beta = (double)((gint32)v)*pow(2, 14); + double beta = (double)((int32_t)v)*pow(2, 14); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (int32_t)v); } static void -lpp_beta2_3_fmt(gchar *s, guint32 v) +lpp_beta2_3_fmt(char *s, uint32_t v) { - double beta = (double)((gint32)v)*pow(2, 16); + double beta = (double)((int32_t)v)*pow(2, 16); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/semi-circle (%d)", beta, (int32_t)v); } static void -lpp_ai0_fmt(gchar *s, guint32 v) +lpp_ai0_fmt(char *s, uint32_t v) { double ai = (double)v*pow(2, -2); @@ -416,7 +430,7 @@ lpp_ai0_fmt(gchar *s, guint32 v) } static void -lpp_ai1_fmt(gchar *s, guint32 v) +lpp_ai1_fmt(char *s, uint32_t v) { double ai = (double)v*pow(2, -8); @@ -424,7 +438,7 @@ lpp_ai1_fmt(gchar *s, guint32 v) } static void -lpp_ai2_fmt(gchar *s, guint32 v) +lpp_ai2_fmt(char *s, uint32_t v) { double ai = (double)v*pow(2, -15); @@ -432,53 +446,53 @@ lpp_ai2_fmt(gchar *s, guint32 v) } static void -lpp_teop_fmt(gchar *s, guint32 v) +lpp_teop_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void -lpp_pmX_Y_fmt(gchar *s, guint32 v) +lpp_pmX_Y_fmt(char *s, uint32_t v) { - double pm = (double)((gint32)v)*pow(2, -20); + double pm = (double)((int32_t)v)*pow(2, -20); - snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds (%d)", pm, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds (%d)", pm, (int32_t)v); } static void -lpp_pmX_Ydot_fmt(gchar *s, guint32 v) +lpp_pmX_Ydot_fmt(char *s, uint32_t v) { - double pmDot = (double)((gint32)v)*pow(2, -21); + double pmDot = (double)((int32_t)v)*pow(2, -21); - snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds/day (%d)", pmDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g arc-seconds/day (%d)", pmDot, (int32_t)v); } static void -lpp_deltaUT1_fmt(gchar *s, guint32 v) +lpp_deltaUT1_fmt(char *s, uint32_t v) { - double deltaUT1 = (double)((gint32)v)*pow(2, -24); + double deltaUT1 = (double)((int32_t)v)*pow(2, -24); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", deltaUT1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", deltaUT1, (int32_t)v); } static void -lpp_deltaUT1dot_fmt(gchar *s, guint32 v) +lpp_deltaUT1dot_fmt(char *s, uint32_t v) { - double deltaUT1dot = (double)((gint32)v)*pow(2, -25); + double deltaUT1dot = (double)((int32_t)v)*pow(2, -25); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/day (%d)", deltaUT1dot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/day (%d)", deltaUT1dot, (int32_t)v); } static void -lpp_1_1000m_64_fmt(gchar *s, uint64_t v) +lpp_1_1000m_64_fmt(char *s, uint64_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%gm (%"PRId64")", (double)v/1000, (int64_t)v); } static void -lpp_1_1000m_32_fmt(gchar *s, guint32 v) +lpp_1_1000m_32_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (double)v/1000, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (double)v/1000, (int32_t)v); } static const value_string lpp_clockSteeringIndicator_vals[] = { @@ -516,40 +530,40 @@ static const value_string lpp_smoothingInterval_r15_vals[] = { }; static void -lpp_aux_master_delta_fmt(gchar *s, guint32 v) +lpp_aux_master_delta_fmt(char *s, uint32_t v) { - double delta = (double)((gint32)v)*25*pow(10, -6); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%u)", delta, (gint32)v); + double delta = (double)((int32_t)v)*25*pow(10, -6); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%u)", delta, (int32_t)v); } static void -lpp_gnss_TimeModelRefTime_fmt(gchar *s, guint32 v) +lpp_gnss_TimeModelRefTime_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*16, v); } static void -lpp_tA0_fmt(gchar *s, guint32 v) +lpp_tA0_fmt(char *s, uint32_t v) { - double tA0 = (double)((gint32)v)*pow(2, -35); + double tA0 = (double)((int32_t)v)*pow(2, -35); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tA0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tA0, (int32_t)v); } static void -lpp_tA1_fmt(gchar *s, guint32 v) +lpp_tA1_fmt(char *s, uint32_t v) { - double tA1 = (double)((gint32)v)*pow(2, -51); + double tA1 = (double)((int32_t)v)*pow(2, -51); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", tA1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", tA1, (int32_t)v); } static void -lpp_tA2_fmt(gchar *s, guint32 v) +lpp_tA2_fmt(char *s, uint32_t v) { - double tA2 = (double)((gint32)v)*pow(2, -68); + double tA2 = (double)((int32_t)v)*pow(2, -68); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", tA2, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", tA2, (int32_t)v); } static const value_string lpp_gnss_TO_ID_vals[] = { @@ -581,19 +595,19 @@ static const value_string lpp_udre_vals[] = { }; static void -lpp_pseudoRangeCor_fmt(gchar *s, guint32 v) +lpp_pseudoRangeCor_fmt(char *s, uint32_t v) { - double pseudoRangeCor = ((double)(gint32)v)*0.32; + double pseudoRangeCor = ((double)(int32_t)v)*0.32; - snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", pseudoRangeCor, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", pseudoRangeCor, (int32_t)v); } static void -lpp_rangeRateCor_fmt(gchar *s, guint32 v) +lpp_rangeRateCor_fmt(char *s, uint32_t v) { - double rangeRateCor = ((double)(gint32)v)*0.032; + double rangeRateCor = ((double)(int32_t)v)*0.032; - snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", rangeRateCor, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", rangeRateCor, (int32_t)v); } static const value_string lpp_udreGrowthRate_vals[] = { @@ -628,45 +642,45 @@ static const value_string lpp_signal_health_status_vals[] = { { 0, NULL} }; static void -lpp_stanClockToc_fmt(gchar *s, guint32 v) +lpp_stanClockToc_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", 60*v, v); } static void -lpp_stanClockAF2_fmt(gchar *s, guint32 v) +lpp_stanClockAF2_fmt(char *s, uint32_t v) { - double stanClockAF2 = (double)((gint32)v)*pow(2, -59); + double stanClockAF2 = (double)((int32_t)v)*pow(2, -59); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", stanClockAF2, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", stanClockAF2, (int32_t)v); } static void -lpp_stanClockAF1_fmt(gchar *s, guint32 v) +lpp_stanClockAF1_fmt(char *s, uint32_t v) { - double stanClockAF1 = (double)((gint32)v)*pow(2, -46); + double stanClockAF1 = (double)((int32_t)v)*pow(2, -46); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", stanClockAF1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", stanClockAF1, (int32_t)v); } static void -lpp_stanClockAF0_fmt(gchar *s, guint32 v) +lpp_stanClockAF0_fmt(char *s, uint32_t v) { - double stanClockAF0 = (double)((gint32)v)*pow(2, -34); + double stanClockAF0 = (double)((int32_t)v)*pow(2, -34); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockAF0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockAF0, (int32_t)v); } static void -lpp_stanClockTgd_fmt(gchar *s, guint32 v) +lpp_stanClockTgd_fmt(char *s, uint32_t v) { - double stanClockTgd = (double)((gint32)v)*pow(2, -32); + double stanClockTgd = (double)((int32_t)v)*pow(2, -32); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockTgd, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", stanClockTgd, (int32_t)v); } static void -lpp_sisa_fmt(gchar *s, guint32 v) +lpp_sisa_fmt(char *s, uint32_t v) { if (v < 50) { snprintf(s, ITEM_LABEL_LENGTH, "%ucm (%u)", v, v); @@ -690,105 +704,105 @@ static const value_string lpp_stanModelID_vals[] = { }; static void -lpp_navToc_fmt(gchar *s, guint32 v) +lpp_navToc_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void -lpp_navaf2_fmt(gchar *s, guint32 v) +lpp_navaf2_fmt(char *s, uint32_t v) { - double navaf2 = (double)((gint32)v)*pow(2, -55); + double navaf2 = (double)((int32_t)v)*pow(2, -55); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", navaf2, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", navaf2, (int32_t)v); } static void -lpp_navaf1_fmt(gchar *s, guint32 v) +lpp_navaf1_fmt(char *s, uint32_t v) { - double navaf1 = (double)((gint32)v)*pow(2, -43); + double navaf1 = (double)((int32_t)v)*pow(2, -43); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf1, (int32_t)v); } static void -lpp_navaf0_navTgd_fmt(gchar *s, guint32 v) +lpp_navaf0_navTgd_fmt(char *s, uint32_t v) { - double navaf0_navTgd = (double)((gint32)v)*pow(2, -31); + double navaf0_navTgd = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf0_navTgd, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navaf0_navTgd, (int32_t)v); } static void -lpp_cnavToc_cnavTop_fmt(gchar *s, guint32 v) +lpp_cnavToc_cnavTop_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 300*v, v); } static void -lpp_cnavAf2_fmt(gchar *s, guint32 v) +lpp_cnavAf2_fmt(char *s, uint32_t v) { - double cnavAf2 = (double)((gint32)v)*pow(2, -60); + double cnavAf2 = (double)((int32_t)v)*pow(2, -60); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", cnavAf2, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", cnavAf2, (int32_t)v); } static void -lpp_cnavAf1_fmt(gchar *s, guint32 v) +lpp_cnavAf1_fmt(char *s, uint32_t v) { - double cnavAf1 = (double)((gint32)v)*pow(2, -48); + double cnavAf1 = (double)((int32_t)v)*pow(2, -48); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", cnavAf1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", cnavAf1, (int32_t)v); } static void -lpp_cnavX_fmt(gchar *s, guint32 v) +lpp_cnavX_fmt(char *s, uint32_t v) { - double cnavX = (double)((gint32)v)*pow(2, -35); + double cnavX = (double)((int32_t)v)*pow(2, -35); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", cnavX, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", cnavX, (int32_t)v); } static void -lpp_gloTau_gloDeltaTau_fmt(gchar *s, guint32 v) +lpp_gloTau_gloDeltaTau_fmt(char *s, uint32_t v) { - double gloTau_gloDeltaTau = (double)((gint32)v)*pow(2, -30); + double gloTau_gloDeltaTau = (double)((int32_t)v)*pow(2, -30); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloTau_gloDeltaTau, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloTau_gloDeltaTau, (int32_t)v); } static void -lpp_gloGamma_fmt(gchar *s, guint32 v) +lpp_gloGamma_fmt(char *s, uint32_t v) { - double gloGamma = (double)((gint32)v)*pow(2, -40); + double gloGamma = (double)((int32_t)v)*pow(2, -40); - snprintf(s, ITEM_LABEL_LENGTH, "%g (%d)", gloGamma, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g (%d)", gloGamma, (int32_t)v); } static void -lpp_sbasTo_fmt(gchar *s, guint32 v) +lpp_sbasTo_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void -lpp_sbasAgfo_fmt(gchar *s, guint32 v) +lpp_sbasAgfo_fmt(char *s, uint32_t v) { - double sbasAgfo = (double)((gint32)v)*pow(2, -31); + double sbasAgfo = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", sbasAgfo, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", sbasAgfo, (int32_t)v); } static void -lpp_sbasAgf1_fmt(gchar *s, guint32 v) +lpp_sbasAgf1_fmt(char *s, uint32_t v) { - double sbasAgf1 = (double)((gint32)v)*pow(2, -40); + double sbasAgf1 = (double)((int32_t)v)*pow(2, -40); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", sbasAgf1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", sbasAgf1, (int32_t)v); } static void -lpp_bdsAODC_AODE_r12_fmt(gchar *s, guint32 v) +lpp_bdsAODC_AODE_r12_fmt(char *s, uint32_t v) { if (v < 25) { snprintf(s, ITEM_LABEL_LENGTH, "Age of the satellite clock correction parameters is %u hours (%u)", v, v); @@ -801,67 +815,67 @@ lpp_bdsAODC_AODE_r12_fmt(gchar *s, guint32 v) static void -lpp_bdsToc_Toe_r12_fmt(gchar *s, guint32 v) +lpp_bdsToc_Toe_r12_fmt(char *s, uint32_t v) { - double bdsToc = (double)((gint32)v)*pow(2, 3); + double bdsToc = (double)((int32_t)v)*pow(2, 3); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsToc, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsToc, (int32_t)v); } static void -lpp_bdsA0_r12_fmt(gchar *s, guint32 v) +lpp_bdsA0_r12_fmt(char *s, uint32_t v) { - double bdsA0 = (double)((gint32)v)*pow(2, -33); + double bdsA0 = (double)((int32_t)v)*pow(2, -33); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsA0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsA0, (int32_t)v); } static void -lpp_bdsA1_r12_fmt(gchar *s, guint32 v) +lpp_bdsA1_r12_fmt(char *s, uint32_t v) { - double bdsA1 = (double)((gint32)v)*pow(2, -50); + double bdsA1 = (double)((int32_t)v)*pow(2, -50); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsA1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsA1, (int32_t)v); } static void -lpp_bdsA2_r12_fmt(gchar *s, guint32 v) +lpp_bdsA2_r12_fmt(char *s, uint32_t v) { - double bdsA2 = (double)((gint32)v)*pow(2, -66); + double bdsA2 = (double)((int32_t)v)*pow(2, -66); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", bdsA2, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s2 (%d)", bdsA2, (int32_t)v); } static void -lpp_bdsTgd1_r12_fmt(gchar *s, guint32 v) +lpp_bdsTgd1_r12_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%gns (%d)", (float)((gint32)v)*0.1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gns (%d)", (float)((int32_t)v)*0.1, (int32_t)v); } static void -lpp_keplerToe_fmt(gchar *s, guint32 v) +lpp_keplerToe_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 60*v, v); } static void -lpp_keplerW_M0_I0_Omega0_fmt(gchar *s, guint32 v) +lpp_keplerW_M0_I0_Omega0_fmt(char *s, uint32_t v) { - double keplerW_M0_I0_Omega0 = (double)((gint32)v)*pow(2, -31); + double keplerW_M0_I0_Omega0 = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", keplerW_M0_I0_Omega0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", keplerW_M0_I0_Omega0, (int32_t)v); } static void -lpp_keplerDeltaN_OmegaDot_IDot_fmt(gchar *s, guint32 v) +lpp_keplerDeltaN_OmegaDot_IDot_fmt(char *s, uint32_t v) { - double keplerDeltaN_OmegaDot_IDot = (double)((gint32)v)*pow(2, -43); + double keplerDeltaN_OmegaDot_IDot = (double)((int32_t)v)*pow(2, -43); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", keplerDeltaN_OmegaDot_IDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", keplerDeltaN_OmegaDot_IDot, (int32_t)v); } static void -lpp_keplerE_fmt(gchar *s, guint32 v) +lpp_keplerE_fmt(char *s, uint32_t v) { double keplerE = (double)v*pow(2, -33); @@ -869,7 +883,7 @@ lpp_keplerE_fmt(gchar *s, guint32 v) } static void -lpp_keplerAPowerHalf_fmt(gchar *s, guint32 v) +lpp_keplerAPowerHalf_fmt(char *s, uint32_t v) { double keplerAPowerHalf = (double)v*pow(2, -19); @@ -877,45 +891,45 @@ lpp_keplerAPowerHalf_fmt(gchar *s, guint32 v) } static void -lpp_keplerCrs_Crc_fmt(gchar *s, guint32 v) +lpp_keplerCrs_Crc_fmt(char *s, uint32_t v) { - double keplerCrs_Crc = (double)((gint32)v)*pow(2, -5); + double keplerCrs_Crc = (double)((int32_t)v)*pow(2, -5); - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", keplerCrs_Crc, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", keplerCrs_Crc, (int32_t)v); } static void -lpp_keplerCx_fmt(gchar *s, guint32 v) +lpp_keplerCx_fmt(char *s, uint32_t v) { - double keplerCx = (double)((gint32)v)*pow(2, -29); + double keplerCx = (double)((int32_t)v)*pow(2, -29); - snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", keplerCx, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", keplerCx, (int32_t)v); } static void -lpp_navToe_fmt(gchar *s, guint32 v) +lpp_navToe_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", 16*v, v); } static void -lpp_navOmega_M0_I0_OmegaA0_fmt(gchar *s, guint32 v) +lpp_navOmega_M0_I0_OmegaA0_fmt(char *s, uint32_t v) { - double navOmega_M0_I0_OmegaA0 = (double)((gint32)v)*pow(2, -31); + double navOmega_M0_I0_OmegaA0 = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navOmega_M0_I0_OmegaA0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navOmega_M0_I0_OmegaA0, (int32_t)v); } static void -lpp_navDeltaN_OmegaADot_IDot_fmt(gchar *s, guint32 v) +lpp_navDeltaN_OmegaADot_IDot_fmt(char *s, uint32_t v) { - double navDeltaN_OmegaADot_IDot = (double)((gint32)v)*pow(2, -43); + double navDeltaN_OmegaADot_IDot = (double)((int32_t)v)*pow(2, -43); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navDeltaN_OmegaADot_IDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navDeltaN_OmegaADot_IDot, (int32_t)v); } static void -lpp_navE_fmt(gchar *s, guint32 v) +lpp_navE_fmt(char *s, uint32_t v) { double navE = (double)v*pow(2, -33); @@ -923,7 +937,7 @@ lpp_navE_fmt(gchar *s, guint32 v) } static void -lpp_navAPowerHalf_fmt(gchar *s, guint32 v) +lpp_navAPowerHalf_fmt(char *s, uint32_t v) { double navAPowerHalf = (double)v*pow(2, -19); @@ -931,151 +945,151 @@ lpp_navAPowerHalf_fmt(gchar *s, guint32 v) } static void -lpp_navCrs_Crc_fmt(gchar *s, guint32 v) +lpp_navCrs_Crc_fmt(char *s, uint32_t v) { - double navCrs_Crc = (double)((gint32)v)*pow(2, -5); + double navCrs_Crc = (double)((int32_t)v)*pow(2, -5); - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", navCrs_Crc, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", navCrs_Crc, (int32_t)v); } static void -lpp_navCx_fmt(gchar *s, guint32 v) +lpp_navCx_fmt(char *s, uint32_t v) { - double navCx = (double)((gint32)v)*pow(2, -29); + double navCx = (double)((int32_t)v)*pow(2, -29); - snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", navCx, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", navCx, (int32_t)v); } static void -lpp_cnavDeltaA_fmt(gchar *s, guint32 v) +lpp_cnavDeltaA_fmt(char *s, uint32_t v) { - double cnavDeltaA = (double)((gint32)v)*pow(2, -9); + double cnavDeltaA = (double)((int32_t)v)*pow(2, -9); - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavDeltaA, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavDeltaA, (int32_t)v); } static void -lpp_cnavAdot_fmt(gchar *s, guint32 v) +lpp_cnavAdot_fmt(char *s, uint32_t v) { - double cnavAdot = (double)((gint32)v)*pow(2, -21); + double cnavAdot = (double)((int32_t)v)*pow(2, -21); - snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", cnavAdot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", cnavAdot, (int32_t)v); } static void -lpp_cnavDeltaNo_fmt(gchar *s, guint32 v) +lpp_cnavDeltaNo_fmt(char *s, uint32_t v) { - double cnavDeltaNo = (double)((gint32)v)*pow(2, -44); + double cnavDeltaNo = (double)((int32_t)v)*pow(2, -44); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaNo, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaNo, (int32_t)v); } static void -lpp_cnavDeltaNoDot_fmt(gchar *s, guint32 v) +lpp_cnavDeltaNoDot_fmt(char *s, uint32_t v) { - double cnavDeltaNoDot = (double)((gint32)v)*pow(2, -57); + double cnavDeltaNoDot = (double)((int32_t)v)*pow(2, -57); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s2 (%d)", cnavDeltaNoDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s2 (%d)", cnavDeltaNoDot, (int32_t)v); } static void -lpp_cnavDeltaOmegaDot_IoDot_fmt(gchar *s, guint32 v) +lpp_cnavDeltaOmegaDot_IoDot_fmt(char *s, uint32_t v) { - double cnavDeltaOmegaDot_IoDot = (double)((gint32)v)*pow(2, -44); + double cnavDeltaOmegaDot_IoDot = (double)((int32_t)v)*pow(2, -44); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaOmegaDot_IoDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", cnavDeltaOmegaDot_IoDot, (int32_t)v); } static void -lpp_cnavCx_fmt(gchar *s, guint32 v) +lpp_cnavCx_fmt(char *s, uint32_t v) { - double cnavCx = (double)((gint32)v)*pow(2, -30); + double cnavCx = (double)((int32_t)v)*pow(2, -30); - snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", cnavCx, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", cnavCx, (int32_t)v); } static void -lpp_cnavCrs_Crc_fmt(gchar *s, guint32 v) +lpp_cnavCrs_Crc_fmt(char *s, uint32_t v) { - double cnavCrs_Crc = (double)((gint32)v)*pow(2, -8); + double cnavCrs_Crc = (double)((int32_t)v)*pow(2, -8); - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavCrs_Crc, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", cnavCrs_Crc, (int32_t)v); } static void -lpp_gloX_Y_Z_fmt(gchar *s, guint32 v) +lpp_gloX_Y_Z_fmt(char *s, uint32_t v) { - double gloX_Y_Z = (double)((gint32)v)*pow(2, -11); + double gloX_Y_Z = (double)((int32_t)v)*pow(2, -11); - snprintf(s, ITEM_LABEL_LENGTH, "%gkm (%d)", gloX_Y_Z, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gkm (%d)", gloX_Y_Z, (int32_t)v); } static void -lpp_gloXdot_Ydot_Zdot_fmt(gchar *s, guint32 v) +lpp_gloXdot_Ydot_Zdot_fmt(char *s, uint32_t v) { - double gloXdot_Ydot_Zdot = (double)((gint32)v)*pow(2, -20); + double gloXdot_Ydot_Zdot = (double)((int32_t)v)*pow(2, -20); - snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s (%d)", gloXdot_Ydot_Zdot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s (%d)", gloXdot_Ydot_Zdot, (int32_t)v); } static void -lpp_gloXdotdot_Ydotdot_Zdotdot_fmt(gchar *s, guint32 v) +lpp_gloXdotdot_Ydotdot_Zdotdot_fmt(char *s, uint32_t v) { - double gloXdotdot_Ydotdot_Zdotdot = (double)((gint32)v)*pow(2, -30); + double gloXdotdot_Ydotdot_Zdotdot = (double)((int32_t)v)*pow(2, -30); - snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s2 (%d)", gloXdotdot_Ydotdot_Zdotdot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gkm/s2 (%d)", gloXdotdot_Ydotdot_Zdotdot, (int32_t)v); } static void -lpp_sbasXg_Yg_fmt(gchar *s, guint32 v) +lpp_sbasXg_Yg_fmt(char *s, uint32_t v) { - double sbasXg_Yg = (double)((gint32)v)*0.08; + double sbasXg_Yg = (double)((int32_t)v)*0.08; - snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasXg_Yg, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasXg_Yg, (int32_t)v); } static void -lpp_sbasZg_fmt(gchar *s, guint32 v) +lpp_sbasZg_fmt(char *s, uint32_t v) { - double sbasZg = (double)((gint32)v)*0.4; + double sbasZg = (double)((int32_t)v)*0.4; - snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasZg, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm (%d)", sbasZg, (int32_t)v); } static void -lpp_sbasXgDot_YgDot_fmt(gchar *s, guint32 v) +lpp_sbasXgDot_YgDot_fmt(char *s, uint32_t v) { - double sbasXgDot_YgDot = (double)((gint32)v)*0.000625; + double sbasXgDot_YgDot = (double)((int32_t)v)*0.000625; - snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasXgDot_YgDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasXgDot_YgDot, (int32_t)v); } static void -lpp_sbasZgDot_fmt(gchar *s, guint32 v) +lpp_sbasZgDot_fmt(char *s, uint32_t v) { - double sbasZgDot = (double)((gint32)v)*0.004; + double sbasZgDot = (double)((int32_t)v)*0.004; - snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasZgDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", sbasZgDot, (int32_t)v); } static void -lpp_sbasXgDotDot_YgDotDot_fmt(gchar *s, guint32 v) +lpp_sbasXgDotDot_YgDotDot_fmt(char *s, uint32_t v) { - double sbasXgDotDot_YgDotDot = (double)((gint32)v)*0.0000125; + double sbasXgDotDot_YgDotDot = (double)((int32_t)v)*0.0000125; - snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasXgDotDot_YgDotDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasXgDotDot_YgDotDot, (int32_t)v); } static void -lpp_sbasZgDotDot_fmt(gchar *s, guint32 v) +lpp_sbasZgDotDot_fmt(char *s, uint32_t v) { - double sbasZgDotDot = (double)((gint32)v)*0.0000625; + double sbasZgDotDot = (double)((int32_t)v)*0.0000625; - snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasZgDotDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", sbasZgDotDot, (int32_t)v); } static void -lpp_bdsAPowerHalf_r12_fmt(gchar *s, guint32 v) +lpp_bdsAPowerHalf_r12_fmt(char *s, uint32_t v) { double bdsAPowerHalf = (double)v*pow(2, -19); @@ -1083,7 +1097,7 @@ lpp_bdsAPowerHalf_r12_fmt(gchar *s, guint32 v) } static void -lpp_bdsE_r12_fmt(gchar *s, guint32 v) +lpp_bdsE_r12_fmt(char *s, uint32_t v) { double bdsE = (double)v*pow(2, -33); @@ -1091,49 +1105,49 @@ lpp_bdsE_r12_fmt(gchar *s, guint32 v) } static void -lpp_bdsW_M0_Omega0_I0_r12_fmt(gchar *s, guint32 v) +lpp_bdsW_M0_Omega0_I0_r12_fmt(char *s, uint32_t v) { - double bdsW_M0_Omega0_I0 = (double)((gint32)v)*pow(2, -31); + double bdsW_M0_Omega0_I0 = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsW_M0_Omega0_I0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsW_M0_Omega0_I0, (int32_t)v); } static void -lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt(gchar *s, guint32 v) +lpp_bdsDeltaN_OmegaDot_IDot_r12_fmt(char *s, uint32_t v) { - double bdsDeltaN_OmegaDot_IDot = (double)((gint32)v)*pow(2, -43); + double bdsDeltaN_OmegaDot_IDot = (double)((int32_t)v)*pow(2, -43); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsDeltaN_OmegaDot_IDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsDeltaN_OmegaDot_IDot, (int32_t)v); } static void -lpp_bdsCuc_Cus_Cic_Cis_r12_fmt(gchar *s, guint32 v) +lpp_bdsCuc_Cus_Cic_Cis_r12_fmt(char *s, uint32_t v) { - double bdsCuc_Cus_Cic_Cis = (double)((gint32)v)*pow(2, -31); + double bdsCuc_Cus_Cic_Cis = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCuc_Cus_Cic_Cis, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCuc_Cus_Cic_Cis, (int32_t)v); } static void -lpp_bdsCrc_Crs_r12_fmt(gchar *s, guint32 v) +lpp_bdsCrc_Crs_r12_fmt(char *s, uint32_t v) { - double bdsCrc_Crs = (double)((gint32)v)*pow(2, -6); + double bdsCrc_Crs = (double)((int32_t)v)*pow(2, -6); - snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCrc_Crs, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%grad (%d)", bdsCrc_Crs, (int32_t)v); } static void -lpp_doppler0_fmt(gchar *s, guint32 v) +lpp_doppler0_fmt(char *s, uint32_t v) { - double doppler0 = (double)((gint32)v)*0.5; + double doppler0 = (double)((int32_t)v)*0.5; - snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", doppler0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", doppler0, (int32_t)v); } static void -lpp_doppler1_fmt(gchar *s, guint32 v) +lpp_doppler1_fmt(char *s, uint32_t v) { - double doppler1 = (double)((gint32)(v-42))/210; + double doppler1 = (double)((int32_t)(v-42))/210; snprintf(s, ITEM_LABEL_LENGTH, "%fm/s2 (%u)", doppler1, v); } @@ -1148,7 +1162,7 @@ static const value_string lpp_dopplerUncertainty_vals[] = { }; static void -lpp_codePhase_fmt(gchar *s, guint32 v) +lpp_codePhase_fmt(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -10); @@ -1193,13 +1207,13 @@ static const value_string lpp_codePhaseSearchWindow_vals[] = { static value_string_ext lpp_codePhaseSearchWindow_vals_ext = VALUE_STRING_EXT_INIT(lpp_codePhaseSearchWindow_vals); static void -lpp_azimuth_elevation_fmt(gchar *s, guint32 v) +lpp_azimuth_elevation_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%f degrees (%u)", (float)v*0.703125, v); } static void -lpp_kepAlmanacE_fmt(gchar *s, guint32 v) +lpp_kepAlmanacE_fmt(char *s, uint32_t v) { double kepAlmanacE = (double)v*pow(2, -16); @@ -1207,55 +1221,55 @@ lpp_kepAlmanacE_fmt(gchar *s, guint32 v) } static void -lpp_kepAlmanacDeltaI_fmt(gchar *s, guint32 v) +lpp_kepAlmanacDeltaI_fmt(char *s, uint32_t v) { - double kepAlmanacDeltaI = (double)((gint32)v)*pow(2, -14); + double kepAlmanacDeltaI = (double)((int32_t)v)*pow(2, -14); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacDeltaI, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacDeltaI, (int32_t)v); } static void -lpp_kepAlmanacOmegaDot_fmt(gchar *s, guint32 v) +lpp_kepAlmanacOmegaDot_fmt(char *s, uint32_t v) { - double kepAlmanacOmegaDot = (double)((gint32)v)*pow(2, -33); + double kepAlmanacOmegaDot = (double)((int32_t)v)*pow(2, -33); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", kepAlmanacOmegaDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", kepAlmanacOmegaDot, (int32_t)v); } static void -lpp_kepAlmanacAPowerHalf_fmt(gchar *s, guint32 v) +lpp_kepAlmanacAPowerHalf_fmt(char *s, uint32_t v) { - double kepAlmanacAPowerHalf = (double)((gint32)v)*pow(2, -9); + double kepAlmanacAPowerHalf = (double)((int32_t)v)*pow(2, -9); - snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%d)", kepAlmanacAPowerHalf, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm1/2 (%d)", kepAlmanacAPowerHalf, (int32_t)v); } static void -lpp_kepAlmanacOmega0_W_M0_fmt(gchar *s, guint32 v) +lpp_kepAlmanacOmega0_W_M0_fmt(char *s, uint32_t v) { - double kepAlmanacOmega0_W_M0 = (double)((gint32)v)*pow(2, -15); + double kepAlmanacOmega0_W_M0 = (double)((int32_t)v)*pow(2, -15); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacOmega0_W_M0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", kepAlmanacOmega0_W_M0, (int32_t)v); } static void -lpp_kepAlmanacAF0_fmt(gchar *s, guint32 v) +lpp_kepAlmanacAF0_fmt(char *s, uint32_t v) { - double kepAlmanacAF0 = (double)((gint32)v)*pow(2, -19); + double kepAlmanacAF0 = (double)((int32_t)v)*pow(2, -19); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", kepAlmanacAF0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", kepAlmanacAF0, (int32_t)v); } static void -lpp_kepAlmanacAF1_fmt(gchar *s, guint32 v) +lpp_kepAlmanacAF1_fmt(char *s, uint32_t v) { - double kepAlmanacAF1 = (double)((gint32)v)*pow(2, -38); + double kepAlmanacAF1 = (double)((int32_t)v)*pow(2, -38); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", kepAlmanacAF1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", kepAlmanacAF1, (int32_t)v); } static void -lpp_navAlmE_fmt(gchar *s, guint32 v) +lpp_navAlmE_fmt(char *s, uint32_t v) { double navAlmE = (double)v*pow(2, -21); @@ -1263,23 +1277,23 @@ lpp_navAlmE_fmt(gchar *s, guint32 v) } static void -lpp_navAlmDeltaI_fmt(gchar *s, guint32 v) +lpp_navAlmDeltaI_fmt(char *s, uint32_t v) { - double navAlmDeltaI = (double)((gint32)v)*pow(2, -19); + double navAlmDeltaI = (double)((int32_t)v)*pow(2, -19); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmDeltaI, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmDeltaI, (int32_t)v); } static void -lpp_navAlmOMEGADOT_fmt(gchar *s, guint32 v) +lpp_navAlmOMEGADOT_fmt(char *s, uint32_t v) { - double navAlmOMEGADOT = (double)((gint32)v)*pow(2, -38); + double navAlmOMEGADOT = (double)((int32_t)v)*pow(2, -38); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navAlmOMEGADOT, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", navAlmOMEGADOT, (int32_t)v); } static void -lpp_navAlmSqrtA_fmt(gchar *s, guint32 v) +lpp_navAlmSqrtA_fmt(char *s, uint32_t v) { double navAlmSqrtA = (double)v*pow(2, -11); @@ -1287,45 +1301,45 @@ lpp_navAlmSqrtA_fmt(gchar *s, guint32 v) } static void -lpp_navAlmOMEGAo_Omega_Mo_fmt(gchar *s, guint32 v) +lpp_navAlmOMEGAo_Omega_Mo_fmt(char *s, uint32_t v) { - double navAlmOMEGAo_Omega_Mo = (double)((gint32)v)*pow(2, -23); + double navAlmOMEGAo_Omega_Mo = (double)((int32_t)v)*pow(2, -23); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmOMEGAo_Omega_Mo, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", navAlmOMEGAo_Omega_Mo, (int32_t)v); } static void -lpp_navAlmaf0_fmt(gchar *s, guint32 v) +lpp_navAlmaf0_fmt(char *s, uint32_t v) { - double navAlmaf0 = (double)((gint32)v)*pow(2, -20); + double navAlmaf0 = (double)((int32_t)v)*pow(2, -20); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", navAlmaf0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", navAlmaf0, (int32_t)v); } static void -lpp_navAlmaf1_fmt(gchar *s, guint32 v) +lpp_navAlmaf1_fmt(char *s, uint32_t v) { - double navAlmaf1 = (double)((gint32)v)*pow(2, -38); + double navAlmaf1 = (double)((int32_t)v)*pow(2, -38); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navAlmaf1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", navAlmaf1, (int32_t)v); } static void -lpp_redAlmDeltaA_fmt(gchar *s, guint32 v) +lpp_redAlmDeltaA_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%dm (%d)", 512*(gint)v, (gint)v); + snprintf(s, ITEM_LABEL_LENGTH, "%dm (%d)", 512*(int)v, (int)v); } static void -lpp_redAlmOmega0_Phi0_fmt(gchar *s, guint32 v) +lpp_redAlmOmega0_Phi0_fmt(char *s, uint32_t v) { - double redAlmOmega0_Phi0 = (double)((gint32)v)*pow(2, -6); + double redAlmOmega0_Phi0 = (double)((int32_t)v)*pow(2, -6); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", redAlmOmega0_Phi0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", redAlmOmega0_Phi0, (int32_t)v); } static void -lpp_midiAlmE_fmt(gchar *s, guint32 v) +lpp_midiAlmE_fmt(char *s, uint32_t v) { double midiAlmE = (double)v*pow(2, -16); @@ -1333,143 +1347,143 @@ lpp_midiAlmE_fmt(gchar *s, guint32 v) } static void -lpp_midiAlmDeltaI_fmt(gchar *s, guint32 v) +lpp_midiAlmDeltaI_fmt(char *s, uint32_t v) { - double midiAlmDeltaI = (double)((gint32)v)*pow(2, -14); + double midiAlmDeltaI = (double)((int32_t)v)*pow(2, -14); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmDeltaI, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmDeltaI, (int32_t)v); } static void -lpp_midiAlmOmegaDot_fmt(gchar *s, guint32 v) +lpp_midiAlmOmegaDot_fmt(char *s, uint32_t v) { - double midiAlmOmegaDot = (double)((gint32)v)*pow(2, -33); + double midiAlmOmegaDot = (double)((int32_t)v)*pow(2, -33); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", midiAlmOmegaDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", midiAlmOmegaDot, (int32_t)v); } static void -lpp_midiAlmSqrtA_fmt(gchar *s, guint32 v) +lpp_midiAlmSqrtA_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%fm1/2 (%u)", (float)v*0.0625, v); } static void -lpp_midiAlmOmega0_Omega_Mo_fmt(gchar *s, guint32 v) +lpp_midiAlmOmega0_Omega_Mo_fmt(char *s, uint32_t v) { - double midiAlmOmega0_Omega_Mo = (double)((gint32)v)*pow(2, -15); + double midiAlmOmega0_Omega_Mo = (double)((int32_t)v)*pow(2, -15); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmOmega0_Omega_Mo, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", midiAlmOmega0_Omega_Mo, (int32_t)v); } static void -lpp_midiAlmaf0_fmt(gchar *s, guint32 v) +lpp_midiAlmaf0_fmt(char *s, uint32_t v) { - double midiAlmaf0 = (double)((gint32)v)*pow(2, -20); + double midiAlmaf0 = (double)((int32_t)v)*pow(2, -20); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", midiAlmaf0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", midiAlmaf0, (int32_t)v); } static void -lpp_midiAlmaf1_fmt(gchar *s, guint32 v) +lpp_midiAlmaf1_fmt(char *s, uint32_t v) { - double midiAlmaf1 = (double)((gint32)v)*pow(2, -37); + double midiAlmaf1 = (double)((int32_t)v)*pow(2, -37); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", midiAlmaf1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", midiAlmaf1, (int32_t)v); } static void -lpp_gloAlmLambdaA_DeltaIa_fmt(gchar *s, guint32 v) +lpp_gloAlmLambdaA_DeltaIa_fmt(char *s, uint32_t v) { - double gloAlmLambdaA_DeltaIa = (double)((gint32)v)*pow(2, -20); + double gloAlmLambdaA_DeltaIa = (double)((int32_t)v)*pow(2, -20); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmLambdaA_DeltaIa, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmLambdaA_DeltaIa, (int32_t)v); } static void -lpp_gloAlmtlambdaA_fmt(gchar *s, guint32 v) +lpp_gloAlmtlambdaA_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%fs (%u)", (float)v*0.03125, v); } static void -lpp_gloAlmDeltaTA_fmt(gchar *s, guint32 v) +lpp_gloAlmDeltaTA_fmt(char *s, uint32_t v) { - double gloAlmDeltaTA = (double)((gint32)v)*pow(2, -9); + double gloAlmDeltaTA = (double)((int32_t)v)*pow(2, -9); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTA, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTA, (int32_t)v); } static void -lpp_gloAlmDeltaTdotA_fmt(gchar *s, guint32 v) +lpp_gloAlmDeltaTdotA_fmt(char *s, uint32_t v) { - double gloAlmDeltaTdotA = (double)((gint32)v)*pow(2, -14); + double gloAlmDeltaTdotA = (double)((int32_t)v)*pow(2, -14); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTdotA, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/orbit period (%d)", gloAlmDeltaTdotA, (int32_t)v); } static void -lpp_gloAlmEpsilonA_fmt(gchar *s, guint32 v) +lpp_gloAlmEpsilonA_fmt(char *s, uint32_t v) { double gloAlmEpsilonA = (double)v*pow(2, -20); - snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", gloAlmEpsilonA, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", gloAlmEpsilonA, (int32_t)v); } static void -lpp_gloAlmOmegaA_fmt(gchar *s, guint32 v) +lpp_gloAlmOmegaA_fmt(char *s, uint32_t v) { - double gloAlmOmegaA = (double)((gint32)v)*pow(2, -15); + double gloAlmOmegaA = (double)((int32_t)v)*pow(2, -15); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmOmegaA, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", gloAlmOmegaA, (int32_t)v); } static void -lpp_gloAlmTauA_fmt(gchar *s, guint32 v) +lpp_gloAlmTauA_fmt(char *s, uint32_t v) { - double gloAlmTauA = (double)((gint32)v)*pow(2, -18); + double gloAlmTauA = (double)((int32_t)v)*pow(2, -18); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloAlmTauA, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gloAlmTauA, (int32_t)v); } static void -lpp_sbasAlmXg_Yg_fmt(gchar *s, guint32 v) +lpp_sbasAlmXg_Yg_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%d)", (gint32)v*2.6, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fkm (%d)", (int32_t)v*2.6, (int32_t)v); } static void -lpp_sbasAlmZg_fmt(gchar *s, guint32 v) +lpp_sbasAlmZg_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%dkm (%d)", (gint32)v*26, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%dkm (%d)", (int32_t)v*26, (int32_t)v); } static void -lpp_sbasAlmXgdot_YgDot_fmt(gchar *s, guint32 v) +lpp_sbasAlmXgdot_YgDot_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%dm/s (%d)", (gint32)v*10, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%dm/s (%d)", (int32_t)v*10, (int32_t)v); } static void -lpp_sbasAlmZgDot_fmt(gchar *s, guint32 v) +lpp_sbasAlmZgDot_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", (gint32)v*40.96, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%fm/s (%d)", (int32_t)v*40.96, (int32_t)v); } static void -lpp_sbasAlmTo_fmt(gchar *s, guint32 v) +lpp_sbasAlmTo_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um/s (%u)", v*64, v); } static void -lpp_bdsAlmToa_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmToa_r12_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*4096, v); } static void -lpp_bdsAlmSqrtA_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmSqrtA_r12_fmt(char *s, uint32_t v) { double bdsAlmSqrtA = (double)v*pow(2, -11); @@ -1477,7 +1491,7 @@ lpp_bdsAlmSqrtA_r12_fmt(gchar *s, guint32 v) } static void -lpp_bdsAlmE_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmE_r12_fmt(char *s, uint32_t v) { double bdsAlmE = (double)v*pow(2, -21); @@ -1485,43 +1499,43 @@ lpp_bdsAlmE_r12_fmt(gchar *s, guint32 v) } static void -lpp_bdsAlmW_M0_Omega0_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmW_M0_Omega0_r12_fmt(char *s, uint32_t v) { - double bdsAlmW_M0_Omega0 = (double)((gint32)v)*pow(2, -23); + double bdsAlmW_M0_Omega0 = (double)((int32_t)v)*pow(2, -23); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmW_M0_Omega0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmW_M0_Omega0, (int32_t)v); } static void -lpp_bdsAlmOmegaDot_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmOmegaDot_r12_fmt(char *s, uint32_t v) { - double bdsAlmOmegaDot = (double)((gint32)v)*pow(2, -38); + double bdsAlmOmegaDot = (double)((int32_t)v)*pow(2, -38); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsAlmOmegaDot, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles/s (%d)", bdsAlmOmegaDot, (int32_t)v); } static void -lpp_bdsAlmDeltaI_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmDeltaI_r12_fmt(char *s, uint32_t v) { - double bdsAlmDeltaI = (double)((gint32)v)*pow(2, -19); + double bdsAlmDeltaI = (double)((int32_t)v)*pow(2, -19); - snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmDeltaI, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%g semi-circles (%d)", bdsAlmDeltaI, (int32_t)v); } static void -lpp_bdsAlmA0_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmA0_r12_fmt(char *s, uint32_t v) { - double bdsAlmA0 = (double)((gint32)v)*pow(2, -20); + double bdsAlmA0 = (double)((int32_t)v)*pow(2, -20); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsAlmA0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", bdsAlmA0, (int32_t)v); } static void -lpp_bdsAlmA1_r12_fmt(gchar *s, guint32 v) +lpp_bdsAlmA1_r12_fmt(char *s, uint32_t v) { - double bdsAlmA1 = (double)((gint32)v)*pow(2, -38); + double bdsAlmA1 = (double)((int32_t)v)*pow(2, -38); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsAlmA1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", bdsAlmA1, (int32_t)v); } static const true_false_string lpp_bdsSvHealth_r12_b1i_b2i_value = { @@ -1535,23 +1549,23 @@ static const true_false_string lpp_bdsSvHealth_r12_nav_value = { }; static void -lpp_gnss_Utc_A1_fmt(gchar *s, guint32 v) +lpp_gnss_Utc_A1_fmt(char *s, uint32_t v) { - double gnss_Utc_A1 = (double)((gint32)v)*pow(2, -50); + double gnss_Utc_A1 = (double)((int32_t)v)*pow(2, -50); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", gnss_Utc_A1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/s (%d)", gnss_Utc_A1, (int32_t)v); } static void -lpp_gnss_Utc_A0_fmt(gchar *s, guint32 v) +lpp_gnss_Utc_A0_fmt(char *s, uint32_t v) { - double gnss_Utc_A0 = (double)((gint32)v)*pow(2, -30); + double gnss_Utc_A0 = (double)((int32_t)v)*pow(2, -30); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gnss_Utc_A0, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", gnss_Utc_A0, (int32_t)v); } static void -lpp_gnss_Utc_Tot_fmt(gchar *s, guint32 v) +lpp_gnss_Utc_Tot_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%us (%u)", v*4096, v); } @@ -1599,19 +1613,19 @@ static const value_string lpp_bds_RURAI_vals[] = { static value_string_ext lpp_bds_RURAI_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_RURAI_vals); static void -lpp_bds_ECC_DeltaT_r12_fmt(gchar *s, guint32 v) +lpp_bds_ECC_DeltaT_r12_fmt(char *s, uint32_t v) { - if ((gint32)v == -4096) { - snprintf(s, ITEM_LABEL_LENGTH, "Not available (%d)", (gint32)v); + if ((int32_t)v == -4096) { + snprintf(s, ITEM_LABEL_LENGTH, "Not available (%d)", (int32_t)v); } else { - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((gint32)v)*0.1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((int32_t)v)*0.1, (int32_t)v); } } static void -lpp_bds_GridIonElement_dt_r12_fmt(gchar *s, guint32 v) +lpp_bds_GridIonElement_dt_r12_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((gint32)v)*0.125, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", (float)((int32_t)v)*0.125, (int32_t)v); } static const value_string lpp_bds_givei_vals[] = { @@ -1636,23 +1650,23 @@ static const value_string lpp_bds_givei_vals[] = { static value_string_ext lpp_bds_givei_vals_ext = VALUE_STRING_EXT_INIT(lpp_bds_givei_vals); static void -lpp_fine_PseudoRange_r15_fmt(gchar *s, guint32 v) +lpp_fine_PseudoRange_r15_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)*pow(2, -29); + double val = (double)((int32_t)v)*pow(2, -29); - snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (int32_t)v); } static void -lpp_fine_PhaseRange_r15_fmt(gchar *s, guint32 v) +lpp_fine_PhaseRange_r15_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)*pow(2, -31); + double val = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (int32_t)v); } static void -lpp_carrier_to_noise_ratio_r15_fmt(gchar *s, guint32 v) +lpp_carrier_to_noise_ratio_r15_fmt(char *s, uint32_t v) { double val = (double)v*pow(2, -4); @@ -1660,19 +1674,19 @@ lpp_carrier_to_noise_ratio_r15_fmt(gchar *s, guint32 v) } static void -lpp_fine_PhaseRangeRate_r15_fmt(gchar *s, guint32 v) +lpp_fine_PhaseRangeRate_r15_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/1000; + double val = (double)((int32_t)v)/1000; - snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gms (%d)", val, (int32_t)v); } static void -lpp_cpBias_r15_fmt(gchar *s, guint32 v) +lpp_cpBias_r15_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/50; + double val = (double)((int32_t)v)/50; - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static const value_string lpp_ambiguityStatusFlag_r15_vals[] = { @@ -1684,27 +1698,27 @@ static const value_string lpp_ambiguityStatusFlag_r15_vals[] = { }; static void -lpp_1_2000m_fmt(gchar *s, guint32 v) +lpp_1_2000m_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/2000; + double val = (double)((int32_t)v)/2000; - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void -lpp_1_100ppm_fmt(gchar *s, guint32 v) +lpp_1_100ppm_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/100; + double val = (double)((int32_t)v)/100; - snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (int32_t)v); } static void -lpp_1_10ppm_fmt(gchar *s, guint32 v) +lpp_1_10ppm_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/10; + double val = (double)((int32_t)v)/10; - snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gppm (%d)", val, (int32_t)v); } static const value_string lpp_ssrUpdateInterval_r15_vals[] = { @@ -1728,75 +1742,75 @@ static const value_string lpp_ssrUpdateInterval_r15_vals[] = { }; static void -lpp_1_10000m_fmt(gchar *s, guint32 v) +lpp_1_10000m_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/10000; + double val = (double)((int32_t)v)/10000; - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void -lpp_4_10000m_fmt(gchar *s, guint32 v) +lpp_4_10000m_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/10000*4; + double val = (double)((int32_t)v)/10000*4; - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void -lpp_1_1000000m_s_fmt(gchar *s, guint32 v) +lpp_1_1000000m_s_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/1000000; + double val = (double)((int32_t)v)/1000000; - snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (int32_t)v); } static void -lpp_4_1000000m_s_fmt(gchar *s, guint32 v) +lpp_4_1000000m_s_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/1000000*4; + double val = (double)((int32_t)v)/1000000*4; - snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", val, (int32_t)v); } static void -lpp_2_100000000m_s2_fmt(gchar *s, guint32 v) +lpp_2_100000000m_s2_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/100000000*2; + double val = (double)((int32_t)v)/100000000*2; - snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm/s2 (%d)", val, (int32_t)v); } static void -lpp_1_100000m_fmt(gchar *s, guint32 v) +lpp_1_100000m_fmt(char *s, uint32_t v) { - double val = (double)((gint32)v)/100000; + double val = (double)((int32_t)v)/100000; - snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm (%d)", val, (int32_t)v); } static void -lpp_tauC_fmt(gchar *s, guint32 v) +lpp_tauC_fmt(char *s, uint32_t v) { - double tauC = (double)((gint32)v)*pow(2, -31); + double tauC = (double)((int32_t)v)*pow(2, -31); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tauC, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", tauC, (int32_t)v); } static void -lpp_b1_fmt(gchar *s, guint32 v) +lpp_b1_fmt(char *s, uint32_t v) { - double b1 = (double)((gint32)v)*pow(2, -10); + double b1 = (double)((int32_t)v)*pow(2, -10); - snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", b1, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs (%d)", b1, (int32_t)v); } static void -lpp_b2_fmt(gchar *s, guint32 v) +lpp_b2_fmt(char *s, uint32_t v) { - double b2 = (double)((gint32)v)*pow(2, -16); + double b2 = (double)((int32_t)v)*pow(2, -16); - snprintf(s, ITEM_LABEL_LENGTH, "%gs/msd (%d)", b2, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gs/msd (%d)", b2, (int32_t)v); } static const value_string lpp_utcStandardID_vals[] = { @@ -1837,7 +1851,7 @@ static const value_string lpp_carrierQualityInd_vals[] = { }; static void -lpp_GNSS_SatMeas_codePhase_fmt(gchar *s, guint32 v) +lpp_GNSS_SatMeas_codePhase_fmt(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -21); @@ -1845,12 +1859,12 @@ lpp_GNSS_SatMeas_codePhase_fmt(gchar *s, guint32 v) } static void -lpp_codePhaseRMSError_fmt(gchar *s, guint32 v) +lpp_codePhaseRMSError_fmt(char *s, uint32_t v) { - guint8 mantissa = v & 0x07; - guint8 exponent = (v & 0x38) >> 3; - guint8 mantissa_1 = (v - 1) & 0x07; - guint8 exponent_1 = ((v - 1) & 0x38) >> 3; + uint8_t mantissa = v & 0x07; + uint8_t exponent = (v & 0x38) >> 3; + uint8_t mantissa_1 = (v - 1) & 0x07; + uint8_t exponent_1 = ((v - 1) & 0x38) >> 3; if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "P < 0.5 (0)"); @@ -1863,7 +1877,7 @@ lpp_codePhaseRMSError_fmt(gchar *s, guint32 v) } static void -lpp_transmitterLatitude_fmt(gchar *s, guint32 v) +lpp_transmitterLatitude_fmt(char *s, uint32_t v) { double lat = ((double)v*4.0/pow(2, 20))-90.0; @@ -1871,7 +1885,7 @@ lpp_transmitterLatitude_fmt(gchar *s, guint32 v) } static void -lpp_transmitterLongitude_fmt(gchar *s, guint32 v) +lpp_transmitterLongitude_fmt(char *s, uint32_t v) { double longitude = ((double)v*4.0/pow(2, 20))-180.0; @@ -1879,7 +1893,7 @@ lpp_transmitterLongitude_fmt(gchar *s, guint32 v) } static void -lpp_transmitterAltitude_fmt(gchar *s, guint32 v) +lpp_transmitterAltitude_fmt(char *s, uint32_t v) { double alt = ((double)v*0.29)-500.0; @@ -1887,43 +1901,43 @@ lpp_transmitterAltitude_fmt(gchar *s, guint32 v) } static void -lpp_refPressure_fmt(gchar *s, guint32 v) +lpp_refPressure_fmt(char *s, uint32_t v) { - gint32 pressure = (gint32)v; + int32_t pressure = (int32_t)v; snprintf(s, ITEM_LABEL_LENGTH, "%dPa (%d)", 101325+pressure, pressure); } static void -lpp_refTemperature_fmt(gchar *s, guint32 v) +lpp_refTemperature_fmt(char *s, uint32_t v) { - gint32 temp = (gint32)v; + int32_t temp = (int32_t)v; snprintf(s, ITEM_LABEL_LENGTH, "%dK (%d)", 273+temp, temp); } static void -lpp_referencePressureRate_v1520_fmt(gchar *s, guint32 v) +lpp_referencePressureRate_v1520_fmt(char *s, uint32_t v) { - gint32 rate = (gint32)v; + int32_t rate = (int32_t)v; snprintf(s, ITEM_LABEL_LENGTH, "%dPa/hour (%d)", 10*rate, rate); } static void -lpp_PressureValidityPeriod_v1520_fmt(gchar *s, guint32 v) +lpp_PressureValidityPeriod_v1520_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%umin (%u)", 15*v, v); } static void -lpp_doppler_fmt(gchar *s, guint32 v) +lpp_doppler_fmt(char *s, uint32_t v) { - snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", (gint32)v*0.04, (gint32)v); + snprintf(s, ITEM_LABEL_LENGTH, "%gm/s (%d)", (int32_t)v*0.04, (int32_t)v); } static void -lpp_adr_fmt(gchar *s, guint32 v) +lpp_adr_fmt(char *s, uint32_t v) { double adr = (double)v*pow(2, -10); @@ -1931,13 +1945,13 @@ lpp_adr_fmt(gchar *s, guint32 v) } static void -lpp_adrMSB_r15_fmt(gchar *s, guint32 v) +lpp_adrMSB_r15_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%um (%u)", v*32768, v); } static void -lpp_GNSS_SatMeas_delta_codePhase_r15_fmt(gchar *s, guint32 v) +lpp_GNSS_SatMeas_delta_codePhase_r15_fmt(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -24); @@ -1945,13 +1959,13 @@ lpp_GNSS_SatMeas_delta_codePhase_r15_fmt(gchar *s, guint32 v) } static void -lpp_deliveryAmount_r15_fmt(gchar *s, guint32 v) +lpp_deliveryAmount_r15_fmt(char *s, uint32_t v) { snprintf(s, ITEM_LABEL_LENGTH, "%g (%u)", pow(2, v), v); } static void -lpp_rsrp_Result_fmt(gchar *s, guint32 v) +lpp_rsrp_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)"); @@ -1963,7 +1977,7 @@ lpp_rsrp_Result_fmt(gchar *s, guint32 v) } static void -lpp_rsrq_Result_fmt(gchar *s, guint32 v) +lpp_rsrq_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)"); @@ -1975,7 +1989,7 @@ lpp_rsrq_Result_fmt(gchar *s, guint32 v) } static void -lpp_nrsrp_Result_fmt(gchar *s, guint32 v) +lpp_nrsrp_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "NRSRP < -156dBm (0)"); @@ -1987,7 +2001,7 @@ lpp_nrsrp_Result_fmt(gchar *s, guint32 v) } static void -lpp_nrsrq_Result_fmt(gchar *s, guint32 v) +lpp_nrsrq_Result_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "NRSRQ < -34dB (0)"); @@ -1999,9 +2013,9 @@ lpp_nrsrq_Result_fmt(gchar *s, guint32 v) } static void -lpp_rsrp_Result_v1470_fmt(gchar *s, guint32 v) +lpp_rsrp_Result_v1470_fmt(char *s, uint32_t v) { - gint32 d = (gint32)v; + int32_t d = (int32_t)v; if (d == -17) { snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -157dBm (-17)"); @@ -2011,9 +2025,9 @@ lpp_rsrp_Result_v1470_fmt(gchar *s, guint32 v) } static void -lpp_rsrq_Result_v1470_fmt(gchar *s, guint32 v) +lpp_rsrq_Result_v1470_fmt(char *s, uint32_t v) { - gint32 d = (gint32)v; + int32_t d = (int32_t)v; if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -34.5dB (-30)"); @@ -2025,7 +2039,7 @@ lpp_rsrq_Result_v1470_fmt(gchar *s, guint32 v) } static void -lpp_ue_RxTxTimeDiff_fmt(gchar *s, guint32 v) +lpp_ue_RxTxTimeDiff_fmt(char *s, uint32_t v) { if (v == 0) { snprintf(s, ITEM_LABEL_LENGTH, "T < 2Ts (0)"); @@ -2039,14 +2053,14 @@ lpp_ue_RxTxTimeDiff_fmt(gchar *s, guint32 v) } static void -lpp_mbs_beaconMeasElt_codePhase_fmt(gchar *s, guint32 v) +lpp_mbs_beaconMeasElt_codePhase_fmt(char *s, uint32_t v) { double codePhase = (double)v*pow(2, -21); snprintf(s, ITEM_LABEL_LENGTH, "%gms (%u)", codePhase, v); } -const unit_name_string units_pa = { "Pa", NULL }; +static const unit_name_string units_pa = { "Pa", NULL }; #include "packet-lpp-fn.c" @@ -2055,7 +2069,7 @@ int dissect_lpp_AssistanceDataSIBelement_r15_PDU(tvbuff_t *tvb, packet_info *pin asn1_ctx_t asn1_ctx; struct lpp_private_data *lpp_data = lpp_get_private_data(pinfo); - asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, false, pinfo); lpp_data->pos_sib_type = pos_sib_type; offset = dissect_lpp_AssistanceDataSIBelement_r15(tvb, offset, &asn1_ctx, tree, hf_lpp_AssistanceDataSIBelement_r15_PDU); offset += 7; offset >>= 3; @@ -2123,7 +2137,7 @@ void proto_register_lpp(void) { }; /* List of subtrees */ - static gint *ett[] = { + static int *ett[] = { &ett_lpp, &ett_lpp_svHealthExt_v1240, &ett_kepSV_StatusINAV, diff --git a/epan/dissectors/asn1/lpp/packet-lpp-template.h b/epan/dissectors/asn1/lpp/packet-lpp-template.h index 6d3ec42c..22c84f26 100644 --- a/epan/dissectors/asn1/lpp/packet-lpp-template.h +++ b/epan/dissectors/asn1/lpp/packet-lpp-template.h @@ -1,6 +1,6 @@ /* packet-lpp.h * Routines for 3GPP LTE Positioning Protocol (LPP) packet dissection - * Copyright 2011-2022 Pascal Quantin <pascal@wireshark.org> + * Copyright 2011-2024 Pascal Quantin <pascal@wireshark.org> * * Wireshark - Network traffic analyzer * By Gerald Combs <gerald@wireshark.org> @@ -25,6 +25,8 @@ typedef enum { LPP_POS_SIB_TYPE_1_8, LPP_POS_SIB_TYPE_1_9, LPP_POS_SIB_TYPE_1_10, + LPP_POS_SIB_TYPE_1_11, + LPP_POS_SIB_TYPE_1_12, LPP_POS_SIB_TYPE_2_1, LPP_POS_SIB_TYPE_2_2, LPP_POS_SIB_TYPE_2_3, @@ -42,14 +44,19 @@ typedef enum { LPP_POS_SIB_TYPE_2_15, LPP_POS_SIB_TYPE_2_16, LPP_POS_SIB_TYPE_2_17, + LPP_POS_SIB_TYPE_2_17a, LPP_POS_SIB_TYPE_2_18, + LPP_POS_SIB_TYPE_2_18a, LPP_POS_SIB_TYPE_2_19, LPP_POS_SIB_TYPE_2_20, + LPP_POS_SIB_TYPE_2_20a, LPP_POS_SIB_TYPE_2_21, LPP_POS_SIB_TYPE_2_22, LPP_POS_SIB_TYPE_2_23, LPP_POS_SIB_TYPE_2_24, LPP_POS_SIB_TYPE_2_25, + LPP_POS_SIB_TYPE_2_26, + LPP_POS_SIB_TYPE_2_27, LPP_POS_SIB_TYPE_3_1, LPP_POS_SIB_TYPE_4_1, LPP_POS_SIB_TYPE_5_1, @@ -59,6 +66,11 @@ typedef enum { LPP_POS_SIB_TYPE_6_4, LPP_POS_SIB_TYPE_6_5, LPP_POS_SIB_TYPE_6_6, + LPP_POS_SIB_TYPE_6_7, + LPP_POS_SIB_TYPE_7_1, + LPP_POS_SIB_TYPE_7_2, + LPP_POS_SIB_TYPE_7_3, + LPP_POS_SIB_TYPE_7_4, } lpp_pos_sib_type_t; int dissect_lpp_AssistanceDataSIBelement_r15_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, lpp_pos_sib_type_t pos_sib_type); |