1f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo/* 2f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * Copyright (C) 2017 The Android Open Source Project 3f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * 4f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * Licensed under the Apache License, Version 2.0 (the "License"); 5f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * you may not use this file except in compliance with the License. 6f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * You may obtain a copy of the License at 7f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * 8f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * http://www.apache.org/licenses/LICENSE-2.0 9f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * 10f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * Unless required by applicable law or agreed to in writing, software 11f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * distributed under the License is distributed on an "AS IS" BASIS, 12f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * See the License for the specific language governing permissions and 14f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * limitations under the License. 15f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo */ 16f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo 17f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomopackage android.hardware.gnss@1.1; 18f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo 19f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomoimport @1.0::IGnssMeasurement; 20ed90e4dd9e1601702635412a048a7e77d3faec3fWyatt Rileyimport IGnssMeasurementCallback; 21f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo 22f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo/** 23f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * Extended interface for GNSS Measurements support. 24f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo */ 25f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomointerface IGnssMeasurement extends @1.0::IGnssMeasurement { 26f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo 27f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo /** 28f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * Initializes the interface and registers the callback routines with the HAL. After a 29f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * successful call to 'setCallback_1_1' the HAL must begin to provide updates at an average 30f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * output rate of 1Hz (occasional intra-measurement time offsets in the range from 0-2000msec 31f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * can be tolerated.) 32f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * 33f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * @param callback Handle to GnssMeasurement callback interface. 34f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * @param enableFullTracking If true, GNSS chipset must switch off duty cycling. In such mode 35f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * no clock discontinuities are expected and, when supported, carrier phase should be 365d21ab2cc162b4d4d23aa62faea2ec2148d888e0Yu-Han Yang * continuous in good signal conditions. All non-blacklisted, healthy constellations, 375d21ab2cc162b4d4d23aa62faea2ec2148d888e0Yu-Han Yang * satellites and frequency bands that the chipset supports must be reported in this mode. 385d21ab2cc162b4d4d23aa62faea2ec2148d888e0Yu-Han Yang * The GNSS chipset is allowed to consume more power in this mode. If false, API must behave 395d21ab2cc162b4d4d23aa62faea2ec2148d888e0Yu-Han Yang * as in HAL V1_0, optimizing power via duty cycling, constellations and frequency limits, 405d21ab2cc162b4d4d23aa62faea2ec2148d888e0Yu-Han Yang * etc. 41f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * 42f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * @return initRet Returns SUCCESS if successful. Returns ERROR_ALREADY_INIT if a callback has 43f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * already been registered without a corresponding call to 'close'. Returns ERROR_GENERIC 44f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * for any other error. The HAL must not generate any other updates upon returning this 45f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo * error code. 46f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo */ 47f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo setCallback_1_1(IGnssMeasurementCallback callback, bool enableFullTracking) 48f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo generates (GnssMeasurementStatus initRet); 49f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo 50f0b070771b6a1f58b12d5d0d1117d1d6cb285ae5gomo}; 51