X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/452fdf6b7875f8185960f9b1649ba3d8fad4ab24..d58968e5ca43995658257b6e89f092c7572cde0a:/lib/dvb/sec.h diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index 31415c42..2f30e781 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -19,6 +19,7 @@ public: MEASURE_IDLE_INPUTPOWER, MEASURE_RUNNING_INPUTPOWER, IF_MEASURE_IDLE_WAS_NOT_OK_GOTO, IF_INPUTPOWER_DELTA_GOTO, UPDATE_CURRENT_ROTORPARAMS, INVALIDATE_CURRENT_ROTORPARMS, + UPDATE_CURRENT_SWITCHPARMS, INVALIDATE_CURRENT_SWITCHPARMS, IF_ROTORPOS_VALID_GOTO, IF_TUNER_LOCKED_GOTO, IF_TONE_GOTO, IF_NOT_TONE_GOTO, @@ -180,6 +181,7 @@ class eDVBSatelliteRotorParameters #endif public: enum { NORTH, SOUTH, EAST, WEST }; + enum { FAST, SLOW }; #ifndef SWIG eDVBSatelliteRotorParameters() { setDefaultOptions(); } @@ -187,6 +189,7 @@ public: { bool m_use; // can we use rotor inputpower to detect rotor running state ? __u8 m_delta; // delta between running and stopped rotor + unsigned int m_turning_speed; // SLOW, FAST, or fast turning epoch }; eDVBSatelliteRotorInputpowerParameters m_inputpower_parameters; @@ -201,6 +204,7 @@ public: void setDefaultOptions() // set default rotor options { + m_inputpower_parameters.m_turning_speed = FAST; // fast turning m_inputpower_parameters.m_use = true; m_inputpower_parameters.m_delta = 60; m_gotoxx_parameters.m_lo_direction = EAST; @@ -240,6 +244,7 @@ class eDVBRegisteredFrontend; class eDVBSatelliteEquipmentControl: public iDVBSatelliteEquipmentControl { + DECLARE_REF(eDVBSatelliteEquipmentControl); public: enum { DELAY_AFTER_CONT_TONE=0, // delay after continuous tone change @@ -267,6 +272,7 @@ private: eSmartPtrList &m_avail_frontends; bool m_rotorMoving; int m_not_linked_slot_mask; + bool m_canMeasureInputPower; #endif #ifdef SWIG eDVBSatelliteEquipmentControl(); @@ -276,8 +282,7 @@ private: public: #ifndef SWIG eDVBSatelliteEquipmentControl(eSmartPtrList &avail_frontends); - DECLARE_REF(eDVBSatelliteEquipmentControl); - RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id); + RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout); int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id); bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); } #endif @@ -307,6 +312,7 @@ public: RESULT setLaDirection(int direction); RESULT setUseInputpower(bool onoff); RESULT setInputpowerDelta(int delta); // delta between running and stopped rotor + RESULT setRotorTurningSpeed(int speed); // set turning speed.. /* Satellite Specific Parameters */ RESULT addSatellite(int orbital_position); RESULT setVoltageMode(int mode); @@ -317,9 +323,9 @@ public: RESULT setTunerDepends(int from, int to); void setSlotNotLinked(int tuner_no); - PyObject *get_exclusive_satellites(int tu1, int tu2); void setRotorMoving(bool); // called from the frontend's bool isRotorMoving(); + bool canMeasureInputPower() { return m_canMeasureInputPower; } }; #endif