X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/b5b9131ed13e9184efd1ae6a20ca2ce64342ab5e..f24b1a713e78a462c279c8fcb10e0a1d1b9b9caa:/lib/dvb/sec.h diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index cba9fa41..2efd0b49 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -170,7 +170,7 @@ class eDVBSatelliteSwitchParameters #endif public: enum t_22khz_signal { HILO=0, ON=1, OFF=2 }; // 22 Khz - enum t_voltage_mode { HV=0, _14V=1, _18V=2, _0V=3 }; // 14/18 V + enum t_voltage_mode { HV=0, _14V=1, _18V=2, _0V=3, HV_13=4 }; // 14/18 V #ifndef SWIG t_voltage_mode m_voltage_mode; t_22khz_signal m_22khz_signal; @@ -231,7 +231,7 @@ public: #ifndef SWIG t_12V_relais_state m_12V_relais_state; // 12V relais output on/off - __u8 slot_mask; // useable by slot ( 1 | 2 | 4...) + int m_slot_mask; // useable by slot ( 1 | 2 | 4...) unsigned int m_lof_hi, // for 2 band universal lnb 10600 Mhz (high band offset frequency) m_lof_lo, // for 2 band universal lnb 9750 Mhz (low band offset frequency) @@ -242,6 +242,8 @@ public: std::map m_satellites; eDVBSatelliteDiseqcParameters m_diseqc_parameters; eDVBSatelliteRotorParameters m_rotor_parameters; + + int m_prio; // to override automatic tuner management ... -1 is Auto #endif }; @@ -263,9 +265,12 @@ public: DELAY_AFTER_ENABLE_VOLTAGE_BEFORE_MOTOR_CMD, // delay after enable voltage before transmit motor command DELAY_AFTER_MOTOR_STOP_CMD, // delay after transmit motor stop DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_MOTOR_CMD, // delay after voltage change before transmit motor command + DELAY_BEFORE_SEQUENCE_REPEAT, // delay before the complete sequence is repeated (when enabled) MOTOR_COMMAND_RETRIES, // max transmit tries of rotor command when the rotor dont start turning (with power measurement) MOTOR_RUNNING_TIMEOUT, // max motor running time before timeout DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_SWITCH_CMDS, // delay after change voltage before transmit toneburst/diseqc + DELAY_AFTER_DISEQC_RESET_CMD, + DELAY_AFTER_DISEQC_PERIPHERIAL_POWERON_CMD, MAX_PARAMS }; private: @@ -274,7 +279,7 @@ private: eDVBSatelliteLNBParameters m_lnbs[144]; // i think its enough int m_lnbidx; // current index for set parameters std::map::iterator m_curSat; - eSmartPtrList &m_avail_frontends; + eSmartPtrList &m_avail_frontends, &m_avail_simulate_frontends; bool m_rotorMoving; int m_not_linked_slot_mask; bool m_canMeasureInputPower; @@ -286,9 +291,9 @@ private: static int m_params[MAX_PARAMS]; public: #ifndef SWIG - eDVBSatelliteEquipmentControl(eSmartPtrList &avail_frontends); + eDVBSatelliteEquipmentControl(eSmartPtrList &avail_frontends, eSmartPtrList &avail_simulate_frontends); RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout); - int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id); + int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id, int *highest_score_lnb=0); bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); } #endif static eDVBSatelliteEquipmentControl *getInstance() { return instance; } @@ -301,6 +306,7 @@ public: RESULT setLNBLOFH(int lofh); RESULT setLNBThreshold(int threshold); RESULT setLNBIncreasedVoltage(bool onoff); + RESULT setLNBPrio(int prio); /* DiSEqC Specific Parameters */ RESULT setDiSEqCMode(int diseqcmode); RESULT setToneburst(int toneburst);