2.3.6. 前端 uAPI 資料型別¶
-
enum fe_caps¶
前端能力
常量
FE_IS_STUPID前端存在問題,無法報告其功能。
FE_CAN_INVERSION_AUTO可以自動檢測頻率頻譜反轉
FE_CAN_FEC_1_2支援 FEC 1/2
FE_CAN_FEC_2_3支援 FEC 2/3
FE_CAN_FEC_3_4支援 FEC 3/4
FE_CAN_FEC_4_5支援 FEC 4/5
FE_CAN_FEC_5_6支援 FEC 5/6
FE_CAN_FEC_6_7支援 FEC 6/7
FE_CAN_FEC_7_8支援 FEC 7/8
FE_CAN_FEC_8_9支援 FEC 8/9
FE_CAN_FEC_AUTO可以自動檢測 FEC
FE_CAN_QPSK支援 QPSK 調製
FE_CAN_QAM_16支援 16-QAM 調製
FE_CAN_QAM_32支援 32-QAM 調製
FE_CAN_QAM_64支援 64-QAM 調製
FE_CAN_QAM_128支援 128-QAM 調製
FE_CAN_QAM_256支援 256-QAM 調製
FE_CAN_QAM_AUTO可以自動檢測 QAM 調製
FE_CAN_TRANSMISSION_MODE_AUTO可以自動檢測傳輸模式
FE_CAN_BANDWIDTH_AUTO可以自動檢測頻寬
FE_CAN_GUARD_INTERVAL_AUTO可以自動檢測保護間隔
FE_CAN_HIERARCHY_AUTO可以自動檢測層級
FE_CAN_8VSB支援 8-VSB 調製
FE_CAN_16VSB支援 16-VSB 調製
FE_HAS_EXTENDED_CAPS未使用
FE_CAN_MULTISTREAM支援多流過濾
FE_CAN_TURBO_FEC支援“turbo FEC”調製
FE_CAN_2G_MODULATION支援“第二代”調製,例如 DVB-S2、DVB-T2、DVB-C2
FE_NEEDS_BENDING未使用
FE_CAN_RECOVER可以自動從電纜拔出中恢復
FE_CAN_MUTE_TS可以停止偽造的 TS 資料輸出
-
struct dvb_frontend_info¶
前端屬性和功能
定義:
struct dvb_frontend_info {
char name[128];
enum fe_type type;
__u32 frequency_min;
__u32 frequency_max;
__u32 frequency_stepsize;
__u32 frequency_tolerance;
__u32 symbol_rate_min;
__u32 symbol_rate_max;
__u32 symbol_rate_tolerance;
__u32 notifier_delay;
enum fe_caps caps;
};
成員
name前端的名稱
type已棄用。 不應在現代程式中使用,因為前端可能具有多個型別。 為了獲得給定前端的支援型別,請改用
DTV_ENUM_DELSYS。frequency_min前端支援的最小頻率。
frequency_max前端支援的最小頻率。
frequency_stepsize所有頻率都是該值的倍數。
frequency_tolerance頻率容差。
symbol_rate_min最小符號率,以波特為單位(用於電纜/衛星系統)。
symbol_rate_max最大符號率,以波特為單位(用於電纜/衛星系統)。
symbol_rate_tolerance最大符號率容差,以 ppm 為單位(用於電纜/衛星系統)。
notifier_delay已棄用。 任何驅動程式都不使用。
caps前端支援的功能,如
enum fe_caps中指定。
描述
-
struct dvb_diseqc_master_cmd¶
DiSEqC 主命令
定義:
struct dvb_diseqc_master_cmd {
__u8 msg[6];
__u8 msg_len;
};
成員
msg要傳送的 DiSEqC 訊息。 它包含一個 3 位元組的標頭,其中包含:成幀 + 地址 + 命令,以及最多 3 個位元組資料的可選引數。
msg_lenDiSEqC 訊息的長度。 有效值為 3 到 6。
描述
檢視 http://www.eutelsat.org/ 上提供的 DiSEqC 匯流排規範,瞭解可以使用的訊息。
-
struct dvb_diseqc_slave_reply¶
DiSEqC 接收的資料
定義:
struct dvb_diseqc_slave_reply {
__u8 msg[4];
__u8 msg_len;
int timeout;
};
成員
msgDiSEqC 訊息緩衝區,用於儲存透過 DiSEqC 接收的訊息。 它包含一個位元組的標頭,其中包含:成幀和最多 3 個位元組資料的可選引數。
msg_lenDiSEqC 訊息的長度。 有效值為 0 到 4,其中 0 表示沒有訊息。
timeout如果在超時 ms 後沒有收到訊息,則從 ioctl 返回並顯示錯誤程式碼。
描述
檢視 http://www.eutelsat.org/ 上提供的 DiSEqC 匯流排規範,瞭解可以使用的訊息。
-
enum fe_sec_voltage¶
用於饋送 LNBf 的直流電壓
常量
SEC_VOLTAGE_13向 LNBf 輸出 13V
SEC_VOLTAGE_18向 LNBf 輸出 18V
SEC_VOLTAGE_OFF不要用直流電壓饋送 LNBf
-
enum fe_sec_tone_mode¶
要傳送到 LNBf 的音調型別。
常量
SEC_TONE_ON向天線傳送 22kHz 音調突發。
SEC_TONE_OFF不要向天線傳送 22kHz 音調(除非呼叫
FE_DISEQC_*ioctl)。
-
enum fe_sec_mini_cmd¶
要傳送的微突發型別
常量
SEC_MINI_A傳送微型 DiSEqC 22kHz “0”音調突發以選擇衛星 A
SEC_MINI_B傳送微型 DiSEqC 22kHz “1”資料突發以選擇衛星 B
-
enum fe_status¶
列舉可能的前端狀態。
常量
FE_NONE前端沒有任何型別的鎖定。 這是初始前端狀態
FE_HAS_SIGNAL已找到高於噪聲水平的內容。
FE_HAS_CARRIER已找到訊號。
FE_HAS_VITERBIFEC 內部編碼(Viterbi、LDPC 或其他內部程式碼)是穩定的。
FE_HAS_SYNC已找到同步位元組。
FE_HAS_LOCK數字電視已鎖定,一切正常。
FE_TIMEDOUT在最近大約 2 秒內進行鎖定。
FE_REINIT前端已重新初始化,建議應用程式重置 DiSEqC、音調和引數。
-
enum fe_spectral_inversion¶
反轉頻帶的型別
常量
INVERSION_OFF不進行頻譜反轉。
INVERSION_ON進行頻譜反轉。
INVERSION_AUTO自動檢測頻譜反轉。
描述
此引數指示是否應假定頻譜反轉。 在自動設定 (INVERSION_AUTO) 中,硬體將嘗試自行確定正確的設定。 如果硬體不支援,dvb_frontend 將嘗試先在載波處鎖定,然後關閉反轉。 如果失敗,它將嘗試啟用反轉。
-
enum fe_code_rate¶
前向糾錯 (FEC) 的型別
常量
FEC_NONE無前向糾錯碼
FEC_1_2前向糾錯碼 1/2
FEC_2_3前向糾錯碼 2/3
FEC_3_4前向糾錯碼 3/4
FEC_4_5前向糾錯碼 4/5
FEC_5_6前向糾錯碼 5/6
FEC_6_7前向糾錯碼 6/7
FEC_7_8前向糾錯碼 7/8
FEC_8_9前向糾錯碼 8/9
FEC_AUTO自動檢測糾錯碼
FEC_3_5前向糾錯碼 3/5
FEC_9_10前向糾錯碼 9/10
FEC_2_5前向糾錯碼 2/5
FEC_1_3前向糾錯碼 1/3
FEC_1_4前向糾錯碼 1/4
FEC_5_9前向糾錯碼 5/9
FEC_7_9前向糾錯碼 7/9
FEC_8_15前向糾錯碼 8/15
FEC_11_15前向糾錯碼 11/15
FEC_13_18前向糾錯碼 13/18
FEC_9_20前向糾錯碼 9/20
FEC_11_20前向糾錯碼 11/20
FEC_23_36前向糾錯碼 23/36
FEC_25_36前向糾錯碼 25/36
FEC_13_45前向糾錯碼 13/45
FEC_26_45前向糾錯碼 26/45
FEC_28_45前向糾錯碼 28/45
FEC_32_45前向糾錯碼 32/45
FEC_77_90前向糾錯碼 77/90
FEC_11_45前向糾錯碼 11/45
FEC_4_15前向糾錯碼 4/15
FEC_14_45前向糾錯碼 14/45
FEC_7_15前向糾錯碼 7/15
描述
請注意,並非所有 FEC 型別都受給定標準支援。
-
enum fe_modulation¶
調製/星座型別
常量
QPSKQPSK 調製
QAM_1616-QAM 調製
QAM_3232-QAM 調製
QAM_6464-QAM 調製
QAM_128128-QAM 調製
QAM_256256-QAM 調製
QAM_AUTO自動檢測 QAM 調製
VSB_88-VSB 調製
VSB_1616-VSB 調製
PSK_88-PSK 調製
APSK_1616-APSK 調製
APSK_3232-APSK 調製
DQPSKDQPSK 調製
QAM_4_NR4-QAM-NR 調製
QAM_10241024-QAM 調製
QAM_40964096-QAM 調製
APSK_8_L8APSK-L 調製
APSK_16_L16APSK-L 調製
APSK_32_L32APSK-L 調製
APSK_6464APSK 調製
APSK_64_L64APSK-L 調製
描述
請注意,並非所有調製都受給定標準支援。
-
enum fe_transmit_mode¶
傳輸模式
常量
TRANSMISSION_MODE_2K傳輸模式 2K
TRANSMISSION_MODE_8K傳輸模式 8K
TRANSMISSION_MODE_AUTO自動檢測傳輸模式。 硬體將嘗試找到正確的 FFT 大小(如果能夠)以填充缺失的引數。
TRANSMISSION_MODE_4K傳輸模式 4K
TRANSMISSION_MODE_1K傳輸模式 1K
TRANSMISSION_MODE_16K傳輸模式 16K
TRANSMISSION_MODE_32K傳輸模式 32K
TRANSMISSION_MODE_C1單載波 (C=1) 傳輸模式(僅限 DTMB)
TRANSMISSION_MODE_C3780多載波 (C=3780) 傳輸模式(僅限 DTMB)
描述
請注意,並非所有傳輸模式都受給定標準支援。
-
enum fe_guard_interval¶
保護間隔
常量
GUARD_INTERVAL_1_32保護間隔 1/32
GUARD_INTERVAL_1_16保護間隔 1/16
GUARD_INTERVAL_1_8保護間隔 1/8
GUARD_INTERVAL_1_4保護間隔 1/4
GUARD_INTERVAL_AUTO自動檢測保護間隔
GUARD_INTERVAL_1_128保護間隔 1/128
GUARD_INTERVAL_19_128保護間隔 19/128
GUARD_INTERVAL_19_256保護間隔 19/256
GUARD_INTERVAL_PN420PN 長度 420 (1/4)
GUARD_INTERVAL_PN595PN 長度 595 (1/6)
GUARD_INTERVAL_PN945PN 長度 945 (1/9)
GUARD_INTERVAL_1_64保護間隔 1/64
描述
請注意,並非所有保護間隔都受給定標準支援。
-
enum fe_hierarchy¶
層級
常量
HIERARCHY_NONE無層級
HIERARCHY_1層級 1
HIERARCHY_2層級 2
HIERARCHY_4層級 4
HIERARCHY_AUTO自動檢測層級(如果支援)
描述
請注意,並非所有層級型別都受給定標準支援。
-
enum fe_interleaving¶
交織
常量
INTERLEAVING_NONE無交織。
INTERLEAVING_AUTO自動檢測交織。
INTERLEAVING_240240 個符號的交織。
INTERLEAVING_720720 個符號的交織。
描述
請注意,目前只有 DTMB 使用它。
-
enum fe_pilot¶
導頻音的型別
常量
PILOT_ON啟用導頻音
PILOT_OFF停用導頻音
PILOT_AUTO自動檢測導頻音
-
enum fe_rolloff¶
滾降因子
常量
ROLLOFF_35滾降因子:α=35%
ROLLOFF_20滾降因子:α=20%
ROLLOFF_25滾降因子:α=25%
ROLLOFF_AUTO自動檢測滾降因子。
ROLLOFF_15滾降因子:α=15%
ROLLOFF_10滾降因子:α=10%
ROLLOFF_5滾降因子:α=5%
描述
-
enum fe_delivery_system¶
傳輸系統的型別
常量
SYS_UNDEFINED未定義的標準。 通常,表示錯誤
SYS_DVBC_ANNEX_A有線電視:DVB-C,遵循 ITU-T J.83 附件 A 規範
SYS_DVBC_ANNEX_B有線電視:DVB-C,遵循 ITU-T J.83 附件 B 規範 (ClearQAM)
SYS_DVBT地面電視:DVB-T
SYS_DSS衛星電視:DSS(未完全支援)
SYS_DVBS衛星電視:DVB-S
SYS_DVBS2衛星電視:DVB-S2 和 DVB-S2X
SYS_DVBH地面電視(移動):DVB-H(標準已棄用)
SYS_ISDBT地面電視:ISDB-T
SYS_ISDBS衛星電視:ISDB-S
SYS_ISDBC有線電視:ISDB-C(尚無驅動程式)
SYS_ATSC地面電視:ATSC
SYS_ATSCMH地面電視(移動):ATSC-M/H
SYS_DTMB地面電視:DTMB
SYS_CMMB地面電視(移動):CMMB(未完全支援)
SYS_DAB數字音訊:DAB(未完全支援)
SYS_DVBT2地面電視:DVB-T2
SYS_TURBO衛星電視:DVB-S Turbo
SYS_DVBC_ANNEX_C有線電視:DVB-C,遵循 ITU-T J.83 附件 C 規範
SYS_DVBC2有線電視:DVB-C2
-
enum atscmh_sccc_block_mode¶
序列級聯卷積碼塊模式的型別。
常量
ATSCMH_SCCC_BLK_SEP分離的 SCCC:SCCC 外部程式碼模式應針對每個組區域(A、B、C、D)單獨設定
ATSCMH_SCCC_BLK_COMB組合的 SCCC:所有四個區域應具有相同的 SCCC 外部程式碼模式。
ATSCMH_SCCC_BLK_RES保留。 不應使用。
-
enum atscmh_sccc_code_mode¶
序列級聯卷積位元速率的型別。
常量
ATSCMH_SCCC_CODE_HLFSCCC 塊的外部程式碼率是 1/2 速率。
ATSCMH_SCCC_CODE_QTRSCCC 塊的外部程式碼率是 1/4 速率。
ATSCMH_SCCC_CODE_RES保留。 不應使用。
-
enum atscmh_rs_frame_ensemble¶
裡德-所羅門 (RS) 幀集合。
常量
ATSCMH_RSFRAME_ENS_PRI主要集合。
ATSCMH_RSFRAME_ENS_SEC次要集合。
-
enum atscmh_rs_frame_mode¶
裡德-所羅門 (RS) 幀模式。
常量
ATSCMH_RSFRAME_PRI_ONLY單幀:所有組區域只有一個主要 RS 幀。
ATSCMH_RSFRAME_PRI_SEC雙幀:有兩個單獨的 RS 幀:組區域 A 和 B 的主要 RS 幀,以及組區域 C 和 D 的次要 RS 幀。
ATSCMH_RSFRAME_RES保留。 不應使用。
-
enum atscmh_rs_code_mode¶
ATSC-M/H 裡德-所羅門模式
常量
ATSCMH_RSCODE_211_187裡德-所羅門程式碼 (211,187)。
ATSCMH_RSCODE_223_187裡德-所羅門程式碼 (223,187)。
ATSCMH_RSCODE_235_187裡德-所羅門程式碼 (235,187)。
ATSCMH_RSCODE_RES保留。 不應使用。
-
enum fecap_scale_params¶
質量引數的比例型別。
常量
FE_SCALE_NOT_AVAILABLE該 QoS 度量不可用。 這可能表示臨時或永久情況。
FE_SCALE_DECIBEL刻度以 0.001 dB 為步長測量,通常用於訊號測量。
FE_SCALE_RELATIVE刻度是相對百分比度量,範圍從 0 (0%) 到 0xffff (100%)。
FE_SCALE_COUNTER刻度計算事件的發生次數,例如位錯誤、塊錯誤、經過時間。
-
struct dtv_stats¶
用於讀取 DTV 狀態屬性
定義:
struct dtv_stats {
__u8 scale;
union {
__u64 uvalue;
__s64 svalue;
};
};
成員
scale填充
enum fecap_scale_params- 該引數的使用比例{unnamed_union}anonymous
uvalue度量的無符號整數值,當 scale 為
FE_SCALE_RELATIVE或FE_SCALE_COUNTER時使用。svalue度量的整數值,對於
FE_SCALE_DECIBEL,用於 dB 度量。 單位為 0.001 dB。
描述
對於大多數傳輸系統,這將為每個引數返回一個值。
但是應該注意的是,像 ISDB 這樣的新 OFDM 傳輸系統可以為每組載波使用不同的調製型別。 在此類標準上,最多可以提供 8 組統計資料,每組載波一組(在 ISDB 上稱為“層”)。
為了與其他傳輸系統保持一致,第一個值是指整組載波(“全域性”)。
當硬體未提供整組載波或來自一個特定層的值時,scale 應使用值 FE_SCALE_NOT_AVAILABLE。
len 應填充為最新的已填充狀態 + 1。
換句話說,對於 ISDB,這些值應像這樣填充
u.st.stat.svalue[0] = global statistics;
u.st.stat.scale[0] = FE_SCALE_DECIBEL;
u.st.stat.value[1] = layer A statistics;
u.st.stat.scale[1] = FE_SCALE_NOT_AVAILABLE (if not available);
u.st.stat.svalue[2] = layer B statistics;
u.st.stat.scale[2] = FE_SCALE_DECIBEL;
u.st.stat.svalue[3] = layer C statistics;
u.st.stat.scale[3] = FE_SCALE_DECIBEL;
u.st.len = 4;
-
struct dtv_fe_stats¶
儲存數字電視前端統計資訊
定義:
struct dtv_fe_stats {
__u8 len;
struct dtv_stats stat[MAX_DTV_STATS];
};
成員
len統計資訊的長度 - 如果為零,則停用統計資訊。
stat包含數字電視統計資訊的陣列。
描述
在大多數標準上,len 可以是 0 或 1。但是,對於 ISDB,每層都以單獨的方式進行調製。 因此,每層可能都有自己的一組統計資訊。 如果是這樣,stat[0] 攜帶該屬性的全域性值。 索引 1 到 3 表示 A 到 B 層。
-
struct dtv_property¶
儲存前端命令及其值之一
定義:
struct dtv_property {
__u32 cmd;
__u32 reserved[3];
union {
__u32 data;
struct dtv_fe_stats st;
struct {
__u8 data[32];
__u32 len;
__u32 reserved1[3];
void *reserved2;
} buffer;
} u;
int result;
};
成員
cmd數字電視命令。
reserved未使用。
u具有命令值的聯合。
u.data一個 32 位無符號整數,包含命令值。
u.ststruct dtv_fe_stats統計資訊陣列。u.buffer用於儲存較大屬性的結構體。 目前未使用。
u.buffer.data一個 32 位無符號陣列。
u.buffer.len緩衝區的元素數量。
u.buffer.reserved1已保留。
u.buffer.reserved2已保留。
result目前未使用。
-
struct dtv_properties¶
一組命令/值對。
定義:
struct dtv_properties {
__u32 num;
struct dtv_property *props;
};
成員
num結構體中儲存的命令數量。
props指向
struct dtv_property的指標。