blob: 49fc3b44d8da2f21cafd1f619a8dab29fda39abd [file] [log] [blame]
Henry Fangeca50332019-09-16 13:19:53 -07001/*
2 * Copyright (C) 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package android.hardware.tv.tuner@1.0;
17
18/**
19 * A Tuner LNB (low-noise block downconverter) is used by satellite frontend
20 * to receive the microwave signal from the satellite, amplify it, and
21 * downconvert the frequency to a lower frequency.
22 */
23interface ILnb {
24 /**
25 * Set the lnb's power voltage.
26 *
27 * @param voltage the power's voltage the Lnb to use.
28 * @return result Result status of the operation.
29 * SUCCESS if successful,
30 * INVALID_ARGUMENT if the selected voltage isn't allowed,
31 * UNKNOWN_ERROR if failed for other reasons.
32 */
33 setVoltage(FrontendLnbVoltage voltage) generates (Result result);
34
35 /**
36 * Set the lnb's tone mode.
37 *
38 * @param tone the tone mode the Lnb to use.
39 * @return result Result status of the operation.
40 * SUCCESS if successful,
41 * INVALID_ARGUMENT if the selected tone mode isn't allowed,
42 * UNKNOWN_ERROR if failed for other reasons.
43 */
44 setTone(FrontendLnbTone tone) generates (Result result);
45
46 /**
47 * Select the lnb's position.
48 *
49 * @param position the position the Lnb to use.
50 * @return result Result status of the operation.
51 * SUCCESS if successful,
52 * INVALID_ARGUMENT if the selected position isn't allowed,
53 * UNKNOWN_ERROR if failed for other reasons.
54 */
55 setSatellitePosition(FrontendLnbPosition position) generates (Result result);
56
57 /**
58 * Releases the LNB instance
59 *
60 * Associated resources are released. close may be called more than once.
61 * Calls to any other method after this will return an error
62 *
63 * @return result Result status of the operation.
64 * SUCCESS if successful,
65 * UNKNOWN_ERROR if failed for other reasons.
66 */
67 close() generates (Result result);
68};