blob: 2b3c01bd863ef62900c300d9acb36f3377698c5e [file] [log] [blame]
/**
* Copyright 2020, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.media.tv.tuner;
import android.media.tv.tuner.TunerFrontendStatusAtsc3PlpInfo;
/**
* Tuner Frontend Status interface.
*
* {@hide}
*/
union TunerFrontendStatus {
/**
* Lock status for Demod in True/False.
*/
boolean isDemodLocked;
/**
* SNR value measured by 0.001 dB.
*/
int snr;
/**
* The number of error bits per 1 billion bits.
*/
int ber;
/**
* The number of error packages per 1 billion packages.
*/
int per;
/**
* The number of error bits per 1 billion bits before FEC.
*/
int preBer;
/**
* Signal Quality in percent.
*/
int signalQuality;
/**
* Signal Strength measured by 0.001 dBm.
*/
int signalStrength;
/**
* Symbols per second
*/
int symbolRate;
long innerFec;
/**
* Check frontend type to decide the hidl type value
*/
int modulation;
int inversion;
int lnbVoltage;
byte plpId;
boolean isEWBS;
/**
* AGC value is normalized from 0 to 255.
*/
byte agc;
boolean isLnaOn;
boolean[] isLayerError;
/**
* MER value measured by 0.001 dB
*/
int mer;
/**
* Frequency difference in Hertz.
*/
int freqOffset;
int hierarchy;
boolean isRfLocked;
/**
* A list of PLP status for tuned PLPs for ATSC3 frontend.
*/
TunerFrontendStatusAtsc3PlpInfo[] plpInfo;
// 1.1 Extension Starting
/**
* Extended modulation status. Check frontend type to decide the hidl type value.
*/
int[] modulations;
/**
* Extended bit error ratio status.
*/
int[] bers;
/**
* Extended code rate status.
*/
long[] codeRates;
/**
* Extended bandwidth status. Check frontend type to decide the hidl type value.
*/
int bandwidth;
/**
* Extended guard interval status. Check frontend type to decide the hidl type value.
*/
int interval;
/**
* Extended transmission mode status. Check frontend type to decide the hidl type value.
*/
int transmissionMode;
/**
* Uncorrectable Error Counts of the frontend's Physical Layer Pipe (PLP)
* since the last tune operation.
*/
int uec;
/**
* The current DVB-T2 system id status.
*/
char systemId;
/**
* Frontend Interleaving Modes. Check frontend type to decide the hidl type value.
*/
int[] interleaving;
/**
* Segments in ISDB-T Specification of all the channels.
*/
byte[] isdbtSegment;
/**
* Transport Stream Data Rate in BPS of the current channel.
*/
int[] tsDataRate;
/**
* Roll Off Type status of the frontend. Check frontend type to decide the hidl type value.
*/
int rollOff;
/**
* If the frontend currently supports MISO or not.
*/
boolean isMiso;
/**
* If the frontend code rate is linear or not.
*/
boolean isLinear;
/**
* If short frames are enabled or not.
*/
boolean isShortFrames;
}