You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2759 lines
149 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* 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波段双本振LNBON选择高本振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:采集的数据长度, 支持5121024和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:采集的数据长度, 支持5121024和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__ */