Merge "Clarifying GnssMeasurement and Clock commments" am: 3a5649ddd5

am: e6d6b2d745

Change-Id: Ia7188d0dd85483137b1f10faa7a468328f73aab7
This commit is contained in:
WyattRiley 2018-10-09 22:34:26 -07:00 committed by android-build-merger
commit c30c85d729
2 changed files with 55 additions and 31 deletions

View file

@ -386,6 +386,7 @@ cd4330c3196bda1d642a32abfe23a7d64ebfbda721940643af6867af3b3f0aa9 android.hardwar
# ABI preserving changes to HALs during Android Q # ABI preserving changes to HALs during Android Q
da33234403ff5d60f3473711917b9948e6484a4260b5247acdafb111193a9de2 android.hardware.configstore@1.0::ISurfaceFlingerConfigs da33234403ff5d60f3473711917b9948e6484a4260b5247acdafb111193a9de2 android.hardware.configstore@1.0::ISurfaceFlingerConfigs
78886339f2c848cf13c1edd3ebba63f89796b2620d3bf3b5c21d038a53519ba0 android.hardware.gnss@1.0::IGnssMeasurementCallback
b7ecf29927055ec422ec44bf776223f07d79ad9f92ccf9becf167e62c2607e7a android.hardware.keymaster@4.0::IKeymasterDevice b7ecf29927055ec422ec44bf776223f07d79ad9f92ccf9becf167e62c2607e7a android.hardware.keymaster@4.0::IKeymasterDevice
574e8f1499436fb4075894dcae0b36682427956ecb114f17f1fe22d116a83c6b android.hardware.neuralnetworks@1.0::IPreparedModel 574e8f1499436fb4075894dcae0b36682427956ecb114f17f1fe22d116a83c6b android.hardware.neuralnetworks@1.0::IPreparedModel
1fb32361286b938d48a55c2539c846732afce0b99fe08590f556643125bc13d3 android.hardware.neuralnetworks@1.0::types 1fb32361286b938d48a55c2539c846732afce0b99fe08590f556643125bc13d3 android.hardware.neuralnetworks@1.0::types

View file

@ -124,6 +124,12 @@ interface IGnssMeasurementCallback {
/** /**
* A set of flags indicating the validity of the fields in this data * A set of flags indicating the validity of the fields in this data
* structure. * structure.
*
* Fields for which there is no corresponding flag must be filled in
* with a valid value. For convenience, these are marked as mandatory.
*
* Others fields may have invalid information in them, if not marked as
* valid by the corresponding bit in gnssClockFlags.
*/ */
bitfield<GnssClockFlags> gnssClockFlags; bitfield<GnssClockFlags> gnssClockFlags;
@ -155,7 +161,7 @@ interface IGnssMeasurementCallback {
* Sub-nanosecond accuracy can be provided by means of the 'biasNs' field. * Sub-nanosecond accuracy can be provided by means of the 'biasNs' field.
* The value contains the timeUncertaintyNs in it. * The value contains the timeUncertaintyNs in it.
* *
* This field is mandatory. * This value is mandatory.
*/ */
int64_t timeNs; int64_t timeNs;
@ -172,29 +178,31 @@ interface IGnssMeasurementCallback {
/** /**
* The difference between hardware clock ('time' field) inside GNSS receiver * The difference between hardware clock ('time' field) inside GNSS receiver
* and the true GNSS time since 0000Z, January 6, 1980, in nanoseconds. * and the true GPS time since 0000Z, January 6, 1980, in nanoseconds.
* *
* The sign of the value is defined by the following equation: * The sign of the value is defined by the following equation:
* local estimate of GNSS time = timeNs - (fullBiasNs + biasNs) * local estimate of GPS time = timeNs - (fullBiasNs + biasNs)
* *
* This value is mandatory if the receiver has estimated GNSS time. If the * If receiver has computed time for a non-GPS constellation, the time offset of
* computed time is for a non-GNSS constellation, the time offset of that * that constellation versus GPS time must be applied to fill this value.
* constellation to GNSS has to be applied to fill this value. The error *
* estimate for the sum of this and the biasNs is the biasUncertaintyNs, * The error estimate for the sum of this and the biasNs is the biasUncertaintyNs.
* and the caller is responsible for using this uncertainty (it can be very *
* large before the GNSS time has been solved for.) If the data is available * If the data is available gnssClockFlags must contain HAS_FULL_BIAS.
* gnssClockFlags must contain HAS_FULL_BIAS. *
* This value is mandatory if the receiver has estimated GPS time.
*/ */
int64_t fullBiasNs; int64_t fullBiasNs;
/** /**
* Sub-nanosecond bias. * Sub-nanosecond bias - used with fullBiasNS, see fullBiasNs for details.
*
* The error estimate for the sum of this and the fullBiasNs is the * The error estimate for the sum of this and the fullBiasNs is the
* biasUncertaintyNs. * biasUncertaintyNs.
* *
* If the data is available gnssClockFlags must contain HAS_BIAS. If GNSS * If the data is available gnssClockFlags must contain HAS_BIAS.
* has computed a position fix. This value is mandatory if the receiver has *
* estimated GNSS time. * This value is mandatory if the receiver has estimated GPS time.
*/ */
double biasNs; double biasNs;
@ -203,9 +211,12 @@ interface IGnssMeasurementCallback {
* bias) in nanoseconds. The uncertainty is represented as an absolute * bias) in nanoseconds. The uncertainty is represented as an absolute
* (single sided) value. * (single sided) value.
* *
* If the data is available gnssClockFlags must contain * The caller is responsible for using this uncertainty (it can be very
* HAS_BIAS_UNCERTAINTY. This value is mandatory if the receiver * large before the GPS time has been fully resolved.)
* has estimated GNSS time. *
* If the data is available gnssClockFlags must contain HAS_BIAS_UNCERTAINTY.
*
* This value is mandatory if the receiver has estimated GPS time.
*/ */
double biasUncertaintyNs; double biasUncertaintyNs;
@ -216,10 +227,9 @@ interface IGnssMeasurementCallback {
* frequency, and that the (fullBiasNs + biasNs) is growing more positive * frequency, and that the (fullBiasNs + biasNs) is growing more positive
* over time. * over time.
* *
* The value contains the 'drift uncertainty' in it.
* If the data is available gnssClockFlags must contain HAS_DRIFT. * If the data is available gnssClockFlags must contain HAS_DRIFT.
* *
* This value is mandatory if the receiver has estimated GNSS time. * This value is mandatory if the receiver has estimated GPS time.
*/ */
double driftNsps; double driftNsps;
@ -228,15 +238,15 @@ interface IGnssMeasurementCallback {
* second). * second).
* The uncertainty is represented as an absolute (single sided) value. * The uncertainty is represented as an absolute (single sided) value.
* *
* If the data is available gnssClockFlags must contain * If the data is available gnssClockFlags must contain HAS_DRIFT_UNCERTAINTY.
* HAS_DRIFT_UNCERTAINTY. If GNSS has computed a position fix this *
* field is mandatory and must be populated. * This value is mandatory if the receiver has estimated GPS time.
*/ */
double driftUncertaintyNsps; double driftUncertaintyNsps;
/** /**
* When there are any discontinuities in the HW clock, this field is * This field must be incremented, when there are discontinuities in the
* mandatory. * hardware clock.
* *
* A "discontinuity" is meant to cover the case of a switch from one source * A "discontinuity" is meant to cover the case of a switch from one source
* of clock to another. A single free-running crystal oscillator (XO) * of clock to another. A single free-running crystal oscillator (XO)
@ -262,6 +272,8 @@ interface IGnssMeasurementCallback {
* as this avoids the need to use (waste) a GNSS measurement to fully * as this avoids the need to use (waste) a GNSS measurement to fully
* re-solve for the GNSS clock bias and drift, when using the accompanying * re-solve for the GNSS clock bias and drift, when using the accompanying
* measurements, from consecutive GnssData reports. * measurements, from consecutive GnssData reports.
*
* This value is mandatory.
*/ */
uint32_t hwClockDiscontinuityCount; uint32_t hwClockDiscontinuityCount;
@ -280,17 +292,26 @@ interface IGnssMeasurementCallback {
/** /**
* A set of flags indicating the validity of the fields in this data * A set of flags indicating the validity of the fields in this data
* structure. * structure.
*
* Fields for which there is no corresponding flag must be filled in
* with a valid value. For convenience, these are marked as mandatory.
*
* Others fields may have invalid information in them, if not marked as
* valid by the corresponding bit in flags.
*/ */
bitfield<GnssMeasurementFlags> flags; bitfield<GnssMeasurementFlags> flags;
/** /**
* Satellite vehicle ID number, as defined in GnssSvInfo::svid * Satellite vehicle ID number, as defined in GnssSvInfo::svid
* This is a mandatory value. *
* This value is mandatory.
*/ */
int16_t svid; int16_t svid;
/** /**
* Defines the constellation of the given SV. * Defines the constellation of the given SV.
*
* This value is mandatory.
*/ */
GnssConstellationType constellation; GnssConstellationType constellation;
@ -302,8 +323,10 @@ interface IGnssMeasurementCallback {
* measurement time = GnssClock::timeNs + timeOffsetNs * measurement time = GnssClock::timeNs + timeOffsetNs
* *
* It provides an individual time-stamp for the measurement, and allows * It provides an individual time-stamp for the measurement, and allows
* sub-nanosecond accuracy. * sub-nanosecond accuracy. It may be zero if all measurements are
* This is a mandatory value. * aligned to a common time.
*
* This value is mandatory.
*/ */
double timeOffsetNs; double timeOffsetNs;
@ -313,7 +336,7 @@ interface IGnssMeasurementCallback {
* Based on the sync state, the 'received GNSS tow' field must be interpreted * Based on the sync state, the 'received GNSS tow' field must be interpreted
* accordingly. * accordingly.
* *
* This is a mandatory value. * This value is mandatory.
*/ */
bitfield<GnssMeasurementState> state; bitfield<GnssMeasurementState> state;
@ -413,7 +436,7 @@ interface IGnssMeasurementCallback {
* Carrier-to-noise density in dB-Hz, typically in the range [0, 63]. * Carrier-to-noise density in dB-Hz, typically in the range [0, 63].
* It contains the measured C/N0 value for the signal at the antenna port. * It contains the measured C/N0 value for the signal at the antenna port.
* *
* This is a mandatory value. * This value is mandatory.
*/ */
double cN0DbHz; double cN0DbHz;
@ -449,7 +472,7 @@ interface IGnssMeasurementCallback {
* 1-Sigma uncertainty of the pseudorangeRateMps. * 1-Sigma uncertainty of the pseudorangeRateMps.
* The uncertainty is represented as an absolute (single sided) value. * The uncertainty is represented as an absolute (single sided) value.
* *
* This is a mandatory value. * This value is mandatory.
*/ */
double pseudorangeRateUncertaintyMps; double pseudorangeRateUncertaintyMps;
@ -457,7 +480,7 @@ interface IGnssMeasurementCallback {
* Accumulated delta range's state. It indicates whether ADR is reset or * Accumulated delta range's state. It indicates whether ADR is reset or
* there is a cycle slip(indicating loss of lock). * there is a cycle slip(indicating loss of lock).
* *
* This is a mandatory value. * This value is mandatory.
*/ */
bitfield<GnssAccumulatedDeltaRangeState> accumulatedDeltaRangeState; bitfield<GnssAccumulatedDeltaRangeState> accumulatedDeltaRangeState;