/* * Copyright (c) Hisilicon Technologies Co., Ltd. 2008-2020. All rights reserved. * Description: Define functions used to test function of frontend driver * Author: Hisilicon * Create: 2008-06-05 */ #ifndef __UAPI_FRONTEND_H__ #define __UAPI_FRONTEND_H__ #include "td_type.h" #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif /* __cplusplus */ /* DiSEqC message length */ /* CNcomment:DiSEqC消息长度 */ #define UAPI_DISEQC_MSG_MAX_LENGTH 6 /* DiSEqC message max repeat times */ /* CNcomment:DiSEqC消息最大重复发送次数 */ #define UAPI_DISEQC_MAX_REPEAT_TIMES 4 /* DiSEqC motor max stored position */ /* CNcomment:DiSEqC马达最大存储星位数 */ #define UAPI_DISEQC_MAX_MOTOR_PISITION 255 /* The NO of ts lines that can be configured */ /* CNcomment:可配置的ts信号线数量 */ #define UAPI_MAX_TS_LINE 11 /* the max signal type number supported by demod */ /* CNcomment:单个demod支持的最大信号类型个数 */ #define UAPI_FE_SIGNAL_TYPE_NUM_MAX 16 /* the max demod+tuner combination number used on board */ /* CNcomment:单板使用的最大demod+tuner组合个数 */ #define UAPI_FE_PORT_NUM_MAX 10 /* ************************* Structure Definition *************************** */ /* * Signal type of the frontend * CNcomment:前端信号类型 */ typedef enum { UAPI_FRONTEND_SIG_TYPE_DVB_C = 0x000001, /* DVB-C signal */ /* CNcomment:DVB_C信号 */ UAPI_FRONTEND_SIG_TYPE_DVB_C2 = 0x000002, /* DVB-C2 signal */ /* CNcomment:DVB-C2信号 */ UAPI_FRONTEND_SIG_TYPE_ISDB_C = 0x000004, /* ISDB-C signal */ /* CNcomment:ISDB-C信号 */ UAPI_FRONTEND_SIG_TYPE_J83B = 0x000008, /* J83B signal */ /* CNcomment:J83B信号 */ UAPI_FRONTEND_SIG_TYPE_DVB_S = 0x100001, /* DVB-S signal */ /* CNcomment:DVB-S2信号 */ UAPI_FRONTEND_SIG_TYPE_DVB_S2 = 0x100002, /* DVB-S2 signal */ /* CNcomment:DVB-S2X信号 */ UAPI_FRONTEND_SIG_TYPE_DVB_S2X = 0x100004, /* DVB-S2X signal */ /* CNcomment:地面信号 */ UAPI_FRONTEND_SIG_TYPE_ISDB_S = 0x100008, /* ISDB-S signal */ /* CNcomment:ISDB-S信号 */ UAPI_FRONTEND_SIG_TYPE_ISDB_S3 = 0x100010, /* ISDB-S3 signal */ /* CNcomment:ISDB-S3信号 */ UAPI_FRONTEND_SIG_TYPE_ABSS = 0x100020, /* ABS-S signal */ /* CNcomment: 直播星卫星信号 */ UAPI_FRONTEND_SIG_TYPE_DVB_T = 0x200001, /* DVB-T signal */ /* CNcomment: DVB-T信号 */ UAPI_FRONTEND_SIG_TYPE_DVB_T2 = 0x200002, /* DVB-T2 signal */ /* CNcomment:DVB-T2信号 */ UAPI_FRONTEND_SIG_TYPE_ISDB_T = 0x200004, /* ISDB-T signal */ /* CNcomment:ISDB-T信号 */ UAPI_FRONTEND_SIG_TYPE_ATSC_T = 0x200008, /* ATSC-T signal */ /* CNcomment:ATSC-T信号 */ UAPI_FRONTEND_SIG_TYPE_ATSC_T3 = 0x200010, /* ATSC-T3 signal */ /* CNcomment:ATSC-T3信号 */ UAPI_FRONTEND_SIG_TYPE_DTMB = 0x200020, /* DTMB signal */ /* CNcomment:DTMB信号 */ UAPI_FRONTEND_SIG_TYPE_ATV = 0x400001, /* ATV signal */ /* CNcomment:ATV信号 */ UAPI_FRONTEND_SIG_TYPE_MAX /* Invalid value */ /* CNcomment:非法值 */ } uapi_frontend_sig_type; /* * frontend attribution * CNcomment:前端属性 */ typedef struct { uapi_frontend_sig_type sig_type; /* Signal type */ /* CNcomment:信号类型 */ } uapi_frontend_attr; /* * Modulation mode * CNcomment: 调制方式 */ typedef enum { /* * Default QAM mode. The default QAM mode is UAPI_MOD_TYPE_QAM_64 at present. * CNcomment:默认的QAM类型, 当前系统默认为UAPI_MOD_TYPE_QAM_64 */ UAPI_MOD_TYPE_DEFAULT, UAPI_MOD_TYPE_QAM_16 = 0x100, /* 16QAM mode */ /* CNcomment:16QAM对应的枚举值 */ UAPI_MOD_TYPE_QAM_32, /* 32QAM mode */ /* CNcomment:32QAM对应的枚举值 */ UAPI_MOD_TYPE_QAM_64, /* 64QAM mode */ /* CNcomment:64QAM对应的枚举值 */ UAPI_MOD_TYPE_QAM_128, /* 128QAM mode */ /* CNcomment:128QAM对应的枚举值 */ UAPI_MOD_TYPE_QAM_256, /* 256QAM mode */ /* CNcomment:256QAM对应的枚举值 */ UAPI_MOD_TYPE_QAM_512, /* 512QAM mode */ /* CNcomment:512QAM对应的枚举值 */ UAPI_MOD_TYPE_BPSK = 0x200, /* binary phase shift keying (BPSK) mode. */ /* CNcomment:BPSK对应的枚举值 */ UAPI_MOD_TYPE_QPSK = 0x300, /* quaternary phase shift keying (QPSK) mode. */ /* CNcomment:QPSK对应的枚举值 */ UAPI_MOD_TYPE_DQPSK, UAPI_MOD_TYPE_8PSK, /* 8 phase shift keying (8PSK) mode */ /* CNcomment:8PSK对应的枚举值 */ UAPI_MOD_TYPE_16APSK, /* 16-Ary Amplitude and Phase Shift Keying (16APSK) mode */ /* CNcomment:16APSK对应的枚举值 */ UAPI_MOD_TYPE_32APSK, /* 32-Ary Amplitude and Phase Shift Keying (32APSK) mode */ /* CNcomment:32APSK对应的枚举值 */ UAPI_MOD_TYPE_64APSK, /* 64-Ary Amplitude and Phase Shift Keying (64APSK) mode */ /* CNcomment:64APSK对应的枚举值 */ UAPI_MOD_TYPE_128APSK, /* 128-Ary Amplitude and Phase Shift Keying (128APSK) mode */ /* CNcomment:128APSK对应的枚举值 */ UAPI_MOD_TYPE_256APSK, /* 256-Ary Amplitude and Phase Shift Keying (256APSK) mode */ /* CNcomment:256APSK对应的枚举值 */ UAPI_MOD_TYPE_8VSB, /* (8VSB) mode */ /* CNcomment:8VSB对应的枚举值 */ UAPI_MOD_TYPE_16VSB, /* (16VSB) mode */ /* CNcomment:16VSB对应的枚举值 */ UAPI_MOD_TYPE_VLSNR_SET1, /* (VLSNR_SET1) mode,only used in DVB-S2X */ /* CNcomment:VLSNR_SET1对应的枚举值,DVB-S2X新增 */ UAPI_MOD_TYPE_VLSNR_SET2, /* (VLSNR_SET2) mode,only used in DVB-S2X */ /* CNcomment:VLSNR_SET2对应的枚举值,DVB-S2X新增 */ UAPI_MOD_TYPE_8APSK, /* (8APSK) mode,only used in DVB-S2x */ /* CNcomment:8APSK对应的枚举值,DVB-S2X新增 */ /* * Enumeration corresponding to the auto mode. For DVB-S/S2, * if detect modulation type fail, it will return auto * CNcomment:卫星信号调制方式自动检测,如果检测失败返回AUTO */ UAPI_MOD_TYPE_AUTO, UAPI_MOD_TYPE_MAX /* Invalid Modulation mode */ /* CNcomment:非法的调制类型枚举值 */ } uapi_modulation_type; /* * FEC code Rate * CNcomment:FEC码率 */ typedef enum { UAPI_FRONTEND_FEC_RATE_AUTO = 0, UAPI_FRONTEND_FEC_RATE_1_2, /* 1/2 */ /* CNcomment:1/2码率 */ UAPI_FRONTEND_FEC_RATE_2_3, /* 2/3 */ /* CNcomment:2/3码率 */ UAPI_FRONTEND_FEC_RATE_3_4, /* 3/4 */ /* CNcomment:3/4码率 */ UAPI_FRONTEND_FEC_RATE_4_5, /* 4/5 */ /* CNcomment:4/5码率 */ UAPI_FRONTEND_FEC_RATE_5_6, /* 5/6 */ /* CNcomment:5/6码率 */ UAPI_FRONTEND_FEC_RATE_6_7, /* 6/7 */ /* CNcomment:6/7码率 */ UAPI_FRONTEND_FEC_RATE_7_8, /* 7/8 */ /* CNcomment:7/8码率 */ UAPI_FRONTEND_FEC_RATE_8_9, /* 8/9 */ /* CNcomment:8/9码率 */ UAPI_FRONTEND_FEC_RATE_9_10, /* 9/10 */ /* CNcomment:9/10码率 */ UAPI_FRONTEND_FEC_RATE_1_4, /* 1/4 */ /* CNcomment:1/4码率 */ UAPI_FRONTEND_FEC_RATE_1_3, /* 1/3 */ /* CNcomment:1/3码率 */ UAPI_FRONTEND_FEC_RATE_2_5, /* 2/5 */ /* CNcomment:2/5码率 */ UAPI_FRONTEND_FEC_RATE_3_5, /* 3/5 */ /* CNcomment:3/5码率 */ UAPI_FRONTEND_FEC_RATE_13_45, /* 13/45 */ /* CNcomment:13/45码率 */ UAPI_FRONTEND_FEC_RATE_9_20, /* 9/20 */ /* CNcomment:9/20码率 */ UAPI_FRONTEND_FEC_RATE_11_20, /* 11/20 */ /* CNcomment:11/20码率 */ UAPI_FRONTEND_FEC_RATE_5_9_L, /* 5/9L */ /* CNcomment:5/9L码率 */ UAPI_FRONTEND_FEC_RATE_26_45_L, /* 26/45L */ /* CNcomment:26/45L码率 */ UAPI_FRONTEND_FEC_RATE_23_36, /* 23/36 */ /* CNcomment:23/36码率 */ UAPI_FRONTEND_FEC_RATE_25_36, /* 25/36 */ /* CNcomment:25/36码率 */ UAPI_FRONTEND_FEC_RATE_13_18, /* 13/18 */ /* CNcomment:13/18码率 */ UAPI_FRONTEND_FEC_RATE_1_2_L, /* 1/2L */ /* CNcomment:1/2L码率 */ UAPI_FRONTEND_FEC_RATE_8_15_L, /* 8/15L */ /* CNcomment:8/15L码率 */ UAPI_FRONTEND_FEC_RATE_26_45, /* 26/45 */ /* CNcomment:26/45码率 */ UAPI_FRONTEND_FEC_RATE_3_5_L, /* 3/5L */ /* CNcomment:3/5L码率 */ UAPI_FRONTEND_FEC_RATE_28_45, /* 28/45 */ /* CNcomment:28/45码率 */ UAPI_FRONTEND_FEC_RATE_2_3_L, /* 2/3L */ /* CNcomment:2/3L码率 */ UAPI_FRONTEND_FEC_RATE_7_9, /* 7/9 */ /* CNcomment:7/9码率 */ UAPI_FRONTEND_FEC_RATE_77_90, /* 77/90 */ /* CNcomment:77/90码率 */ UAPI_FRONTEND_FEC_RATE_32_45, /* 32/45 */ /* CNcomment:32/45码率 */ UAPI_FRONTEND_FEC_RATE_11_15, /* 11/15 */ /* CNcomment:11/15码率 */ UAPI_FRONTEND_FEC_RATE_32_45_L, /* 32/45 */ /* CNcomment:32/45L码率 */ UAPI_FRONTEND_FEC_RATE_29_45_L, /* 29/45L */ /* CNcomment:29/45L码率 */ UAPI_FRONTEND_FEC_RATE_31_45_L, /* 31/45 */ /* CNcomment:31/45L码率 */ UAPI_FRONTEND_FEC_RATE_11_15_L, /* 11/15L */ /* CNcomment:11/15L码率 */ UAPI_FRONTEND_FEC_RATE_11_45, /* 11/45 */ /* CNcomment:11/45码率 */ UAPI_FRONTEND_FEC_RATE_4_15, /* 4/15 */ /* CNcomment:4/15码率 */ UAPI_FRONTEND_FEC_RATE_14_45, /* 14/45 */ /* CNcomment:14/45码率 */ UAPI_FRONTEND_FEC_RATE_7_15, /* 7/15 */ /* CNcomment:7/15码率 */ UAPI_FRONTEND_FEC_RATE_8_15, /* 8/15 */ /* CNcomment:8/15码率 */ UAPI_FRONTEND_FEC_RATE_2_9, /* 2/9 */ /* CNcomment:2/9码率 */ UAPI_FRONTEND_FEC_RATE_1_5, /* 2/9 */ /* CNcomment:2/9码率 */ UAPI_FRONTEND_FEC_RATE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_fec_rate; /* * Demod ADC port select * CNcomment:Demod ADC端口选择 */ typedef enum { UAPI_DEMOD_ADC_0, /* ADC0 */ /* CNcomment:ADC0端口 */ UAPI_DEMOD_ADC_1, /* ADC1 */ /* CNcomment:ADC1端口 */ UAPI_DEMOD_ADC_MAX } uapi_demod_adc; /* * TS sync head length * CNcomment: TS sync 头长度 */ typedef enum { UAPI_DEMOD_TS_SYNC_HEAD_AUTO, UAPI_DEMOD_TS_SYNC_HEAD_8BIT, UAPI_DEMOD_TS_SYNC_HEAD_MAX } uapi_demod_ts_sync_head; /* * the capability set of single demod * CNcomment:单个demod+tuner通路支持的能力集合 */ typedef struct { /* the number of signal type support */ /* CNcomment:支持的信号类型个数 */ td_u32 signal_type_num; /* the signal types that support */ /* CNcomment:支持的信号类型集合 */ uapi_frontend_sig_type signal_type_caps[UAPI_FE_SIGNAL_TYPE_NUM_MAX]; /* demux tsi port */ /* CNcomment:demux tsi端口号 */ td_u32 tsi_port; } uapi_port_capability; /* * the capability set of frontend * CNcomment:前端模块支持的能力集合 */ typedef struct { /* demod+tuner channel number */ /* CNcomment:demod+tuner通路总数目 */ td_u32 port_num; /* the capability set of single demod */ /* CNcomment:单个demod+tuner通路支持的能力集合 */ uapi_port_capability port_caps[UAPI_FE_PORT_NUM_MAX]; } uapi_frontend_capability; /* * Frequency locking status of the tuner * CNcomment:信号锁频状态 */ typedef enum { UAPI_FRONTEND_LOCK_STATUS_DROPPED = 0, /* The signal is not locked. */ /* CNcomment:信号未锁定 */ UAPI_FRONTEND_LOCK_STATUS_LOCKED, /* The signal is locked. */ /* CNcomment:信号已锁定 */ UAPI_FRONTEND_LOCK_STATUS_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_lock_status; /* * Stream ID type * CNcomment:流ID类型 */ typedef enum { UAPI_FRONTEND_STREAM_ID_TYPE_STREAM_ID = 0, /* Stream ID */ /* CNcomment:流ID */ UAPI_FRONTEND_STREAM_ID_TYPE_RELATIVE_STREAM_INDEX, /* Relative stream number */ /* CNcomment:流相对索引号 */ UAPI_FRONTEND_STREAM_ID_TYPE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_stream_id_type; /* * BER and PER expressed scientific notation * CNcomment:误码率和误包率,科学计数法表示 */ typedef struct { td_u16 integer_val; /* Integer part */ /* CNcomment:整数部分 */ td_u16 decimal_val; /* Decimal part multiplied by 1000 */ /* CNcomment:小数部分乘以1000 */ td_s32 power; /* power value */ /* CNcomment:指数部分 */ } uapi_frontend_scientific_num; /* * SNR interger part and decimar part multiplied by 100 * CNcomment: 信噪比整数部分和小数部分乘以100 */ typedef struct { td_s16 integer_val; /* Integer part */ /* CNcomment:整数部分 */ td_s16 decimal_val; /* Decimal part multiplied by 100 */ /* CNcomment:小数部分乘以100 */ } uapi_frontend_integer_decimal; /* * Sample data, complex format * CNcomment: 采集数据, 复格式 */ typedef struct { td_s32 data_ip; /* sample data, i component */ /* CNcomment:采集数据的I分量 */ td_s32 data_qp; /* sample data, q component */ /* CNcomment:采集数据的Q分量 */ } uapi_frontend_sample_data; /* * Sample data length * CNcomment: 采数长度 */ typedef enum { UAPI_FRONTEND_SAMPLE_DATA_LEN_32, /* sample 32 pts */ UAPI_FRONTEND_SAMPLE_DATA_LEN_64, /* sample 64 pts */ UAPI_FRONTEND_SAMPLE_DATA_LEN_128, /* sample 128 pts */ UAPI_FRONTEND_SAMPLE_DATA_LEN_256, /* sample 256 pts */ UAPI_FRONTEND_SAMPLE_DATA_LEN_512, /* sample 512 pts */ /* CNcomment:采集512点 */ UAPI_FRONTEND_SAMPLE_DATA_LEN_1024, /* sample 1024 pts */ /* CNcomment:采集1024点 */ UAPI_FRONTEND_SAMPLE_DATA_LEN_2048, /* sample 2048 pts */ /* CNcomment:采集2048点 */ UAPI_FRONTEND_SAMPLE_DATA_LEN_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_sample_data_len; /* * Tuner spectrum parameters * CNcomment: Tuner 频谱参数 */ typedef struct { td_u32 freq_start_in_hz; /* start frequency */ /* CNcomment:起始频率 */ td_u32 freq_step_in_hz; /* step frequency */ /* CNcomment:步进频率 */ td_u32 num_of_freq_steps; /* number of steps */ /* CNcomment:频谱点数 */ td_s16 *power_data; /* spectrum data */ /* CNcomment:频谱数据 */ } uapi_tuner_spectrum_para; /* * Defines the cable transmission signal * CNcomment:定义CABLE传输信号 */ typedef struct { td_u32 freq; /* Frequency, in kHz */ /* CNcomment:频率,单位:kHz */ td_u32 symbol_rate; /* Symbol rate, in bit/s */ /* CNcomment:符号率,单位bps */ uapi_modulation_type mod_type; /* QAM mode */ /* CNcomment:QAM调制方式 */ td_bool reverse; /* Spectrum reverse mode */ /* CNcomment:频谱倒置处理方式 */ td_u32 band_width; /* bandwidth in KHz */ /* CNcomment:带宽,单位kHz */ } uapi_cab_connect_para; /* * Guard interval of OFDM * CNcomment:多载波调制下的保护间隔 */ typedef enum { UAPI_FRONTEND_GUARD_INTV_DEFALUT = 0, /* default guard interval mode */ /* CNcomment:保护间隔默认模式 */ UAPI_FRONTEND_GUARD_INTV_1_128, /* 1/128 */ /* CNcomment:保护间隔1/128模式 */ UAPI_FRONTEND_GUARD_INTV_1_32, /* 1/32 */ /* CNcomment:保护间隔1/32模式 */ UAPI_FRONTEND_GUARD_INTV_1_16, /* 1/16 */ /* CNcomment:保护间隔1/16模式 */ UAPI_FRONTEND_GUARD_INTV_1_8, /* 1/8 */ /* CNcomment:保护间隔1/8模式 */ UAPI_FRONTEND_GUARD_INTV_1_4, /* 1/4 */ /* CNcomment:保护间隔1/4模式 */ UAPI_FRONTEND_GUARD_INTV_19_128, /* 19/128 */ /* CNcomment:保护间隔19/128模式 */ UAPI_FRONTEND_GUARD_INTV_19_256, /* 19/256 */ /* CNcomment:保护间隔19/256模式 */ UAPI_FRONTEND_GUARD_INTV_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_guard_intv; /* * OFDM Mode, used in multi-carrier modulation * CNcomment:OFDM模式,用于多载波调制模式下 */ typedef enum { UAPI_FRONTEND_FFT_DEFAULT = 0, /* default mode */ /* CNcomment:默认模式 */ UAPI_FRONTEND_FFT_1K, /* 1k mode */ /* CNcomment:1k模式 */ UAPI_FRONTEND_FFT_2K, /* 2k mode */ /* CNcomment:2k模式 */ UAPI_FRONTEND_FFT_4K, /* 4k mode */ /* CNcomment:4k模式 */ UAPI_FRONTEND_FFT_8K, /* 8k mode */ /* CNcomment:8k模式 */ UAPI_FRONTEND_FFT_16K, /* 16k mode */ /* CNcomment:16k模式 */ UAPI_FRONTEND_FFT_32K, /* 32k mode */ /* CNcomment:32k模式 */ UAPI_FRONTEND_FFT_64K, /* 64k mode */ /* CNcomment:64k模式 */ UAPI_FRONTEND_FFT_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_fft; /* * TS Priority, only used in DVB-T * CNcomment:仅用于DVB-T */ typedef enum { UAPI_FRONTEND_DVBT_TS_PRIORITY_NONE = 0, /* no priority mode */ /* CNcomment:无优先级模式 */ UAPI_FRONTEND_DVBT_TS_PRIORITY_HP, /* high priority mode */ /* CNcomment:高优先级模式 */ UAPI_FRONTEND_DVBT_TS_PRIORITY_LP, /* low priority mode */ /* CNcomment:低优先级模式 */ UAPI_FRONTEND_DVBT_TS_PRIORITY_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt_ts_priority; /* * Hierarchical modulation mode, only used in DVB-T * CNcomment:仅用于DVB-T */ typedef enum { UAPI_FRONTEND_DVBT_HIERARCHY_DEFAULT = 0, /* default mode */ /* CNcomment:默认模式 */ UAPI_FRONTEND_DVBT_HIERARCHY_NO, /* no hierarchical modulation mode */ /* CNcomment:不分级别模式 */ UAPI_FRONTEND_DVBT_HIERARCHY_ALHPA1, /* hierarchical mode, alpha = 1 */ /* CNcomment:分级别模式, alpha = 1 */ UAPI_FRONTEND_DVBT_HIERARCHY_ALHPA2, /* hierarchical mode, alpha = 2 */ /* CNcomment:分级别模式, alpha = 2 */ UAPI_FRONTEND_DVBT_HIERARCHY_ALHPA4, /* hierarchical mode, alpha = 4 */ /* CNcomment:分级别模式, alpha = 4 */ UAPI_FRONTEND_DVBT_HIERARCHY_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt_hierarchy; /* * base channel or lite channel, only used in DVB-T2 * CNcomment:仅用于DVB-T2 */ typedef enum { UAPI_FRONTEND_DVBT2_MODE_BASE = 0, /* the channel is base mode */ /* CNcomment:通道中仅支持base信号 */ UAPI_FRONTEND_DVBT2_MODE_LITE, /* the channel is lite mode */ /* CNcomment:通道中需要支持lite信号 */ UAPI_FRONTEND_DVBT2_MODE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt2_mode; /* * pilot pattern * CNcomment:导频模式 */ typedef enum { UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP1 = 0, /* pilot pattern pp1 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP2, /* pilot pattern pp2 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP3, /* pilot pattern pp3 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP4, /* pilot pattern pp4 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP5, /* pilot pattern pp5 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP6, /* pilot pattern pp6 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP7, /* pilot pattern pp7 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_PP8, /* pilot pattern pp8 */ UAPI_FRONTEND_DVBT2_PILOT_PATTERN_MAX } uapi_frontend_dvbt2_pilot_pattern; /* * information for carrier mode * CNcomment:载波模式信息 */ typedef enum { UAPI_FRONTEND_DVBT2_CARRIER_EXTEND = 0, /* extend carrier */ /* CNcomment:扩展载波 */ UAPI_FRONTEND_DVBT2_CARRIER_NORMAL, /* normal carrier */ /* CNcomment:正常载波 */ UAPI_FRONTEND_DVBT2_CARRIER_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt2_carrier; /* * information for constellation mode * CNcomment:星座是否旋转 */ typedef enum { UAPI_FRONTEND_CONSTELLATION_STANDARD = 0, /* standard constellation */ /* CNcomment:不旋转星座 */ UAPI_FRONTEND_CONSTELLATION_ROTATION, /* rotation constellation */ /* CNcomment:旋转星座 */ UAPI_FRONTEND_CONSTELLATION_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_constellation; /* * FEC frame length * CNcomment:FEC帧长 */ typedef enum { UAPI_FRONTEND_DVBT2_FEC_FRAME_NORMAL = 0, /* normal fec frame */ /* CNcomment:普通长度的fec帧 */ UAPI_FRONTEND_DVBT2_FEC_FRAME_SHORT, /* short fec frame */ /* CNcomment:fec短帧 */ UAPI_FRONTEND_DVBT2_FEC_FRAME_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt2_fec_frame; /* * DVB-T2 data PLP's ISSY type * CNcomment:仅用于DVB-T2 */ typedef enum { UAPI_FRONTEND_DVBT2_ISSY_NO = 0, /* No Input Stream SYnchronizer */ /* CNcomment:无ISSY */ UAPI_FRONTEND_DVBT2_ISSY_SHORT, /* Short Input Stream SYnchronizer */ /* CNcomment:短ISSY */ UAPI_FRONTEND_DVBT2_ISSY_LONG, /* Long Input Stream SYnchronizer */ /* CNcomment:长ISSY */ UAPI_FRONTEND_DVBT2_ISSY_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt2_issy; /* * Stream type * CNcomment:流类型 */ typedef enum { UAPI_FRONTEND_DVBT2_STREAM_TYPE_GFPS = 0, /* Generic Fixed Packet size Stream */ /* CNcomment:通用固定包长流类型 */ UAPI_FRONTEND_DVBT2_STREAM_TYPE_GCS, /* Generic Continuous Stream */ /* CNcomment:通用连续流类型 */ UAPI_FRONTEND_DVBT2_STREAM_TYPE_GSE, /* Generic Stream Encapsulated */ /* CNcomment:GSE流类型 */ UAPI_FRONTEND_DVBT2_STREAM_TYPE_TS, /* Trasport Stream */ /* CNcomment:TS流类型 */ UAPI_FRONTEND_DVBT2_STREAM_TYPE_GSE_HEM, /* GSE in High Efficiency Mode */ /* CNcomment:GSE流HEM模式 */ UAPI_FRONTEND_DVBT2_STREAM_TYPE_TS_HEM, /* TS in High Efficiency Mode */ /* CNcomment:TS流HEM模式 */ UAPI_FRONTEND_DVBT2_STREAM_TYPE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt2_stream_type; /* * PLP type of DVB-T2 * CNcomment:T2下物理层管道类型 */ typedef enum { UAPI_FRONTEND_DVBT2_PLP_TYPE_COM = 0, /* common type */ /* CNcomment:普通 */ UAPI_FRONTEND_DVBT2_PLP_TYPE_DAT1, /* data1 type */ /* CNcomment:数据1 */ UAPI_FRONTEND_DVBT2_PLP_TYPE_DAT2, /* data2 type */ /* CNcomment:数据2 */ UAPI_FRONTEND_DVBT2_PLP_TYPE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_dvbt2_plp_type; /* * Antenna power control * CNcomment:天线供电控制 */ typedef enum { UAPI_FRONTEND_TER_ANTENNA_POWER_OFF, /* Antenna power off */ /* CNcomment:天线电源关断 */ UAPI_FRONTEND_TER_ANTENNA_POWER_ON, /* Antenna power on */ /* CNcomment:天线电源打开 */ UAPI_FRONTEND_TER_ANTENNA_POWER_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_ter_antenna_power; /* * configure lock tp PLP parameter,only in DVB-T2 * CNcomment:在DVB-T2时,配置要锁频点的物理层管道属性 */ typedef struct { td_u8 plp_id; /* PLP id */ /* CNcomment:物理层管道ID */ td_u8 comm_plp_id; /* common PLP id */ /* CNcomment:共享物理层管道ID */ td_u8 combination; /* PLP combination */ /* CNcomment:数据物理层管道和共享物理层管道是否组合标志 */ } uapi_frontend_dvbt2_plp_para; /* * PLP information * CNcomment:物理层管道信息 */ typedef struct { td_u8 plp_id; /* PLP id */ /* CNcomment:物理层管道ID */ td_u8 plp_grp_id; /* PLP group id */ /* CNcomment:物理层管道组ID */ uapi_frontend_dvbt2_plp_type plp_type; /* PLP type */ /* CNcomment:物理层管道类型 */ } uapi_frontend_dvbt2_plp_info; /* * Terestrial connect param * CNcomment:地面信号锁台参数 */ typedef struct { td_u32 freq; /* freq in KHz */ /* CNcomment:频率,单位kHz */ td_u32 band_width; /* bandwidth in KHz */ /* CNcomment:带宽,单位kHz */ uapi_modulation_type mod_type; /* modulation type */ /* CNcomment:调制方式 */ td_bool reverse; /* Spectrum reverse mode */ /* CNcomment:频谱翻转处理方式 */ uapi_frontend_dvbt2_mode channel_mode; /* dvb-t2 channel mode */ /* CNcomment:dvb-t2信道接收模式 */ uapi_frontend_dvbt_ts_priority dvbt_prio; /* dvb-t TS priority */ /* CNcomment:dvb-t码流优先级 */ uapi_frontend_dvbt2_plp_para plp_param; /* PLP parameter */ /* CNcomment:物理层管道参数 */ } uapi_ter_connect_para; /* * Structure of the DVB-T transmission signal's detailed information * CNcomment:DVB-T信号详细信息 */ typedef struct { td_u32 freq; /* Frequency, in kHz */ /* CNcomment:频率,单位:kHz */ td_u32 band_width; /* Band width, in KHz */ /* CNcomment:带宽,单位KHz */ uapi_modulation_type mod_type; /* Modulation type */ /* CNcomment:调制方式 */ uapi_frontend_fec_rate fec_rate; /* FEC rate */ /* CNcomment:前向纠错码率 */ uapi_frontend_fec_rate low_pri_fec_rate; /* Low priority FEC rate */ /* CNcomment:低优先级前向纠错码率 */ uapi_frontend_guard_intv guard_intv; /* GI mode */ /* CNcomment:保护间隔模式 */ uapi_frontend_fft fft_mode; /* FFT mode */ /* CNcomment:FFT模式 */ /* Hierarchical Modulation and alpha, only used in DVB-T */ /* CNcomment:hierachical模式和alpha值 */ uapi_frontend_dvbt_hierarchy hier_mod; /* The TS priority, only used in DVB-T */ /* CNcomment:ts priority, 仅用于DVB-T模式下 */ uapi_frontend_dvbt_ts_priority ts_priority; td_u16 cell_id; /* Cell ID */ /* CNcomment:单元ID */ } uapi_frontend_dvbt_signal_info; /* * Structure of the DVB-T2 transmission signal's detailed information * CNcomment:DVB-T2信号详细信息 */ typedef struct { td_u32 freq; /* Frequency, in kHz */ /* CNcomment:频率,单位:kHz */ td_u32 band_width; /* Band width, in KHz */ /* CNcomment:带宽,单位KHz */ uapi_modulation_type mod_type; /* Modulation type */ /* CNcomment:调制方式 */ uapi_frontend_fec_rate fec_rate; /* FEC rate */ /* CNcomment:前向纠错码率 */ uapi_frontend_guard_intv guard_intv; /* GI mode */ /* CNcomment:保护间隔模式 */ uapi_frontend_fft fft_mode; /* FFT mode */ /* CNcomment:FFT模式 */ uapi_frontend_dvbt2_plp_type plp_type; /* PLP type */ /* CNcomment:物理层管道类型 */ uapi_frontend_dvbt2_pilot_pattern pilot_pattern; /* pilot pattern */ /* CNcomment:导频模式 */ uapi_frontend_dvbt2_carrier carrier_mode; /* carrier mode */ /* CNcomment:载波模式 */ uapi_frontend_constellation constellation; /* constellation mode */ /* CNcomment:星座是否旋转 */ uapi_frontend_dvbt2_fec_frame fec_frame; /* FEC frame length */ /* CNcomment:FEC帧长 */ uapi_frontend_dvbt2_mode channel_mode; /* Base channel or Lite channel */ /* CNcomment:Base或Lite模式 */ uapi_frontend_dvbt2_issy dvbt2_issy; /* DVB-T2 ISSY type */ /* CNcomment:ISSY类型 */ uapi_frontend_dvbt2_stream_type stream_type; /* Stream type */ /* CNcomment:流类型 */ td_u16 cell_id; /* Cell ID */ /* CNcomment:单元ID */ td_u16 network_id; /* NetWork ID */ /* CNcomment:网络ID */ td_u16 system_id; /* System ID */ /* CNcomment:系统ID */ } uapi_frontend_dvbt2_signal_info; /* * ISDBT layer information,each layer can be received indepent * CNcomment:ISDBT层信息,每层都可以独立接收 */ typedef enum { UAPI_FRONTEND_ISDBT_LAYER_ALL, UAPI_FRONTEND_ISDBT_LAYER_A, UAPI_FRONTEND_ISDBT_LAYER_B, UAPI_FRONTEND_ISDBT_LAYER_C, UAPI_FRONTEND_ISDBT_LAYER_MAX } uapi_frontend_isdbt_layer; /* * ISDB-T time interleaver type, only used in ISDB-T * CNcomment:ISDB-T 时域交织类型,仅用于ISDB-T */ typedef enum { UAPI_FRONTEND_ISDBT_TIME_INTERLEAVER_0, /* time interleaver type 1 */ /* CNcomment:时域交织类型0 */ UAPI_FRONTEND_ISDBT_TIME_INTERLEAVER_1, /* time interleaver type 1 */ /* CNcomment:时域交织类型1 */ UAPI_FRONTEND_ISDBT_TIME_INTERLEAVER_2, /* time interleaver type 2 */ /* CNcomment:时域交织类型2 */ UAPI_FRONTEND_ISDBT_TIME_INTERLEAVER_4, /* time interleaver type 4 */ /* CNcomment:时域交织类型4 */ UAPI_FRONTEND_ISDBT_TIME_INTERLEAVER_8, /* time interleaver type 8 */ /* CNcomment:时域交织类型8 */ UAPI_FRONTEND_ISDBT_TIME_INTERLEAVER_16, /* time interleaver type 16 */ /* CNcomment:时域交织类型16 */ UAPI_FRONTEND_ISDBT_TIME_INTERLEAVER_MAX, /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_isdbt_time_interleaver; /* * Parameter for ISDB-T layer exist or not * CNcomment:ISDB-T模式下,层是否存在信息 */ typedef union { struct { td_u8 layer_a_exist : 1; /* [0] */ td_u8 layer_b_exist : 1; /* [1] */ td_u8 layer_c_exist : 1; /* [2] */ td_u8 reserved : 5; /* [7:3] */ } bits; td_u8 existance_flag; } uapi_frontend_isdbt_layers_identify; /* * Parameter for ISDB-T layer configuration * CNcomment:ISDB-T模式下,层配置信息 */ typedef struct { uapi_frontend_isdbt_layer isdbt_layer; /* ISDB-T layer */ /* CNcomment:ISDB-T层信息 */ } uapi_frontend_isdbt_receive_config; /* * Parameter for ISDB-T layer information * CNcomment:ISDB-T模式下,层 信号属性信息 */ typedef struct { td_u8 layer_seg_num; /* layer segment number */ /* CNcomment:层segment个数 */ td_u8 layer_reserved[3]; /* reserved 3 bytes */ uapi_frontend_isdbt_time_interleaver layer_time_interleaver; /* layer hierarchy mode */ /* CNcomment:层时间交织模式 */ uapi_frontend_fec_rate layer_fec_rate; /* layer FEC rate */ /* CNcomment:层码率 */ uapi_modulation_type layer_mod_type; /* layer modulation type */ /* CNcomment:层调制模式 */ } uapi_frontend_isdbt_layers_info; /* * Parameter for ISDB-T TMCC information * CNcomment:ISDB-T模式下,TMCC 信息 */ typedef struct { td_u8 emergency_flag; /* the start flag for emergency alarm broadcasting */ /* CNcomment:紧急报警播报开始标志 */ td_u8 partial_flag; /* partial reception flag */ /* CNcomment:部分接收标志 */ /* phase shift correction value for connected segment transmission */ /* CNcomment:相位偏移值 */ td_u8 phase_shift_corr; td_u8 isdbt_system_id; /* system identification[0 = ISDB_T,1 = ISDB_T_SB] */ /* CNcomment:系统标识 */ uapi_frontend_isdbt_layers_info isdbt_layers_a_info_bits; uapi_frontend_isdbt_layers_info isdbt_layers_b_info_bits; uapi_frontend_isdbt_layers_info isdbt_layers_c_info_bits; td_u8 tmcc_reserved[4]; /* Reserved 4 bytes */ /* CNcomment:保留参数4字节 */ } uapi_frontend_isdbt_tmcc_info; /* * Structure of the ISDB-T terrestrial transmission signal's detailed information * CNcomment:地面ISDB-T信号详细信息 */ typedef struct { td_u32 freq; /* Frequency, in kHz */ /* CNcomment:频率,单位: kHz */ td_u32 band_width; /* Band width, in KHz */ /* CNcomment:带宽,单位KHz */ /* the transmission and used information of ISDBT layer */ /* CNcomment:ISDBT层正在传输使用信息 */ uapi_frontend_isdbt_layers_identify isdbt_layers; uapi_frontend_isdbt_tmcc_info isdbt_tmcc_info; /* the para of ISDBT layer */ /* CNcomment:ISDBT层参数信息 */ uapi_frontend_guard_intv guard_intv; /* GI mode */ /* CNcomment:保护间隔模式 */ uapi_frontend_fft fft_mode; /* FFT mode */ /* CNcomment:FFT模式 */ } uapi_frontend_isdbt_signal_info; /* * DTMB carrier type * CNcomment:DTMB 载波类型 */ typedef enum { UAPI_FRONTEND_DTMB_CARRIER_UNKNOWN = 0, /* unknown type */ /* CNcomment:未知类型 */ UAPI_FRONTEND_DTMB_CARRIER_SINGLE, /* single type */ /* CNcomment:单载波 */ UAPI_FRONTEND_DTMB_CARRIER_MULTI /* multi type */ /* CNcomment:多载波 */ } uapi_frontend_dtmb_carrier; /* * DTMB QAM type * CNcomment:DTMB 调制类型 */ typedef enum { UAPI_FRONTEND_DTMB_QAM_UNKNOWN = 0, /* unknown type */ /* CNcomment:未知类型 */ UAPI_FRONTEND_DTMB_QAM_4QAM_NR, /* 4QAM_NR type */ /* CNcomment:4QAM_NR 调制 */ UAPI_FRONTEND_DTMB_QAM_4QAM, /* single type */ /* CNcomment:4QAM 调制 */ UAPI_FRONTEND_DTMB_QAM_16QAM, /* single type */ /* CNcomment:16QAM 调制 */ UAPI_FRONTEND_DTMB_QAM_32QAM, /* single type */ /* CNcomment:32QAM 调制 */ UAPI_FRONTEND_DTMB_QAM_64QAM /* single type */ /* CNcomment:64QAM 调制 */ } uapi_frontend_dtmb_qam; /* * DTMB code rate type * CNcomment:DTMB 码率类型 */ typedef enum { UAPI_FRONTEND_DTMB_CODE_RATE_UNKNOWN = 0, /* unknown type */ /* CNcomment:未知类型 */ UAPI_FRONTEND_DTMB_CODE_RATE_0_DOT_4, /* 0.4 type */ /* CNcomment:0.4 码率 */ UAPI_FRONTEND_DTMB_CODE_RATE_0_DOT_6, /* 0.6 type */ /* CNcomment:0.6 码率 */ UAPI_FRONTEND_DTMB_CODE_RATE_0_DOT_8 /* 0.8 type */ /* CNcomment:0.8 码率 */ } uapi_frontend_dtmb_code_rate; /* * DTMB time interleaving type * CNcomment:DTMB 时域交织类型 */ typedef enum { UAPI_FRONTEND_DTMB_TIME_INTERLEAVER_UNKNOWN = 0, /* unknown type */ /* CNcomment:未知类型 */ UAPI_FRONTEND_DTMB_TIME_INTERLEAVER_240, /* 240 type */ /* CNcomment:240 类型 */ UAPI_FRONTEND_DTMB_TIME_INTERLEAVER_720 /* 720 type */ /* CNcomment:720 类型 */ } uapi_frontend_dtmb_time_interleave; /* * DTMB guard interval type * CNcomment:DTMB 保护间隔类型 */ typedef enum { UAPI_FRONTEND_DTMB_GI_UNKNOWN = 0, /* unknown type */ /* CNcomment:未知类型 */ UAPI_FRONTEND_DTMB_GI_420, /* 420 type */ /* CNcomment:420 类型 */ UAPI_FRONTEND_DTMB_GI_595, /* 595 type */ /* CNcomment:595 类型 */ UAPI_FRONTEND_DTMB_GI_945 /* 945 type */ /* CNcomment:945 类型 */ } uapi_frontend_dtmb_guard_interval; /* * DTMB signal information * CNcomment:DTMB信号信息 */ typedef struct { uapi_frontend_dtmb_carrier carrier_mode; /* Carrier type */ /* CNcomment:载波类型 */ uapi_frontend_dtmb_qam qam_index; /* QAM type */ /* CNcomment:调制类型 */ uapi_frontend_dtmb_code_rate code_rate; /* Code rate type */ /* CNcomment:码率类型 */ uapi_frontend_dtmb_time_interleave time_interleave; /* Time interleave type */ /* CNcomment:时域交织类型 */ uapi_frontend_dtmb_guard_interval guard_interval; /* Guard interval type */ /* CNcomment:保护时间类型 */ } uapi_frontend_dtmb_signal_info; /* * Polarization type * CNcomment:极化方式 */ typedef enum { UAPI_FRONTEND_POLARIZATION_H, /* Horizontal Polarization */ /* CNcomment:水平极化 */ UAPI_FRONTEND_POLARIZATION_V, /* Vertical Polarization */ /* CNcomment:垂直极化 */ UAPI_FRONTEND_POLARIZATION_L, /* Left-hand circular Polarization */ /* CNcomment:左旋圆极化 */ UAPI_FRONTEND_POLARIZATION_R, /* Right-hand circular Polarization */ /* CNcomment:右旋圆极化 */ UAPI_FRONTEND_POLARIZATION_MAX, /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_polarization; /* * code and modulation mode * CNcomment:code and modulation 模式 */ typedef enum { UAPI_FRONTEND_CODE_MODULATION_VCM_ACM, /* VCM/ACM */ /* CNcomment:可变码率和调制/自适应码率和调制模式 */ UAPI_FRONTEND_CODE_MODULATION_CCM, /* CCM */ /* CNcomment:固定码率和调制模式 */ UAPI_FRONTEND_CODE_MODULATION_MULTISTREAM, /* MultiStream */ /* CNcomment:不变调制模式下的多流 */ UAPI_FRONTEND_CODE_MODULATION_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_code_modulation; /* * Roll off * CNcomment:滚降系数 */ typedef enum { UAPI_FRONTEND_ROLL_OFF_35, /* Roll off 0.35 */ /* CNcomment:滚降系数0.35 */ UAPI_FRONTEND_ROLL_OFF_25, /* Roll off 0.25 */ /* CNcomment:滚降系数0.25 */ UAPI_FRONTEND_ROLL_OFF_20, /* Roll off 0.20 */ /* CNcomment:滚降系数0.20 */ UAPI_FRONTEND_ROLL_OFF_15, /* Roll off 0.15 */ /* CNcomment:滚降系数0.15 */ UAPI_FRONTEND_ROLL_OFF_10, /* Roll off 0.10 */ /* CNcomment:滚降系数0.10 */ UAPI_FRONTEND_ROLL_OFF_05, /* Roll off 0.05 */ /* CNcomment:滚降系数0.05 */ UAPI_FRONTEND_ROLL_OFF_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_roll_off; /* * Pilot type * CNcomment:导频 */ typedef enum { UAPI_FRONTEND_PILOT_OFF, /* Pilot off */ /* CNcomment:导频关闭 */ UAPI_FRONTEND_PILOT_ON, /* Pilot on */ /* CNcomment:导频打开 */ UAPI_FRONTEND_PILOT_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_pilot; /* * FEC length * CNcomment:FEC帧 长度 */ typedef enum { UAPI_FRONTEND_SAT_FEC_FRAME_NORMAL, /* nomal FEC Frame */ /* CNcomment:普通长度FEC帧,适用于DVB-S/S2/S2X */ UAPI_FRONTEND_SAT_FEC_FRAME_SHORT, /* short FEC Frame */ /* CNcomment:短FEC帧,适用于DVB-S2X */ UAPI_FRONTEND_SAT_FEC_FRAME_MEDIUM, /* medium FEC Fream */ /* CNcomment:中等FEC帧,适用于DVB-S2X */ UAPI_FRONTEND_SAT_FEC_FRAME_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_sat_fec_frame; /* * Stream typef * CNcomment:流类型 */ typedef enum { UAPI_FRONTEND_SAT_STREAM_TYPE_GENERIC_PACKETIZED, /* Generic Packetized Stream */ /* CNcomment:通用打包流类型 */ UAPI_FRONTEND_SAT_STREAM_TYPE_GENERIC_CONTINUOUS, /* Generic Continuous Stream */ /* CNcomment:通用连续流类型 */ UAPI_FRONTEND_SAT_STREAM_TYPE_GSE_HEM, /* GSE in High Efficiency Mode */ /* CNcomment:GSE流类型HEM模式 */ UAPI_FRONTEND_SAT_STREAM_TYPE_TRANSPORT, /* Trensport Stream */ /* CNcomment:TS流类型 */ UAPI_FRONTEND_SAT_STREAM_TYPE_GSE_LITE, /* GSE-Lite */ /* CNcomment:GSE-Lite流类型 */ UAPI_FRONTEND_SAT_STREAM_TYPE_GSE_LITE_HEM, /* GSE-Lite in High Efficiency Mode */ /* CNcomment:GSE-Lite流HEM模式 */ UAPI_FRONTEND_SAT_STREAM_TYPE_T2MI, /* T2MI Stream */ /* CNcomment:T2MI流类型 */ UAPI_FRONTEND_SAT_STREAM_TYPE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_sat_stream_type; /* * Structure of the satellite transmission signal * CNcomment:定义Satellite传输信号 */ typedef struct { td_u32 freq; /* Downlink frequency, in kHz */ /* CNcomment:下行频率,单位:kHz */ td_u32 symbol_rate; /* Symbol rate, in Symb/s */ /* CNcomment:符号率,单位:Symb/s */ uapi_frontend_polarization polar; /* Polarization type */ /* CNcomment:极化方式 */ /* * Physical layer initial scrambling code, range 0~262141, the default value must be 0,when signal sender * config some TP using not 0, then receiver must modify this value the same as sender, if not, signal will * be unlock, the modified value maybe told by signal sender. * CNcomment:物理层扰码初始值,范围0~262141.该值的默认设置值为0,个别频点发端没有使用默认值0, * 收端接收时需修改该值和发端一致,否则会引起信号失锁,该值可由发端告知。 */ td_u32 scramble_value; uapi_frontend_stream_id_type stream_id_type; /* Stream ID type, only for ISDB-S/S3 */ /* CNcomment:流ID 类型,只用于ISDB-S/S3 */ td_u16 stream_id; /* Stream ID, only for ISDB-S/S3 */ /* CNcomment:流ID,只用于ISDB-S/S3 */ } uapi_sat_connect_para; /* * Structure of the satellite transmission signal's detailed information * CNcomment:卫星信号详细信息 */ typedef struct { td_u32 freq; /* Downlink frequency, in kHz */ /* CNcomment:下行频率,单位:kHz */ td_u32 symbol_rate; /* Symbol rate, in Symb/s */ /* CNcomment:符号率,单位Symb/s */ uapi_modulation_type mod_type; /* Modulation type */ /* CNcomment:调制方式 */ uapi_frontend_polarization polar; /* Polarization type */ /* CNcomment:极化方式 */ uapi_frontend_fec_rate fec_rate; /* FEC rate */ /* CNcomment:前向纠错码率 */ uapi_frontend_code_modulation code_modulation; uapi_frontend_roll_off roll_off; /* Rolloff */ /* CNcomment:滚降系数 */ uapi_frontend_pilot pilot; /* Pilot */ /* CNcomment:导频 */ uapi_frontend_sat_fec_frame fec_frame_mode; /* FEC fream mode */ /* CNcomment:FEC帧长度 */ uapi_frontend_sat_stream_type stream_type; /* Stream type */ /* CNcomment:流类型 */ } uapi_frontend_dvbs2x_signal_info; /* * LNB type * CNcomment:LNB类型 */ typedef enum { UAPI_FRONTEND_LNB_TYPE_SINGLE_FREQUENCY, /* Single LO frequency */ /* CNcomment:单本振 */ UAPI_FRONTEND_LNB_TYPE_DUAL_FREQUENCY, /* Dual LO frequency */ /* CNcomment:双本振 */ UAPI_FRONTEND_LNB_TYPE_UNICABLE, /* Unicable LNB */ /* CNcomment:unicable高频头 */ UAPI_FRONTEND_LNB_TYPE_TRIPLE_FREQUENCY, /* Triple LO frequency */ /* CNcomment:三本振 */ UAPI_FRONTEND_LNB_TYPE_UNICABLE2, /* Unicable2 LNB */ /* CNcomment:unicable2高频头 */ UAPI_FRONTEND_LNB_TYPE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_lnb_type; /* * LNB band type * CNcomment:卫星信号频段 */ typedef enum { UAPI_FRONTEND_LNB_BAND_C, /* C */ /* CNcomment:C波段 */ UAPI_FRONTEND_LNB_BAND_KU, /* Ku */ /* CNcomment:Ku波段 */ UAPI_FRONTEND_LNB_BAND_KA, /* Ka */ /* CNcomment:Ka波段 */ UAPI_FRONTEND_LNB_BAND_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_lnb_band; /* * LNB power control * CNcomment:高频头电压控制 */ typedef enum { UAPI_FRONTEND_LNB_VOLTAGE_OFF, /* LNB off */ /* CNcomment:不供电 */ UAPI_FRONTEND_LNB_VOLTAGE_NORMAL_AUTO, /* LNB normal auto */ /* CNcomment:普通自适应 */ UAPI_FRONTEND_LNB_VOLTAGE_13V, /* LNB 13v */ /* CNcomment:13v供电 */ UAPI_FRONTEND_LNB_VOLTAGE_18V, /* LNB 18v */ /* CNcomment:18v供电 */ UAPI_FRONTEND_LNB_VOLTAGE_ENHANCE_AUTO, /* LNB voltage enhance auto */ /* CNcomment:加强自适应 */ UAPI_FRONTEND_LNB_VOLTAGE_14V, /* LNB enhance 14v */ /* CNcomment:加强14v供电 */ UAPI_FRONTEND_LNB_VOLTAGE_19V, /* LNB enhance 19v */ /* CNcomment:加强19v供电 */ UAPI_FRONTEND_LNB_VOLTAGE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_lnb_voltage; /* * LNB power control * CNcomment:高频头供电控制 */ typedef enum { UAPI_FRONTEND_LNB_POWER_OFF, /* LNB power off */ /* CNcomment:关断 */ UAPI_FRONTEND_LNB_POWER_ON, /* LNB power auto, 13V/18V, default */ /* CNcomment:默认的13/18V供电 */ UAPI_FRONTEND_LNB_POWER_ENHANCED, /* LNB power auto, 14V/19V, some LNB control device can support. */ /* CNcomment:加强供电,部分LNB芯片支持 */ UAPI_FRONTEND_LNB_POWER_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_lnb_power; /* * LNB 22K tone status, for Ku band LNB * CNcomment:22k信号状态,用于Ku双本振 */ typedef enum { UAPI_FRONTEND_LNB_22K_OFF, /* 22k off */ /* CNcomment:22k信号关,选择低本振 */ UAPI_FRONTEND_LNB_22K_ON, /* 22k on */ /* CNcomment:22k信号开,选择高本振 */ UAPI_FRONTEND_LNB_22K_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_lnb_22k; /* * unicable multi-switch port * CNcomment:unicable开关端口枚举 */ typedef enum { UAPI_FRONTEND_SAT_POSN_A, /* unicable switch port A */ /* CNcomment:端口A */ UAPI_FRONTEND_SAT_POSN_B, /* unicable switch port B */ /* CNcomment:端口B */ UAPI_FRONTEND_SAT_POSN_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_sat_posn; /* * LNB configurating parameters * CNcomment:LNB配置参数 */ typedef struct { uapi_frontend_lnb_type lnb_type; /* LNB type */ /* CNcomment:LNB类型 */ td_u32 low_lo; /* Low Local Oscillator Frequency, MHz */ /* CNcomment:LNB低本振频率,单位MHz */ td_u32 medium_lo; /* Medium Local Oscillator Frequency, MHz */ /* CNcomment:LNB中本振频率,单位MHz */ td_u32 high_lo; /* High Local Oscillator Frequency, MHz */ /* CNcomment:LNB高本振频率,单位MHz */ uapi_frontend_lnb_band lnb_band; /* LNB band, C or Ku */ /* CNcomment:LNB波段:C或Ku */ /* * Structure of the unicable device attribute * CNcomment:卫星Unicable设备属性 */ td_u8 ub_num; /* SCR number, 0-31 */ /* CNcomment:SCR序号,取值为0-31 */ td_u32 ub_freq; /* SCR IF frequency, unit MHz */ /* CNcomment:SCR中频频率, 单位MHz */ uapi_frontend_sat_posn sat_posn; /* unicable multi-switch port */ /* CNcomment:unicable开关端口号 */ td_bool ub_bin_protect; /* UB with pin protect */ /* CNcomment:用户频段pin码保护 */ } uapi_frontend_lnb_config; /* * Tuner blind scan type * CNcomment:TUNER盲扫方式 */ typedef enum { UAPI_FRONTEND_BLIND_SCAN_MODE_AUTO = 0, /* Blind scan automatically */ /* CNcomment:自动扫描 */ UAPI_FRONTEND_BLIND_SCAN_MODE_MANUAL, /* Blind scan manually */ /* CNcomment:手动扫描 */ UAPI_FRONTEND_BLIND_SCAN_MODE_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_blind_scan_mode; /* * Definition of blind scan event type * CNcomment:TUNER盲扫事件 */ typedef enum { UAPI_FRONTEND_BLIND_SCAN_EVT_STATUS, /* New status */ /* CNcomment:状态变化 */ UAPI_FRONTEND_BLIND_SCAN_EVT_PROGRESS, /* New Porgress */ /* CNcomment:进度变化 */ UAPI_FRONTEND_BLIND_SCAN_EVT_NEWRESULT, /* Find new channel */ /* CNcomment:新频点 */ UAPI_FRONTEND_BLIND_SCAN_EVT_FREQUENCY, /* Blindscan freq */ /* CNcomment:盲扫频点 */ UAPI_FRONTEND_BLIND_SCAN_EVT_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_blind_scan_evt; /* * Definition of tuner blind scan status * CNcomment:TUNER盲扫状态 */ typedef enum { UAPI_FRONTEND_BLIND_SCAN_STATUS_IDLE, /* Idel */ /* CNcomment:空闲 */ UAPI_FRONTEND_BLIND_SCAN_STATUS_SCANNING, /* Scanning */ /* CNcomment:扫描中 */ UAPI_FRONTEND_BLIND_SCAN_STATUS_FINISH, /* Finish */ /* CNcomment:成功完成 */ UAPI_FRONTEND_BLIND_SCAN_STATUS_QUIT, /* User quit */ /* CNcomment:用户退出 */ UAPI_FRONTEND_BLIND_SCAN_STATUS_FAIL, /* Scan fail */ /* CNcomment:扫描失败 */ UAPI_FRONTEND_BLIND_SCAN_STATUS_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_blind_scan_status; /* * Definition of Unicable user band scan status * CNcomment:Unicable 用户频段盲扫状态 */ typedef enum { UAPI_UNICABLE_SCAN_STATUS_IDLE, /* Idel */ /* CNcomment:空闲 */ UAPI_UNICABLE_SCAN_STATUS_SCANNING, /* Scanning */ /* CNcomment:扫描中 */ UAPI_UNICABLE_SCAN_STATUS_FINISH, /* Finish */ /* CNcomment:成功完成 */ UAPI_UNICABLE_SCAN_STATUS_QUIT, /* User quit */ /* CNcomment:用户退出 */ UAPI_UNICABLE_SCAN_STATUS_FAIL, /* Scan fail */ /* CNcomment:扫描失败 */ UAPI_UNICABLE_SCAN_STATUS_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_unicable_scan_status; /* * Structure of satellite TP * CNcomment:TUNER扫出TP信息 */ typedef struct { td_u32 freq; /* Downlink frequency, in kHz */ /* CNcomment:下行频率,单位:kHz */ td_u32 symbol_rate; /* Symbol rate, in bit/s */ /* CNcomment:符号率,单位bps */ uapi_frontend_polarization polar; /* Polarization type */ /* CNcomment:极化方式 */ td_u8 cbs_reliablity; /* TP reliability */ /* CNcomment:TP的可靠度 */ } uapi_frontend_sat_tp_info; /* * Notify structure of tuner blind scan * CNcomment:TUNER盲扫通知信息 */ typedef union { uapi_frontend_blind_scan_status *status; /* Scanning status */ /* CNcomment:盲扫状态 */ td_u16 *progress_percent; /* Scanning progress */ /* CNcomment:盲扫进度 */ uapi_frontend_sat_tp_info *result; /* Scanning result */ /* CNcomment:盲扫结果 */ td_u32 *progress_freq; /* Blindscan freq */ /* CNcomment:盲扫进度频点 */ } uapi_frontend_blind_scan_notify; /* * Parameter of the satellite tuner blind scan * CNcomment:卫星TUNER盲扫参数 */ typedef struct { /* * LNB Polarization type, only take effect in manual blind scan mode * CNcomment:LNB极化方式,自动扫描模式设置无效 */ uapi_frontend_polarization polar; /* * LNB 22K signal status, for Ku band LNB which has dual LO, 22K ON will select high LO and 22K off select low LO, * only take effect in manual blind scan mode * CNcomment:LNB 22K状态,对于Ku波段双本振LNB,ON选择高本振,OFF选择低本振,自动扫描模式设置无效 */ uapi_frontend_lnb_22k lnb_22k; /* * Blind scan start IF, in kHz, only take effect in manual blind scan mode * CNcomment:盲扫起始频率(中频),单位:kHz,自动扫描模式设置无效 */ td_u32 start_freq; /* * Blind scan stop IF, in kHz, only take effect in manual blind scan mode * CNcomment:盲扫结束频率(中频),单位:kHz,自动扫描模式设置无效 */ td_u32 stop_freq; /* * The execution of the blind scan may change the 13/18V or 22K status. * If you use any DiSEqC device which need send command when 13/18V or 22K status change, * you should registe a callback here. Otherwise, you can set NULL here. * CNcomment:盲扫过程可能会切换极化方式和22K,如果你用了某些DiSEqC设备需要设置13/18V和22K的, * 请注册这个回调,如果没有用,请可传NULL */ td_void (*diseqc_set)(td_u32 port, uapi_frontend_polarization polar, uapi_frontend_lnb_22k lnb_22k); /* * Callback when scan status change, scan progress change or find new channel. * CNcomment:扫描状态或进度百分比发生变化时、发现新的频点时回调 */ td_void (*evt_notify)(td_u32 port, uapi_frontend_blind_scan_evt ent, uapi_frontend_blind_scan_notify *notify); } uapi_frontend_sat_blind_scan_para; /* * Unicable user band scan event type * CNcomment:Unicable 用户频段扫描事件类型 */ typedef enum { UAPI_UNICABLE_SCAN_EVT_STATUS, /* New status */ /* CNcomment:状态变化 */ UAPI_UNICABLE_SCAN_EVT_PROGRESS, /* New Porgress */ /* CNcomment:进度变化 */ UAPI_UNICABLE_SCAN_EVT_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_unicable_scan_user_band_evt; /* * Unicable user band scan event notify * CNcomment:Unicable 用户频段扫描事件通知 */ typedef union { uapi_unicable_scan_status *status; /* Scanning status */ /* CNcomment:盲扫状态 */ td_u16 *progress_percent; /* Scanning progress */ /* CNcomment:盲扫进度 */ } uapi_unicable_scan_user_band_notify; /* * Structure of terrestrial scan * CNcomment:配置TUNER扫描DVB-T/T2信号 */ typedef struct { td_void (*evt_notify)(td_u32 port, uapi_unicable_scan_user_band_evt evt, uapi_unicable_scan_user_band_notify *notify); } uapi_unicable_scan_para; /* * Parameter of the tuner blind scan * CNcomment:TUNER盲扫参数 */ typedef struct { uapi_frontend_blind_scan_mode mode; /* Scanning mode */ /* CNcomment:盲扫模式 */ union { uapi_frontend_sat_blind_scan_para sat; /* Scanning parameter */ /* CNcomment:盲扫参数 */ } scan_para; } uapi_frontend_blind_scan_para; /* * 0/12V switch * CNcomment:0/12V开关 */ typedef enum { UAPI_FRONTEND_SWITCH_0_12V_NONE, /* None, default */ /* CNcomment:不接开关状态 */ UAPI_FRONTEND_SWITCH_0_12V_0, /* 0V */ /* CNcomment:0V状态 */ UAPI_FRONTEND_SWITCH_0_12V_12, /* 12V */ /* CNcomment:12V状态 */ UAPI_FRONTEND_SWITCH_0_12V_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_switch_0_12v_sta; /* * 22KHz switch * CNcomment:22K开关 */ typedef enum { UAPI_FRONTEND_SWITCH_22K_NONE, /* None, default */ /* CNcomment:不接开关状态 */ UAPI_FRONTEND_SWITCH_22K_0, /* 0 */ /* CNcomment:0kHz端口 */ UAPI_FRONTEND_SWITCH_22K_22, /* 22KHz */ /* CNcomment:22kHz端口 */ UAPI_FRONTEND_SWITCH_22K_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_switch_22k_sta; /* * Tone burst switch * CNcomment:Tone burst开关 */ typedef enum { UAPI_FRONTEND_SWITCH_TONEBURST_NONE, /* Don't send tone burst, default */ /* CNcomment:不接开关状态 */ UAPI_FRONTEND_SWITCH_TONEBURST_0, /* Tone burst 0 */ /* CNcomment:0 port */ UAPI_FRONTEND_SWITCH_TONEBURST_1, /* Tone burst 1 */ /* CNcomment:1 port */ UAPI_FRONTEND_SWITCH_TONEBURST_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_switch_tone_burst_sta; /* * DiSEqC Level * CNcomment:DiSEqC设备版本 */ typedef enum { UAPI_FRONTEND_DISEQC_LEVEL_1_X, /* 1.x, one way */ /* CNcomment:1.x,单向 */ UAPI_FRONTEND_DISEQC_LEVEL_2_X, /* 2.x, two way, support reply */ /* CNcomment:2.x,双向,支持Reply */ UAPI_FRONTEND_DISEQC_LEVEL_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_diseqc_level; /* * Receive status of DiSEqC reply massage * CNcomment:DiSEqC消息接收状态 */ typedef enum { UAPI_FRONTEND_DISEQC_RECV_STATUS_OK, /* Receive successfully */ /* CNcomment:接收成功 */ UAPI_FRONTEND_DISEQC_RECV_STATUS_UNSUPPORT, /* Device don't support reply */ /* CNcomment:设备不支持回传 */ UAPI_FRONTEND_DISEQC_RECV_STATUS_TIMEOUT, /* Receive timeout */ /* CNcomment:接收超时 */ UAPI_FRONTEND_DISEQC_RECV_STATUS_ERROR, /* Receive fail */ /* CNcomment:接收出错 */ UAPI_FRONTEND_DISEQC_RECV_STATUS_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_diseqc_recv_status; /* * Structure of the DiSEqC send massage * CNcomment:DiSEqC发送消息结构 */ typedef struct { uapi_frontend_diseqc_level level; /* Device level */ /* CNcomment:器件版本 */ uapi_frontend_switch_tone_burst_sta tone_burst; /* Tone Burst */ /* CNcomment:tone信号状态 */ td_u8 msg[UAPI_DISEQC_MSG_MAX_LENGTH]; /* Message data */ /* CNcomment:消息字 */ td_u8 length; /* Message length */ /* CNcomment:信息长度 */ td_u8 repeat_times; /* Message repeat times */ /* CNcomment:重传次数 */ } uapi_frontend_diseqc_send_msg; /* * Structure of the DiSEqC reply massage * CNcomment:DiSEqC接收消息结构 */ typedef struct { uapi_frontend_diseqc_recv_status status; /* Recieve status */ /* CNcomment:接收状态 */ td_u8 msg[UAPI_DISEQC_MSG_MAX_LENGTH]; /* Recieve message data */ /* CNcomment:接收数据缓存 */ td_u8 length; /* Recieve message length */ /* CNcomment:接收数据长度 */ } uapi_frontend_diseqc_recv_msg; /* * DiSEqC Switch port * CNcomment:DiSEqC开关端口枚举 */ typedef enum { UAPI_FRONTEND_DISEQC_SWITCH_NONE = 0, /* none */ /* CNcomment:不接开关 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_1, /* port1 */ /* CNcomment:端口1 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_2, /* port2 */ /* CNcomment:端口2 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_3, /* port3 */ /* CNcomment:端口3 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_4, /* port4 */ /* CNcomment:端口4 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_5, /* port5 */ /* CNcomment:端口5 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_6, /* port6 */ /* CNcomment:端口6 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_7, /* port7 */ /* CNcomment:端口7 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_8, /* port8 */ /* CNcomment:端口8 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_9, /* port9 */ /* CNcomment:端口9 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_10, /* port10 */ /* CNcomment:端口10 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_11, /* port11 */ /* CNcomment:端口11 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_12, /* port12 */ /* CNcomment:端口12 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_13, /* port13 */ /* CNcomment:端口13 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_14, /* port14 */ /* CNcomment:端口14 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_15, /* port15 */ /* CNcomment:端口15 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_16, /* port16 */ /* CNcomment:端口16 */ UAPI_FRONTEND_DISEQC_SWITCH_PORT_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_diseqc_switch_port; /* * Parameter for DiSEqC 1.0/2.0 switch * Some DiSEqC device need set polarization(13/18V) and 22K, you can set them here. * CNcomment:DiSEqC 1.0/2.0 开关参数 * 有些DiSEqC设备需要设置极化方式和22K的,如果用了这种设备,需要在这里设置 */ typedef struct { uapi_frontend_diseqc_level level; /* DiSEqC device level */ /* CNcomment:器件版本 */ uapi_frontend_diseqc_switch_port port; /* DiSEqC switch port */ /* CNcomment:选通端口号 */ uapi_frontend_polarization polar; /* Polarization type */ /* CNcomment:极化方式 */ uapi_frontend_lnb_22k lnb_22k; /* 22K status */ /* CNcomment:22k状态 */ } uapi_frontend_diseqc_switch_4_port_para; /* * Parameter for DiSEqC 1.1/2.1 switch * CNcomment:DiSEqC 1.1/2.1 开关参数 */ typedef struct { uapi_frontend_diseqc_level level; /* DiSEqC device level */ /* CNcomment:器件版本 */ uapi_frontend_diseqc_switch_port port; /* DiSEqC switch port */ /* CNcomment:选通端口号 */ } uapi_frontend_diseqc_switch_16_port_para; /* * DiSEqC motor limit setting * CNcomment:DiSEqC马达极限设置 */ typedef enum { UAPI_FRONTEND_DISEQC_LIMIT_OFF, /* Disable Limits */ /* CNcomment:无限制 */ UAPI_FRONTEND_DISEQC_LIMIT_EAST, /* Set East Limit */ /* CNcomment:东向限制 */ UAPI_FRONTEND_DISEQC_LIMIT_WEST, /* Set West Limit */ /* CNcomment:西向限制 */ UAPI_FRONTEND_DISEQC_LIMIT_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_diseqc_limit; /* * Difinition of DiSEqC motor move direction * CNcomment:DiSEqC马达移动方向 */ typedef enum { UAPI_FRONTEND_DISEQC_MOVE_DIR_EAST, /* Move east */ /* CNcomment:向东移动 */ UAPI_FRONTEND_DISEQC_MOVE_DIR_WEST, /* Move west */ /* CNcomment:向西移动 */ UAPI_FRONTEND_DISEQC_MOVE_DIR_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_diseqc_move_dir; /* * Parameter for DiSEqC motor store position * CNcomment:天线存储位置参数 */ typedef struct { uapi_frontend_diseqc_level level; /* DiSEqC device level */ /* CNcomment:器件版本 */ td_u32 pos; /* Index of position, 0-255 */ /* CNcomment:位置序号 */ } uapi_frontend_diseqc_position; /* * Parameter for DiSEqC motor limit setting * CNcomment:天线Limit设置参数 */ typedef struct { uapi_frontend_diseqc_level level; /* DiSEqC device level */ /* CNcomment:器件版本 */ uapi_frontend_diseqc_limit limit; /* Limit setting */ /* CNcomment:限制设定 */ } uapi_frontend_diseqc_limit_para; /* * Parameter for DiSEqC motor running * CNcomment:DiSEqC马达转动参数 */ typedef struct { uapi_frontend_diseqc_level level; /* DiSEqC device level */ /* CNcomment:器件版本 */ uapi_frontend_diseqc_move_dir dir; /* Moving direction */ /* CNcomment:转动方向 */ /* * 0 mean running continus;1~128 mean running steps every time. * CNcomment:0表示持续转动;1~128之间表示每次转动step数 */ td_u32 running_steps; } uapi_frontend_diseqc_run; /* * Parameter for DiSEqC motor recalculate * CNcomment:DiSEqC天线重计算参数 */ typedef struct { uapi_frontend_diseqc_level level; /* DiSEqC device level */ /* CNcomment:器件版本 */ td_u8 para1; /* Parameter 1 */ /* CNcomment:参数1 */ td_u8 para2; /* Parameter 2 */ /* CNcomment:参数2 */ td_u8 para3; /* Parameter 3 */ /* CNcomment:参数3 */ td_u8 reserve; /* Reserve */ /* CNcomment:保留参数 */ } uapi_frontend_diseqc_recalculation; /* * Parameter for USALS * CNcomment:USALS 参数 */ typedef struct { /* * local longitude, is 10*longitude, in param, E:0-1800, W:1800-3600(3600-longtitude) * CNcomment:本地经度,单位0.1度,东经取值范围0-1800,西经取值范围1800-3600,值为3600-经度值 */ td_u16 local_longitude; /* * local latitude, is 10*latitude, in param N:0-900, S:900-1800(1800-latitude) * CNcomment:本地纬度,单位0.1度,北纬取值范围0-900,南纬取值范围900-1800,值为1800-纬度值 */ td_u16 local_latitude; /* * sat longitude, is 10*longitude, in param, E:0-1800, W:1800-3600(3600-longtitude) * CNcomment:卫星经度,单位0.1度,东经取值范围0-1800,西经取值范围1800-3600,值为3600-经度值 */ td_u16 sat_longitude; td_u16 angular; /* calculate result, out param */ /* CNcomment:计算结果,输出参数 */ } uapi_frontend_diseqc_usals_para; /* * Parameter for USALS goto angular * CNcomment:USALS角度参数 */ typedef struct { uapi_frontend_diseqc_level level; /* DiSEqC device level */ /* CNcomment:器件版本 */ /* * Angular, calculated by uapi_frontend_diseqc_calc_angular() * CNcomment:角度值,可通过函数uapi_frontend_diseqc_calc_angular计算得到 */ td_u16 angular; } uapi_frontend_diseqc_usals_angular; /* * Unicable user band * CNcomment:Unicable 用户频段 */ typedef struct { td_u32 scr_no; /* Unicable user band number */ /* CNcomment:Unicable 用户频段号 */ /* * Unicable user band center frequency, Unit MHz * CNcomment:Unicable 用户频段中心频率,单位MHz */ td_s32 center_freq; } uapi_unicable_scr_ub; /* * Unicable channel change parameter * CNcomment:Unicable 通道切换参数 */ typedef struct { td_u8 ub_num; /* Unicable user band number */ /* CNcomment:Unicable 用户频段号 */ td_u8 bank; /* the signal bank which carries the desired channel */ /* CNcomment:信号bank承载所需的信道 */ td_u16 t_val; /* the tuning word calculated by the receive */ /* CNcomment:接收端计算的调优值 */ } uapi_unicable_channel_para; /* * Unicable2 channel change parameter * CNcomment:Unicable2 通道切换参数 */ typedef struct { td_u8 ub_num; /* Unicable user band number */ /* CNcomment:Unicable 用户频段号 */ td_u16 t_val; /* the tuning word calculated by the receive */ /* CNcomment:接收端计算的调优值 */ td_u8 uncommit_switch; /* uncommit switch */ td_u8 commit_switch; /* commit switch */ } uapi_unicable2_channel_para; /* * Unicable2 channel change parameter with pin protection * CNcomment:Unicable2 带pin码保护的通道切换参数 */ typedef struct { td_u8 ub_num; /* Unicable user band number */ /* CNcomment:Unicable 用户频段号 */ td_u16 t_val; /* the tuning word calculated by the receive */ /* CNcomment:接收端计算的调优值 */ td_u8 uncommit_switch; /* uncommit switch */ td_u8 commit_switch; /* commit switch */ td_u8 pin; /* pin protection */ /* CNcomment:pin码保护 */ } uapi_unicable2_channel_pin_para; /* * Unicable2 switch user band * CNcomment:Unicable2 切换用户频段 */ typedef struct { td_u8 ub_num; /* Unicable user band number */ /* CNcomment:Unicable 用户频段号 */ td_u8 uncommit_switch; /* uncommit switch */ td_u8 commit_switch; /* commit switch */ } uapi_unicable2_switch_para; /* * tuner attribution * CNcomment:ATV制式信息 */ typedef enum { UAPI_ATV_SYSTEM_PAL_BG = 0, /* PAL BG TV sytem */ /* CNcomment:PAL BG电视制式 */ UAPI_ATV_SYSTEM_PAL_DK, /* PAL DK TV sytem */ /* CNcomment:PAL DK电视制式 */ UAPI_ATV_SYSTEM_PAL_I, /* PAL I TV sytem */ /* CNcomment:PAL I电视制式 */ UAPI_ATV_SYSTEM_PAL_M, /* PAL M TV sytem */ /* CNcomment:PAL M电视制式 */ UAPI_ATV_SYSTEM_PAL_N, /* PAL N TV sytem */ /* CNcomment:PAL N电视制式 */ UAPI_ATV_SYSTEM_SECAM_BG, /* SECAM BG TV sytem */ /* CNcomment:SECAM BG电视制式 */ UAPI_ATV_SYSTEM_SECAM_DK, /* SECAM DK TV sytem */ /* CNcomment:SECAM DK电视制式 */ UAPI_ATV_SYSTEM_SECAM_L_PRIME, /* SECAM L PRIME TV sytem */ /* CNcomment:SECAM L PRIME电视制式 */ UAPI_ATV_SYSTEM_SECAM_LL, /* SECAM LL TV sytem */ /* CNcomment:SECAM LL电视制式 */ UAPI_ATV_SYSTEM_NTSC_M, /* NTSC M TV sytem */ /* CNcomment:NTSC M电视制式 */ UAPI_ATV_SYSTEM_NTSC_I, /* NTSC I TV sytem */ /* CNcomment:NTSC I 电视制式 */ UAPI_ATV_SYSTEM_NTSC_DK, /* NTSC DK TV sytem */ /* CNcomment:NTSC DK电视制式 */ UAPI_ATV_SYSTEM_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_atv_system; typedef enum { UAPI_ATV_SIF_BW_WIDE = 0, /* For Auto Scan Mode */ /* CNcomment:自动盲扫模式 */ UAPI_ATV_SIF_BW_NORMAL, /* For Normal Play Mode */ /* CNcomment:正常播放模式 */ UAPI_ATV_SIF_BW_NARROW, /* Not Recommended */ /* CNcomment:不推荐 */ UAPI_ATV_SIF_BW_MAX /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_atv_sif_bw; typedef enum { UAPI_ATV_CONNECT_WORK_MODE_NORMAL = 0, /* TVD work mode normal */ /* CNcomment:connect 正常工作模式 */ UAPI_ATV_CONNECT_WORK_MODE_CHAN_SCAN, /* TVD RF channel scan mode */ /* CNcomment:connect RF搜台模式 */ UAPI_ATV_CONNECT_WORK_MODE_MAX, /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_atv_connect_work_mode; /* * Tuner step for ATV * CNcomment:TUNER 步长,ATV用 */ typedef enum { UAPI_FRONTEDN_ATV_STEP_50KHZ = 0, /* Frequency step is 50KHz */ /* CNcomment:50KHz步长 */ UAPI_FRONTEDN_ATV_STEP_62_5KHZ, /* Frequency step is 62.5KHz */ /* CNcomment:62.5KHz步长 */ UAPI_FRONTEDN_ATV_STEP_31_25KHZ, /* Frequency step is 31.25KHz */ /* CNcomment:31.25Hz步长 */ UAPI_FRONTEDN_ATV_STEP_MAX, /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_atv_step; /* * Band for ATV * CNcomment:ATV波段 */ typedef enum { UAPI_FRONTEND_ATV_BAND_VHF_LOW = 0, /* Low VHF band */ /* CNcomment: 低甚高频段 */ UAPI_FRONTEND_ATV_BAND_VHF_HIGH, /* High VHF band */ /* CNcomment: 高甚高频段 */ UAPI_FRONTEND_ATV_BAND_UHF, /* UHF band */ /* CNcomment: 超高频段 */ UAPI_FRONTEND_ATV_BAND_ALL, /* Include all three bands */ /* CNcomment: 包含上面的三个波段 */ UAPI_FRONTEND_ATV_BAND_MAX, /* Invalid value */ /* CNcomment:非法边界值 */ } uapi_frontend_atv_band; /* * The frequency range * CNcomment: ATV波段频率范围 */ typedef struct { td_u32 start_freq; /* Start frequency(KHz) */ /* CNcomment:起始频率 KHz */ td_u32 end_freq; /* End frequency(KHz) */ /* CNcomment:结束频率 KHz */ } uapi_frontend_atv_band_range; typedef struct { td_u32 freq; /* 频率,单位khz */ uapi_atv_system system; /* ATV制式 */ uapi_atv_sif_bw sif_bw; /* Atv sif bandwidth */ uapi_atv_connect_work_mode connect_work_mode; /* connect mode :scan or switch */ } uapi_atv_connect_para; /* * ATV signal information * CNcomment:ATV信号信息 */ typedef struct { td_bool vif_lock; /* IF locked information or not */ /* 中频是否锁定 */ td_bool afc_win; /* In the AFC window or not */ /* 是否在AFC窗口里面 */ td_bool carr_det; /* Detected the audio carrier or not */ /* 调频伴音载波检测 */ td_s32 afc_freq; /* AFC frequency information */ /* AFC频率值,单位Khz */ } uapi_frontend_atv_signal_info; /* * Frequency locking parameters of the tuner * CNcomment:TUNER锁频参数 */ typedef struct { uapi_frontend_sig_type sig_type; /* Signal type */ /* CNcomment:信号类型 */ union { uapi_cab_connect_para cab; /* Cable transmission signal */ /* CNcomment:CABLE传输信号 */ uapi_ter_connect_para ter; /* Terrestrial transmission signal */ /* CNcomment:地面传输信号 */ uapi_sat_connect_para sat; /* Satellite transmission signal */ /* CNcomment:卫星传输信号 */ uapi_atv_connect_para atv; /* ATV transmission signal */ /* CNcomment:模拟电视传输信号 */ } connect_para; } uapi_frontend_connect_para; /* * signal information * CNcomment:TUNER信号属性 */ typedef struct { uapi_frontend_sig_type sig_type; /* Signal transmission type */ /* CNcomment:信号类型 */ union { uapi_frontend_dvbs2x_signal_info dvbs2x; /* Signal info of satellite */ /* CNcomment:卫星信号信息 */ uapi_frontend_dvbt_signal_info dvbt; /* Signal info of DVB-T */ /* CNcomment:地面dvbt信号信息 */ uapi_frontend_dvbt2_signal_info dvbt2; /* Signal info of DVB-T2 */ /* CNcomment:地面dvbt2信号信息 */ uapi_frontend_isdbt_signal_info isdbt; /* Signal info of ISDB-T */ /* CNcomment:地面ISDB-T信号信息 */ uapi_frontend_dtmb_signal_info dtmb; /* Signal info of dtmb */ /* CNcomment:地面dtmb信号信息 */ uapi_frontend_atv_signal_info atv; } signal_info; } uapi_frontend_signal_info; /* ***************************** API Declaration **************************** */ /* * brief Initializes the tuner. * CNcomment: 初始化TUNER设备。CNend * attention The error code TD_SUCCESS is returned if this API is called repeatedly. * CNcomment:支持重复初始化TUNER设备,此时直接返回成功。CNend * param N/A CNcomment:无 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_init(td_void); /* * brief Deinitializes the tuner. * CNcomment: 去初始化TUNER设备。CNend * attention The error code TD_SUCCESS is returned if this API is called repeatedly. * CNcomment:支持重复去初始化TUNER设备,此时直接返回成功。CNend * param N/A CNcomment:无 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_deinit(td_void); /* * brief Starts the tuner. * CNcomment: 打开TUNER设备。CNend * attention The error code TD_SUCCESS is returned if this API is called repeatedly. * CNcomment:支持重复打开TUNER设备。此时,直接返回成功。CNend * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_INIT The TUNER module is not initialized. CNcomment: 模块没有初始化CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_INIT Opening The TUNER module fails. CNcomment:打开设备失败CNend * see N/A */ td_s32 uapi_frontend_open(td_u32 port); /* * brief Stops the tuner. * CNcomment: 关闭TUNER设备。CNend * attention The error code TD_SUCCESS is returned if this API is called repeatedly. * CNcomment:支持重复关闭TUNER设备。此时,直接返回成功。CNend * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_INIT The TUNER module is not initialized. CNcomment: 模块没有初始化CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_close(td_u32 port); /* * brief Obtains the default attributes of the frontend. * CNcomment: 获取前端的默认属性。CNend * attention This API is available only after the tuner is initialized. * CNcomment:此接口在前端设备初始化后才能使用。CNend * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7。CNend * param[out] frontend_attr The default attributes of the tuner are returned. CNcomment:返回当前前端的默认属性。CNend * retval ::TD_SUCCESS Success. CNcomment: 成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment: API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_INIT The Frontend module is not initialized. CNcomment: 模块没有初始化CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入PORT 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入PORT 参数非法 CNend * see N/A */ td_s32 uapi_frontend_get_def_attr(td_u32 port, uapi_frontend_attr *frontend_attr); /* * brief Sets the current attributes of the frontend. * CNcomment: 设置前端当前属性。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] frontend_attr frontend attributes CNcomment:前端的属性。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SELECTI2CCHANNEL The input I2C channel is invalid. CNcomment:输入I2C 通道非法 CNend * see N/A */ td_s32 uapi_frontend_set_attr(td_u32 port, const uapi_frontend_attr *frontend_attr); /* * brief Get the capabilities of the frontend. * CNcomment: 获取前端当前支持的能力集合。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] cap frontend capabilities CNcomment:前端的能力集。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_FRONTEND_SECURE_CHECK secure function runs failed. CNcomment:安全函数执行失败 CNend * see N/A */ td_s32 uapi_frontend_get_capability(uapi_frontend_capability *cap); /* * brief Obtains the attributes of the frontend. * CNcomment: 获取TUNER的属性。CNend * attention This API is available only after the tuner is initialized. * CNcomment:此接口在TUNER设备初始化后才能使用。CNend * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] pstTunerAttr The current attributes of the tuner are returned. CNcomment:返回当前TUNER的属性。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment: API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_INIT The TUNER module is not initialized. CNcomment: 模块没有初始化CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_get_attr(td_u32 port, uapi_frontend_attr *frontend_attr); /* * brief Clear the current attributes of the frontend. * CNcomment: 清除前端属性。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SETSATATTR Tuner TUNER_SETDEMODATTR_CMD error. CNcomment:设置属性失败 CNend * see N/A */ td_s32 uapi_frontend_clear_attr(td_u32 port); /* * brief Locks the frequency of the tuner. * CNcomment: TUNER锁频。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] connect_para Information about the frequency of the tuner CNcomment:TUNER的频点信息。CNend * param[in] timeout Wait timeout (in ms) when the frequency of the tuner \n * is locked. The value 0 indicates no wait, and any other value indicates the \n * maximum wait period. * CNcomment:TUNER的锁定等待超时时间,0为不等待,其他为最长等待时间,单位ms。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_CONNECT The signal is locked unsuccessfully . CNcomment:锁定频点失败CNend * see N/A */ td_s32 uapi_frontend_connect(td_u32 port, const uapi_frontend_connect_para *connect_para, td_u32 timeout); /* * brief Disconnect signal . * CNcomment: 取消锁频CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_CONNECT The signal is locked unsuccessfully . CNcomment:锁定频点失败CNend * see N/A */ td_s32 uapi_frontend_disconnect(td_u32 port); /* * brief Obtains the frequency locking status and parameters of the tuner. * CNcomment: 获取TUNER锁频状态和锁频参数。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] lock_status: The current frequency locking status and parameters of the tuner are returned. * Note: This parameter is valid only when TD_SUCCESS is returned. * CNcomment: 返回当前TUNER的锁频状态和锁频参数。 注意:此参数只在函数返回成功的情况下才有意义。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_get_status(td_u32 port, uapi_frontend_lock_status *lock_status); /* * brief Obtains the current bit error rate (BER) of the tuner. The BER is expressed by using the scientific notation. * CNcomment: 获取当前TUNER 的误码率,用科学计数法表示。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] ber Pointer to the current BER of the tuner The error bit rate consists of three elements. * Their definitions are as follows: * integer_val: integral part of the base number of the BER * decimal_val: decimal part of the base number of the BER x 1000 * power: absolute value of the exponential of the BER * For example, if the BER is 2.156E-7, the values of the three elements are 2, 156, and 7 respectively. * The three elements are valid only when TD_SUCCESS is returned. * Otherwise, the application layer sets a large value as required, for example, * 0.5 (the values of the three elements are 5, 0, and 1 respectively). * CNcomment:\param[out] pu32BER 指向当前TUNER 误码率的指针。该指针指向一个包含三个元素的数组,三个元素含义如下: * integer_val:误码率底数的整数部分 * decimal_val:误码率底数的小数部分乘以1000 * power:误码率指数部分取绝对值 * 例如:误码率为2.156E-7,那么三个元素的取值分别为2、156和7 * 这三个元素只在函数返回成功的情况下才有意义, * 否则应用层可根据实际情况自行设置一个较大值(比如0.5,即三个元素分别为5、0、1)。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_NOT_CONNECT The signal is droped. CNcomment:信号未锁定 CNend * see N/A */ td_s32 uapi_frontend_get_ber(td_u32 port, uapi_frontend_scientific_num *ber); /* * brief Obtains the current package error rate (PER) of the Demod. * The PER is expressed by using the scientific notation. * CNcomment: 获取当前Demod 的误包率,用科学计数法表示。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] ber Pointer to the current BER of the tuner The error bit rate consists of three elements. * Their definitions are as follows: * integer_val: integral part of the base number of the BER * decimal_val: decimal part of the base number of the BER x 1000 * power: absolute value of the exponential of the BER * For example, if the BER is 2.156E-7, the values of the three elements are 2, 156, and 7 respectively. * The three elements are valid only when TD_SUCCESS is returned. * Otherwise, the application layer sets a large value as required, for example, * 0.5 (the values of the three elements are 5, 0, and 1 respectively). * CNcomment:\param[out] ber 指向当前Demod 误码率的指针。该指针指向一个包含三个元素的数组,三个元素含义如下: * integer_val:误码率底数的整数部分 * decimal_val:误码率底数的小数部分乘以1000 * power:误码率指数部分取绝对值 * 例如:误码率为2.156E-7,那么三个元素的取值分别为2、156和7 * 这三个元素只在函数返回成功的情况下才有意义, * 否则应用层可根据实际情况自行设置一个较大值(比如0.5,即三个元素分别为5、0、1)。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_NOT_CONNECT The signal is droped. CNcomment:信号未锁定 CNend * see N/A */ td_s32 uapi_frontend_get_per(td_u32 port, uapi_frontend_scientific_num *per); /* * brief Obtains the current signal-to-noise ratio (SNR) of the signal. * CNcomment: 获取当前信号 的信噪比。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] pu32SNR Pointer to the current SNR of the tuner,SNR unit:dB,not reserves fractional part. * This parameter is valid only when TD_SUCCESS is returned. * Otherwise, the application layer sets the parameter to a small value. * CNcomment:\param[out] snr 指向当前信号信噪比的指针,信噪比取整单位为dB。 * 此参数只在函数返回成功的情况下才有意义, * 否则,应用层可将此值设置为最小值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_NOT_CONNECT The signal is droped. CNcomment:信号未锁定 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSTATUS Getting status fails. CNcomment:获取信道锁定状态失败 CNend * see N/A */ td_s32 uapi_frontend_get_snr(td_u32 port, uapi_frontend_integer_decimal *snr); /* * brief Obtains the current signal strength of the tuner. * CNcomment: 获取当前TUNER的信号强度。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] signal_strength Pointer to the current signal strength of the tuner, unit:dBuV * This parameter is valid only when TD_SUCCESS is returned. * Otherwise, the application layer sets the parameter to a small value. * CNcomment:\param[out] signal_strength 指向当前TUNER信号强度的指针,单位dBuV。 * 此参数只在函数返回成功的情况下才有意义, * 否则,应用层可将此值设置为最小值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_NOT_CONNECT The signal is droped. CNcomment:信号未锁定 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSTATUS Getting status fails. CNcomment:获取信道锁定状态失败 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSIGNALSTRENGTH Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_signal_strength(td_u32 port, td_u32 *signal_strength); /* * brief Obtains the current signal quality of the tuner, returns a percentage value. * CNcomment: 获取当前TUNER的信号质量,返回百分比( 此接口不支持DVB_C 和J83B制式)。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] signal_quality Output pointer. CNcomment:指向信号质量的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_NOT_CONNECT The signal is droped. CNcomment:信号未锁定 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSTATUS Getting status fails. CNcomment:获取信道锁定状态失败 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSIGNALQUALITY Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_signal_quality(td_u32 port, td_u32 *signal_quality); /* * brief Obtains the actual frequency and symbol rate of the current tuner for cable,terrestrial and satellite * signal, for terrestrial signal, symbol rate means nothing, ignore it. * CNcomment: 获取当前TUNER的实际频率和符号率。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] freq Pointer to the current frequency of the tuner. CNcomment:指向当前TUNER频点的指针。CNend * param[out] symb Points to the current symbol rate. CNcomment:指向当前符号率 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_NOT_CONNECT The signal is droped. CNcomment:信号未锁定 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSTATUS Getting status fails. CNcomment:获取信道锁定状态失败 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSIGNALSTRENGTH Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_real_freq_symb(td_u32 port, td_u32 *freq, td_u32 *symb); /* * brief Obtains current signal information of the TUNER, used in satellite and terrestrial, not necessary for cable. * CNcomment: 获取当前TUNER的信号信息。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] signal_info Pointer to a signal info structure. CNcomment:指向信号信息结构体的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_NOT_CONNECT The signal is droped. CNcomment:信号未锁定 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSTATUS Getting status fails. CNcomment:获取信道锁定状态失败 CNend * retval ::SOC_ERR_TUNER_FAILED_GETSIGNALINFO Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_signal_info(td_u32 port, uapi_frontend_signal_info *signal_info); /* * brief TUNER standby. * CNcomment: TUNER待机( 此接口不支持DVB_C 和J83B制式,此两种制式待机请参见pmoc 待机接口) CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_STANDBY Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_standby(td_u32 port); /* * brief Wakes up TUNER. * CNcomment: TUNER唤醒( 此接口不支持DVB_C 和J83B制式,此两种制式唤醒请参见pmoc 唤醒唤醒接口) CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_WAKEUP Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_wake_up(td_u32 port); /* * brief Acquire data to display constellation. * CNcomment: 获取星座图数据。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] data_len The sample data length, can be 512, 1024 or 2048. * CNcomment:采集的数据长度, 支持512,1024和2048 3种。CNend * param[out] data The buffer to store data. CNcomment:数据存储区。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SAMPLEDATA Tuner sample data fail. CNcomment:获取数据失败 CNend * see N/A */ td_s32 uapi_frontend_get_constellation_data(td_u32 port, uapi_frontend_sample_data_len data_len, uapi_frontend_sample_data *data); /* * brief Acquire data to display spectrum. * CNcomment: 获取频谱图数据。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] data_len The sample data length, can be 512, 1024 or 2048. * CNcomment:采集的数据长度, 支持512,1024和2048 3种。CNend * param[out] data The buffer to store data. CNcomment:数据存储区。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SAMPLEDATA Tuner sample data fail. CNcomment:获取数据失败 CNend * see N/A */ td_s32 uapi_frontend_get_spectrum_data(td_u32 port, uapi_frontend_sample_data_len data_len, td_u32 *data); /* * brief Acquire data to display spectrum. * CNcomment: 获取全频段频谱的数据。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] freq_start_in_hz The sample data start freqency (Hz), * For examle: 435000000 Hz, 698000000 Hz (1000HZ~1300000000HZ). * CNcomment:采集的数据开始频点( 赫兹), * 例如: 435000000 Hz,698000000 Hz(范围: 1000HZ~1300000000HZ)。CNend * param[in] freq_step_in_hz The sample data step(Hz), For examle: 10000 Hz, 20000 Hz (greater than 10000Hz). * CNcomment:采集的数据步长( 赫兹),例如: 10000 Hz,20000 Hz (范围: 10000Hz 以上)。CNend * param[in] num_of_freq_steps The sample data number, For examle: 1000, 10000. * CNcomment:采集的数据个数,例如: 1000,10000。CNend * param[out] power_data The buffer to store data. CNcomment:数据存储区。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_tuner_power_spectrum(td_u32 port, const uapi_tuner_spectrum_para *para); /* * brief Get the upper limit time according to the connect parameter. * CNcomment: 根据锁频参数获取最大锁频时间。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] connect_para The pointer to store the connect parameter. CNcomment:锁频参数指针。CNend * param[out] time_out_ms The upper limit time. CNcomment:最大锁台时间。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_get_default_time_out(td_u32 port, const uapi_frontend_connect_para *connect_para, td_u32 *time_out_ms); /* * brief Switch new signal type to use. * CNcomment: 用于切换不同的信号类型。CNend * attention Before you switch to new signal type, make sure new signal type is supported in the current chip. * CNcomment:切换信号前,确保新的信号类型当前芯片是否支持。CNend * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-2 CNend * param[in] sig_type New signal type which you want to config. CNcomment:新的信号类型 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SETSIGTYPE The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_quick_switch_signal(td_u32 port, uapi_frontend_sig_type sig_type); /* * brief Gets PLP number, only used in DVB-T2. * CNcomment: 获取物理层管道数量。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] plp_num The PLP number. CNcomment:物理层管道数量。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_GETPLPNUM Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_plp_num(td_u32 port, td_u8 *plp_num); /* * brief Sets PLP ID, only used in DVB-T2. * CNcomment: 设置物理层管道参数。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] plp_para The PLP parameters. CNcomment:物理层管道参数。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SETPLPID Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_set_plp_para(td_u32 port, const uapi_frontend_dvbt2_plp_para *plp_para); /* * brief Gets PLP ID, only used in DVB-T2. * CNcomment:获取物理层管道参数。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] plp_para The PLP parameters. CNcomment:物理层管道参数。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SETPLPID Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_plp_para(td_u32 port, uapi_frontend_dvbt2_plp_para *plp_para); /* * brief Get PLP information, only used in DVB-T2. * CNcomment: 获取物理层管道信息。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] plp_index PLP index. CNcomment:物理层管道索引号。CNend * param[out] plp_info The PLP information. CNcomment:物理层管道信息。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_SETPLPID Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_plp_info(td_u32 port, td_u32 plp_index, uapi_frontend_dvbt2_plp_info *plp_info); /* * brief Set antenna power. * CNcomment: 设置天线电源。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] power The antenna power status. CNcomment:天线电源状态。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_set_antenna_power(td_u32 port, uapi_frontend_ter_antenna_power power); /* * brief config which ISDBT layer is select to receive. * CNcomment: 对ISDBT信号,可选择性的配置层信息,比如A/B/C层中的哪一层信号需要接收。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] mon_layers_config the layers configuration. CNcomment:层配置信息 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_isdbt_config_layer_receive(td_u32 port, const uapi_frontend_isdbt_receive_config *mon_layers_config); /* * brief Sets the LNB parameter. * CNcomment: 设置LNB参数。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] lnb Pointer to a LNB parameter structure. CNcomment:指向LNB参数结构体的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_set_lnb_config(td_u32 port, uapi_frontend_lnb_config *lnb); /* * brief Set lnb voltage. * CNcomment:设置LNB电压。CNend * attention N/A * param[in] tuner_id Tuner port ID. The port ID can be 0-7. CNcomment:TUNER端口号,取值为0-7 CNend * param[in] lnb_voltage The enumeration of lnb voltage. CNcomment:电压枚举值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_set_lnb_voltage(td_u32 port, uapi_frontend_lnb_voltage lnb_voltage); /* * brief Get lnb voltage. * CNcomment: 获取LNB供电。CNend * attention N/A * param[in] tuner_id Tuner port ID. The port ID can be 0-7. CNcomment:TUNER端口号,取值为0-7 CNend * param[out] lnb_voltage The enumeration of lnb voltage. CNcomment:电压枚举值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_get_lnb_voltage(td_u32 port, uapi_frontend_lnb_voltage *lnb_voltage); /* * brief Sets the LNB power. * CNcomment: 设置LNB供电。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] lnb_power The enumeration of the LNB power type. CNcomment:LNB供电方式枚举值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_set_lnb_power(td_u32 port, uapi_frontend_lnb_power lnb_power); /* * brief Set isi id,means selecting the chose vcm stream to receive. * CNcomment: 当前端是VCM信号时,存在多套流,通过设置流ID,接收指定VCM流。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] isi_id isi id,vcm stream id transmitted by server. CNcomment:流的ID号。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_set_sat_isi_id(td_u32 port, td_u8 isi_id); /* * brief Get total vcm streams number. * CNcomment: 当前端是VCM信号时,获取总共有多少套流。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] *total_stream total streams number. CNcomment:总共的流数目。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_sat_stream_num(td_u32 port, td_u8 *stream_num); /* * brief Get isi id,by setting stream number,will get isi id. * CNcomment: 当前端是VCM信号时,通过设置流序号,能够获取到流的ID号。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] isi_id stream number,can be 0-n. CNcomment:流序号。CNend * param[out] u8IsiID isi id,vcm stream id transmitted by server. CNcomment:流的ID号。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_sat_isi_id(td_u32 port, td_u8 stream_index, td_u8 *isi_id); /* * brief config the scrambing code sequces on physical layer. * CNcomment: 设置物理层扰码初始相位。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] scramble_value Initial scrambling code. Range 0-262141, * when value is not 0, signal is special CNcomment:初始化扰码,取值为0-262141,非0时为特殊信号 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_set_scramble(td_u32 port, td_u32 scramble_value); /* * brief Starts blind scan. * CNcomment: 开始盲扫。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to the blind scan parameter. CNcomment:指向盲扫参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_BLINDSCAN Blind scan busy. CNcomment:盲扫正在应用 CNend * see Please refer to definition of uapi_frontend_blindscan_para. */ td_s32 uapi_frontend_blind_scan_start(td_u32 port, const uapi_frontend_blind_scan_para *para); /* * brief Stops blind scan. * CNcomment: 停止盲扫。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_blind_scan_stop(td_u32 port); /* * brief Sets 0/12V switch. Don't support now. * CNcomment: 设置0/12V开关状态,暂不支持。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] status The enumeration of the switch port. CNcomment:开关枚举值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_switch_0_12v(td_u32 port, uapi_frontend_switch_0_12v_sta status); /* * brief Sets 22KHz switch. * CNcomment: 设置22KHz开关状态。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] status The enumeration of the switch port. CNcomment:开关枚举值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_switch_22k(td_u32 port, uapi_frontend_switch_22k_sta status); /* * brief Sets tone burst switch. * CNcomment: 设置Tone burst开关状态。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] status The enumeration of the switch port. CNcomment:开关枚举值。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_DISEQC Calling this CMD fails. CNcomment:ioctl系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_switch_tone_burst(td_u32 port, uapi_frontend_switch_tone_burst_sta status); /* * brief Sends and receives DiSEqC message, only the devices supporting DiSEqC 2.x support receive message. * CNcomment: 发送接收DiSEqC消息,仅支持DiSEqC 2.x的设备支持接收消息。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号, 取值范围0-7 CNend * param[in] send_msg The pointer to a sending message structure. CNcomment:指向发送消息结构体的指针。CNend * param[out] recv_msg The pointer to a receiving message structure. * If your device is DiSEqC 1.x, you can pass NULL here. * CNcomment:\param[out] pstRecvMsg 指向接收消息结构体的指针。如果是DiSEqC 1.x设备,这里可以传NULL。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_NOT_OPEN The TUNER module is not opened. CNcomment: 模块没有打开CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_FAILED_DISEQC Send DiSEqC message fail. CNcomment:发送消息失败 CNend * retval ::SOC_ERR_TUNER_FAILED_DISEQC Recv DiSEqC message fail. CNcomment:接收消息失败 CNend * see N/A */ td_s32 uapi_frontend_diseqc_send_recv_message(td_u32 port, const uapi_frontend_diseqc_send_msg *send_msg, uapi_frontend_diseqc_recv_msg *recv_msg); /* * brief Sets DiSEqC 1.0/2.0 switch, at most 4 port. * CNcomment: 设置DiSEqC 1.0/2.0开关,至多4口。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a switch parameter structure. CNcomment:指向开关参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see Please refer to definition of uapi_frontend_diseqc_switch_4_port. */ td_s32 uapi_frontend_diseqc_switch_4_port(td_u32 port, const uapi_frontend_diseqc_switch_4_port_para *para); /* * brief Sets DiSEqC 1.1/2.1 switch, supports 8in1, 16in1 switches. * CNcomment: 设置DiSEqC 1.1/2.1开关,支持8口,16口开关。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a switch parameter structure. CNcomment:指向开关参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_switch_16_port(td_u32 port, const uapi_frontend_diseqc_switch_16_port_para *para); /* * brief Lets the DiSEqC motor store current position. * CNcomment: DiSEqC马达存储当前位置。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a position parameter structure. CNcomment:指向位置参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_store_pos(td_u32 port, const uapi_frontend_diseqc_position *para); /* * brief Lets the DiSEqC motor move to stored position. * CNcomment: DiSEqC马达转动至存储位置。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a position parameter structure. CNcomment:指向位置参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_goto_pos(td_u32 port, const uapi_frontend_diseqc_position *para); /* * brief Enables or disables the DiSEqC motor's limit setting. * CNcomment: 打开、关闭DiSEqC马达权限设置。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a limit parameter structure. CNcomment:指向limit参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_set_limit(td_u32 port, const uapi_frontend_diseqc_limit_para *para); /* * brief Drives DiSEqC motor. * CNcomment: 驱动DiSEqC马达转动。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a movement parameter structure. CNcomment:指向移动参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_run_step(td_u32 port, const uapi_frontend_diseqc_run *para); /* * brief Halts DiSEqC motor. * CNcomment: 停止DiSEqC马达移动。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] level The command level of the DiSEqC motor. CNcomment:马达支持的命令等级。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_stop(td_u32 port, const uapi_frontend_diseqc_level level); /* * brief Lets the DiSEqC motor recalculate its stored positions. * CNcomment: 重新计算马达存储位置。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a recaulculate parameter structure. CNcomment:指向重计算参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_recalculate(td_u32 port, const uapi_frontend_diseqc_recalculation *para); /* * brief Calculates the angular, basing on site-longitude, site-latitude and satellite-longitude. * CNcomment: USALS根据当地经纬度、卫星经度计算卫星角度。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in/out] para The pointer to a USALS parameter structure. CNcomment:指向USALS计算参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_calc_angular(td_u32 port, uapi_frontend_diseqc_usals_para *para); /* * brief Gotos the indicated angular. * CNcomment: USALS设备转至某角度。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para The pointer to a USALS angular structure. CNcomment:指向USALS角度参数的指针。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_POINT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_goto_angular(td_u32 port, const uapi_frontend_diseqc_usals_angular *para); /* * brief Resets DiSEqC device. * CNcomment: 复位DiSEqC设备。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] level The command level of the DiSEqC device. CNcomment:设备支持的命令等级。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_reset(td_u32 port, uapi_frontend_diseqc_level level); /* * brief DiSEqC device standby. * CNcomment: DiSEqC设备待机。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] level The command level of the DiSEqC device. CNcomment:设备支持的命令等级。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_standby(td_u32 port, uapi_frontend_diseqc_level level); /* * brief Wakes up DiSEqC device. * CNcomment: 唤醒DiSEqC设备。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] level The command level of the DiSEqC device. CNcomment:设备支持的命令等级。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * retval ::SOC_ERR_TUNER_INVALID_PORT The input parameter is invalid. CNcomment:输入 参数非法 CNend * retval ::SOC_ERR_TUNER_INVALID_PARA The input parameter is invalid. CNcomment:输入 参数非法 CNend * see N/A */ td_s32 uapi_frontend_diseqc_wakeup(td_u32 port, uapi_frontend_diseqc_level level); /* * brief Set isi id,means selecting the chose vcm stream to receive. * CNcomment: 当前端是VCM信号时,存在多套流,通过设置流ID,接收指定VCM流。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] scrno user band number,u8SCRNO can be SaTCR1-SaTCR8. CNcomment:unicable设备用户频段号。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_odu_power_off(td_u32 port, td_u8 scrno); /* * brief Each SaTCR generates a tone at the center frequency of its associated band-pass filter. * CNcomment: 设置unicable在所有用户频段中心频率处产生一个tone 信号。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_odu_ubx_signal_on(td_u32 port); /* * brief Allows to check the application number. * CNcomment: 检查unicable的产品型号。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] scrno user band number,u8SCRNO can be SaTCR1-SaTCR8. CNcomment:unicable设备用户频段号。CNend * param[in] app_no application number. CNcomment:unicable产品型号。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_odu_config(td_u32 port, td_u8 scrno, td_u8 app_no); /* * brief Allows to check LNB local oscillator frequencies. * CNcomment: 检查unicable LNB的本振频率。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] scrno user band number,u8SCRNO can be SaTCR1-SaTCR8. CNcomment:unicable设备用户频段号。CNend * param[in] lo_freq_no local oscillator number. CNcomment:本振频率号。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_odu_lo_freq(td_u32 port, td_u8 scrno, td_u8 lo_freq_no); /* * brief Unicable channel change, the receiver sends this command when tuning to a (new) channel is required. * CNcomment:Unicalbe 通道切换,需要切换新频点时发送改命令CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para Channel change parameters CNcomment: 通道切换参数CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_odu_channel_change(td_u32 port, const uapi_unicable_channel_para *para); /* * brief scan 950~2150 frequency range,and find out the user bands. * CNcomment: 扫描950~2150MHz频率范围,并找出用户频段。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_user_band_scan_start(td_u32 port, uapi_unicable_scan_para scan_para); /* * brief exit from user band scanning . * CNcomment: 中止用户频点扫描。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_user_band_scan_stop(td_u32 port); /* * brief get user band number after finishing scan . * CNcomment: 搜索结束后获取找到的用户频段总数。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] ub_num Total number of user band after finishing scan. CNcomment:搜索结束后找到的用户频段总个数。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_get_user_bands_num(td_u32 port, td_u32 *ub_num); /* * brief Copy scanned results,get user bands information. * CNcomment: 拷贝扫描结果,获取扫描到的所有用户频段信息。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] ub_info user bands information struct array,used to save user band number/user band frequency. * CNcomment:用户频段信息结构体数组,用于存储用户频段号,用户频率信息。CNend * param[in] ub_info_num the number of user bands information structs. CNcomment:用户频段信息结构体个数。CNend * param[out] num the number of user bands actual obtained. CNcomment:实际获取到的用户频段个数。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable_get_user_band_info(td_u32 port, uapi_unicable_scr_ub *ub_info, td_u32 ub_info_num, td_u32 *num); /* * brief Unicable2 channel change, the receiver sends this command when tuning to a (new) channel is required. * CNcomment:Unicalbe2 通道切换,需要切换新频点时发送改命令CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para Channel change parameters CNcomment: 通道切换参数CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable2_odu_channel_change(td_u32 port, uapi_unicable2_channel_para *para); /* * brief Unicable2 channel change with pin protection, the receiver sends this command * when tuning to a (new) channel is required. * CNcomment:Unicalbe2 带pin码的通道切换,需要切换新频点时发送改命令CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] para Channel change parameters CNcomment: 通道切换参数CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable2_odu_channel_change_pin(td_u32 port, uapi_unicable2_channel_pin_para *para); /* * brief Unicable2 colse a user band * CNcomment:Unicalbe2 关闭用户频段CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable2_odu_power_off(td_u32 port); /* * brief Unicable2 colse a user band with pin protection * CNcomment:Unicalbe2 关闭用户频段,带pin码保护CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable2_odu_power_off_pin(td_u32 port); /* * brief Unicable2 get available user band * CNcomment:Unicalbe2 获取可用的用户频段CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[out] recv_data data received from uncable CNcomment: unicable返回的数据CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable2_odu_ub_avail(td_u32 port, td_u32 *recv_data); /* * brief Unicable2 get switch information * CNcomment:Unicalbe2查询开关信息CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * param[in] ub_num user band number CNcomment:用户频段号CNend * param[out] para unicalbe2 switch information CNcomment:unicable2 开关信息CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable2_odu_ub_switches(td_u32 port, td_u8 ub_num, uapi_unicable2_switch_para *para); /* * brief Each SaTCR generates a tone at the center frequency of its associated band-pass filter. * CNcomment: 设置unicable在所有用户频段中心频率处产生一个tone 信号。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-7. CNcomment:前端端口号,取值为0-7 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_unicable2_odu_ubx_signal_on(td_u32 port); /* * brief Set the tuner frequency step. * CNcomment: 设置Tuner频率步长。CNend * attention N/A * param[in] u32TunerId frontend port ID. The port ID can be 0-2. CNcomment:前端端口号,取值为0-2 CNend * param[in] enStep Tuner frequency step. CNcomment:TUNER频率步长。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_set_step(td_u32 port, uapi_frontend_atv_step step); /* * brief Get the tuner frequency step. * CNcomment: 获取Tuner频率步长。CNend * attention N/A * param[in] u32TunerId frontend port ID. The port ID can be 0-2. CNcomment:前端端口号,取值为0-2 CNend * param[out] penStep Frequency step. CNcomment:TUNER频率步长。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_step(td_u32 port, uapi_frontend_atv_step *step); /* * brief Get the frequency band * CNcomment: 获取频率所在的波段。CNend * attention N/A * param[in] u32TunerId frontend port ID. The port ID can be 0-2. CNcomment:前端端口号,取值为0-2 CNend * param[in] u32Frequency Tuner frequency. CNcomment:频率 CNend * param[out] penBand Frequency band. CNcomment:TUNER频段。CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_band(td_u32 port, td_u32 frequency, uapi_frontend_atv_band *band); /* * brief Get frequency range from band * CNcomment: 获取波段的频率范围。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-2. CNcomment:前端端口号,取值为0-2 CNend * param[in] band Frequency band. CNcomment:频段 CNend * param[in] band_range Frequency range. CNcomment:频率范围 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_band_range(td_u32 port, uapi_frontend_atv_band band, uapi_frontend_atv_band_range *band_range); /* * brief Set tuner TOP information * CNcomment: 设置TOP。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-2. CNcomment:前端端口号,取值为0-2 CNend * param[in] top TOP information. CNcomment:TOP信息 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_set_top_adjustment(td_u32 port, td_u32 top); /* * brief Get the bit rate,Kbps * CNcomment: 获取比特率,Kbps。CNend * attention N/A * param[in] port frontend port ID. The port ID can be 0-2. CNcomment:前端端口号,取值为0-2 CNend * param[out] bit_rate bit rate. CNcomment:比特率 CNend * retval ::TD_SUCCESS Success CNcomment:成功 CNend * retval ::TD_FAILURE Calling this API fails. CNcomment:API系统调用失败 CNend * see N/A */ td_s32 uapi_frontend_get_bit_rate(td_u32 port, td_u32 *bit_rate); #ifdef __cplusplus #if __cplusplus } #endif #endif /* __cplusplus */ #endif /* __UAPI_FRONTEND_H__ */