MythTV  master
Macros | Functions | Variables
diseqc.cpp File Reference
#include <cstring>
#include <cmath>
#include <unistd.h>
#include <sys/time.h>
#include <QString>
#include "mythcorecontext.h"
#include "mythdb.h"
#include "mythlogging.h"
#include "diseqc.h"
#include "dtvmultiplex.h"
#include "compat.h"
#include "dvbtypes.h"
Include dependency graph for diseqc.cpp:

Go to the source code of this file.

Macros

#define DISEQC_SHORT_WAIT   (15 * 1000)
 
#define DISEQC_LONG_WAIT   (100 * 1000)
 
#define DISEQC_POWER_OFF_WAIT   ((1000 * 1000) - 1)
 
#define DISEQC_POWER_ON_WAIT   (500 * 1000)
 
#define TIMEOUT_RETRIES   10
 
#define TIMEOUT_WAIT   (250 * 1000)
 
#define DISEQC_FRM   0xe0
 
#define DISEQC_FRM_REPEAT   (1 << 0)
 
#define DISEQC_FRM_REPLY_REQ   (1 << 1)
 
#define DISEQC_ADR_ALL   0x00
 
#define DISEQC_ADR_SW_ALL   0x10
 
#define DISEQC_ADR_LNB   0x11
 
#define DISEQC_ADR_LNB_SW   0x12
 
#define DISEQC_ADR_SW_BLK   0x14
 
#define DISEQC_ADR_SW   0x15
 
#define DISEQC_ADR_SMATV   0x18
 
#define DISEQC_ADR_POL_ALL   0x20
 
#define DISEQC_ADR_POL_LIN   0x21
 
#define DISEQC_ADR_POS_ALL   0x30
 
#define DISEQC_ADR_POS_AZ   0x31
 
#define DISEQC_ADR_POS_EL   0x32
 
#define DISEQC_CMD_RESET   0x00
 
#define DISEQC_CMD_CLR_RESET   0x01
 
#define DISEQC_CMD_WRITE_N0   0x38
 
#define DISEQC_CMD_WRITE_N1   0x39
 
#define DISEQC_CMD_WRITE_FREQ   0x58
 
#define DISEQC_CMD_ODU   0x5A
 
#define DISEQC_CMD_ODU_MDU   0x5C
 
#define DISEQC_CMD_HALT   0x60
 
#define DISEQC_CMD_LMT_OFF   0x63
 
#define DISEQC_CMD_LMT_E   0x66
 
#define DISEQC_CMD_LMT_W   0x67
 
#define DISEQC_CMD_DRIVE_E   0x68
 
#define DISEQC_CMD_DRIVE_W   0x69
 
#define DISEQC_CMD_STORE_POS   0x6a
 
#define DISEQC_CMD_GOTO_POS   0x6b
 
#define DISEQC_CMD_GOTO_X   0x6e
 
#define TO_RADS   (M_PI / 180.0)
 
#define TO_DEC   (180.0 / M_PI)
 
#define EPS   1E-4
 
#define LOC   QString("DiSEqCDevTree: ")
 

Functions

static bool send_diseqc (int fd, const dvb_diseqc_master_cmd &cmd)
 
static bool set_tone (int fd, fe_sec_tone_mode tone)
 
static bool set_voltage (int fd, fe_sec_voltage volt)
 
static bool mini_diseqc (int fd, fe_sec_mini_cmd cmd)
 
static double GetCurTimeFloating (void)
 

Variables

bool diseqc_bus_already_reset = false
 

Macro Definition Documentation

◆ DISEQC_SHORT_WAIT

#define DISEQC_SHORT_WAIT   (15 * 1000)

Definition at line 37 of file diseqc.cpp.

◆ DISEQC_LONG_WAIT

#define DISEQC_LONG_WAIT   (100 * 1000)

Definition at line 38 of file diseqc.cpp.

◆ DISEQC_POWER_OFF_WAIT

#define DISEQC_POWER_OFF_WAIT   ((1000 * 1000) - 1)

Definition at line 39 of file diseqc.cpp.

◆ DISEQC_POWER_ON_WAIT

#define DISEQC_POWER_ON_WAIT   (500 * 1000)

Definition at line 40 of file diseqc.cpp.

◆ TIMEOUT_RETRIES

#define TIMEOUT_RETRIES   10

Definition at line 43 of file diseqc.cpp.

◆ TIMEOUT_WAIT

#define TIMEOUT_WAIT   (250 * 1000)

Definition at line 44 of file diseqc.cpp.

◆ DISEQC_FRM

#define DISEQC_FRM   0xe0

Definition at line 47 of file diseqc.cpp.

◆ DISEQC_FRM_REPEAT

#define DISEQC_FRM_REPEAT   (1 << 0)

Definition at line 48 of file diseqc.cpp.

◆ DISEQC_FRM_REPLY_REQ

#define DISEQC_FRM_REPLY_REQ   (1 << 1)

Definition at line 49 of file diseqc.cpp.

◆ DISEQC_ADR_ALL

#define DISEQC_ADR_ALL   0x00

Definition at line 52 of file diseqc.cpp.

◆ DISEQC_ADR_SW_ALL

#define DISEQC_ADR_SW_ALL   0x10

Definition at line 53 of file diseqc.cpp.

◆ DISEQC_ADR_LNB

#define DISEQC_ADR_LNB   0x11

Definition at line 54 of file diseqc.cpp.

◆ DISEQC_ADR_LNB_SW

#define DISEQC_ADR_LNB_SW   0x12

Definition at line 55 of file diseqc.cpp.

◆ DISEQC_ADR_SW_BLK

#define DISEQC_ADR_SW_BLK   0x14

Definition at line 56 of file diseqc.cpp.

◆ DISEQC_ADR_SW

#define DISEQC_ADR_SW   0x15

Definition at line 57 of file diseqc.cpp.

◆ DISEQC_ADR_SMATV

#define DISEQC_ADR_SMATV   0x18

Definition at line 58 of file diseqc.cpp.

◆ DISEQC_ADR_POL_ALL

#define DISEQC_ADR_POL_ALL   0x20

Definition at line 59 of file diseqc.cpp.

◆ DISEQC_ADR_POL_LIN

#define DISEQC_ADR_POL_LIN   0x21

Definition at line 60 of file diseqc.cpp.

◆ DISEQC_ADR_POS_ALL

#define DISEQC_ADR_POS_ALL   0x30

Definition at line 61 of file diseqc.cpp.

◆ DISEQC_ADR_POS_AZ

#define DISEQC_ADR_POS_AZ   0x31

Definition at line 62 of file diseqc.cpp.

◆ DISEQC_ADR_POS_EL

#define DISEQC_ADR_POS_EL   0x32

Definition at line 63 of file diseqc.cpp.

◆ DISEQC_CMD_RESET

#define DISEQC_CMD_RESET   0x00

Definition at line 66 of file diseqc.cpp.

◆ DISEQC_CMD_CLR_RESET

#define DISEQC_CMD_CLR_RESET   0x01

Definition at line 67 of file diseqc.cpp.

◆ DISEQC_CMD_WRITE_N0

#define DISEQC_CMD_WRITE_N0   0x38

Definition at line 68 of file diseqc.cpp.

◆ DISEQC_CMD_WRITE_N1

#define DISEQC_CMD_WRITE_N1   0x39

Definition at line 69 of file diseqc.cpp.

◆ DISEQC_CMD_WRITE_FREQ

#define DISEQC_CMD_WRITE_FREQ   0x58

Definition at line 70 of file diseqc.cpp.

◆ DISEQC_CMD_ODU

#define DISEQC_CMD_ODU   0x5A

Definition at line 71 of file diseqc.cpp.

◆ DISEQC_CMD_ODU_MDU

#define DISEQC_CMD_ODU_MDU   0x5C

Definition at line 72 of file diseqc.cpp.

◆ DISEQC_CMD_HALT

#define DISEQC_CMD_HALT   0x60

Definition at line 73 of file diseqc.cpp.

◆ DISEQC_CMD_LMT_OFF

#define DISEQC_CMD_LMT_OFF   0x63

Definition at line 74 of file diseqc.cpp.

◆ DISEQC_CMD_LMT_E

#define DISEQC_CMD_LMT_E   0x66

Definition at line 75 of file diseqc.cpp.

◆ DISEQC_CMD_LMT_W

#define DISEQC_CMD_LMT_W   0x67

Definition at line 76 of file diseqc.cpp.

◆ DISEQC_CMD_DRIVE_E

#define DISEQC_CMD_DRIVE_E   0x68

Definition at line 77 of file diseqc.cpp.

◆ DISEQC_CMD_DRIVE_W

#define DISEQC_CMD_DRIVE_W   0x69

Definition at line 78 of file diseqc.cpp.

◆ DISEQC_CMD_STORE_POS

#define DISEQC_CMD_STORE_POS   0x6a

Definition at line 79 of file diseqc.cpp.

◆ DISEQC_CMD_GOTO_POS

#define DISEQC_CMD_GOTO_POS   0x6b

Definition at line 80 of file diseqc.cpp.

◆ DISEQC_CMD_GOTO_X

#define DISEQC_CMD_GOTO_X   0x6e

Definition at line 81 of file diseqc.cpp.

◆ TO_RADS

#define TO_RADS   (M_PI / 180.0)

Definition at line 83 of file diseqc.cpp.

◆ TO_DEC

#define TO_DEC   (180.0 / M_PI)

Definition at line 84 of file diseqc.cpp.

◆ EPS

#define EPS   1E-4

Definition at line 86 of file diseqc.cpp.

◆ LOC

#define LOC   QString("DiSEqCDevTree: ")

Definition at line 88 of file diseqc.cpp.

Function Documentation

◆ send_diseqc()

static bool send_diseqc ( int  fd,
const dvb_diseqc_master_cmd &  cmd 
)
static

Definition at line 642 of file diseqc.cpp.

Referenced by DiSEqCDevTree::SendCommand().

◆ set_tone()

static bool set_tone ( int  fd,
fe_sec_tone_mode  tone 
)
static

Definition at line 1449 of file diseqc.cpp.

Referenced by DiSEqCDevSwitch::ExecuteTone().

◆ set_voltage()

static bool set_voltage ( int  fd,
fe_sec_voltage  volt 
)
static

Definition at line 1474 of file diseqc.cpp.

Referenced by DiSEqCDevSwitch::ExecuteVoltage().

◆ mini_diseqc()

static bool mini_diseqc ( int  fd,
fe_sec_mini_cmd  cmd 
)
static

Definition at line 1499 of file diseqc.cpp.

Referenced by DiSEqCDevSwitch::ExecuteMiniDiSEqC().

◆ GetCurTimeFloating()

static double GetCurTimeFloating ( void  )
static

Variable Documentation

◆ diseqc_bus_already_reset

bool diseqc_bus_already_reset = false

Definition at line 90 of file diseqc.cpp.

Referenced by DiSEqCDevTree::ResetDiseqc().