Package: android.hardware.gnss@1.0

IGnssDebug

interface IGnssDebug

Extended interface for DEBUG support.

Properties

SatelliteEphemerisType

enum SatelliteEphemerisType: uint8_t
Details
Members
EPHEMERIS
Ephemeris is known for this satellite.
ALMANAC_ONLY
Ephemeris is not known, but Almanac(approximate location)is known.
NOT_AVAILABLE
Both ephemeris & almanac are not known(e.g.during a cold start blind search.)

SatelliteEphemerisSource

enum SatelliteEphemerisSource: uint8_t
Details
Members
DEMODULATED
The ephemeris(or almanac only)information was demodulated from the signal received on the device
SUPL_PROVIDED
The ephemeris(or almanac only)information was received from a SUPL server.
OTHER_SERVER_PROVIDED
The ephemeris(or almanac only)information was provided by another server.
OTHER
The ephemeris(or almanac only)information was provided by another method, e.g.injected via a local debug tool, from build defaults(e.g.almanac), or is from a satellite with SatelliteEphemerisType::NOT_AVAILABLE.

SatelliteEphemerisHealth

enum SatelliteEphemerisHealth: uint8_t
Details
Members
GOOD
The ephemeris is known good.
BAD
The ephemeris is known bad.
UNKNOWN
The ephemeris is unknown to be good or bad.

PositionDebug

struct PositionDebug {bool valid; double latitudeDegrees; double longitudeDegrees; float altitudeMeters; float speedMetersPerSec; float bearingDegrees; double horizontalAccuracyMeters; double verticalAccuracyMeters; double speedAccuracyMetersPerSecond; double bearingAccuracyDegrees; float ageSeconds}

Provides the current best known position from any source(GNSS or injected assistance).

Details
Members
valid
Validity of the data in this struct.False only if no latitude/longitude information is known.
latitudeDegrees
Latitude expressed in degrees
longitudeDegrees
Longitude expressed in degrees
altitudeMeters
Altitude above ellipsoid expressed in meters
speedMetersPerSec
Represents horizontal speed in meters per second.
bearingDegrees
Represents heading in degrees.
horizontalAccuracyMeters
Estimated horizontal accuracy of position expressed in meters, radial, 68% confidence.
verticalAccuracyMeters
Estimated vertical accuracy of position expressed in meters, with 68% confidence.
speedAccuracyMetersPerSecond
Estimated speed accuracy in meters per second with 68% confidence.
bearingAccuracyDegrees
estimated bearing accuracy degrees with 68% confidence.
ageSeconds
Time duration before this report that this position information was valid.This can, for example, be a previous injected location with an age potentially thousands of seconds old, or extrapolated to the current time(with appropriately increased accuracy estimates), with a(near)zero age.

TimeDebug

struct TimeDebug {GnssUtcTime timeEstimate; float timeUncertaintyNs; float frequencyUncertaintyNsPerSec}

Provides the current best known UTC time estimate.If no fresh information is available, e.g.after a delete all, then whatever the effective defaults are on the device must be provided(e.g.Jan.1, 2017, with an uncertainty of 5 years)expressed in the specified units.

Details
Members
timeEstimate
UTC time estimate.
timeUncertaintyNs
68% error estimate in time.
frequencyUncertaintyNsPerSec
68% error estimate in local clock drift, in nanoseconds per second(also known as parts per billion - ppb.)

SatelliteData

struct SatelliteData {int16_t svid; GnssConstellationType constellation; SatelliteEphemerisType ephemerisType; SatelliteEphemerisSource ephemerisSource; SatelliteEphemerisHealth ephemerisHealth; float ephemerisAgeSeconds; bool serverPredictionIsAvailable; float serverPredictionAgeSeconds}

Provides a single satellite info that has decoded navigation data.

Details
Members
svid
Satellite vehicle ID number
constellation
Defines the constellation type of the given SV.
ephemerisType
Defines the standard broadcast ephemeris or almanac availability for the satellite.To report status of predicted orbit and clock information, see the serverPrediction fields below.
ephemerisSource
Defines the ephemeris source of the satellite.
ephemerisHealth
Defines whether the satellite is known healthy(safe for use in location calculation.)
ephemerisAgeSeconds
Time duration from this report(current time), minus the effective time of the ephemeris source(e.g.TOE, TOA .)Set to 0 when ephemerisType is NOT_AVAILABLE.
serverPredictionIsAvailable
True if a server has provided a predicted orbit and clock model for this satellite.
serverPredictionAgeSeconds
Time duration from this report(current time)minus the time of the start of the server predicted information.For example, a 1 day old prediction would be reported as 86400 seconds here.

DebugData

struct DebugData {PositionDebug position; TimeDebug time; vec satelliteDataArray}

Provides a set of debug information that is filled by the GNSS chipset when the method getDebugData() is invoked.

Details
Members
position
Current best known position.
time
Current best know time estimate
satelliteDataArray
Provides a list of the available satellite data, for all satellites and constellations the device can track, including GnssConstellationType UNKNOWN.

Methods

getDebugData

getDebugData ()
generates (DebugData debugData)

This methods requests position, time and satellite ephemeris debug information from the HAL.

Details
Generates
debugData