&sub-fe-get-info;
Querying frontend statusInformation about the frontend tuner locking status can be queried with
FE_READ_STATUS.
&sub-fe-read-status;
&sub-dvbproperty;
diseqc master commandA message sent from the frontend to DiSEqC capable equipment.
struct dvb_diseqc_master_cmd {
uint8_t msg [6]; /⋆ { framing, address, command, data[3] } ⋆/
uint8_t msg_len; /⋆ valid values are 3...6 ⋆/
};
diseqc slave replyA reply to the frontend from DiSEqC 2.0 capable equipment.
struct dvb_diseqc_slave_reply {
uint8_t msg [4]; /⋆ { framing, data [3] } ⋆/
uint8_t msg_len; /⋆ valid values are 0...4, 0 means no msg ⋆/
int timeout; /⋆ return from ioctl after timeout ms with ⋆/
}; /⋆ errorcode when no message was received ⋆/
frontend spectral inversionThe Inversion field can take one of these values:
typedef enum fe_spectral_inversion {
INVERSION_OFF,
INVERSION_ON,
INVERSION_AUTO
} fe_spectral_inversion_t;
It indicates if spectral inversion should be presumed or not. In the automatic setting
(INVERSION_AUTO) the hardware will try to figure out the correct setting by
itself.
frontend code rateThe possible values for the fec_inner field used on
struct dvb_qpsk_parameters and
struct dvb_qam_parameters are:
typedef enum fe_code_rate {
FEC_NONE = 0,
FEC_1_2,
FEC_2_3,
FEC_3_4,
FEC_4_5,
FEC_5_6,
FEC_6_7,
FEC_7_8,
FEC_8_9,
FEC_AUTO,
FEC_3_5,
FEC_9_10,
} fe_code_rate_t;
which correspond to error correction rates of 1/2, 2/3, etc., no error correction or auto
detection.
frontend modulation type for QAM, OFDM and VSBFor cable and terrestrial frontends, e. g. for
struct dvb_qpsk_parameters,
struct dvb_qam_parameters and
struct dvb_qam_parameters,
it needs to specify the quadrature modulation mode which can be one of the following:
typedef enum fe_modulation {
QPSK,
QAM_16,
QAM_32,
QAM_64,
QAM_128,
QAM_256,
QAM_AUTO,
VSB_8,
VSB_16,
PSK_8,
APSK_16,
APSK_32,
DQPSK,
} fe_modulation_t;
More OFDM parametersNumber of carriers per channel
typedef enum fe_transmit_mode {
TRANSMISSION_MODE_2K,
TRANSMISSION_MODE_8K,
TRANSMISSION_MODE_AUTO,
TRANSMISSION_MODE_4K,
TRANSMISSION_MODE_1K,
TRANSMISSION_MODE_16K,
TRANSMISSION_MODE_32K,
} fe_transmit_mode_t;
frontend bandwidth
typedef enum fe_bandwidth {
BANDWIDTH_8_MHZ,
BANDWIDTH_7_MHZ,
BANDWIDTH_6_MHZ,
BANDWIDTH_AUTO,
BANDWIDTH_5_MHZ,
BANDWIDTH_10_MHZ,
BANDWIDTH_1_712_MHZ,
} fe_bandwidth_t;
frontend guard inverval
typedef enum fe_guard_interval {
GUARD_INTERVAL_1_32,
GUARD_INTERVAL_1_16,
GUARD_INTERVAL_1_8,
GUARD_INTERVAL_1_4,
GUARD_INTERVAL_AUTO,
GUARD_INTERVAL_1_128,
GUARD_INTERVAL_19_128,
GUARD_INTERVAL_19_256,
} fe_guard_interval_t;
frontend hierarchy
typedef enum fe_hierarchy {
HIERARCHY_NONE,
HIERARCHY_1,
HIERARCHY_2,
HIERARCHY_4,
HIERARCHY_AUTO
} fe_hierarchy_t;
Frontend Function Callsopen()DESCRIPTIONThis system call opens a named frontend device (/dev/dvb/adapter0/frontend0)
for subsequent use. Usually the first thing to do after a successful open is to
find out the frontend type with FE_GET_INFO.The device can be opened in read-only mode, which only allows monitoring of
device status and statistics, or read/write mode, which allows any kind of use
(e.g. performing tuning operations.)
In a system with multiple front-ends, it is usually the case that multiple devices
cannot be open in read/write mode simultaneously. As long as a front-end
device is opened in read/write mode, other open() calls in read/write mode will
either fail or block, depending on whether non-blocking or blocking mode was
specified. A front-end device opened in blocking mode can later be put into
non-blocking mode (and vice versa) using the F_SETFL command of the fcntl
system call. This is a standard system call, documented in the Linux manual
page for fcntl. When an open() call has succeeded, the device will be ready
for use in the specified mode. This implies that the corresponding hardware is
powered up, and that other front-ends may have been powered down to make
that possible.SYNOPSISint open(const char ⋆deviceName, int flags);PARAMETERS
const char
*deviceNameName of specific video device.int flagsA bit-wise OR of the following flags:O_RDONLY read-only accessO_RDWR read/write accessO_NONBLOCK open in non-blocking mode(blocking mode is the default)RETURN VALUEENODEVDevice driver not loaded/available.EINTERNALInternal error.EBUSYDevice or resource busy.EINVALInvalid argument.close()DESCRIPTION
This system call closes a previously opened front-end device. After closing
a front-end device, its corresponding hardware might be powered down
automatically.SYNOPSIS
int close(int fd);PARAMETERS
int fdFile descriptor returned by a previous call to open().RETURN VALUEEBADFfd is not a valid open file descriptor.FE_DISEQC_RESET_OVERLOADDESCRIPTION
If the bus has been automatically powered off due to power overload, this ioctl
call restores the power to the bus. The call requires read/write access to the
device. This call has no effect if the device is manually powered off. Not all
DVB adapters support this ioctl.SYNOPSIS
int ioctl(int fd, int request =
FE_DISEQC_RESET_OVERLOAD);PARAMETERS
int fdFile descriptor returned by a previous call to open().int requestEquals FE_DISEQC_RESET_OVERLOAD for this
command.
&return-value-dvb;
FE_DISEQC_SEND_MASTER_CMDDESCRIPTION
This ioctl call is used to send a a DiSEqC command.SYNOPSIS
int ioctl(int fd, int request =
FE_DISEQC_SEND_MASTER_CMD, struct
dvb_diseqc_master_cmd ⋆cmd);PARAMETERS
int fdFile descriptor returned by a previous call to open().int requestEquals FE_DISEQC_SEND_MASTER_CMD for this
command.struct
dvb_diseqc_master_cmd
*cmdPointer to the command to be transmitted.
&return-value-dvb;
FE_DISEQC_RECV_SLAVE_REPLYDESCRIPTION
This ioctl call is used to receive reply to a DiSEqC 2.0 command.SYNOPSIS
int ioctl(int fd, int request =
FE_DISEQC_RECV_SLAVE_REPLY, struct
dvb_diseqc_slave_reply ⋆reply);PARAMETERS
int fdFile descriptor returned by a previous call to open().int requestEquals FE_DISEQC_RECV_SLAVE_REPLY for this
command.struct
dvb_diseqc_slave_reply
*replyPointer to the command to be received.
&return-value-dvb;
&sub-fe-diseqc-send-burst;
&sub-fe-set-tone;
&sub-fe-set-voltage;
&sub-fe-enable-high-lnb-voltage;
&sub-fe-set-frontend-tune-mode;
DVB Frontend legacy API (a. k. a. DVBv3)The usage of this API is deprecated, as it doesn't support all digital
TV standards, doesn't provide good statistics measurements and provides
incomplete information. This is kept only to support legacy applications.
&sub-frontend_legacy_api;